From 6862ac4fe993772dec9ac73d234837c75591047d Mon Sep 17 00:00:00 2001 From: chy <2463300564@qq.com> Date: Mon, 7 Jul 2025 10:07:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96=E5=A5=96?= =?UTF-8?q?=E5=8A=B1=E7=B1=BB=E5=9E=8B=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/rewardType/rewardType_v1_list.go | 12 +++++++----- internal/logic/rewardType/rewardType.go | 14 +++++++++++--- internal/model/rewardType.go | 14 ++++++++------ 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/internal/controller/rewardType/rewardType_v1_list.go b/internal/controller/rewardType/rewardType_v1_list.go index ea170b5..20da158 100644 --- a/internal/controller/rewardType/rewardType_v1_list.go +++ b/internal/controller/rewardType/rewardType_v1_list.go @@ -20,11 +20,13 @@ func (c *ControllerV1) List(ctx context.Context, req *v1.ListReq) (res *v1.ListR ) out, err := service.RewardType().List(ctx, &model.RewardTypeListIn{ - Page: req.Page, - Size: req.Size, - StoreId: req.StoreId, - Name: req.Name, - Source: req.Source, + Page: req.Page, + Size: req.Size, + StoreId: req.StoreId, + Name: req.Name, + Source: req.Source, + OperatorId: operatorId, + OperatorRole: operatorRole, }) if err != nil { diff --git a/internal/logic/rewardType/rewardType.go b/internal/logic/rewardType/rewardType.go index 7a27e1d..32e477f 100644 --- a/internal/logic/rewardType/rewardType.go +++ b/internal/logic/rewardType/rewardType.go @@ -108,13 +108,21 @@ func (s *sRewardType) Delete(ctx context.Context, in *model.RewardTypeDeleteIn) func (s *sRewardType) List(ctx context.Context, in *model.RewardTypeListIn) (out *model.RewardTypeListOut, err error) { mod := dao.RewardTypes.Ctx(ctx).Where("deleted_at IS NULL") + if in.OperatorRole == consts.AdminRoleCode { + mod = mod.Where("source", 1) + } + + if in.OperatorRole == consts.MerchantRoleCode || in.OperatorRole == consts.StoreRoleCode { + mod.Where("source", 2) + } + // 其余过滤条件 if in.Name != "" { mod = mod.WhereLike("name", "%"+in.Name+"%") } - if in.Source > 0 { - mod = mod.Where("source", in.Source) - } + //if in.Source > 0 { + // mod = mod.Where("source", in.Source) + //} count, err := mod.Count() if err != nil { diff --git a/internal/model/rewardType.go b/internal/model/rewardType.go index 8df9b8a..b2db628 100644 --- a/internal/model/rewardType.go +++ b/internal/model/rewardType.go @@ -60,12 +60,14 @@ type RewardTypeDeleteOut struct { // RewardTypeListIn 获取奖励类型列表入参 type RewardTypeListIn struct { - Page int - Size int - Name string - StoreId int64 - Status int - Source int + Page int + Size int + Name string + StoreId int64 + Status int + Source int + OperatorId int64 + OperatorRole string } // RewardTypeListOut 获取奖励类型列表出参