go_dreamfactory/modules/jielong/api_reward.go
2023-10-13 15:17:24 +08:00

64 lines
1.6 KiB
Go

package jielong
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) RewardCheck(session comm.IUserSession, req *pb.JielongRewardReq) (errdata *pb.ErrorData) {
if req.Rewardkey == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return
}
func (this *apiComp) Reward(session comm.IUserSession, req *pb.JielongRewardReq) (errdata *pb.ErrorData) {
var (
list *pb.DBJielongData
err error
update map[string]interface{}
)
update = make(map[string]interface{}, 0)
if errdata = this.RewardCheck(session, req); errdata != nil {
return
}
// TODO 等策划配置来再做数据校验
list, err = this.module.modelJielong.getUserJielongData(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if req.Cur {
if _, ok := list.Reward[req.Rewardkey]; ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_UserRepeadReward,
Title: pb.ErrorCode_UserRepeadReward.ToString(),
}
return
}
list.Reward[req.Rewardkey] = 1
update["reward"] = list.Reward
} else {
if _, ok := list.Gotarr[req.Rewardkey]; ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_UserRepeadReward,
Title: pb.ErrorCode_UserRepeadReward.ToString(),
}
return
}
list.Gotarr[req.Rewardkey] = 1
update["gotarr"] = list.Gotarr
}
this.module.modelJielong.changeJielongData(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), "reward", &pb.JielongRewardResp{})
return
}