getsublistlogic.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package logic
  2. import (
  3. "context"
  4. IC "jyBXSubscribe/rpc/init"
  5. "jyBXSubscribe/rpc/util"
  6. "log"
  7. "jyBXSubscribe/rpc/internal/svc"
  8. "jyBXSubscribe/rpc/type/bxsubscribe"
  9. "github.com/zeromicro/go-zero/core/logx"
  10. )
  11. type GetSubListLogic struct {
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. logx.Logger
  15. }
  16. func NewGetSubListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetSubListLogic {
  17. return &GetSubListLogic{
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. Logger: logx.WithContext(ctx),
  21. }
  22. }
  23. // 获取订阅推送列表
  24. func (l *GetSubListLogic) GetSubList(in *bxsubscribe.SubscribeInfosReq) (*bxsubscribe.SubscribeInfosResp, error) {
  25. log.Println("in:", in)
  26. //1、推送信息已读标识
  27. //超级订阅 i_apppushunread=0
  28. //大会员 i_member_apppushunread=0
  29. //商机管理 i_entniche_apppushunread=0
  30. if in.PageNum == 1 {
  31. go util.UpdateUserPushUnread(in.UserId, in.UserType)
  32. }
  33. spqp := &util.SubPushQueryParam{
  34. Mgo_bidding: IC.MgoBidding, //mongo
  35. Bidding: IC.C.MongoDB.Bidding.Collection, //招标信息 表
  36. Bidding_back: IC.C.MongoDB.Bidding.CollectionChange, //招标信息备份数据 表名
  37. UserId: in.UserId, //用户id
  38. PageNum: int(in.PageNum), //当前页码
  39. PageSize: int(in.PageSize), //每页多少条数据
  40. SelectTime: in.SelectTime, //时间跨度
  41. Area: in.Area, //省份
  42. City: in.City, //城市
  43. Buyerclass: in.BuyerClass, //采购单位类型
  44. Subtype: in.Subtype, //信息类型
  45. Subscopeclass: in.Industry, //行业
  46. Key: in.KeyWords,
  47. }
  48. if in.UserType == "mType" {
  49. spqp.PushMysql = IC.MemberPushMysql
  50. } else if in.UserType == "eType" {
  51. spqp.PushMysql = IC.EntnichePushMysql
  52. } else {
  53. spqp.PushMysql = IC.PushMysql
  54. }
  55. hasNextPage, total, list := util.NewSubscribePush(in.UserType).Datas(spqp)
  56. //查询是否收藏
  57. util.NewSubscribePush(in.UserType).MakeCollection(in.UserId, list)
  58. return &bxsubscribe.SubscribeInfosResp{
  59. Data: &bxsubscribe.SubscribeData{
  60. List: list,
  61. Count: total,
  62. HasNextPage: hasNextPage,
  63. },
  64. }, nil
  65. }