vip 特权 额外增加购买次数

This commit is contained in:
meixiongfeng 2022-12-21 20:08:56 +08:00
parent 973f325c75
commit dcbc9b5490
3 changed files with 36 additions and 19 deletions

View File

@ -653,14 +653,14 @@ const (
// 特权类型 // 特权类型
const ( const (
PrivilegeType1 = iota + 1 //每日获得 PrivilegeType1 int32 = iota + 1 //每日获得
PrivilegeType2 //金币商店每日免费刷新次数 PrivilegeType2 //金币商店每日免费刷新次数
PrivilegeType3 //维京远征每日可购买挑战次数 PrivilegeType3 //维京远征每日可购买挑战次数
PrivilegeType4 //狩猎每日可购买挑战次数 PrivilegeType4 //狩猎每日可购买挑战次数
PrivilegeType5 //竞技场每日可购买挑战次数 PrivilegeType5 //竞技场每日可购买挑战次数
PrivilegeType6 //梦境每日可购买挑战次数 PrivilegeType6 //梦境每日可购买挑战次数
PrivilegeType7 //巨怪商队背包容量 PrivilegeType7 //巨怪商队背包容量
PrivilegeType8 //美食馆每日最大制作时间 PrivilegeType8 //美食馆每日最大制作时间
PrivilegeType9 //武馆每日最大练功时间 PrivilegeType9 //武馆每日最大练功时间
PrivilegeType10 //铁匠铺每日最大锻造时间 PrivilegeType10 //铁匠铺每日最大锻造时间
) )

View File

@ -21,12 +21,13 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.HuntingBuyReq)
func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
curByCount int32 curByCount int32
costRes *cfg.Gameatn // 门票atn 类型 只取T costRes *cfg.Gameatn // 门票atn 类型 只取T
mapData map[string]interface{} mapData map[string]interface{}
szCostRes []*cfg.Gameatn // 购买累计消耗 szCostRes []*cfg.Gameatn // 购买累计消耗
curCount int32 // 当前门票数量 curCount int32 // 当前门票数量
addCount int32 //获得数量 addCount int32 //获得数量
PrivilegeBuyCount int32 // 特权购买次数
) )
mapData = make(map[string]interface{}, 0) mapData = make(map[string]interface{}, 0)
code = this.BuyCheck(session, req) code = this.BuyCheck(session, req)
@ -48,8 +49,10 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code
} else { } else {
curByCount = list.BuyCount curByCount = list.BuyCount
} }
PrivilegeBuyCount = this.module.ModulePrivilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType4)
curByCount += req.Count // 当前需要购买的数量 curByCount += req.Count // 当前需要购买的数量
if this.configure.GetMaxBuyChallengeCount() < curByCount { if this.configure.GetMaxBuyChallengeCount()+PrivilegeBuyCount < curByCount {
code = pb.ErrorCode_HuntingBuyMaxCount code = pb.ErrorCode_HuntingBuyMaxCount
return return
} }
@ -97,8 +100,8 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code
for i := list.BuyCount + 1; i <= curByCount; i++ { for i := list.BuyCount + 1; i <= curByCount; i++ {
_cfg := this.configure.GetBuyChallengeCount(i) _cfg := this.configure.GetBuyChallengeCount(i)
if _cfg == nil { if _cfg == nil {
code = pb.ErrorCode_HuntingBuyMaxCount // 取最后一条
return _cfg = this.configure.GetLastBuyChallenge()
} }
szCostRes = append(szCostRes, _cfg.Need...) szCostRes = append(szCostRes, _cfg.Need...)
} }

View File

@ -110,3 +110,17 @@ func (this *configureComp) GetMaxBuyChallengeCount() int32 {
return 0 return 0
} }
// 获取最后一条数据
func (this *configureComp) GetLastBuyChallenge() (data *cfg.GameHuntingChallengeData) {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok && len(configure.GetDataList()) > 0 {
data = configure.GetDataList()[len(configure.GetDataList())-1]
return
}
} else {
log.Errorf("get game_challenge conf err:%v", err)
}
return
}