package logic import ( "app.yhyue.com/moapp/jybase/common" "context" "github.com/zeromicro/go-zero/core/logx" IC "jyBXSubscribe/rpc/init" "jyBXSubscribe/rpc/internal/svc" "jyBXSubscribe/rpc/type/bxsubscribe" "jyBXSubscribe/rpc/util" ) type UserInfoLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewUserInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserInfoLogic { return &UserInfoLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // 用户推送信息查看 func (l *UserInfoLogic) UserInfo(in *bxsubscribe.GetUserInfoReq) (*bxsubscribe.GetUserInfoResq, error) { // todo: add your logic here and delete this line userInfoList := &[]map[string]interface{}{} if in.PositionType == 0 { userInfoList, _ = IC.Mgo.Find(util.USER, map[string]interface{}{"userid": in.UserId}, nil, `{"o_pushset.s_email":1","s_unionid":1}`, false, -1, -1) } else { userInfoList, _ = IC.Mgo.Find(util.ENTUSER, map[string]interface{}{"entId": in.EntId, "user_id": in.EntUserId}, nil, `{"o_pushset.s_email":1"}`, false, -1, -1) } if userInfoList != nil && len(*userInfoList) > 0 { //微信是否关注处理 subscribeList := &[]map[string]interface{}{} subscribeList, _ = IC.Mgo.Find(util.SUBSCRIBE, map[string]interface{}{"s_m_openid": (*userInfoList)[0]["s_m_openid"]}, `{"l_date":-1}`, `{"s_event":1"}`, true, -1, -1) ShowWx := false if subscribeList != nil && len(*subscribeList) > 0 { s_event := common.ObjToString((*subscribeList)[0]["s_event"]) if s_event == "subscribe" { ShowWx = true } } return &bxsubscribe.GetUserInfoResq{ Data: &bxsubscribe.GetUserInfo{ Mail: common.InterfaceToStr((*userInfoList)[0]["s_email"]), ShowWx: ShowWx, }, }, nil } else { return &bxsubscribe.GetUserInfoResq{}, nil } }