调整新增奖励
This commit is contained in:
@ -13,6 +13,7 @@ import (
|
|||||||
"server/internal/service"
|
"server/internal/service"
|
||||||
"server/utility/ecode"
|
"server/utility/ecode"
|
||||||
"server/utility/gamelife"
|
"server/utility/gamelife"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -76,6 +77,9 @@ func (s *sReward) Create(ctx context.Context, in *model.RewardCreateIn) (out *mo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 券ID-根据时间戳生成
|
||||||
|
id := "Q" + strconv.FormatInt(time.Now().Unix(), 10)
|
||||||
|
|
||||||
// 创建奖励
|
// 创建奖励
|
||||||
_, err = dao.Rewards.Ctx(ctx).Data(do.Rewards{
|
_, err = dao.Rewards.Ctx(ctx).Data(do.Rewards{
|
||||||
StoreId: in.StoreId,
|
StoreId: in.StoreId,
|
||||||
@ -94,6 +98,8 @@ func (s *sReward) Create(ctx context.Context, in *model.RewardCreateIn) (out *mo
|
|||||||
GameId: in.GameId,
|
GameId: in.GameId,
|
||||||
UserDailyLimit: in.UserDailyLimit,
|
UserDailyLimit: in.UserDailyLimit,
|
||||||
UserTotalLimit: in.UserTotalLimit,
|
UserTotalLimit: in.UserTotalLimit,
|
||||||
|
PrizeId: id,
|
||||||
|
Source: in.Source,
|
||||||
}).OmitEmptyData().Insert()
|
}).OmitEmptyData().Insert()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -700,15 +706,14 @@ func (s *sReward) CallBack(ctx context.Context, in *model.RewardCallbackIn) (out
|
|||||||
func (s *sReward) GetUserClaimList(ctx context.Context, in *model.GetUserClaimListIn) (out *model.GetUserClaimListOut, err error) {
|
func (s *sReward) GetUserClaimList(ctx context.Context, in *model.GetUserClaimListIn) (out *model.GetUserClaimListOut, err error) {
|
||||||
|
|
||||||
// Initialize result slice
|
// Initialize result slice
|
||||||
rewards := make([]model.Reward, 0)
|
rewards := make([]model.UserClaimReward, 0)
|
||||||
var totalCount int
|
var totalCount int
|
||||||
|
|
||||||
var userTaskId int64
|
var userTaskId int64
|
||||||
if in.UserTaskId == 0 {
|
if in.UserTaskId == 0 {
|
||||||
value, err := dao.UserTasks.Ctx(ctx).
|
value, err := dao.UserTasks.Ctx(ctx).
|
||||||
Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId}).
|
Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId}).
|
||||||
Fields(dao.UserTasks.Columns().Id).
|
Fields(dao.UserTasks.Columns().Id).Value()
|
||||||
Value()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, ecode.Fail.Sub("查询用户任务失败")
|
return nil, ecode.Fail.Sub("查询用户任务失败")
|
||||||
}
|
}
|
||||||
@ -744,7 +749,7 @@ func (s *sReward) GetUserClaimList(ctx context.Context, in *model.GetUserClaimLi
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Scan rewards
|
// Scan rewards
|
||||||
if err = query.Fields(fmt.Sprintf("%s.*", dao.Rewards.Table())).Scan(&rewards); err != nil {
|
if err = query.Fields(fmt.Sprintf("user_task_rewards.reward_id,reward_id, user_task_rewards.status reward_status,user_task_rewards.reward_name reward_name, rewards.*")).WithAll().Scan(&rewards); err != nil {
|
||||||
return nil, ecode.Fail.Sub("任务奖励获取失败")
|
return nil, ecode.Fail.Sub("任务奖励获取失败")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,6 +33,20 @@ type Reward struct {
|
|||||||
UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` // 更新时间
|
UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` // 更新时间
|
||||||
DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"删除时间(软删除)"` // 删除时间(软删除)
|
DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"删除时间(软删除)"` // 删除时间(软删除)
|
||||||
}
|
}
|
||||||
|
type SimpleReward struct {
|
||||||
|
g.Meta `orm:"table:rewards"`
|
||||||
|
Id int64 `json:"id" orm:"id" description:"奖励ID"` // 奖励ID
|
||||||
|
Name string `json:"name" orm:"name" description:"奖励名称"` // 奖励名称
|
||||||
|
RewardTypeId int64 `json:"rewardTypeId" orm:"reward_type_id" description:"奖励类型ID,关联 reward_types 表"` // 奖励类型ID,关联 reward_types 表
|
||||||
|
Source int `json:"source" orm:"source" description:"奖励来源,1=系统奖励(对接腾讯),2=门店追加"` // 奖励来源,1=系统奖励(对接腾讯),2=门店追加
|
||||||
|
GameId int64 `json:"gameId" orm:"game_id" description:"游戏ID"` // 游戏ID
|
||||||
|
ImageUrl string `json:"imageUrl" orm:"image_url" description:"奖励图片链接"` // 奖励图片链接
|
||||||
|
ExpireType int `json:"expireType" orm:"expire_type" description:"过期方式:1=时间段过期,2=领取后过期"` // 过期方式:1=时间段过期,2=领取后过期
|
||||||
|
ValidFrom *gtime.Time `json:"validFrom" orm:"valid_from" description:"有效期开始时间(expire_type=1时)"` // 有效期开始时间(expire_type=1时)
|
||||||
|
ValidTo *gtime.Time `json:"validTo" orm:"valid_to" description:"有效期结束时间(expire_type=1时)"` // 有效期结束时间(expire_type=1时)
|
||||||
|
ExpireDays int `json:"expireDays" orm:"expire_days" description:"领取后多少天过期(expire_type=2时)"` // 领取后多少天过期(expire_type=2时)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// RewardCreateIn 创建奖励入参
|
// RewardCreateIn 创建奖励入参
|
||||||
type RewardCreateIn struct {
|
type RewardCreateIn struct {
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import "github.com/gogf/gf/v2/os/gtime"
|
import (
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
|
)
|
||||||
|
|
||||||
type GetUserClaimListIn struct {
|
type GetUserClaimListIn struct {
|
||||||
UserId int64
|
UserId int64
|
||||||
@ -9,18 +12,9 @@ type GetUserClaimListIn struct {
|
|||||||
NetbarAccount string
|
NetbarAccount string
|
||||||
StoreId int64
|
StoreId int64
|
||||||
}
|
}
|
||||||
type UserTaskReward struct {
|
|
||||||
RewardName string `json:"rewardName" orm:"reward_name"` // 奖励名称冗余字段
|
|
||||||
Source int `json:"source" orm:"source"` // 奖励来源,1是系统奖励统一调用, 2是门店奖励
|
|
||||||
RewardType int `json:"rewardType" orm:"reward_type"` // 奖励类型, 实现不同的领取操作
|
|
||||||
Status int `json:"status" orm:"status"` // 状态:1=待用户完成任务,2=待领取,3=已领取, 待兑换,4=已过期,5=发放失败, 6=结束、
|
|
||||||
ExpireType int `json:"expireType" orm:"expire_type"` // 过期方式:1=时间段过期,2=领取后过期
|
|
||||||
ValidFrom *gtime.Time `json:"validFrom" orm:"valid_from" ` // 有效期开始时间(expire_type=1时)
|
|
||||||
ValidTo *gtime.Time `json:"validTo" orm:"valid_to"` // 有效期结束时间(expire_type=1时)
|
|
||||||
ExpireDays int `json:"expireDays" orm:"expire_days"` // 领取后多少天过期(expire_type=2时)
|
|
||||||
}
|
|
||||||
type GetUserClaimListOut struct {
|
type GetUserClaimListOut struct {
|
||||||
List []Reward
|
List []UserClaimReward
|
||||||
Total int
|
Total int
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,3 +32,11 @@ type UserTaskRewards struct {
|
|||||||
DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"软删除时间"` // 软删除时间
|
DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"软删除时间"` // 软删除时间
|
||||||
ExpiredAt *gtime.Time `json:"expiredAt" orm:"expired_at" description:"奖励过期时间"` // 奖励过期时间
|
ExpiredAt *gtime.Time `json:"expiredAt" orm:"expired_at" description:"奖励过期时间"` // 奖励过期时间
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type UserClaimReward struct {
|
||||||
|
g.Meta `orm:"table:user_task_rewards"`
|
||||||
|
RewardId int64 `json:"rewardId" orm:"reward_id"`
|
||||||
|
Status int64 `json:"status" orm:"reward_status"`
|
||||||
|
RewardName string `json:"rewardName" orm:"reward_name"`
|
||||||
|
SimpleReward SimpleReward `json:"reward" orm:"with:id=reward_id"`
|
||||||
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import (
|
|||||||
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
||||||
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
||||||
_ "server/utility/gamelife"
|
_ "server/utility/gamelife"
|
||||||
_ "server/utility/mqtt/emqx"
|
//_ "server/utility/mqtt/emqx"
|
||||||
_ "server/utility/myCasbin"
|
_ "server/utility/myCasbin"
|
||||||
_ "server/utility/oss/aliyun"
|
_ "server/utility/oss/aliyun"
|
||||||
_ "server/utility/rsa"
|
_ "server/utility/rsa"
|
||||||
|
|||||||
@ -55,3 +55,8 @@ func (c *snowClient) generateCodeWithPrefix(prefix string) (string, error) {
|
|||||||
func (c *snowClient) GenerateSerialNumber() (string, error) {
|
func (c *snowClient) GenerateSerialNumber() (string, error) {
|
||||||
return c.generateCodeWithPrefix("SN")
|
return c.generateCodeWithPrefix("SN")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GenerateCouponTemplateId 生成券模板 ID
|
||||||
|
func (c *snowClient) GenerateCouponTemplateId() (string, error) {
|
||||||
|
return c.generateCodeWithPrefix("Q")
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user