docActivity.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package stdlib
  2. import (
  3. "app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlib"
  4. "app.yhyue.com/moapp/jy_docs/services/model"
  5. jyDocsRpcUtil "app.yhyue.com/moapp/jy_docs/services/util"
  6. )
  7. func DocActivityList(pageSize, pageNum, activityId int, appId string) (*stdlib.DocActivityResp, int) {
  8. var docActivity []model.DocActivity
  9. // var docs []map[string]interface{}
  10. var count int64
  11. jyDocsRpcUtil.GetJyDocsDB().Model(&model.DocActivity{}).Where("activityId = ? and appId = ?", activityId, appId).Count(&count)
  12. if count > 0 {
  13. jyDocsRpcUtil.GetJyDocsDB().Offset((pageNum-1)*pageSize).Limit(pageSize).Find(&docActivity, &model.DocActivity{AppId: appId, ActivityId: activityId})
  14. } else {
  15. count = 0
  16. }
  17. docActivityResp := &stdlib.DocActivityResp{Code: 1, Msg: "ok", Total: int32(count)}
  18. for _, v := range docActivity {
  19. docStatistics := model.DocStatistics{}
  20. jyDocsRpcUtil.GetJyDocsDB().First(&docStatistics, &model.DocStatistics{AppId: appId, DocId: v.DocId})
  21. docActivityResp.Docs = append(docActivityResp.Docs, &stdlib.DocActivity{
  22. DocId: v.DocId,
  23. DocImg: v.DocImg,
  24. DocTitle: v.DocTitle,
  25. DocSummary: v.DocSummary,
  26. ActivityId: int64(v.ActivityId),
  27. Price: int64(v.Price),
  28. CostPrice: int64(v.CostPrice),
  29. DocFileSize: int64(v.DocFileSize),
  30. DocPageSize: int64(v.DocPageSize),
  31. DownTimes: int64(docStatistics.DownTimes),
  32. DocFileType: int64(v.DocFileType),
  33. })
  34. }
  35. return docActivityResp, int(count)
  36. }