新增获取门店网费奖励信息列表

This commit is contained in:
chy
2025-07-05 16:47:24 +08:00
parent 6bc186242b
commit e71bbc6587
10 changed files with 118 additions and 5 deletions

View File

@ -12,7 +12,7 @@ import (
type IRewardV1 interface {
List(ctx context.Context, req *v1.ListReq) (res *v1.ListRes, err error)
ListInternetCharge(ctx context.Context, req *v1.ListInternetChargeReq) (res *v1.ListRes, err error)
ListInternetCharge(ctx context.Context, req *v1.ListInternetChargeReq) (res *v1.ListInternetChargeRes, err error)
Create(ctx context.Context, req *v1.CreateReq) (res *v1.CreateRes, err error)
Update(ctx context.Context, req *v1.UpdateReq) (res *v1.UpdateRes, err error)
Delete(ctx context.Context, req *v1.DeleteReq) (res *v1.DeleteRes, err error)
@ -24,4 +24,5 @@ type IRewardV1 interface {
OperateTaskReward(ctx context.Context, req *v1.OperateTaskRewardReq) (res *v1.OperateTaskRewardRes, err error)
GetUserRewardsCanClaimList(ctx context.Context, req *v1.GetUserRewardsCanClaimListReq) (res *v1.GetUserRewardsCanClaimListRes, err error)
NetfeeCallback(ctx context.Context, req *v1.NetfeeCallbackReq) (res *v1.NetfeeCallbackRes, err error)
NetfeeList(ctx context.Context, req *v1.NetfeeListReq) (res *v1.NetfeeListRes, err error)
}

View File

@ -30,6 +30,11 @@ type ListRes struct {
Total int `json:"total" dc:"总数"`
}
type ListInternetChargeRes struct {
List interface{} `json:"list" dc:"奖励列表"`
Total int `json:"total" dc:"总数"`
}
type CreateReq struct {
g.Meta `path:"/reward" method:"post" tags:"Backend/Reward" summary:"(系统、商户、门店后台)创建奖励"`
StoreId int64 `json:"storeId" dc:"门店ID"`
@ -322,3 +327,17 @@ type NetfeeCallbackReq struct {
type NetfeeCallbackRes struct {
Success bool `json:"success" dc:"是否成功"`
}
type NetfeeListReq struct {
g.Meta `path:"/reward/netfeeList" method:"get" tags:"Backend/Reward" summary:"(门店,商户)获取门店网费奖励信息列表"`
Page int `json:"page"`
Size int `json:"size"`
StoreId int64 `json:"storeId" v:"required#门店 id不能为空"`
StartTime *gtime.Time `json:"startTime"`
EndTime *gtime.Time `json:"endTime"`
}
type NetfeeListRes struct {
List interface{} `json:"list"`
Total int `json:"total"`
}

View File

@ -9,7 +9,7 @@ import (
"server/api/reward/v1"
)
func (c *ControllerV1) ListInternetCharge(ctx context.Context, req *v1.ListInternetChargeReq) (res *v1.ListRes, err error) {
func (c *ControllerV1) ListInternetCharge(ctx context.Context, req *v1.ListInternetChargeReq) (res *v1.ListInternetChargeRes, err error) {
fromCtx := g.RequestFromCtx(ctx)
operatorId := fromCtx.GetCtxVar("id").Int64()
operatorRole := fromCtx.GetCtxVar("role").String()
@ -23,7 +23,7 @@ func (c *ControllerV1) ListInternetCharge(ctx context.Context, req *v1.ListInter
if err != nil {
return nil, err
}
return &v1.ListRes{
return &v1.ListInternetChargeRes{
List: out.List,
Total: out.Total,
}, nil

View File

@ -0,0 +1,27 @@
package reward
import (
"context"
"server/internal/model"
"server/api/reward/v1"
"server/internal/service"
)
func (c *ControllerV1) NetfeeList(ctx context.Context, req *v1.NetfeeListReq) (res *v1.NetfeeListRes, err error) {
out, err := service.Reward().GetNetfeeList(ctx, &model.NetfeeListIn{
Page: req.Page,
Size: req.Size,
StartTime: req.StartTime,
EndTime: req.EndTime,
StoreId: req.StoreId,
})
if err != nil {
return nil, err
}
return &v1.NetfeeListRes{
List: out.List,
Total: out.Total,
}, nil
}

View File

@ -1213,3 +1213,32 @@ func (s *sReward) NetfeeCallback(ctx context.Context, in *model.NetfeeCallbackIn
return &model.NetfeeCallbackOut{Success: true}, nil
}
func (s *sReward) GetNetfeeList(ctx context.Context, in *model.NetfeeListIn) (out *model.NetfeeListOut, err error) {
// 查询奖励类型为网费的奖励 id
value, err := dao.RewardTypes.Ctx(ctx).Where(do.RewardTypes{Code: "internet_fee"}).Fields(dao.RewardTypes.Columns().Id).Value()
if err != nil {
return nil, ecode.Fail.Sub("查询奖励类型id失败")
}
if value.IsEmpty() {
return nil, ecode.Fail.Sub("查询奖励类型id为空")
}
var data []model.NetfeeRewards
var total int
m := dao.Rewards.Ctx(ctx)
if in.StartTime != nil && in.EndTime != nil {
m = m.WhereBetween(dao.Rewards.Columns().UpdatedAt, in.StartTime, in.EndTime)
}
if err = m.Page(in.Page, in.Size).Where(do.Rewards{RewardTypeId: value.Int64(), StoreId: in.StoreId}).WithAll().ScanAndCount(&data, &total, false); err != nil {
return nil, ecode.Fail.Sub("查询网费奖励列表失败")
}
return &model.NetfeeListOut{
List: data,
Total: total,
}, nil
}

View File

@ -721,7 +721,6 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out
TaskName: v.Title,
GameId: in.Gid,
TaskType: v.GameTaskConfig.TimeType,
CompletedAt: completedTime,
}).InsertAndGetId()
if err != nil {
return ecode.Fail.Sub("创建用户任务记录失败")

View File

@ -34,6 +34,27 @@ type Reward struct {
DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"删除时间(软删除)"` // 删除时间(软删除)
}
type NetfeeRewards struct {
g.Meta `orm:"table:rewards"`
Id int64 `json:"id" orm:"id" description:"奖励ID"` // 奖励ID
RewardTypeId int64 `json:"rewardTypeId" orm:"reward_type_id" description:"奖励类型ID关联 reward_types 表"` // 奖励类型ID关联 reward_types 表
NetfeeUserTaskRewards NetfeeUserTaskRewards `json:"netfeeUserTaskRewards,omitempty" orm:"with:reward_id=id"`
}
type NetfeeUserTaskRewards struct {
g.Meta `orm:"table:user_task_rewards"`
Id int64 `json:"id" orm:"id" description:"用户任务奖励记录唯一标识符"` // 用户任务奖励记录唯一标识符
UserTaskId int64 `json:"userTaskId" orm:"user_task_id" description:"关联用户任务记录ID"` // 关联用户任务记录ID
RewardId int64 `json:"rewardId" orm:"reward_id" description:"奖励ID"` // 奖励ID
RewardName string `json:"rewardName" orm:"reward_name" description:"奖励名称冗余字段"` // 奖励名称冗余字段
Status int `json:"status" orm:"status" description:"状态1=待用户完成任务2=待领取3=已领取, 待兑换4=已过期5=发放失败, 6=结束"` // 状态1=待用户完成任务2=待领取3=已领取, 待兑换4=已过期5=发放失败, 6=结束
CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` // 创建时间
UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` // 更新时间
IssueQuantity int `json:"issueQuantity" orm:"issue_quantity" description:""` //
RewardTypeId int64 `json:"rewardTypeId" orm:"reward_type_id" description:"奖励类型 id"`
UsetTaskRecord UserTaskRecord `json:"userTaskRecord,omitempty" orm:"with:id=user_task_id"`
}
type InternetChargeReward struct {
g.Meta `orm:"table:rewards"`
Id int64 `json:"id" orm:"id" description:"奖励ID"` // 奖励ID
@ -280,3 +301,16 @@ type OperateTaskRewardIn struct {
type OperateTaskRewardOut struct {
Success bool
}
type NetfeeListIn struct {
Page int
Size int
StoreId int64
StartTime *gtime.Time
EndTime *gtime.Time
}
type NetfeeListOut struct {
List interface{}
Total int
}

View File

@ -49,7 +49,7 @@ type UserTask2 struct {
}
type UserTaskRecord struct {
g.Meta `orm:"table:task"`
g.Meta `orm:"table:user_tasks"`
Id int64 `json:"id" orm:"id" description:"用户任务唯一标识符"` // 用户任务唯一标识符
UserId int64 `json:"userId" orm:"user_id" description:"用户ID"` // 用户ID
TaskId string `json:"taskId" orm:"task_id" description:"腾讯任务ID"` // 腾讯任务ID

View File

@ -338,6 +338,7 @@ type (
CallBack(ctx context.Context, in *model.RewardCallbackIn) (out *model.RewardCallbackOut, err error)
GetUserClaimList(ctx context.Context, in *model.GetUserClaimListIn) (out *model.GetUserClaimListOut, err error)
NetfeeCallback(ctx context.Context, in *model.NetfeeCallbackIn) (out *model.NetfeeCallbackOut, err error)
GetNetfeeList(ctx context.Context, in *model.NetfeeListIn) (out *model.NetfeeListOut, err error)
}
)

View File

@ -115,6 +115,9 @@ func init() {
enforcer.AddPolicy("store", "/x/reward/taskReward", "POST", "添加/删除门店任务奖励")
enforcer.AddPolicy("store", "/x/upload/reward", "POST", "上传奖励图片")
// 获取网费奖励列表
enforcer.AddPolicy("store", "/x/reward/netfeeList", "GET", "获取门店网费奖励信息列表")
// 门店角色
enforcer.AddPolicy("store", "/x/store/role", "GET", "获取门店角色列表")
enforcer.AddPolicy("store", "/x/store/role", "POST", "添加门店角色")