Commit 77286ab9a05871980e5350f1140ba2d18efab129
1 parent
78655da0
Exists in
master
and in
1 other branch
feat:获取卡包
Showing
9 changed files
with
199 additions
and
49 deletions
Show diff stats
controllers/base.go
| @@ -26,9 +26,17 @@ func (c *BaseController) RetRspData(rspData any) { | @@ -26,9 +26,17 @@ func (c *BaseController) RetRspData(rspData any) { | ||
| 26 | c.RetData(resp) | 26 | c.RetData(resp) |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | +// RetRspCodeData 返回封装 | ||
| 30 | +func (c *BaseController) RetRspCodeData(code string, rspData any) { | ||
| 31 | + resp := make(map[string]any) | ||
| 32 | + resp = constd.CodeMsg(resp, code) | ||
| 33 | + resp["data"] = rspData | ||
| 34 | + c.RetData(resp) | ||
| 35 | +} | ||
| 36 | + | ||
| 29 | // RetCode 返回错误封装 | 37 | // RetCode 返回错误封装 |
| 30 | func (c *BaseController) RetCode(code string) { | 38 | func (c *BaseController) RetCode(code string) { |
| 31 | - resp := make(map[string]interface{}) | 39 | + resp := make(map[string]any) |
| 32 | resp = constd.CodeMsg(resp, code) | 40 | resp = constd.CodeMsg(resp, code) |
| 33 | c.RetData(resp) | 41 | c.RetData(resp) |
| 34 | } | 42 | } |
controllers/ht-cardholder.go
| @@ -11,29 +11,34 @@ type HtCardHolderController struct { | @@ -11,29 +11,34 @@ type HtCardHolderController struct { | ||
| 11 | } | 11 | } |
| 12 | 12 | ||
| 13 | func (c *HtCardHolderController) Info() { | 13 | func (c *HtCardHolderController) Info() { |
| 14 | - // 获取请求 | ||
| 15 | - //req := new(dto.ReqHtCardHolderInfo) | ||
| 16 | - var req dto.ReqHtCardHolderInfo | ||
| 17 | - if !c.GetPostData(&req) { | 14 | + req := new(dto.ReqHtCardHolderInfo) |
| 15 | + if !c.GetPostData(req) { | ||
| 18 | return | 16 | return |
| 19 | } | 17 | } |
| 20 | 18 | ||
| 21 | - rsp := ht_cardholder.HandleInfo(&req) | 19 | + code, rsp := ht_cardholder.HandleInfo(req) |
| 22 | 20 | ||
| 23 | - c.RetRspData(rsp) | 21 | + c.RetRspCodeData(code, rsp) |
| 24 | } | 22 | } |
| 25 | 23 | ||
| 26 | -func (c *HtCardHolderController) Open() { | ||
| 27 | - // 获取请求 | ||
| 28 | - var req dto.ReqHtCardHolderOpen | ||
| 29 | - if !c.GetPostData(&req) { | 24 | +func (c *HtCardHolderController) GetNew() { |
| 25 | + req := new(dto.ReqHtCardHolderGetNew) | ||
| 26 | + if !c.GetPostData(req) { | ||
| 30 | return | 27 | return |
| 31 | } | 28 | } |
| 32 | 29 | ||
| 33 | - rsp := dto.NewBaseRsp() | 30 | + code, rsp := ht_cardholder.HandleGetNew(req) |
| 31 | + | ||
| 32 | + c.RetRspCodeData(code, rsp) | ||
| 33 | +} | ||
| 34 | + | ||
| 35 | +func (c *HtCardHolderController) Open() { | ||
| 36 | + req := new(dto.ReqHtCardHolderOpen) | ||
| 37 | + if !c.GetPostData(req) { | ||
| 38 | + return | ||
| 39 | + } | ||
| 34 | 40 | ||
| 35 | - rsp["nowid"] = 1 | ||
| 36 | - rsp["award"] = "2" | 41 | + code, rsp := ht_cardholder.HandleOpen(req) |
| 37 | 42 | ||
| 38 | - c.RetRspData(rsp) | 43 | + c.RetRspCodeData(code, rsp) |
| 39 | } | 44 | } |
dto/ht-cardholder.go
| @@ -4,7 +4,10 @@ package dto | @@ -4,7 +4,10 @@ package dto | ||
| 4 | 4 | ||
| 5 | // HtCardHolderInfo 卡包信息 | 5 | // HtCardHolderInfo 卡包信息 |
| 6 | type HtCardHolderInfo struct { | 6 | type HtCardHolderInfo struct { |
| 7 | - BagList map[int]int | 7 | + Cardholder map[int]int `form:"cardholder" json:"cardholder"` // 卡包数量 k=卡包ID v=卡包数量 |
| 8 | + Cards map[int]int `form:"cards" json:"cards"` // 每张卡集了多少张 k=卡牌ID v=数量 | ||
| 9 | + Album map[string]int `form:"album" json:"album"` // 卡组奖励领取 k=卡组ID v=数量 | ||
| 10 | + Round int `form:"round" json:"round"` // 卡册完成轮次 | ||
| 8 | } | 11 | } |
| 9 | 12 | ||
| 10 | // ReqHtCardHolderInfo 请求 卡包信息 | 13 | // ReqHtCardHolderInfo 请求 卡包信息 |
| @@ -18,9 +21,26 @@ type RspHtCardHolderInfo struct { | @@ -18,9 +21,26 @@ type RspHtCardHolderInfo struct { | ||
| 18 | HtCardHolderInfo | 21 | HtCardHolderInfo |
| 19 | } | 22 | } |
| 20 | 23 | ||
| 24 | +// ReqHtCardHolderGetNew 请求 获取卡包 | ||
| 25 | +type ReqHtCardHolderGetNew struct { | ||
| 26 | + BaseSign | ||
| 27 | + BaseLoginInfo | ||
| 28 | + Id int `form:"id" json:"id" valid:"Required"` // 卡包ID | ||
| 29 | + Count int `form:"count" json:"count" valid:"Required"` // 卡包数量 | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +// RspHtCardHolderGetNew 返回 获取卡包 | ||
| 33 | +type RspHtCardHolderGetNew struct { | ||
| 34 | + HtCardHolderInfo | ||
| 35 | +} | ||
| 36 | + | ||
| 21 | // ReqHtCardHolderOpen 请求 打开卡包 | 37 | // ReqHtCardHolderOpen 请求 打开卡包 |
| 22 | type ReqHtCardHolderOpen struct { | 38 | type ReqHtCardHolderOpen struct { |
| 23 | BaseSign | 39 | BaseSign |
| 24 | BaseLoginInfo | 40 | BaseLoginInfo |
| 25 | - ID string `form:"id" json:"id" valid:"Required"` // 卡包ID | 41 | + Id int `form:"id" json:"id" valid:"Required"` // 卡包ID |
| 42 | +} | ||
| 43 | + | ||
| 44 | +// RspHtCardHolderOpen 返回 打开卡包 | ||
| 45 | +type RspHtCardHolderOpen struct { | ||
| 26 | } | 46 | } |
models/ht-cardholder.go
| 1 | package models | 1 | package models |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "apigame/dto" | ||
| 4 | "apigame/lx-util/lxalilog" | 5 | "apigame/lx-util/lxalilog" |
| 5 | "apigame/service/constd" | 6 | "apigame/service/constd" |
| 6 | "encoding/json" | 7 | "encoding/json" |
| @@ -13,13 +14,18 @@ type HtCardHolderData struct { | @@ -13,13 +14,18 @@ type HtCardHolderData struct { | ||
| 13 | ActivityId int64 // 活动ID | 14 | ActivityId int64 // 活动ID |
| 14 | DetailsData *HtCardHolderDataDetails `orm:"-"` // 活动详情 | 15 | DetailsData *HtCardHolderDataDetails `orm:"-"` // 活动详情 |
| 15 | Details string `orm:"type(text)"` // 活动详情封装 | 16 | Details string `orm:"type(text)"` // 活动详情封装 |
| 17 | + CreateTime int64 // 创建时间戳 | ||
| 18 | + UpdateTime int64 // 修改时间戳 | ||
| 16 | } | 19 | } |
| 17 | 20 | ||
| 18 | // HtCardHolderDataDetails 卡牌活动详情 | 21 | // HtCardHolderDataDetails 卡牌活动详情 |
| 19 | type HtCardHolderDataDetails struct { | 22 | type HtCardHolderDataDetails struct { |
| 23 | + Cardholder map[int]int // 卡包数量 k=卡包ID v=卡包数量 | ||
| 20 | Cards map[int]int // 每张卡集了多少张 k=卡牌ID v=数量 | 24 | Cards map[int]int // 每张卡集了多少张 k=卡牌ID v=数量 |
| 25 | + Album map[string]int // 卡组奖励领取 k=卡组ID v=数量 | ||
| 21 | StarSequenceScales map[string]int // 星级序列刻度 k=ID_用户序列_用户分组 v=刻度 | 26 | StarSequenceScales map[string]int // 星级序列刻度 k=ID_用户序列_用户分组 v=刻度 |
| 22 | CardSequenceScales map[string]int // 卡牌序列刻度 k=ID_用户序列_用户分组 v=刻度 | 27 | CardSequenceScales map[string]int // 卡牌序列刻度 k=ID_用户序列_用户分组 v=刻度 |
| 28 | + Round int // 卡册完成轮次 | ||
| 23 | } | 29 | } |
| 24 | 30 | ||
| 25 | func NewHtCardHolderData(uid int64) *HtCardHolderData { | 31 | func NewHtCardHolderData(uid int64) *HtCardHolderData { |
| @@ -31,9 +37,12 @@ func NewHtCardHolderData(uid int64) *HtCardHolderData { | @@ -31,9 +37,12 @@ func NewHtCardHolderData(uid int64) *HtCardHolderData { | ||
| 31 | 37 | ||
| 32 | func NewHtCardHolderDataDetails() *HtCardHolderDataDetails { | 38 | func NewHtCardHolderDataDetails() *HtCardHolderDataDetails { |
| 33 | return &HtCardHolderDataDetails{ | 39 | return &HtCardHolderDataDetails{ |
| 40 | + Cardholder: make(map[int]int), | ||
| 34 | Cards: make(map[int]int), | 41 | Cards: make(map[int]int), |
| 42 | + Album: make(map[string]int), | ||
| 35 | StarSequenceScales: make(map[string]int), | 43 | StarSequenceScales: make(map[string]int), |
| 36 | CardSequenceScales: make(map[string]int), | 44 | CardSequenceScales: make(map[string]int), |
| 45 | + Round: 0, | ||
| 37 | } | 46 | } |
| 38 | } | 47 | } |
| 39 | 48 | ||
| @@ -60,6 +69,27 @@ func (d *HtCardHolderData) Decode() { | @@ -60,6 +69,27 @@ func (d *HtCardHolderData) Decode() { | ||
| 60 | } | 69 | } |
| 61 | } | 70 | } |
| 62 | 71 | ||
| 72 | +// GetInfo 封装成返回数据 | ||
| 73 | +func (d *HtCardHolderData) GetInfo() dto.HtCardHolderInfo { | ||
| 74 | + info := dto.HtCardHolderInfo{ | ||
| 75 | + Cardholder: make(map[int]int), | ||
| 76 | + Cards: make(map[int]int), | ||
| 77 | + Album: make(map[string]int), | ||
| 78 | + Round: 0, | ||
| 79 | + } | ||
| 80 | + for i, i2 := range d.DetailsData.Cardholder { | ||
| 81 | + info.Cardholder[i] = i2 | ||
| 82 | + } | ||
| 83 | + for i, i2 := range d.DetailsData.Cards { | ||
| 84 | + info.Cards[i] = i2 | ||
| 85 | + } | ||
| 86 | + for i, i2 := range d.DetailsData.Album { | ||
| 87 | + info.Album[i] = i2 | ||
| 88 | + } | ||
| 89 | + info.Round = d.DetailsData.Round | ||
| 90 | + return info | ||
| 91 | +} | ||
| 92 | + | ||
| 63 | func InitHtCardholder() { | 93 | func InitHtCardholder() { |
| 64 | 94 | ||
| 65 | // register model | 95 | // register model |
routers/router.go
| @@ -13,6 +13,8 @@ func init() { | @@ -13,6 +13,8 @@ func init() { | ||
| 13 | // 海滩项目 | 13 | // 海滩项目 |
| 14 | // 卡包信息 | 14 | // 卡包信息 |
| 15 | beego.Router(prefix+"/ht/cardholder/info", &controllers.HtCardHolderController{}, "post:Info") | 15 | beego.Router(prefix+"/ht/cardholder/info", &controllers.HtCardHolderController{}, "post:Info") |
| 16 | + // 获取卡包 | ||
| 17 | + beego.Router(prefix+"/ht/cardholder/getnew", &controllers.HtCardHolderController{}, "post:GetNew") | ||
| 16 | // 卡包打开 | 18 | // 卡包打开 |
| 17 | beego.Router(prefix+"/ht/cardholder/open", &controllers.HtCardHolderController{}, "post:Open") | 19 | beego.Router(prefix+"/ht/cardholder/open", &controllers.HtCardHolderController{}, "post:Open") |
| 18 | 20 |
service/constd/index.go
| @@ -39,6 +39,11 @@ const ( | @@ -39,6 +39,11 @@ const ( | ||
| 39 | RECODE_MERGE_CCZDXX_ERROR = "2042" | 39 | RECODE_MERGE_CCZDXX_ERROR = "2042" |
| 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 | + | ||
| 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" | ||
| 42 | ) | 47 | ) |
| 43 | 48 | ||
| 44 | var recodeText = map[string]string{ | 49 | var recodeText = map[string]string{ |
| @@ -78,6 +83,11 @@ var recodeText = map[string]string{ | @@ -78,6 +83,11 @@ var recodeText = map[string]string{ | ||
| 78 | 83 | ||
| 79 | RECODE_MERGE_TONGXINGZHENGBUCUNZAI_ERROR: "通行证不存在", | 84 | RECODE_MERGE_TONGXINGZHENGBUCUNZAI_ERROR: "通行证不存在", |
| 80 | RECODE_MERGE_QINGXIANGMTXZ_ERROR: "请先购买通行证", | 85 | RECODE_MERGE_QINGXIANGMTXZ_ERROR: "请先购买通行证", |
| 86 | + | ||
| 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: "数目不合法", | ||
| 81 | } | 91 | } |
| 82 | 92 | ||
| 83 | func RecodeText(code string) string { | 93 | func RecodeText(code string) string { |
service/ht-cardholder/config-registry.go
| @@ -4,7 +4,6 @@ import ( | @@ -4,7 +4,6 @@ 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 | - "github.com/astaxie/beego/logs" | ||
| 8 | ) | 7 | ) |
| 9 | 8 | ||
| 10 | var ( | 9 | var ( |
| @@ -103,10 +102,10 @@ func (r *RegistryConfigs) Decode(confRaw CardActivityConfigRaw) { | @@ -103,10 +102,10 @@ func (r *RegistryConfigs) Decode(confRaw CardActivityConfigRaw) { | ||
| 103 | } | 102 | } |
| 104 | 103 | ||
| 105 | r.Config = conf | 104 | r.Config = conf |
| 106 | - logs.Debug(conf.Awards) | ||
| 107 | - logs.Debug(conf.AlbumConfig) | ||
| 108 | - logs.Debug(conf.CardConfig) | ||
| 109 | - logs.Debug(conf.CardholderConfig) | ||
| 110 | - logs.Debug("🐸", conf.NormalCardStarSequence) | ||
| 111 | - logs.Debug("🐸", conf.CardSequenceConfig) | 105 | + //logs.Debug(conf.Awards) |
| 106 | + //logs.Debug(conf.AlbumConfig) | ||
| 107 | + //logs.Debug(conf.CardConfig) | ||
| 108 | + //logs.Debug(conf.CardholderConfig) | ||
| 109 | + //logs.Debug("🐸", conf.NormalCardStarSequence) | ||
| 110 | + //logs.Debug("🐸", conf.CardSequenceConfig) | ||
| 112 | } | 111 | } |
service/ht-cardholder/configs.go
| @@ -49,7 +49,7 @@ func LoadConfigs() { | @@ -49,7 +49,7 @@ func LoadConfigs() { | ||
| 49 | return | 49 | return |
| 50 | } | 50 | } |
| 51 | // 更新数据 | 51 | // 更新数据 |
| 52 | - if Registry.Config.Raw.UpdateTime != configOpen.UpdateTime || Registry.Config.Raw.UpdateTime != configOpen.UpdateTime { | 52 | + if configOpen.Id != Registry.Config.Raw.Id || configOpen.UpdateTime != Registry.Config.Raw.UpdateTime { |
| 53 | logs.Debug("__________________尝试更新活动条目ID:", configOpen.Id) | 53 | logs.Debug("__________________尝试更新活动条目ID:", configOpen.Id) |
| 54 | confNew := CardActivityConfigRaw{} | 54 | confNew := CardActivityConfigRaw{} |
| 55 | sql := fmt.Sprintf("select * from %s where id=%d limit 1", configTableName, configOpen.Id) | 55 | sql := fmt.Sprintf("select * from %s where id=%d limit 1", configTableName, configOpen.Id) |
service/ht-cardholder/handle.go
| @@ -3,41 +3,80 @@ package ht_cardholder | @@ -3,41 +3,80 @@ package ht_cardholder | ||
| 3 | import ( | 3 | import ( |
| 4 | "apigame/dto" | 4 | "apigame/dto" |
| 5 | "apigame/lx-util/lxalilog" | 5 | "apigame/lx-util/lxalilog" |
| 6 | + "apigame/lx-util/lxtime" | ||
| 6 | "apigame/models" | 7 | "apigame/models" |
| 7 | "apigame/service/constd" | 8 | "apigame/service/constd" |
| 8 | "github.com/astaxie/beego/orm" | 9 | "github.com/astaxie/beego/orm" |
| 10 | + "strconv" | ||
| 9 | ) | 11 | ) |
| 10 | 12 | ||
| 11 | -func HandleInfo(req *dto.ReqHtCardHolderInfo) dto.RspHtCardHolderInfo { | 13 | +// HandleInfo 卡包信息 |
| 14 | +func HandleInfo(req *dto.ReqHtCardHolderInfo) (code string, rsp dto.RspHtCardHolderInfo) { | ||
| 15 | + rsp = dto.RspHtCardHolderInfo{} | ||
| 16 | + code = constd.RECODE_OK | ||
| 17 | + | ||
| 18 | + // 尝试更新配置 | ||
| 19 | + TryUpdateConfigs() | ||
| 20 | + | ||
| 21 | + // 读取游戏数据 | ||
| 22 | + gameData := LoadData(req.UID) | ||
| 23 | + | ||
| 24 | + rsp.HtCardHolderInfo = gameData.GetInfo() | ||
| 25 | + | ||
| 26 | + return | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +// HandleGetNew 获取卡包 | ||
| 30 | +func HandleGetNew(req *dto.ReqHtCardHolderGetNew) (code string, rsp dto.RspHtCardHolderGetNew) { | ||
| 31 | + rsp = dto.RspHtCardHolderGetNew{} | ||
| 32 | + code = constd.RECODE_OK | ||
| 33 | + | ||
| 12 | // 尝试更新配置 | 34 | // 尝试更新配置 |
| 13 | TryUpdateConfigs() | 35 | TryUpdateConfigs() |
| 14 | 36 | ||
| 15 | - //// 测试存档 | ||
| 16 | - //userData := models.NewHtCardHolderData(req.UID) | ||
| 17 | - //userData.ActivityId = Registry.Config.Id | ||
| 18 | - //userData.DetailsData.Cards[101] = 1 | ||
| 19 | - //userData.DetailsData.Cards[102] = 3 | ||
| 20 | - //SaveData(userData) | ||
| 21 | - // | ||
| 22 | - //// 测试读档 | ||
| 23 | - //lData := LoadData(req.UID) | ||
| 24 | - //logs.Debug(lData) | 37 | + code = CheckStatus() |
| 38 | + if code != constd.RECODE_OK { | ||
| 39 | + return | ||
| 40 | + } | ||
| 25 | 41 | ||
| 26 | - rsp := dto.RspHtCardHolderInfo{ | ||
| 27 | - HtCardHolderInfo: dto.HtCardHolderInfo{ | ||
| 28 | - BagList: make(map[int]int), | ||
| 29 | - }, | 42 | + if _, ok := Registry.Config.CardholderConfig[strconv.Itoa(req.Id)]; !ok { |
| 43 | + code = constd.RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR | ||
| 44 | + return | ||
| 30 | } | 45 | } |
| 31 | 46 | ||
| 32 | - rsp.BagList[1] = 2 | ||
| 33 | - rsp.BagList[2] = 5 | 47 | + if req.Count < 1 { |
| 48 | + code = constd.RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR | ||
| 49 | + return | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + // 读取游戏数据 | ||
| 53 | + gameData := LoadData(req.UID) | ||
| 54 | + gameData.DetailsData.Cardholder[req.Id] += req.Count | ||
| 55 | + SaveData(gameData) | ||
| 56 | + | ||
| 57 | + rsp.HtCardHolderInfo = gameData.GetInfo() | ||
| 34 | 58 | ||
| 35 | - return rsp | 59 | + return |
| 36 | } | 60 | } |
| 37 | 61 | ||
| 62 | +// HandleOpen 打开卡包 | ||
| 63 | +func HandleOpen(req *dto.ReqHtCardHolderOpen) (code string, rsp dto.RspHtCardHolderOpen) { | ||
| 64 | + rsp = dto.RspHtCardHolderOpen{} | ||
| 65 | + code = constd.RECODE_OK | ||
| 66 | + | ||
| 67 | + // 尝试更新配置 | ||
| 68 | + TryUpdateConfigs() | ||
| 69 | + | ||
| 70 | + // 读取游戏数据 | ||
| 71 | + //gameData := LoadData(req.UID) | ||
| 72 | + | ||
| 73 | + return | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +// SaveData 存储数据 | ||
| 38 | func SaveData(d *models.HtCardHolderData) { | 77 | func SaveData(d *models.HtCardHolderData) { |
| 78 | + d.UpdateTime = lxtime.NowUninx() | ||
| 39 | d.Encode() | 79 | d.Encode() |
| 40 | - | ||
| 41 | o := orm.NewOrm() | 80 | o := orm.NewOrm() |
| 42 | o.Using(constd.MYSQL_DEFAULT) | 81 | o.Using(constd.MYSQL_DEFAULT) |
| 43 | if _, err := o.InsertOrUpdate(d); err != nil { | 82 | if _, err := o.InsertOrUpdate(d); err != nil { |
| @@ -45,14 +84,51 @@ func SaveData(d *models.HtCardHolderData) { | @@ -45,14 +84,51 @@ func SaveData(d *models.HtCardHolderData) { | ||
| 45 | } | 84 | } |
| 46 | } | 85 | } |
| 47 | 86 | ||
| 48 | -func LoadData(uid int64) (d *models.HtCardHolderData) { | 87 | +func _LoadData(uid int64) (d *models.HtCardHolderData) { |
| 49 | d = models.NewHtCardHolderData(uid) | 88 | d = models.NewHtCardHolderData(uid) |
| 50 | o := orm.NewOrm() | 89 | o := orm.NewOrm() |
| 51 | o.Using(constd.MYSQL_DEFAULT) | 90 | o.Using(constd.MYSQL_DEFAULT) |
| 52 | - if err := o.QueryTable(d).One(d); err != nil { | ||
| 53 | - lxalilog.Errors(err, "ht_cardholder LoadData Error", d.Uid) | 91 | + qs := o.QueryTable(d) |
| 92 | + qs = qs.Filter("uid", uid) | ||
| 93 | + count, err := qs.Count() | ||
| 94 | + if count == 0 { | ||
| 95 | + d.CreateTime = lxtime.NowUninx() | ||
| 96 | + } else { | ||
| 97 | + err = qs.One(d) | ||
| 98 | + if err != nil { | ||
| 99 | + lxalilog.Errors(err, "ht_cardholder LoadData Error", uid) | ||
| 100 | + } else { | ||
| 101 | + d.DetailsData = models.NewHtCardHolderDataDetails() | ||
| 102 | + d.Decode() | ||
| 103 | + } | ||
| 54 | } | 104 | } |
| 55 | - d.DetailsData = models.NewHtCardHolderDataDetails() | ||
| 56 | - d.Decode() | ||
| 57 | return | 105 | return |
| 58 | } | 106 | } |
| 107 | + | ||
| 108 | +// LoadData 获取数据 外部接口 | ||
| 109 | +func LoadData(uid int64) (d *models.HtCardHolderData) { | ||
| 110 | + d = _LoadData(uid) | ||
| 111 | + // 如果当前有上线活动(活动ID不为0),且活动ID和玩家数据不同,说明活动已切换 需更新 | ||
| 112 | + if Registry.Config.Id != 0 && | ||
| 113 | + Registry.Config.Id != d.ActivityId { | ||
| 114 | + d.ActivityId = Registry.Config.Id | ||
| 115 | + d.DetailsData = models.NewHtCardHolderDataDetails() | ||
| 116 | + SaveData(d) | ||
| 117 | + } | ||
| 118 | + return | ||
| 119 | +} | ||
| 120 | + | ||
| 121 | +// CheckStatus 判断活动是否开启 | ||
| 122 | +func CheckStatus() string { | ||
| 123 | + sec := lxtime.NowUninx() | ||
| 124 | + if Registry.Config.Id == 0 { | ||
| 125 | + return constd.RECODE_MERGE_CARDHOLDER_NOTOPEN1_ERROR | ||
| 126 | + } | ||
| 127 | + if sec < Registry.Config.Raw.StartTime { | ||
| 128 | + return constd.RECODE_MERGE_CARDHOLDER_NOTOPEN1_ERROR | ||
| 129 | + } | ||
| 130 | + if sec > Registry.Config.Raw.EndTime { | ||
| 131 | + return constd.RECODE_MERGE_CARDHOLDER_NOTOPEN2_ERROR | ||
| 132 | + } | ||
| 133 | + return constd.RECODE_OK | ||
| 134 | +} |