docGet.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 = ? and category = 1", 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 := model.DocStatistics{}
  23. jyDocsRpcUtil.GetJyDocsDB().First(&docStatistics, &model.DocStatistics{AppId: appId, DocId: docId})
  24. ossPdfId := ""
  25. if isbuy {
  26. ossPdfId = doc.OssPdfId
  27. }
  28. docCheck := stdlib.DocGetCheckResp{
  29. Code: 1,
  30. Msg: "ok",
  31. IsBuy: isbuy,
  32. DocDeail: &stdlib.DocInfo{
  33. DocId: doc.Id,
  34. DocName: doc.DocName,
  35. Price: int64(doc.Price),
  36. DocFileSize: int64(doc.DocFileSize),
  37. DocPageSize: int64(doc.DocPageSize),
  38. Tags: doc.DocTags,
  39. DownTimes: int64(docStatistics.DownTimes),
  40. ViewTimes: int64(docStatistics.ViewTimes),
  41. UploadDate: doc.UploadDate.Format("2006-01-02 15:04:05"),
  42. DocSummary: doc.DocSummary,
  43. DocFileType: int64(doc.DocFileType),
  44. PreviewImgId: doc.PreviewImgId,
  45. OssPdfId: ossPdfId,
  46. },
  47. }
  48. return docCheck
  49. }
  50. return stdlib.DocGetCheckResp{Code: 0, Msg: "查询失败"}
  51. }
  52. func DocGetContent(docId, userId, bucketName, appId string) stdlib.DocGetContentResp {
  53. doc := &model.Doc{}
  54. docContent := stdlib.DocGetContentResp{Code: 0, Msg: "查询失败"}
  55. jyDocsRpcUtil.GetJyDocsDB().Where("id = ? and appId = ?", docId, appId).Find(doc)
  56. if doc.DocName != "" {
  57. file := filesystem.LoadFileReq{
  58. Domain: bucketName,
  59. FileId: doc.OssDocId,
  60. }
  61. res, err := jyDocsRpcUtil.FileSystem.GetFile(context.Background(), &file)
  62. if err == nil {
  63. docContent.Code = 1
  64. docContent.Msg = "ok"
  65. docContent.DocContent = res.RawFileContent
  66. }
  67. }
  68. return docContent
  69. }