新增游戏绑定方式,修改任务排行

This commit is contained in:
chy
2025-06-18 16:39:53 +08:00
parent e6a53f4837
commit 217b550d0f
16 changed files with 92 additions and 68 deletions

View File

@ -65,10 +65,11 @@ func (s *sGame) CreateGame(ctx context.Context, in *model.AddGameIn) (out *model
}
_, err = dao.Games.Ctx(ctx).Insert(do.Games{
GameId: in.GameId,
GameName: in.GameName,
GameCode: in.GameCode,
Avatar: in.Avatar,
GameId: in.GameId,
GameName: in.GameName,
GameCode: in.GameCode,
Avatar: in.Avatar,
BoundType: in.BoundType,
})
if err != nil {
@ -118,10 +119,11 @@ func (s *sGame) UpdateGame(ctx context.Context, in *model.UpdateGameIn) (out *mo
}
_, err = dao.Games.Ctx(ctx).Where(do.Games{Id: in.Id}).Update(do.Games{
GameId: in.GameId,
GameName: in.GameName,
GameCode: in.GameCode,
Avatar: in.Avatar,
GameId: in.GameId,
GameName: in.GameName,
GameCode: in.GameCode,
Avatar: in.Avatar,
BoundType: in.BoundType,
})
if err != nil {
return nil, ecode.Fail.Sub("修改游戏失败")

View File

@ -80,7 +80,7 @@ func (s *sReward) Create(ctx context.Context, in *model.RewardCreateIn) (out *mo
StoreId: in.StoreId,
Value: in.Value,
Status: in.Status,
}).InsertAndGetId()
}).OmitEmptyData().InsertAndGetId()
if err != nil {
return nil, err
}
@ -88,7 +88,6 @@ func (s *sReward) Create(ctx context.Context, in *model.RewardCreateIn) (out *mo
return &model.RewardCreateOut{Id: id}, nil
}
// Update 更新奖励
// Update 更新奖励
func (s *sReward) Update(ctx context.Context, in *model.RewardUpdateIn) (out *model.RewardUpdateOut, err error) {
// 查询原始记录,确保存在,并获取 source 与 store_id 用于权限校验
@ -306,7 +305,7 @@ func (s *sReward) List(ctx context.Context, in *model.RewardListIn) (out *model.
dao.Rewards.Table(), dao.Rewards.Columns().RewardTypeId,
dao.RewardTypes.Table(), dao.RewardTypes.Columns().Id,
),
).Fields(fmt.Sprintf("%s.*, %s.%s %s", dao.Rewards.Table(), dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name, "reward_type_name")).Scan(&list)
).Fields(fmt.Sprintf("%s.*, %s.%s %s", dao.Rewards.Table(), dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name, "reward_type_name")).OrderDesc(dao.Rewards.Columns().CreatedAt).Scan(&list)
if err != nil {
return nil, err
}

View File

@ -86,7 +86,7 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki
var total int
// SELECT `uid`,`nickname` FROM `user` ORDER BY `uid` asc
err = m.Page(in.Page, in.Size).LeftJoin(dao.Users.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`user_id`", dao.Users.Table(), dao.UserTasks.Table())).
Fields("username,avatar,count(*) num").Where(dao.UserTasks.Columns().Status, 3).
Fields("username,avatar,count(*) num").Where(dao.UserTasks.Columns().Status, 2).
WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).OrderDesc("num").OrderDesc("username").Group("user_id").
ScanAndCount(&list, &total, false)
if err != nil {
@ -98,16 +98,22 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki
var loginUserRanking []model.LoginUserRanking
var loginUserRankingNum model.LoginUserRankingNum
if in.OperatorId != 0 {
err := dao.UserTasks.Ctx(ctx).Fields("count(*) num").Where(dao.UserTasks.Columns().UserId, in.OperatorId).Where(dao.UserTasks.Columns().Status, 3).
value, err := dao.UserTasks.Ctx(ctx).Fields("count(*) num").Where(dao.UserTasks.Columns().UserId, in.OperatorId).Where(dao.UserTasks.Columns().Status, 2).
WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).Group("user_id").
Scan(&loginUserRankingNum)
Value()
if err != nil {
return nil, ecode.Fail.Sub("查询当前登录用户完成数失败")
}
if value.IsEmpty() {
loginUserRankingNum.Num = 0
} else {
loginUserRankingNum.Num = value.Int()
}
err = dao.UserTasks.Ctx(ctx).LeftJoin(dao.Users.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`user_id`", dao.Users.Table(), dao.UserTasks.Table())).
Fields("username,count(*) num").Where(dao.UserTasks.Columns().Status, 3).
Fields("username,count(*) num").Where(dao.UserTasks.Columns().Status, 2).
WhereBetween(dao.UserTasks.Columns().CompletedAt, start, end).OrderDesc("num").OrderDesc("username").Group("user_id").
Scan(&loginUserRanking)