删除奖励、奖励类型门店奖励相关
This commit is contained in:
@ -1,136 +0,0 @@
|
||||
package rewardType
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"server/internal/consts"
|
||||
"server/internal/dao"
|
||||
"server/internal/model"
|
||||
"server/internal/model/do"
|
||||
"server/internal/service"
|
||||
"server/utility/ecode"
|
||||
)
|
||||
|
||||
type sRewardType struct {
|
||||
}
|
||||
|
||||
func New() service.IRewardType {
|
||||
return &sRewardType{}
|
||||
}
|
||||
|
||||
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)
|
||||
|
||||
// 默认分页
|
||||
if in.Page == 0 {
|
||||
in.Page = 1
|
||||
}
|
||||
if in.Size == 0 {
|
||||
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.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
|
||||
}
|
||||
|
||||
return &model.RewardTypeOut{
|
||||
List: list,
|
||||
Total: total,
|
||||
}, nil
|
||||
}
|
||||
|
||||
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, StoreId: in.StoreId}).Exist()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询该奖励类型失败")
|
||||
}
|
||||
if exist {
|
||||
return nil, ecode.Params.Sub("类型名称已存在")
|
||||
}
|
||||
|
||||
exist, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Code: in.Code, StoreId: in.StoreId}).Exist()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询该奖励类型失败")
|
||||
}
|
||||
if exist {
|
||||
return nil, ecode.Params.Sub("类型代号已存在")
|
||||
}
|
||||
|
||||
id, err := dao.RewardTypes.Ctx(ctx).InsertAndGetId(do.RewardTypes{
|
||||
Name: in.Name,
|
||||
Code: in.Code,
|
||||
Description: in.Description,
|
||||
StoreId: in.StoreId,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &model.CreateRewardTypeOut{Id: id}, nil
|
||||
}
|
||||
|
||||
func (s *sRewardType) UpdateRewardType(ctx context.Context, in *model.UpdateRewardTypeIn) (out *model.UpdateRewardTypeOut, err error) {
|
||||
|
||||
// 检查更新的是否存在
|
||||
exist, err := dao.RewardTypes.Ctx(ctx).WherePri(in.Id).Where(do.RewardTypes{StoreId: in.StoreId}).Exist()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询奖励类型失败")
|
||||
}
|
||||
if !exist {
|
||||
return nil, ecode.Params.Sub("更新的奖励类型不存在")
|
||||
}
|
||||
|
||||
exist, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Name: in.Name, StoreId: in.StoreId}).Exist()
|
||||
if err != nil {
|
||||
return nil, ecode.Fail.Sub("查询奖励类型失败")
|
||||
}
|
||||
if exist {
|
||||
return nil, ecode.Params.Sub("奖励类型名称已存在")
|
||||
}
|
||||
|
||||
// 更新奖励类型
|
||||
_, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Id: in.Id}).Update(do.RewardTypes{
|
||||
Name: in.Name,
|
||||
Status: in.Status,
|
||||
Code: in.Code,
|
||||
Description: in.Description,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &model.UpdateRewardTypeOut{Success: true}, nil
|
||||
}
|
||||
|
||||
func (s *sRewardType) DeleteRewardType(ctx context.Context, in *model.DeleteRewardTypeIn) (out *model.DeleteRewardTypeOut, err error) {
|
||||
exist, err := dao.RewardTypes.Ctx(ctx).WherePri(do.RewardTypes{
|
||||
Id: in.Id,
|
||||
}).Exist()
|
||||
|
||||
if err != nil {
|
||||
return nil, ecode.Params.Sub("查询删除奖励类型失败")
|
||||
}
|
||||
|
||||
if !exist {
|
||||
return nil, ecode.Params.Sub("删除的奖励类型不存在")
|
||||
}
|
||||
|
||||
_, err = dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Id: in.Id}).Delete()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &model.DeleteRewardTypeOut{Success: true}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user