From def9e5e13f52321597814f07cd24d52308580c4a Mon Sep 17 00:00:00 2001 From: chenweijian <820961417@qq.com> Date: Thu, 9 Mar 2023 11:31:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=90=86=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mysql/3.5.0.sql | 5 ++ route/charge_r/charge.go | 187 ++++++++++++++++++--------------------- 2 files changed, 92 insertions(+), 100 deletions(-) create mode 100644 mysql/3.5.0.sql diff --git a/mysql/3.5.0.sql b/mysql/3.5.0.sql new file mode 100644 index 0000000..a769312 --- /dev/null +++ b/mysql/3.5.0.sql @@ -0,0 +1,5 @@ +ALTER TABLE hilo.group_power ADD `level` INT UNSIGNED DEFAULT 0 NOT NULL COMMENT '家族等级'; +ALTER TABLE hilo.group_power ADD nameplate varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL COMMENT '家族铭牌'; +ALTER TABLE hilo.group_power ADD declaration varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' NOT NULL COMMENT '家族宣言'; +update hilo.group_power set nameplate = id; +CREATE UNIQUE INDEX nameplate_IDX USING BTREE ON hilo.group_power (nameplate); diff --git a/route/charge_r/charge.go b/route/charge_r/charge.go index 60fb8d0..00ea46d 100644 --- a/route/charge_r/charge.go +++ b/route/charge_r/charge.go @@ -1,22 +1,9 @@ package charge_r import ( - "git.hilo.cn/hilo-common/domain" "git.hilo.cn/hilo-common/mycontext" - "git.hilo.cn/hilo-common/resource/mysql" - "git.hilo.cn/hilo-common/resource/redisCli" - "git.hilo.cn/hilo-common/utils" "github.com/gin-gonic/gin" - "hilo-group/_const/enum/groupPower_e" - "hilo-group/_const/redis_key" - "hilo-group/cv/user_cv" - "hilo-group/domain/cache/user_c" - "hilo-group/domain/model/groupPower_m" - "hilo-group/myerr" - "hilo-group/req" "hilo-group/resp" - "strconv" - "time" ) // @Tags 充值 @@ -26,92 +13,92 @@ import ( // @Router /v1/charge/share [get] func CanShareChargeLink(c *gin.Context) (*mycontext.MyContext, error) { myContext := mycontext.CreateMyContext(c.Keys) - userId, err := req.GetUserId(c) - if err != nil { - return myContext, err - } - extId := c.Query("extId") - model := domain.CreateModelContext(myContext) - toUser, err := user_c.GetUserByExternalId(model, extId) - if err != nil { - return myContext, err - } - type res struct { - CanShare bool `json:"canShare"` - } - //var beginTime, endTime time.Time - var beginTime time.Time - if t == 1 { - //endTime = now - beginTime = midnight - } else if t == 2 { - //endTime = midnight - beginTime = midnight.AddDate(0, 0, -7) - } else { - return myContext, myerr.NewSysError("type 参数错误") - } - - type R struct { - DiamondNum uint - UserId uint64 - } - rs := []R{} - //用缓存 - rows, err := redisCli.GetRedis().ZRevRangeWithScores(context.Background(), redis_key.GetGroupPowerDiamondLogWeek(beginTime.Format(utils.COMPACT_DATE_FORMAT)), 0, -1).Result() - if err != nil { - return nil, myerr.WrapErr(err) - } - groupPowerIds := make([]uint64, 0, len(rows)) - for i, _ := range rows { - groupPowerId, err := strconv.ParseUint(rows[i].Member.(string), 10, 64) - if err != nil { - return nil, myerr.WrapErr(err) - } - groupPowerIds = append(groupPowerIds, groupPowerId) - } - //搜集所有的群组(有效) + 群组管理人 - groupPowerUsers := []groupPower_m.GroupPowerUser{} - if err := mysql.Db.Raw("SELECT u.user_id, u.group_power_id FROM group_power_user u, group_power p WHERE u.group_power_id = p.id AND u.role = ? and p.status = ? and p.id in (?)", groupPower_e.GroupPowerUserRoleMgr, groupPower_e.GroupPowerUserHas, groupPowerIds).Scan(&groupPowerUsers).Error; err != nil { - return nil, myerr.WrapErr(err) - } - //转换成map - groupPowerIdUserIdMap := map[uint64]uint64{} - for _, r := range groupPowerUsers { - groupPowerIdUserIdMap[r.GroupPowerId] = r.UserId - } - //只需找到前3个 - for i, _ := range rows { - groupPowerId, err := strconv.ParseUint(rows[i].Member.(string), 10, 64) - if err != nil { - return nil, myerr.WrapErr(err) - } - if len(rs) >= 3 { - break - } else if userId, flag := groupPowerIdUserIdMap[groupPowerId]; flag { - rs = append(rs, R{ - DiamondNum: uint(rows[i].Score), - UserId: userId, - }) - } - } - - userIds := make([]uint64, 0, 64) - for i, _ := range rs { - userIds = append(userIds, rs[i].UserId) - } - - userMap, err := user_cv.GetUserDetailMap(userIds, userId) - if err != nil { - return myContext, err - } - - results := make([]ReturnGroupPowerBillboardOwnerWeek, 0, len(userIds)) - for i, _ := range rs { - results = append(results, ReturnGroupPowerBillboardOwnerWeek{ - User: *userMap[rs[i].UserId], - Diamond: rs[i].DiamondNum, - }) - } - resp.ResponseOk(c, results) + //userId, err := req.GetUserId(c) + //if err != nil { + // return myContext, err + //} + //extId := c.Query("extId") + //model := domain.CreateModelContext(myContext) + //toUser, err := user_c.GetUserByExternalId(model, extId) + //if err != nil { + // return myContext, err + //} + //type res struct { + // CanShare bool `json:"canShare"` + //} + ////var beginTime, endTime time.Time + //var beginTime time.Time + //if t == 1 { + // //endTime = now + // beginTime = midnight + //} else if t == 2 { + // //endTime = midnight + // beginTime = midnight.AddDate(0, 0, -7) + //} else { + // return myContext, myerr.NewSysError("type 参数错误") + //} + // + //type R struct { + // DiamondNum uint + // UserId uint64 + //} + //rs := []R{} + ////用缓存 + //rows, err := redisCli.GetRedis().ZRevRangeWithScores(context.Background(), redis_key.GetGroupPowerDiamondLogWeek(beginTime.Format(utils.COMPACT_DATE_FORMAT)), 0, -1).Result() + //if err != nil { + // return nil, myerr.WrapErr(err) + //} + //groupPowerIds := make([]uint64, 0, len(rows)) + //for i, _ := range rows { + // groupPowerId, err := strconv.ParseUint(rows[i].Member.(string), 10, 64) + // if err != nil { + // return nil, myerr.WrapErr(err) + // } + // groupPowerIds = append(groupPowerIds, groupPowerId) + //} + ////搜集所有的群组(有效) + 群组管理人 + //groupPowerUsers := []groupPower_m.GroupPowerUser{} + //if err := mysql.Db.Raw("SELECT u.user_id, u.group_power_id FROM group_power_user u, group_power p WHERE u.group_power_id = p.id AND u.role = ? and p.status = ? and p.id in (?)", groupPower_e.GroupPowerUserRoleMgr, groupPower_e.GroupPowerUserHas, groupPowerIds).Scan(&groupPowerUsers).Error; err != nil { + // return nil, myerr.WrapErr(err) + //} + ////转换成map + //groupPowerIdUserIdMap := map[uint64]uint64{} + //for _, r := range groupPowerUsers { + // groupPowerIdUserIdMap[r.GroupPowerId] = r.UserId + //} + ////只需找到前3个 + //for i, _ := range rows { + // groupPowerId, err := strconv.ParseUint(rows[i].Member.(string), 10, 64) + // if err != nil { + // return nil, myerr.WrapErr(err) + // } + // if len(rs) >= 3 { + // break + // } else if userId, flag := groupPowerIdUserIdMap[groupPowerId]; flag { + // rs = append(rs, R{ + // DiamondNum: uint(rows[i].Score), + // UserId: userId, + // }) + // } + //} + // + //userIds := make([]uint64, 0, 64) + //for i, _ := range rs { + // userIds = append(userIds, rs[i].UserId) + //} + // + //userMap, err := user_cv.GetUserDetailMap(userIds, userId) + //if err != nil { + // return myContext, err + //} + // + //results := make([]ReturnGroupPowerBillboardOwnerWeek, 0, len(userIds)) + //for i, _ := range rs { + // results = append(results, ReturnGroupPowerBillboardOwnerWeek{ + // User: *userMap[rs[i].UserId], + // Diamond: rs[i].DiamondNum, + // }) + //} + resp.ResponseOk(c, nil) return myContext, nil } -- 2.22.0