奖励类型新增门店相关 id

This commit is contained in:
chy
2025-06-13 09:48:18 +08:00
parent fac2bd41b3
commit d7987a02f2
35 changed files with 561 additions and 129 deletions

View File

@ -2,6 +2,8 @@ package rewardType
import (
"context"
"fmt"
"server/internal/consts"
"server/internal/dao"
"server/internal/model"
"server/internal/model/do"
@ -20,6 +22,7 @@ func init() {
service.RegisterRewardType(New())
}
func (s *sRewardType) List(ctx context.Context, in *model.RewardTypeIn) (out *model.RewardTypeOut, err error) {
m := dao.RewardTypes.Ctx(ctx)
// 默认分页
@ -30,9 +33,14 @@ func (s *sRewardType) List(ctx context.Context, in *model.RewardTypeIn) (out *mo
in.Size = 10
}
// 判断角色
if in.RoleName == consts.StoreRoleCode {
m = m.Where(do.RewardTypes{StoreId: in.OperatorId})
}
list := make([]model.RewardType, 0)
var total int
err = m.Page(in.Page, in.Size).OrderDesc(dao.RewardTypes.Columns().CreatedAt).ScanAndCount(&list, &total, false)
err = m.Fields(fmt.Sprintf("%s.*, %s.%s %s", dao.RewardTypes.Table(), dao.Stores.Table(), dao.Stores.Columns().Name, "store_name")).LeftJoin(dao.Stores.Table(), fmt.Sprintf("`%s`.`id` = `%s`.`store_id`", dao.Stores.Table(), dao.RewardTypes.Table())).Page(in.Page, in.Size).OrderDesc(dao.RewardTypes.Columns().CreatedAt).ScanAndCount(&list, &total, false)
if err != nil {
return nil, err
}
@ -45,17 +53,17 @@ func (s *sRewardType) List(ctx context.Context, in *model.RewardTypeIn) (out *mo
func (s *sRewardType) CreateRewardType(ctx context.Context, in *model.CreateRewardTypeIn) (out *model.CreateRewardTypeOut, err error) {
// 检查类型名称是否存在
exist, err := dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Name: in.Name}).Exist()
exist, err := dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Name: in.Name, StoreId: in.StoreId}).Exist()
if err != nil {
return nil, err
return nil, ecode.Fail.Sub("查询该奖励类型失败")
}
if exist {
return nil, ecode.Params.Sub("类型名称已存在")
}
exist, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Code: in.Code}).Exist()
exist, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Code: in.Code, StoreId: in.StoreId}).Exist()
if err != nil {
return nil, err
return nil, ecode.Fail.Sub("查询该奖励类型失败")
}
if exist {
return nil, ecode.Params.Sub("类型代号已存在")
@ -65,6 +73,7 @@ func (s *sRewardType) CreateRewardType(ctx context.Context, in *model.CreateRewa
Name: in.Name,
Code: in.Code,
Description: in.Description,
StoreId: in.StoreId,
})
if err != nil {
return nil, err
@ -75,17 +84,17 @@ func (s *sRewardType) CreateRewardType(ctx context.Context, in *model.CreateRewa
func (s *sRewardType) UpdateRewardType(ctx context.Context, in *model.UpdateRewardTypeIn) (out *model.UpdateRewardTypeOut, err error) {
// 检查更新的是否存在
exist, err := dao.RewardTypes.Ctx(ctx).WherePri(in.Id).Exist()
exist, err := dao.RewardTypes.Ctx(ctx).WherePri(in.Id).Where(do.RewardTypes{StoreId: in.StoreId}).Exist()
if err != nil {
return nil, ecode.Params.Sub("查询奖励失败")
return nil, ecode.Fail.Sub("查询奖励类型失败")
}
if !exist {
return nil, ecode.Params.Sub("更新的奖励不存在")
return nil, ecode.Params.Sub("更新的奖励类型不存在")
}
exist, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Name: in.Name}).Exist()
exist, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Name: in.Name, StoreId: in.StoreId}).Exist()
if err != nil {
return nil, ecode.Params.Sub("查询奖励类型失败")
return nil, ecode.Fail.Sub("查询奖励类型失败")
}
if exist {
return nil, ecode.Params.Sub("奖励类型名称已存在")