docGet.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package stdlib
  2. import (
  3. "context"
  4. "app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlib"
  5. "app.yhyue.com/moapp/jy_docs/services/model"
  6. jyDocsRpcUtil "app.yhyue.com/moapp/jy_docs/services/util"
  7. "app.yhyue.com/moapp/jyfs/rpc/filesystem"
  8. )
  9. func DocGetCheck(docId, userId, appId string) stdlib.DocGetCheckResp {
  10. // docPrice := 0
  11. var buyCount int64
  12. isbuy := false
  13. jyDocsRpcUtil.GetJyDocsDB().Table("download_collection_record").Where("docId = ? and userId = ? and appId = ?", docId, userId, appId).Count(&buyCount)
  14. if buyCount > 0 {
  15. isbuy = true
  16. }
  17. //已购买
  18. doc := &model.Doc{}
  19. jyDocsRpcUtil.GetJyDocsDB().Where("id = ? and appId = ?", docId, appId).Find(doc)
  20. if doc.DocName != "" {
  21. // docPrice = docData["price"].(int)
  22. docStatistics := map[string]interface{}{}
  23. jyDocsRpcUtil.GetJyDocsDB().Table("doc_statistics").Where("docId = ? and appId = ?", docId, appId).First(&docStatistics)
  24. docCheck := stdlib.DocGetCheckResp{
  25. Code: 0,
  26. Msg: "ok",
  27. IsBuy: isbuy,
  28. DocDeail: &stdlib.DocInfo{
  29. DocId: doc.Id,
  30. DocName: doc.DocName,
  31. Price: int64(doc.Price),
  32. DocFileSize: int64(doc.DocFileSize),
  33. DocPageSize: int64(doc.DocPageSize),
  34. Tags: doc.DocTags,
  35. // DownTimes :doc.DownTimes,
  36. // ViewTimes :doc.ViewTimes,
  37. UploadDate: doc.UploadDate.Format("2006-01-02 15:04:05"),
  38. DocSummary: doc.DocSummary,
  39. DocFileType: int64(doc.DocFileType),
  40. PreviewImgId: doc.PreviewImgId,
  41. },
  42. }
  43. return docCheck
  44. }
  45. return stdlib.DocGetCheckResp{Code: -1, Msg: "查询失败"}
  46. }
  47. func DocGetContent(docId, userId, bucketName, appId string) stdlib.DocGetContentResp {
  48. doc := &model.Doc{}
  49. docContent := stdlib.DocGetContentResp{Code: -1, Msg: "查询失败"}
  50. jyDocsRpcUtil.GetJyDocsDB().Where("id = ? and appId = ?", docId, appId).Find(doc)
  51. if doc.DocName != "" {
  52. file := filesystem.LoadFileReq{
  53. Domain: bucketName,
  54. FileId: doc.OssDocId,
  55. }
  56. res, err := jyDocsRpcUtil.FileSystem.GetFile(context.Background(), &file)
  57. if err == nil {
  58. docContent.Code = 0
  59. docContent.Msg = "ok"
  60. docContent.DocContent = res.RawFileContent
  61. }
  62. }
  63. return docContent
  64. }