列车结账收益奖励领取
This commit is contained in:
parent
2d233bb2cd
commit
cbe0c93635
@ -25,52 +25,71 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.CaravanGetRewa
|
||||
}
|
||||
caravan, _ := this.module.modelCaravan.getCaravanList(session.GetUserId())
|
||||
|
||||
reward := this.configure.GetCaravanReward()
|
||||
curProfit := this.module.ModuleUser.QueryAttributeValue(session.GetUserId(), "profit")
|
||||
if req.Lv == 0 {
|
||||
for _, v := range reward {
|
||||
if v.Key > 0 {
|
||||
if curProfit > int64(v.Key) {
|
||||
if _, ok := caravan.Reward[v.Key]; !ok {
|
||||
res = append(res, v.Reward...)
|
||||
caravan.Reward[v.Key] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for _, v := range reward {
|
||||
if v.Key == req.Lv {
|
||||
if curProfit < int64(v.Key) {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_TrollCantReward,
|
||||
Title: pb.ErrorCode_TrollCantReward.ToString(),
|
||||
}
|
||||
return
|
||||
} else {
|
||||
res = append(res, v.Reward...)
|
||||
}
|
||||
var index int32
|
||||
for {
|
||||
index++
|
||||
reward, err := this.configure.GetCaravanRewardById(index)
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
if reward.Key < 0 {
|
||||
break
|
||||
}
|
||||
if _, ok := caravan.Reward[req.Lv]; ok {
|
||||
continue
|
||||
}
|
||||
if curProfit < int64(reward.Key) {
|
||||
break
|
||||
} else {
|
||||
res = append(res, reward.Reward...)
|
||||
caravan.Reward[req.Lv] = true
|
||||
}
|
||||
}
|
||||
if len(res) == 0 {
|
||||
|
||||
} else {
|
||||
reward, err := this.configure.GetCaravanRewardById(req.Lv)
|
||||
if err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
if reward.Key < 0 {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if _, ok := caravan.Reward[req.Lv]; !ok {
|
||||
caravan.Reward[req.Lv] = true
|
||||
} else { // 重复领取
|
||||
if _, ok := caravan.Reward[req.Lv]; ok {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_TrollRepeatedReward,
|
||||
Title: pb.ErrorCode_TrollRepeatedReward.ToString(),
|
||||
Title: pb.ErrorCode_TrollRepeatedReward.ToString(), // 重复领取
|
||||
}
|
||||
return
|
||||
}
|
||||
if curProfit < int64(reward.Key) {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_TrollCantReward,
|
||||
Title: pb.ErrorCode_TrollCantReward.ToString(), // 重复领取
|
||||
}
|
||||
return
|
||||
} else {
|
||||
res = append(res, reward.Reward...)
|
||||
caravan.Reward[req.Lv] = true
|
||||
}
|
||||
}
|
||||
|
||||
if len(res) == 0 {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ReqParameterError,
|
||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||
}
|
||||
return
|
||||
}
|
||||
errdata, atno = this.module.DispenseAtno(session, res, true)
|
||||
update["reward"] = caravan.Reward
|
||||
this.module.modelCaravan.modifyCaravanDataByObjId(session.GetUserId(), update)
|
||||
|
@ -270,3 +270,17 @@ func (this *configureComp) GetCaravanEventById(id int32) (data *cfg.GameCaravanE
|
||||
err = comm.NewNotFoundConfErr(moduleName, game_caravan_event, id)
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) GetCaravanRewardById(id int32) (reward *cfg.GameCaravanRewardData, err error) {
|
||||
var v interface{}
|
||||
if v, err = this.GetConfigure(game_caravan_reward); err == nil {
|
||||
if configure, ok := v.(*cfg.GameCaravanReward); ok {
|
||||
reward = configure.Get(id)
|
||||
if reward != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
log.Errorf("get GetCaravanRewardById conf err:%v", err)
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user