docGet.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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, isBuyDetail bool) stdlib.DocGetCheckResp {
  10. // docPrice := 0
  11. var buyCount int64
  12. var collectCount int64
  13. isbuy, isCollect := false, false
  14. jyDocsRpcUtil.GetJyDocsDB().Table("user_doc").Where("docId = ? and userId = ? and appId = ? and isDownload = 1", docId, userId, appId).Count(&buyCount)
  15. if buyCount > 0 {
  16. isbuy = true
  17. }
  18. jyDocsRpcUtil.GetJyDocsDB().Table("user_doc").Where("docId = ? and userId = ? and appId = ? and isCollection = 1", docId, userId, appId).Count(&collectCount)
  19. if collectCount > 0 {
  20. isCollect = true
  21. }
  22. //已购买
  23. doc := &model.Doc{}
  24. jyDocsRpcUtil.GetJyDocsDB().Where("id = ? and appId = ?", docId, appId).Find(doc)
  25. if doc.DocName != "" {
  26. // docPrice = docData["price"].(int)
  27. docStatistics := model.DocStatistics{}
  28. jyDocsRpcUtil.GetJyDocsDB().First(&docStatistics, &model.DocStatistics{AppId: appId, DocId: docId})
  29. ossPdfId, ossDocId := "", ""
  30. if isbuy || isBuyDetail {
  31. ossPdfId = doc.OssPdfId
  32. ossDocId = doc.OssDocId
  33. }
  34. docCheck := stdlib.DocGetCheckResp{
  35. Code: 1,
  36. Msg: "ok",
  37. IsBuy: isbuy,
  38. IsCollect: isCollect,
  39. DocDeail: &stdlib.DocInfo{
  40. DocId: doc.Id,
  41. DocName: doc.DocName,
  42. Price: int64(doc.Price),
  43. DocFileSize: int64(doc.DocFileSize),
  44. DocPageSize: int64(doc.DocPageSize),
  45. Tags: doc.DocTags,
  46. DownTimes: int64(docStatistics.DownTimes),
  47. ViewTimes: int64(docStatistics.ViewTimes),
  48. UploadDate: doc.UploadDate.Format("2006-01-02 15:04:05"),
  49. DocSummary: doc.DocSummary,
  50. DocFileType: int64(doc.DocFileType),
  51. PreviewImgId: doc.PreviewImgId,
  52. OssPdfId: ossPdfId,
  53. OssDocId: ossDocId,
  54. Source: doc.Source,
  55. ProductType: doc.ProductType,
  56. },
  57. }
  58. return docCheck
  59. }
  60. return stdlib.DocGetCheckResp{Code: 0, Msg: "查询失败"}
  61. }
  62. func DocGetContent(docId, userId, bucketName, appId string) stdlib.DocGetContentResp {
  63. doc := &model.Doc{}
  64. docContent := stdlib.DocGetContentResp{Code: 0, Msg: "查询失败"}
  65. jyDocsRpcUtil.GetJyDocsDB().Where("id = ? and appId = ?", docId, appId).Find(doc)
  66. if doc.DocName != "" {
  67. file := filesystem.LoadFileReq{
  68. Domain: bucketName,
  69. FileId: doc.OssDocId,
  70. }
  71. res, err := jyDocsRpcUtil.FileSystem.GetFile(context.Background(), &file)
  72. if err == nil {
  73. docContent.Code = 1
  74. docContent.Msg = "ok"
  75. docContent.DocContent = res.RawFileContent
  76. }
  77. }
  78. return docContent
  79. }