调整回调,奖励领取--(测试领奖-1)

This commit is contained in:
chy
2025-07-02 14:06:53 +08:00
parent 75d6c8cbfd
commit 6e562de6df
9 changed files with 196 additions and 9 deletions

View File

@ -5,7 +5,9 @@ import (
"encoding/json"
"fmt"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/os/glog"
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/util/guid"
"server/internal/consts"
"server/internal/dao"
"server/internal/model"
@ -369,11 +371,14 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
}
glog.Info(ctx, "调用 tencent开始")
activity, err := gamelife.GetGamelifeClient(ctx).RequestActivity(ctx, &model.QQNetbarActivityIn{PopenId: in.PopenId, ServiceName: consts.GetGift, GiftParam: giftParam})
if err != nil {
return nil, err
}
glog.Info(ctx, "调用 tencent结束")
fmt.Print(activity)
result, ok := activity.(*model.GiftResponse)
if !ok {
@ -385,6 +390,7 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
}
// 存储数据库记录
var data model.GetRewardOut
if err = dao.RewardWaters.Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) {
for _, item := range result.GiftItem {
marshal, err := json.Marshal(item.Water)
@ -407,7 +413,7 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
// 根据 result判断
if item.Result == 1 {
//// 奖励发放成功,修改状态,扣除数量
glog.Infof(ctx, "奖励发放成功1修改状态扣除数量")
// 查询当前奖励是否为最后一个, 如果是则更新任务状态为2 完成
count, err := dao.UserTaskRewards.Ctx(ctx).Where(do.UserTaskRewards{UserTaskId: in.UserTaskId}).Where(do.UserTaskRewards{Status: 2}).Count()
if err != nil {
@ -441,6 +447,7 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
}
} else if item.Result == 2 || item.Result == 3 {
// 发放背包成功,修改状态
glog.Infof(ctx, "奖励发放成功2修改状态")
_, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{
Status: consts.RewardExchangeStatus,
}).Where(do.UserTaskRewards{
@ -453,8 +460,14 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
}
} else if item.Result == 4 {
// 奖励领取失败,不做操作,直接返回
glog.Infof(ctx, "领取奖励失败")
return ecode.Fail.Sub("领取奖励失败")
}
data.List = append(data.List, model.GetRewardNewOut{
Result: int64(item.Result),
Water: item.Water,
})
}
return
@ -463,7 +476,9 @@ func (s *sReward) GetLift(ctx context.Context, in *model.GetRewardIn) (out *mode
return
}
return nil, err
return &model.GetRewardOut{
List: data.List,
}, err
}
// GetGoodsList 调用外部获取物品列表
@ -824,6 +839,7 @@ func (s *sReward) CallBack(ctx context.Context, in *model.RewardCallbackIn) (out
Num: in.Num,
CustomInfo: in.CustomInfo,
AppId: in.AppId,
InnerOrderId: fmt.Sprintf("reward%s", guid.S()),
})
if err != nil {

View File

@ -32,7 +32,8 @@ func (s *sRewardType) Create(ctx context.Context, in *model.RewardTypeCreateIn)
}
data := do.RewardTypes{
Name: in.Name,
Name: in.Name,
Source: in.Source,
}
id, err := dao.RewardTypes.Ctx(ctx).OmitEmptyData().Data(data).InsertAndGetId()