Commit f0df1f48055de83b22c4d0bdde3ee0f2b7b7dd5d

Authored by 王家文
1 parent 77286ab9
Exists in master and in 1 other branch dev-wjw

feat:抽卡暂存

dto/ht-cardholder.go
@@ -43,4 +43,6 @@ type ReqHtCardHolderOpen struct { @@ -43,4 +43,6 @@ type ReqHtCardHolderOpen struct {
43 43
44 // RspHtCardHolderOpen 返回 打开卡包 44 // RspHtCardHolderOpen 返回 打开卡包
45 type RspHtCardHolderOpen struct { 45 type RspHtCardHolderOpen struct {
  46 + HtCardHolderInfo
  47 + NewCards []int `form:"new_cards" json:"new_cards"` // 新获得的卡牌列表
46 } 48 }
service/constd/index.go
@@ -40,10 +40,11 @@ const ( @@ -40,10 +40,11 @@ const (
40 RECODE_MERGE_TONGXINGZHENGBUCUNZAI_ERROR = "2051" 40 RECODE_MERGE_TONGXINGZHENGBUCUNZAI_ERROR = "2051"
41 RECODE_MERGE_QINGXIANGMTXZ_ERROR = "2052" 41 RECODE_MERGE_QINGXIANGMTXZ_ERROR = "2052"
42 42
43 - RECODE_MERGE_CARDHOLDER_NOTOPEN1_ERROR = "2101"  
44 - RECODE_MERGE_CARDHOLDER_NOTOPEN2_ERROR = "2102"  
45 - RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR = "2103"  
46 - RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR = "2104" 43 + RECODE_MERGE_CARDHOLDER_NOTOPEN1_ERROR = "2101"
  44 + RECODE_MERGE_CARDHOLDER_NOTOPEN2_ERROR = "2102"
  45 + RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR = "2103"
  46 + RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR = "2104"
  47 + RECODE_MERGE_CARDHOLDER_CARDHOLDER_NOTENOUGH_ERROR = "2105"
47 ) 48 )
48 49
49 var recodeText = map[string]string{ 50 var recodeText = map[string]string{
@@ -84,10 +85,11 @@ var recodeText = map[string]string{ @@ -84,10 +85,11 @@ var recodeText = map[string]string{
84 RECODE_MERGE_TONGXINGZHENGBUCUNZAI_ERROR: "通行证不存在", 85 RECODE_MERGE_TONGXINGZHENGBUCUNZAI_ERROR: "通行证不存在",
85 RECODE_MERGE_QINGXIANGMTXZ_ERROR: "请先购买通行证", 86 RECODE_MERGE_QINGXIANGMTXZ_ERROR: "请先购买通行证",
86 87
87 - RECODE_MERGE_CARDHOLDER_NOTOPEN1_ERROR: "活动未开始",  
88 - RECODE_MERGE_CARDHOLDER_NOTOPEN2_ERROR: "活动已结束",  
89 - RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR: "卡包ID错误",  
90 - RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR: "数目不合法", 88 + RECODE_MERGE_CARDHOLDER_NOTOPEN1_ERROR: "活动未开始",
  89 + RECODE_MERGE_CARDHOLDER_NOTOPEN2_ERROR: "活动已结束",
  90 + RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR: "卡包ID错误",
  91 + RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR: "数目不合法",
  92 + RECODE_MERGE_CARDHOLDER_CARDHOLDER_NOTENOUGH_ERROR: "卡包不足",
91 } 93 }
92 94
93 func RecodeText(code string) string { 95 func RecodeText(code string) string {
service/ht-cardholder/config-registry.go
@@ -4,6 +4,7 @@ import ( @@ -4,6 +4,7 @@ import (
4 "apigame/lx-util/lxalilog" 4 "apigame/lx-util/lxalilog"
5 "apigame/service/constd" 5 "apigame/service/constd"
6 "encoding/json" 6 "encoding/json"
  7 + "errors"
7 ) 8 )
8 9
9 var ( 10 var (
@@ -109,3 +110,21 @@ func (r *RegistryConfigs) Decode(confRaw CardActivityConfigRaw) { @@ -109,3 +110,21 @@ func (r *RegistryConfigs) Decode(confRaw CardActivityConfigRaw) {
109 //logs.Debug("🐸", conf.NormalCardStarSequence) 110 //logs.Debug("🐸", conf.NormalCardStarSequence)
110 //logs.Debug("🐸", conf.CardSequenceConfig) 111 //logs.Debug("🐸", conf.CardSequenceConfig)
111 } 112 }
  113 +
  114 +// FindCardSequenceConfig 查找配置 星级ID对应的卡片
  115 +func FindCardSequenceConfig(id, sequenceId, cohort string) (conf CardSequenceConfig, has bool) {
  116 + conf = CardSequenceConfig{}
  117 + has = false
  118 + for _, c := range Registry.Config.CardSequenceConfig {
  119 + if c.Id == id &&
  120 + c.SequenceId == sequenceId &&
  121 + c.Cohort == cohort {
  122 + has = true
  123 + return
  124 + }
  125 + }
  126 + if !has {
  127 + lxalilog.Errors(errors.New("ht_cardholder CardSequenceConfig error"), " LoadData Error", id, sequenceId, cohort)
  128 + }
  129 + return
  130 +}
service/ht-cardholder/handle.go
@@ -34,16 +34,18 @@ func HandleGetNew(req *dto.ReqHtCardHolderGetNew) (code string, rsp dto.RspHtCar @@ -34,16 +34,18 @@ func HandleGetNew(req *dto.ReqHtCardHolderGetNew) (code string, rsp dto.RspHtCar
34 // 尝试更新配置 34 // 尝试更新配置
35 TryUpdateConfigs() 35 TryUpdateConfigs()
36 36
  37 + // 检查活动状态
37 code = CheckStatus() 38 code = CheckStatus()
38 if code != constd.RECODE_OK { 39 if code != constd.RECODE_OK {
39 return 40 return
40 } 41 }
41 -  
42 - if _, ok := Registry.Config.CardholderConfig[strconv.Itoa(req.Id)]; !ok { 42 + // 检查卡包ID
  43 + _, okCardholderConfig := Registry.Config.CardholderConfig[strconv.Itoa(req.Id)]
  44 + if !okCardholderConfig {
43 code = constd.RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR 45 code = constd.RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR
44 return 46 return
45 } 47 }
46 - 48 + // 检查卡包数量
47 if req.Count < 1 { 49 if req.Count < 1 {
48 code = constd.RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR 50 code = constd.RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR
49 return 51 return
@@ -51,6 +53,7 @@ func HandleGetNew(req *dto.ReqHtCardHolderGetNew) (code string, rsp dto.RspHtCar @@ -51,6 +53,7 @@ func HandleGetNew(req *dto.ReqHtCardHolderGetNew) (code string, rsp dto.RspHtCar
51 53
52 // 读取游戏数据 54 // 读取游戏数据
53 gameData := LoadData(req.UID) 55 gameData := LoadData(req.UID)
  56 +
54 gameData.DetailsData.Cardholder[req.Id] += req.Count 57 gameData.DetailsData.Cardholder[req.Id] += req.Count
55 SaveData(gameData) 58 SaveData(gameData)
56 59
@@ -67,8 +70,37 @@ func HandleOpen(req *dto.ReqHtCardHolderOpen) (code string, rsp dto.RspHtCardHol @@ -67,8 +70,37 @@ func HandleOpen(req *dto.ReqHtCardHolderOpen) (code string, rsp dto.RspHtCardHol
67 // 尝试更新配置 70 // 尝试更新配置
68 TryUpdateConfigs() 71 TryUpdateConfigs()
69 72
70 - // 读取游戏数据 73 + // 检查活动状态
  74 + code = CheckStatus()
  75 + if code != constd.RECODE_OK {
  76 + return
  77 + }
  78 + //// 检查卡包ID
  79 + //confCardholder, okCardholderConfig := Registry.Config.CardholderConfig[strconv.Itoa(req.Id)]
  80 + //if !okCardholderConfig {
  81 + // code = constd.RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR
  82 + // return
  83 + //}
  84 + //
  85 + //// 读取游戏数据
71 //gameData := LoadData(req.UID) 86 //gameData := LoadData(req.UID)
  87 + //
  88 + //// 判断卡包数目
  89 + //countOld, _ := gameData.DetailsData.Cardholder[req.Id]
  90 + //if countOld < 1 {
  91 + // code = constd.RECODE_MERGE_CARDHOLDER_CARDHOLDER_NOTENOUGH_ERROR
  92 + // return
  93 + //}
  94 + //
  95 + //// 开始处理抽卡
  96 + //sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID)
  97 + //// 先抽保底卡
  98 + //if confCardholder.GuaranteedStar != "0" {
  99 + // confGuaranteed, hasGuaranteed := FindCardSequenceConfig(confCardholder.GuaranteedStar, sequenceId, cohort)
  100 + // if hasGuaranteed {
  101 + //
  102 + // }
  103 + //}
72 104
73 return 105 return
74 } 106 }
@@ -132,3 +164,11 @@ func CheckStatus() string { @@ -132,3 +164,11 @@ func CheckStatus() string {
132 } 164 }
133 return constd.RECODE_OK 165 return constd.RECODE_OK
134 } 166 }
  167 +
  168 +// GetUserSequenceIdAndCohort 获取 用户序列组ID(sequenceId) 用户分组(cohort)
  169 +func GetUserSequenceIdAndCohort(uid int64) (sequenceId, cohort string) {
  170 + // todo 这里后续要对接
  171 + sequenceId = "1"
  172 + cohort = "1"
  173 + return
  174 +}