From 9adc43f6e3239859e184bcc8c465bd827aed91cb Mon Sep 17 00:00:00 2001 From: chy <2463300564@qq.com> Date: Fri, 4 Jul 2025 14:27:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8F=AF=E9=A2=86=E5=8F=96?= =?UTF-8?q?=E5=A5=96=E5=8A=B1=E5=88=97=E8=A1=A8=EF=BC=8C=E5=A5=96=E5=8A=B1?= =?UTF-8?q?=E9=A2=86=E5=8F=96=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/logic/reward/reward.go | 3 ++- internal/logic/task/task.go | 3 ++- internal/model/userTask.go | 1 + internal/model/userTaskReward.go | 1 + internal/packed/packed.go | 2 +- 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/logic/reward/reward.go b/internal/logic/reward/reward.go index e6a6510..b3e70fd 100644 --- a/internal/logic/reward/reward.go +++ b/internal/logic/reward/reward.go @@ -1028,7 +1028,8 @@ func (s *sReward) GetUserClaimList(ctx context.Context, in *model.GetUserClaimLi // Initialize result slice rewards := make([]model.UserTaskRewards, 0) var total int - if err = dao.UserTaskRewards.Ctx(ctx).Where(do.UserTaskRewards{UserTaskId: in.UserTaskId}).ScanAndCount(&rewards, &total, false); err != nil { + if err = dao.UserTaskRewards.Ctx(ctx).Where(do.UserTaskRewards{UserTaskId: in.UserTaskId}). + LeftJoin(dao.Rewards.Table(), "r", "r.id = user_task_rewards.reward_id").Fields("user_task_rewards.*, r.image_url").ScanAndCount(&rewards, &total, false); err != nil { return nil, ecode.Fail.Sub("查询用户领取列表异常") } return &model.GetUserClaimListOut{ diff --git a/internal/logic/task/task.go b/internal/logic/task/task.go index 12d3d65..30cb4e1 100644 --- a/internal/logic/task/task.go +++ b/internal/logic/task/task.go @@ -444,7 +444,8 @@ func (s *sTask) GetUserTaskRecordsList(ctx context.Context, in *model.UserTaskRe orm = orm.Where(dao.UserTasks.Columns().GameId, in.GameId) } - err = orm.Page(in.Page, in.Size).ScanAndCount(&list, &total, false) + err = orm.Page(in.Page, in.Size).LeftJoin(dao.UserTaskRewards.Table(), fmt.Sprintf("`%s`.`user_task_id` = `%s`.`id`", dao.UserTaskRewards.Table(), dao.UserTasks.Table())). + Fields("user_tasks.*, group_concat(user_task_rewards.reward_name SEPARATOR ',') AS reward_name").Group("user_tasks.id").ScanAndCount(&list, &total, false) if err != nil { return nil, ecode.Fail.Sub("获取用户任务列表失败") } diff --git a/internal/model/userTask.go b/internal/model/userTask.go index cc2eabe..cd82433 100644 --- a/internal/model/userTask.go +++ b/internal/model/userTask.go @@ -44,6 +44,7 @@ type UserTask2 struct { StoreId int64 `json:"storeId" orm:"store_id" description:"门店 id"` // 门店 id TaskName string `json:"taskName" orm:"task_name" description:"任务名称"` // 任务名称 GameId int64 `json:"gameId" orm:"game_id" description:"游戏 id"` // 游戏 id + RewardName string `json:"rewardName" orm:"reward_name" description:"奖励名称冗余字段"` //TaskRewards []TaskReward `json:"taskRewards" orm:"with:task_id=task_id"` } diff --git a/internal/model/userTaskReward.go b/internal/model/userTaskReward.go index e7ddfb9..bb91252 100644 --- a/internal/model/userTaskReward.go +++ b/internal/model/userTaskReward.go @@ -34,6 +34,7 @@ type UserTaskRewards struct { IssueQuantity int `json:"issueQuantity" orm:"issue_quantity" description:""` // Source int64 `json:"source" orm:"source" description:"来源 1:系统 2:门店"` // 来源 1:系统 2:门店 RewardTypeId int64 `json:"rewardTypeId" orm:"reward_type_id" description:"奖励类型 id"` + ImgUrl string `json:"imgUrl" orm:"image_url"` } type UserClaimReward struct { diff --git a/internal/packed/packed.go b/internal/packed/packed.go index d483800..e61b667 100644 --- a/internal/packed/packed.go +++ b/internal/packed/packed.go @@ -4,7 +4,7 @@ import ( _ "github.com/gogf/gf/contrib/drivers/mysql/v2" _ "github.com/gogf/gf/contrib/nosql/redis/v2" _ "server/utility/gamelife" - _ "server/utility/mqtt/emqx" + //_ "server/utility/mqtt/emqx" _ "server/utility/myCasbin" _ "server/utility/oss/aliyun" _ "server/utility/rsa"