|
- package member_center
-
- import (
- "applet/app/db"
- "applet/app/e"
- md "applet/app/md/institutional_management/member_center"
- svc "applet/app/svc/member_center"
- "code.fnuoos.com/EggPlanet/egg_models.git/src/implement"
- "code.fnuoos.com/EggPlanet/egg_models.git/src/model"
- "github.com/gin-gonic/gin"
- )
-
- // UserManagementGetUserList
- // @Summary 制度中心-会员中心-用户信息管理(获取)
- // @Tags 会员中心
- // @Description 用户信息管理(获取)
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param req body md.UserManagementGetUserListReq true "分页信息必填"
- // @Success 200 {object} md.UserManagementGetUserListResp "具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/memberCenter/userManagement/getUserList [post]
- func UserManagementGetUserList(c *gin.Context) {
- var req *md.UserManagementGetUserListReq
- 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
- }
-
- users, total, err3 := svc.UserManagementGetUsers(db.Db, req)
- if err3 != nil {
- e.OutErr(c, e.ERR_DB_ORM, err3.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
- }
-
- list := make([]md.UserManagementGetUserListNode, len(*users))
- for i, user := range *users {
- list[i] = md.UserManagementGetUserListNode{
- ID: user.Id,
- Tag: tagsMap[user.TagID],
- Avatar: user.Avatar,
- Nickname: user.Nickname,
- Phone: user.Phone,
- IsRealName: user.IsRealName,
- Level: levelsMap[user.Level],
- InviteCode: user.SystemInviteCode,
- ParentID: user.ParentUid,
- ParentInviteCode: user.ParentSystemInviteCode,
- ParentPhone: user.Phone,
- RegisterTime: user.CreateAt,
- Memo: user.Memo,
- }
- }
-
- resp := md.UserManagementGetUserListResp{
- LevelsList: levelsList,
- TagsList: tagsList,
- List: list,
- Paginate: md.Paginate{
- Limit: req.Limit,
- Page: req.Page,
- Total: total,
- },
- }
- e.OutSuc(c, resp, nil)
- }
-
- // UserManagementUpdateUserInfo
- // @Summary 制度中心-会员中心-用户信息管理(更新)
- // @Tags 会员中心
- // @Description 用户信息管理(更新)
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param req body md.UserManagementUpdateUserInfoReq true "用户ID 必传"
- // @Success 200 {int} "修改数据行数"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/memberCenter/userManagement/updateUserInfo [post]
- func UserManagementUpdateUserInfo(c *gin.Context) {
- var req *md.UserManagementUpdateUserInfoReq
- if err := c.ShouldBindJSON(&req); err != nil {
- e.OutErr(c, e.ERR_INVALID_ARGS, err.Error())
- return
- }
-
- userDb := implement.NewUserDb(db.Db)
-
- var affected int64
- var err1 error
- forceColumns := make([]string, 0)
- user := model.User{
- Id: req.UID,
- }
- if req.Memo != "" {
- user.Memo = req.Memo
- forceColumns = append(forceColumns, "memo")
- }
- if req.Disable != false {
- user.State = 2
- forceColumns = append(forceColumns, "state")
- }
- if req.LastLoginIp != "" {
- user.LastLoginIp = req.LastLoginIp
- forceColumns = append(forceColumns, "last_login_ip")
- }
- if req.Avatar != "" {
- user.Avatar = req.Avatar
- forceColumns = append(forceColumns, "avatar")
- }
- if len(forceColumns) > 0 {
- affected, err1 = userDb.UserUpdate(req.UID, &user)
- if err1 != nil {
- e.OutErr(c, e.ERR_DB_ORM, err1.Error())
- return
- }
- }
-
- var err2 error
- if req.Tag != 0 {
- record := model.UserTagRecords{
- TagId: req.Tag,
- }
- recordsDb := implement.NewUserTagRecordsDb(db.Db)
- affected, err2 = recordsDb.UserTagRecordsUpdate(req.UID, &record, "tag_id")
- if err2 != nil {
- e.OutErr(c, e.ERR_DB_ORM, err2.Error())
- return
- }
-
- }
-
- e.OutSuc(c, affected, nil)
- }
-
- // UserManagementGetOneBasic
- // @Summary 制度中心-会员中心-会员明细概况(获取)
- // @Tags 会员中心
- // @Description 会员明细概况(更新)
- // @Accept json
- // @Produce json
- // @param Authorization header string true "验证参数Bearer和token空格拼接"
- // @Param uid query int true "用户 ID"
- // @Success 200 {object} md.UserManagementGetOneBasicResp "会员明细概况具体数据"
- // @Failure 400 {object} md.Response "具体错误"
- // @Router /api/memberCenter/userManagement/getOneBasicInfo [get]
- //func UserManagementGetOneBasic(c *gin.Context) {
- // uid := c.Query("uid")
- // userDb := implement.NewUserDb(db.Db)
- // user, err := userDb.UserGetOneByParams(map[string]interface{}{
- // "key": "id",
- // "value": uid,
- // })
- // if err != nil {
- // e.OutErr(c, e.ERR_DB_ORM, 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
- // }
- //
- // coinDb := implement.NewVirtualCoinDb(db.Db)
- // coins, err3 := coinDb.VirtualCoinFindAll()
- // if err3 != nil {
- // e.OutErr(c, e.ERR_DB_ORM, err3.Error())
- // return
- // }
- // coinsList := make([]map[string]interface{}, 0)
- // coinsMap := make(map[int]string)
- // for _, coin := range coins {
- // coinsList = append(coinsList, map[string]interface{}{
- // "id": coin.Id,
- // "name": coin.Name,
- // })
- // coinsMap[coin.Id] = coin.Name
- // }
- //
- // parent, err := userDb.UserGetOneByParams(map[string]interface{}{
- // "key": "id",
- // "value": user.ParentUid,
- // })
- // if err != nil {
- // e.OutErr(c, e.ERR_DB_ORM, err.Error())
- // return
- // }
- //
- // recordsDb := implement.NewUserTagRecordsDb(db.Db)
- // userTagRecord, err := recordsDb.UserTagRecordsGetOneByParams(map[string]interface{}{
- // "key": "uid",
- // "value": uid,
- // })
- // if err != nil {
- // return
- // }
- //
- // amountDb := implement.NewUserVirtualAmountDb(db.Db)
- // amountDb.GetUserVirtualWalletBySession()
- //}
|