package md import ( md "applet/app/md/member_center" "code.fnuoos.com/EggPlanet/egg_models.git/src/model" ) type NoticeListReq struct { Page string `json:"page,required"` // 页数 Limit string `json:"limit,required"` // 每页大小 } type NoticeListResp struct { Total int64 `json:"total"` SelectData []map[string]string `json:"select_data"` ChangeData []map[string]string `json:"change_data"` List []NoticeList `json:"list"` } type NoticeList struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content"` Type string `json:"type"` JpushOpen string `json:"jpush_open" example:"app推送开启 0关 1开"` SmsOpen string `json:"sms_open" example:"短信推送开启 0关 1开"` SmsCode string `json:"sms_code" example:"短信模板id"` Day string `json:"day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 X小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` NoticeDay string `json:"notice_day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 隔 xx小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` } type NoticeSaveReq struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content"` Type string `json:"type"` JpushOpen string `json:"jpush_open" example:"app推送开启 0关 1开"` SmsOpen string `json:"sms_open" example:"短信推送开启 0关 1开"` SmsCode string `json:"sms_code" example:"短信模板id"` Day string `json:"day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 X小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` NoticeDay string `json:"notice_day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 隔 xx小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` } type NoticeDelReq struct { Id []string `json:"id"` } type NoticePushListResp struct { Total int64 `json:"total"` PlatformData []map[string]string `json:"platform_data"` TargetData []map[string]string `json:"target_data"` List []NoticePushList `json:"list"` } type NoticePushList struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content"` Platform string `json:"platform"` Target string `json:"target"` SendType string `json:"send_type" example:"0立即推送 1定时推送"` SendStartTime string `json:"send_start_time" example:"如 2024-11-25 11:56:00"` SendEndTime string `json:"send_end_time" example:"如 2024-11-25 11:56:00"` State string `json:"state" example:"0待发送 1发送成功"` } type NoticePushSaveReq struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content"` Platform string `json:"platform"` Target string `json:"target"` SendType string `json:"send_type"` SendStartTime string `json:"send_start_time"` SendEndTime string `json:"send_end_time"` UserList []string `json:"user_list"` TagList []string `json:"tag_list"` Level []string `json:"level"` } type NoticeAliyunSmsListReq struct { Page string `json:"page,required"` // 页数 Limit string `json:"limit,required"` // 每页大小 } type NoticeAliyunSmsListResp struct { Total int64 `json:"total"` SelectData []map[string]string `json:"select_data"` List []NoticeAliyunSmsList `json:"list"` } type NoticeAliyunSmsList struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content" example:"这是 填短信模板id"` Type string `json:"type"` IsShow string `json:"is_show"` Day string `json:"day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 X小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` NoticeDay string `json:"notice_day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 隔 xx小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` } type NoticeAliyunSmsSaveReq struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content"` IsShow string `json:"is_show"` Type string `json:"type"` Day string `json:"day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 X小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` NoticeDay string `json:"notice_day" example:" xxx小时(未签到/未登录) 隔 xx小时通知一次 (这里是 隔 xx小时,type=sign/login 的时候要显示前面的话填写 sign是未签到 login是未登录)"` } type NoticeAliyunSmsDelReq struct { Id []string `json:"id"` } type NoticeAliyunSmsPushListResp struct { Total int64 `json:"total"` TargetData []map[string]string `json:"target_data"` List []NoticeAliyunSmsPushList `json:"list"` } type NoticeAliyunSmsPushList struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content"` Target string `json:"target"` CreateAt string `json:"create_at"` SmsCode string `json:"sms_code"` State string `json:"state" example:"0待发送 1发送成功"` } type NoticeAliyunSmsPushSaveReq struct { Id string `json:"id"` Title string `json:"title"` Content string `json:"content"` Target string `json:"target"` SmsCode string `json:"sms_code"` PhoneList []string `json:"phone_list"` TagList []string `json:"tag_list"` Level []string `json:"level"` } type Paginate struct { Limit int `json:"limit"` // 每页大小 Page int `json:"page"` // 页数 Total int64 `json:"total"` // 总数据量 } type JPushGetUserListResp struct { LevelsList []map[string]interface{} `json:"levels_list"` // 等级列表 TagsList []map[string]interface{} `json:"tags_list"` // 标签列表 StateList []map[string]interface{} `json:"state_list"` // 状态列表 List []GetUserListNode `json:"list"` Paginate Paginate `json:"paginate"` // 分页信息 } type TagNode struct { TagID int `json:"tag_id"` // 标签 ID TagName string `json:"tag_name"` // 标签名称 } type LevelCount struct { Level int `xorm:"level"` Count int `xorm:"count"` } type GetUserListNode struct { ID int64 `json:"id"` // 会员 ID Tag []TagNode `json:"tag"` // 会员标签 Sex int `json:"sex"` // 性别(0:未知 1:男 2:女) Avatar string `json:"avatar"` // 头像 Nickname string `json:"nickname"` // 昵称 Phone string `json:"phone"` // 手机号 IsRealName int `json:"is_real_name"` // 是否实名 0.未实名,1.已实名 LevelName string `json:"level_name"` // 会员等级 InviteCode string `json:"invite_code" example:"会员邀请码"` ParentID int64 `json:"parent_id"` // 推荐人 ID ParentInviteCode string `json:"parent_invite_code" example:"推荐人邀请码"` ParentPhone string `json:"parent_phone" example:"推荐人手机号"` RegisterTime string `json:"register_time"` // 注册时间 Memo string `json:"memo"` // 备注 Wechat string `json:"wechat"` // 微信号 RegisterType int `json:"register_type"` // 注册类型 State int `json:"state"` // 状态 LastLoginAt string `json:"last_login_at"` // 最后登录时间 } type JPushGetUserListReq struct { ID int64 `json:"id"` // 会员 ID Nickname string `json:"nickname" example:"会员昵称"` RecommendID int64 `json:"recommend_id"` // 推荐人 ID Tag int `json:"tag"` // 标签 id Phone string `json:"phone" example:"会员手机号"` InviteCode string `json:"invite_code" example:"会员邀请码"` ParentInviteCode string `json:"parent_invite_code" example:"上级邀请码"` ParentPhone string `json:"parent_phone" example:"上级手机号"` Sex int `json:"sex"` // 性别(0:未知 1:男 2:女) UnionId string `json:"union_id" example:"微信号"` Level int `json:"level"` // 会员等级 RegisterType int `json:"register_type"` // 注册类型(1:APP注册、2:H5注册) State int `json:"state"` // 状态 Effective int `json:"effective"` // 有效会员 IsRealName int `json:"is_real_name"` // 是否实名 0.未实名,1.已实名 Memo string `json:"memo"` // 备注 RegisterBefore string `json:"register_before"` // 注册时间起点 RegisterAfter string `json:"register_after"` // 注册时间终点 LoginBefore string `json:"login_before"` // 最近登录开始时间 LoginAfter string `json:"login_after"` // 最近登录结束时间 Page int `json:"page,required"` Limit int `json:"limit,required"` } type UserInfo struct { model.User `xorm:"extends"` TagID int `xorm:"tag_id"` ParentPhone string `xorm:"parent_phone"` ParentSystemInviteCode string `xorm:"parent_system_invite_code"` ParentCustomInviteCode string `xorm:"parent_custom_invite_code"` } type JPushGetTagListResp struct { List []md.TagListNode `json:"list"` Paginate Paginate `json:"paginate"` } type JPushGetLevelListResp struct { List []md.LevelListNode `json:"list"` Paginate Paginate `json:"paginate"` } type AliyunSmsGetUserListResp struct { LevelsList []map[string]interface{} `json:"levels_list"` // 等级列表 TagsList []map[string]interface{} `json:"tags_list"` // 标签列表 StateList []map[string]interface{} `json:"state_list"` // 状态列表 List []GetUserListNode `json:"list"` Paginate Paginate `json:"paginate"` // 分页信息 } type AliyunSmsUserListReq struct { ID int64 `json:"id"` // 会员 ID Nickname string `json:"nickname" example:"会员昵称"` RecommendID int64 `json:"recommend_id"` // 推荐人 ID Tag int `json:"tag"` // 标签 id Phone string `json:"phone" example:"会员手机号"` InviteCode string `json:"invite_code" example:"会员邀请码"` ParentInviteCode string `json:"parent_invite_code" example:"上级邀请码"` ParentPhone string `json:"parent_phone" example:"上级手机号"` Sex int `json:"sex"` // 性别(0:未知 1:男 2:女) UnionId string `json:"union_id" example:"微信号"` Level int `json:"level"` // 会员等级 RegisterType int `json:"register_type"` // 注册类型(1:APP注册、2:H5注册) State int `json:"state"` // 状态 Effective int `json:"effective"` // 有效会员 IsRealName int `json:"is_real_name"` // 是否实名 0.未实名,1.已实名 Memo string `json:"memo"` // 备注 RegisterBefore string `json:"register_before"` // 注册时间起点 RegisterAfter string `json:"register_after"` // 注册时间终点 LoginBefore string `json:"login_before"` // 最近登录开始时间 LoginAfter string `json:"login_after"` // 最近登录结束时间 Page int `json:"page,required"` Limit int `json:"limit,required"` } type AliyunSmsGetTagListResp struct { List []md.TagListNode `json:"list"` Paginate Paginate `json:"paginate"` } type AliyunSmsGetLevelListResp struct { List []md.LevelListNode `json:"list"` Paginate Paginate `json:"paginate"` } func (req JPushGetUserListReq) ToUserMemberRequest() *md.UserManagementGetUserListReq { return &md.UserManagementGetUserListReq{ ID: req.ID, Nickname: req.Nickname, RecommendID: req.RecommendID, Tag: req.Tag, Phone: req.Phone, InviteCode: req.InviteCode, ParentInviteCode: req.ParentInviteCode, ParentPhone: req.ParentPhone, Sex: req.Sex, UnionId: req.UnionId, Level: req.Level, RegisterType: req.RegisterType, State: req.State, Effective: req.Effective, IsRealName: req.IsRealName, Memo: req.Memo, RegisterBefore: req.RegisterBefore, RegisterAfter: req.RegisterAfter, LoginBefore: req.LoginBefore, LoginAfter: req.LoginAfter, Page: req.Page, Limit: req.Limit, } } func (req AliyunSmsUserListReq) ToUserMemberRequest() *md.UserManagementGetUserListReq { return &md.UserManagementGetUserListReq{ ID: req.ID, Nickname: req.Nickname, RecommendID: req.RecommendID, Tag: req.Tag, Phone: req.Phone, InviteCode: req.InviteCode, ParentInviteCode: req.ParentInviteCode, ParentPhone: req.ParentPhone, Sex: req.Sex, UnionId: req.UnionId, Level: req.Level, RegisterType: req.RegisterType, State: req.State, Effective: req.Effective, IsRealName: req.IsRealName, Memo: req.Memo, RegisterBefore: req.RegisterBefore, RegisterAfter: req.RegisterAfter, LoginBefore: req.LoginBefore, LoginAfter: req.LoginAfter, Page: req.Page, Limit: req.Limit, } }