stdDocRpc.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package public
  2. import (
  3. "app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlib"
  4. "context"
  5. "fmt"
  6. "log"
  7. "qmx_admin/src/config"
  8. )
  9. /*
  10. 检索文库
  11. param
  12. userId 用户id
  13. keyWord 关键词
  14. tag 分类
  15. pageNum 页码
  16. pageSize 每页数量
  17. tSort 时间排序
  18. dSort 下载排序
  19. vSort 浏览量排序
  20. */
  21. func GetDocQuery(userId, keyWord, tag string, pageNum, pageSize int64, sort string, productType, docFileType int64) ([]*stdlib.Doc, int64, error) {
  22. param := &stdlib.DocQueryRequest{
  23. AppId: config.SysConfigs.AppId,
  24. KeyWord: keyWord,
  25. PageSize: pageSize,
  26. PageNum: pageNum,
  27. ProductType: productType,
  28. DocFileType: docFileType,
  29. }
  30. if tag != "" {
  31. param.DocTag = []string{tag}
  32. }
  33. sortArr := []string{}
  34. switch sort { //倒序字段前加-,uploadDate:上架时间 viewTimes:浏览量 downTimes:下载量
  35. case "dSort": //下载量倒叙
  36. sortArr = append(sortArr, "-downTimes")
  37. case "vSort": //浏览量倒叙
  38. sortArr = append(sortArr, "-viewTimes")
  39. default: // "tSort"上传时间倒叙
  40. sortArr = append(sortArr, "-uploadDate")
  41. }
  42. param.Sort = sortArr
  43. resp, err := JyStdDocStdlib.DocQuery(context.Background(), param)
  44. if err != nil {
  45. log.Printf("%s SetUserCollect call error %v\n", userId, err)
  46. return nil, -1, err
  47. }
  48. if resp.Code != 1 {
  49. log.Printf("%s SetUserCollect fail Message %v\n", userId, resp.Msg)
  50. return nil, -1, fmt.Errorf("查询失败")
  51. }
  52. return resp.Docs, resp.Total, nil
  53. }