|
- package notice
-
- import (
- "applet/app/db"
- "applet/app/e"
- "applet/app/md"
- svc2 "applet/app/svc"
- svc "applet/app/svc/member_center"
- "applet/app/svc/notice"
- "applet/app/utils"
- "code.fnuoos.com/EggPlanet/egg_models.git/src/implement"
- "github.com/gin-gonic/gin"
- )
-
- // AliyunSmsFilePhone
- // @Summary 消息中心-短信推送记录-通知模板
- // @Tags 消息中心
- // @Description 短信推送记录-通知模板
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param file formData string true "参数 file-----文件上传格式"
- // @Success 200 {string} "phone 一个数组"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/file/phone [post]
- func AliyunSmsFilePhone(c *gin.Context) {
- notice.AliyunSmsFilePhone(c)
- }
-
- //
- //// AliyunSmsList
- //// @Summary 消息中心-短信推送记录-通知模板(跟app推送记录的通知模板一样的效果)
- //// @Tags 消息中心
- //// @Description 短信推送记录-通知模板
- //// @Accept json
- //// @Produce json
- //// @param Authorization header string true "验证参数Bearer和token空格拼接"
- //// @Param req body md.NoticeAliyunSmsListReq true "(分页信息必填)"
- //// @Success 200 {object} md.NoticeAliyunSmsListResp "具体数据"
- //// @Failure 400 {object} md.Response "具体错误"
- //// @Router /api/notice/aliyunSms/list [get]
- //func AliyunSmsList(c *gin.Context) {
- // notice.AliyunSmsList(c)
- //}
- //
- //// AliyunSmsSave
- //// @Summary 消息中心-短信推送记录-通知模板添加编辑
- //// @Tags 消息中心
- //// @Description 短信推送记录-通知模板添加编辑
- //// @Accept json
- //// @Produce json
- //// @param Authorization header string true "验证参数Bearer和token空格拼接"
- //// @Param req body md.NoticeAliyunSmsSaveReq true "参数"
- //// @Success 200 {string} "具体数据"
- //// @Failure 400 {object} md.Response "具体错误"
- //// @Router /api/notice/aliyunSms/save [post]
- //func AliyunSmsSave(c *gin.Context) {
- // notice.AliyunSmsSave(c)
- //}
- //
- //// AliyunSmsDel
- //// @Summary 消息中心-短信推送记录-通知模板删除
- //// @Tags 消息中心
- //// @Description 短信推送记录-通知模板删除
- //// @Accept json
- //// @Produce json
- //// @param Authorization header string true "验证参数Bearer和token空格拼接"
- //// @Param req body md.NoticeDelReq true "(分页信息必填)"
- //// @Success 200 {string} "具体数据"
- //// @Failure 400 {object} md.Response "具体错误"
- //// @Router /api/notice/aliyunSms/del [post]
- //func AliyunSmsDel(c *gin.Context) {
- // notice.AliyunSmsDel(c)
- //}
-
- // AliyunSmsSaleBase
- // @Summary 消息中心-短信推送记录-营销短信-通知模板
- // @Tags 消息中心
- // @Description 短信推送记录-营销短信-通知模板
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Success 200 {object} md.NoticeAliyunSmsListResp "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/sale/base [get]
- func AliyunSmsSaleBase(c *gin.Context) {
- notice.AliyunSmsSaleBase(c)
- }
-
- // AliyunSmsSaleSave
- // @Summary 消息中心-短信推送记录-营销短信-通知模板添加编辑
- // @Tags 消息中心
- // @Description 短信推送记录-营销短信-通知模板添加编辑
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param req body string true "数组 把列表的数组传过来"
- // @Success 200 {string} "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/sale/save [post]
- func AliyunSmsSaleSave(c *gin.Context) {
- notice.AliyunSmsSaleSave(c)
- }
-
- // AliyunSmsPushList
- // @Summary 消息中心-短信推送记录-推送记录列表
- // @Tags 消息中心
- // @Description 短信推送记录-推送记录列表
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param req body md.NoticeAliyunSmsListReq true "(分页信息必填)"
- // @Success 200 {object} md.NoticePushListResp "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/push/list [post]
- func AliyunSmsPushList(c *gin.Context) {
- notice.AliyunSmsPushList(c)
- }
-
- // AliyunSmsPushSave
- // @Summary 消息中心-短信推送记录-推送记录添加-发送(不做编辑了)
- // @Tags 消息中心
- // @Description 短信推送记录-推送记录添加-发送 (不做编辑了)
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param req body md.NoticeAliyunSmsSaveReq true "(分页信息必填)"
- // @Success 200 {string} "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/push/save [post]
- func AliyunSmsPushSave(c *gin.Context) {
- notice.AliyunSmsPushSave(c)
- }
-
- // AliyunSmsGetUserList
- // @Summary 消息中心-短信推送记录-获取用户信息
- // @Tags 消息中心
- // @Description 获取用户信息
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param req body md.JPushGetUserListReq true "(分页信息必填)"
- // @Success 200 {Object} md.JPushGetUserListResp "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/getUserList [post]
- func AliyunSmsGetUserList(c *gin.Context) {
- var req *md.AliyunSmsUserListReq
- if err := c.ShouldBindJSON(&req); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err.Error())
- return
- }
-
- levelDb := implement.NewUserLevelDb(db.Db)
- levels, err1 := levelDb.UserLevelAllByAsc()
- if err1 != nil {
- e.OutErr(c, e.ERR_DB_ORM, err1.Error())
- return
- }
- levelsList := make([]map[string]interface{}, 0)
- levelsMap := make(map[int]string)
- for _, level := range levels {
- levelsList = append(levelsList, map[string]interface{}{
- "id": level.Id,
- "name": level.LevelName,
- })
- levelsMap[level.Id] = level.LevelName
- }
-
- tagDb := implement.NewUserTagDb(db.Db)
- tags, err2 := tagDb.UserTagAllByAsc()
- if err2 != nil {
- e.OutErr(c, e.ERR_DB_ORM, err2.Error())
- return
- }
- tagsList := make([]map[string]interface{}, 0)
- tagsMap := make(map[int]string)
- for _, tag := range tags {
- tagsList = append(tagsList, map[string]interface{}{
- "id": tag.Id,
- "name": tag.TagName,
- })
- tagsMap[tag.Id] = tag.TagName
- }
-
- stateList := []map[string]interface{}{
- {
- "name": "正常",
- "value": "1",
- },
- {
- "name": "冻结",
- "value": "2",
- },
- }
- userMemberRequest := req.ToUserMemberRequest()
- users, total, err3 := svc.UserManagementGetUsers(userMemberRequest)
- if err3 != nil {
- e.OutErr(c, e.ERR_DB_ORM, err3.Error())
- return
- }
- userIDs := make([]int64, len(users))
- for i, user := range users {
- userIDs[i] = user.Id
- }
-
- recordsDb := implement.NewUserTagRecordsDb(db.Db)
- records, err := recordsDb.UserTagRecordsFindByParams(map[string]interface{}{
- "key": "uid",
- "value": userIDs,
- })
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
-
- var levelCounts []md.LevelCount
- err4 := db.Db.Table("user").Select("level, Count(*) AS count").GroupBy("level").Find(&levelCounts)
- if err4 != nil {
- e.OutErr(c, e.ERR_DB_ORM, err4.Error())
- return
- }
-
- userMap := make(map[int64]int, len(users))
- list := make([]md.GetUserListNode, len(users))
- for i, user := range users {
- list[i] = md.GetUserListNode{
- ID: user.Id,
- Sex: user.Sex,
- Avatar: svc2.GetOssUrl(user.Avatar),
- Nickname: user.Nickname,
- Phone: user.Phone,
- IsRealName: user.IsRealName,
- InviteCode: user.SystemInviteCode,
- ParentID: user.ParentUid,
- ParentInviteCode: user.ParentSystemInviteCode,
- ParentPhone: user.Phone,
- RegisterTime: user.CreateAt,
- Memo: user.Memo,
- Wechat: user.UnionId,
- RegisterType: user.RegisterType,
- State: user.State,
- LastLoginAt: user.UpdateAt,
- }
- var tempTagList []md.TagNode
- list[i].Tag = tempTagList
- userMap[user.Id] = i
- level, ok := levelsMap[user.Level]
- if ok {
- list[i].LevelName = level
- }
- }
-
- for _, record := range *records {
- tempTagNode := md.TagNode{
- TagID: record.TagId,
- TagName: tagsMap[record.TagId],
- }
- list[userMap[record.Uid]].Tag = append(list[userMap[record.Uid]].Tag, tempTagNode)
- }
-
- resp := md.AliyunSmsGetUserListResp{
- LevelsList: levelsList,
- TagsList: tagsList,
- StateList: stateList,
- List: list,
- Paginate: md.Paginate{
- Limit: req.Limit,
- Page: req.Page,
- Total: total,
- },
- }
- e.OutSuc(c, resp, nil)
- }
-
- // AliyunSmsTagList
- // @Summary 消息中心-短信推送记录-标签管理(获取)
- // @Tags 消息中心
- // @Description 标签管理(获取)
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param limit query int true "每页大小"
- // @Param page query int true "页数"
- // @Success 200 {object} md.AliyunSmsGetTagListResp "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/getTagList [get]
- func AliyunSmsTagList(c *gin.Context) {
- page := c.DefaultQuery("page", "1")
- limit := c.DefaultQuery("limit", "10")
-
- list, total, err := svc.TagManagementGetList(page, limit)
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
-
- resp := md.AliyunSmsGetTagListResp{
- List: list,
- Paginate: md.Paginate{
- Limit: utils.StrToInt(limit),
- Page: utils.StrToInt(page),
- Total: total,
- },
- }
- e.OutSuc(c, resp, nil)
- }
-
- // AliyunSmsGetLevelList
- // @Summary 消息中心-短信推送记录-等级管理(获取)
- // @Tags 消息中心
- // @Description 等级管理(获取)
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param limit query int true "每页大小"
- // @Param page query int true "页数"
- // @Success 200 {object} md.AliyunSmsGetLevelListResp "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/notice/aliyunSms/getLevelList [get]
- func AliyunSmsGetLevelList(c *gin.Context) {
- page := c.DefaultQuery("page", "1")
- limit := c.DefaultQuery("limit", "10")
-
- list, total, err := svc.LevelManagementGetLevelList(page, limit)
- if err != nil {
- e.OutErr(c, e.ERR_DB_ORM, err.Error())
- return
- }
-
- resp := md.AliyunSmsGetLevelListResp{
- List: list,
- Paginate: md.Paginate{
- Limit: utils.StrToInt(limit),
- Page: utils.StrToInt(page),
- Total: total,
- },
- }
-
- e.OutSuc(c, resp, nil)
- }
|