From 29088ea926098bef3389dd1d79f638f1b72481f3 Mon Sep 17 00:00:00 2001 From: 王家文 Date: Tue, 2 Apr 2024 17:41:13 +0800 Subject: [PATCH] feat:配置,请求和返回封装 --- conf/app.conf | 1 + conf/conf/json/limit/local.json | 24 ++++++++++++++++++++++++ conf/conf/json/limit/pre.json | 24 ++++++++++++++++++++++++ conf/conf/json/limit/prod.json | 24 ++++++++++++++++++++++++ conf/conf/local.conf | 34 ++++++++++++++++++++++++++++++++++ conf/conf/pre.conf | 33 +++++++++++++++++++++++++++++++++ conf/conf/prod.conf | 33 +++++++++++++++++++++++++++++++++ conf/local.conf | 30 ++++++++++++++++++++++++++++++ conf/pre.conf | 31 +++++++++++++++++++++++++++++++ conf/prod.conf | 32 ++++++++++++++++++++++++++++++++ controllers/base.go | 33 ++++++++++++++++++++++++++++++--- controllers/error.go | 30 +++++++++++------------------- controllers/ht-cardholder.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ controllers/ht-draw.go | 29 ----------------------------- dto/base.go | 6 ++++++ dto/ht-cardholder.go | 26 ++++++++++++++++++++++++++ dto/ht-draw.go | 10 ---------- main.go | 2 +- routers/router.go | 6 ++++-- service/ht-cardholder/config.go | 34 ++++++++++++++++++++++++++++++++++ service/ht-cardholder/configs.go | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ service/ht-draw/config.go | 34 ---------------------------------- service/ht-draw/configs.go | 102 ------------------------------------------------------------------------------------------------------ 23 files changed, 524 insertions(+), 200 deletions(-) create mode 100644 conf/app.conf create mode 100644 conf/conf/json/limit/local.json create mode 100644 conf/conf/json/limit/pre.json create mode 100644 conf/conf/json/limit/prod.json create mode 100644 conf/conf/local.conf create mode 100644 conf/conf/pre.conf create mode 100644 conf/conf/prod.conf create mode 100644 conf/local.conf create mode 100644 conf/pre.conf create mode 100644 conf/prod.conf create mode 100644 controllers/ht-cardholder.go delete mode 100644 controllers/ht-draw.go create mode 100644 dto/ht-cardholder.go delete mode 100644 dto/ht-draw.go create mode 100644 service/ht-cardholder/config.go create mode 100644 service/ht-cardholder/configs.go delete mode 100644 service/ht-draw/config.go delete mode 100644 service/ht-draw/configs.go diff --git a/conf/app.conf b/conf/app.conf new file mode 100644 index 0000000..99bb633 --- /dev/null +++ b/conf/app.conf @@ -0,0 +1 @@ +include "local.conf" diff --git a/conf/conf/json/limit/local.json b/conf/conf/json/limit/local.json new file mode 100644 index 0000000..5a51c33 --- /dev/null +++ b/conf/conf/json/limit/local.json @@ -0,0 +1,24 @@ +{ + "redis": { + "host": "127.0.0.1", + "port": "6379", + "pwd": "123456", + "Db": "15", + "prefix": "xl::" + }, + "func": { + "open": false, + "ip": { + "times": 10, + "nums": 500 + }, + "kernel": { + "times": 2, + "nums": 5 + }, + "member": { + "times": 1, + "nums": 5 + } + } +} diff --git a/conf/conf/json/limit/pre.json b/conf/conf/json/limit/pre.json new file mode 100644 index 0000000..618e6cd --- /dev/null +++ b/conf/conf/json/limit/pre.json @@ -0,0 +1,24 @@ +{ + "redis": { + "host": "172.21.0.25", + "port": "6379", + "pwd": "crs-lzslccdc:redis@YXp8Jk#MV", + "Db": "6", + "prefix": "xl::" + }, + "func": { + "open": true, + "ip": { + "times": 5, + "nums": 1000 + }, + "kernel": { + "times": 1, + "nums": 5 + }, + "member": { + "times": 1, + "nums": 5 + } + } +} diff --git a/conf/conf/json/limit/prod.json b/conf/conf/json/limit/prod.json new file mode 100644 index 0000000..347b02a --- /dev/null +++ b/conf/conf/json/limit/prod.json @@ -0,0 +1,24 @@ +{ + "redis": { + "host": "r-2ze017e28qb0bk81pd.redis.rds.aliyuncs.com", + "port": "6379", + "pwd": "2S9fS9Cmz5tzKLUb", + "Db": "15", + "prefix": "xl::" + }, + "func": { + "open": true, + "ip": { + "times": 5, + "nums": 1000 + }, + "kernel": { + "times": 1, + "nums": 5 + }, + "member": { + "times": 1, + "nums": 5 + } + } +} diff --git a/conf/conf/local.conf b/conf/conf/local.conf new file mode 100644 index 0000000..44448fb --- /dev/null +++ b/conf/conf/local.conf @@ -0,0 +1,34 @@ + + +[mysql] +yuedao = root:12345678@tcp(127.0.0.1:3306)/yuedao?charset=utf8mb4 +api = root:12345678@tcp(127.0.0.1:3306)/weixinapi?charset=utf8mb4 +member = root:12345678@tcp(127.0.0.1:3306)/weixinmember?charset=utf8mb4 +game = root:12345678@tcp(127.0.0.1:3306)/weixingame?charset=utf8mb4 +mods = root:12345678@tcp(127.0.0.1:3306)/apimods?charset=utf8mb4 +mergecommon = root:12345678@tcp(127.0.0.1:3306)/merge_common?charset=utf8mb4 +merge_config = root:12345678@tcp(127.0.0.1:3306)/merge_config?charset=utf8mb4 +merge_rank = root:12345678@tcp(127.0.0.1:3306)/merge_rank?charset=utf8mb4 + + +[alilog] +on = 1 +debug = 0 +endpoint = cn-beijing.log.aliyuncs.com +accesskeyid = LTAI4FeZnr6n2sRohi8drNb2 +accesskeysecret = wGi2ttNHVS9AZLMy6AMxRpY8WHQ5V6 +project = wxsdk-api +tableerror = error +tabledebug = debug +URL = https://wxsdk-api.cn-beijing.log.aliyuncs.com + + +[sdk] +checktoken = http://127.0.0.1:8901/api/f8029bce6f2/ +getmemberinfo = http://127.0.0.1:8901/api/8937250090b/getmemberinfo + + +[thinkingdata] +url = https://analysis.d3games.com +debug = 1 +token = dRXGfB80SviFC6pM6pXa0om2Mqms64KUfGic1PPOJoRVvHjkcBNrrVFy4XWqEzj9 \ No newline at end of file diff --git a/conf/conf/pre.conf b/conf/conf/pre.conf new file mode 100644 index 0000000..0e29d32 --- /dev/null +++ b/conf/conf/pre.conf @@ -0,0 +1,33 @@ + + +[mysql] +yuedao = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/yuedao?charset=utf8mb4 +api = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/weixinapi?charset=utf8mb4 +member = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/weixinmember?charset=utf8mb4 +game = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/weixingame?charset=utf8mb4 +mods = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/apimods?charset=utf8mb4 +mergecommon = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/merge_common?charset=utf8mb4 +merge_config = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/merge_config?charset=utf8mb4 +merge_rank = root:7a8dbecfc9464057@tcp(127.0.0.1:3306)/merge_rank?charset=utf8mb4 + + + +[alilog] +on = 1 +debug = 0 +endpoint = cn-beijing.log.aliyuncs.com +accesskeyid = LTAI4FeZnr6n2sRohi8drNb2 +accesskeysecret = wGi2ttNHVS9AZLMy6AMxRpY8WHQ5V6 +project = wxsdk-api +tableerror = error +tabledebug = debug +URL = https://wxsdk-api.cn-beijing.log.aliyuncs.com + +[sdk] +checktoken = https://login-wxsdk-pre.d3games.com/api/f8029bce6f2/ +getmemberinfo = https://login-wxsdk-pre.d3games.com/api/8937250090b/getmemberinfo + +[thinkingdata] +url = https://analysis.d3games.com +debug = 1 +token = dRXGfB80SviFC6pM6pXa0om2Mqms64KUfGic1PPOJoRVvHjkcBNrrVFy4XWqEzj9 \ No newline at end of file diff --git a/conf/conf/prod.conf b/conf/conf/prod.conf new file mode 100644 index 0000000..d210e8a --- /dev/null +++ b/conf/conf/prod.conf @@ -0,0 +1,33 @@ + + + +[mysql] +yuedao = yuedao:74D5aa541R8a7@tcp(rm-2ze98w5620qsrm1mk.mysql.rds.aliyuncs.com:3306)/yuedao?charset=utf8mb4 +api = root:ZSwbNF2n3wYeLh6Z@tcp(rm-2ze11t38cwh286v05.mysql.rds.aliyuncs.com:3306)/weixinapi?charset=utf8mb4 +member = root:ZSwbNF2n3wYeLh6Z@tcp(rm-2ze11t38cwh286v05.mysql.rds.aliyuncs.com:3306)/weixinmember?charset=utf8mb4 +game = root:ZSwbNF2n3wYeLh6Z@tcp(rm-2ze11t38cwh286v05.mysql.rds.aliyuncs.com:3306)/weixingame?charset=utf8mb4 +mods = apimods:v72U8RMxQ@tcp(rm-2ze98w5620qsrm1mk.mysql.rds.aliyuncs.com:3306)/apimods?charset=utf8mb4 +mergecommon = merge:v72U83RM2xQ@tcp(rm-2ze98w5620qsrm1mk.mysql.rds.aliyuncs.com:3306)/merge_common?charset=utf8mb4 +merge_config = merge:v72U83RM2xQ@tcp(rm-2ze98w5620qsrm1mk.mysql.rds.aliyuncs.com:3306)/merge_config?charset=utf8mb4 +merge_rank = merge:v72U83RM2xQ@tcp(rm-2ze98w5620qsrm1mk.mysql.rds.aliyuncs.com:3306)/merge_rank?charset=utf8mb4 + + +[alilog] +on = 1 +debug = 0 +endpoint = cn-beijing-intranet.log.aliyuncs.com +accesskeyid = LTAI4FeZnr6n2sRohi8drNb2 +accesskeysecret = wGi2ttNHVS9AZLMy6AMxRpY8WHQ5V6 +project = wxsdk-api +tableerror = error +tabledebug = debug +URL = https://wxsdk-api.cn-beijing.log.aliyuncs.com + +[sdk] +checktoken = https://login-wxsdk.d3games.com/api/f8029bce6f2/ +getmemberinfo = https://login-wxsdk.d3games.com/api/8937250090b/getmemberinfo + +[thinkingdata] +url = http://172.17.141.83 +debug = 0 +token = dRXGfB80SviFC6pM6pXa0om2Mqms64KUfGic1PPOJoRVvHjkcBNrrVFy4XWqEzj9 \ No newline at end of file diff --git a/conf/local.conf b/conf/local.conf new file mode 100644 index 0000000..e40fe8e --- /dev/null +++ b/conf/local.conf @@ -0,0 +1,30 @@ +appname = api-game +httpport = 9100 +runmode = dev +autorender = false +copyrequestbody = true +EnableDocs = false + +env = local + + +[redis] +host = 127.0.0.1 +port = 6379 +pwd = 123456 +db = 12 +prefix = merge:: +tokendb = 13 +cachedb = 14 +sdkdb = 8 +sdkprefix = wxapi:: + +[log] +path = /var/logs/merge/ +maxlines = 1000000 +maxdays = 1000 +rotate = true +dellogger = false +level = 1 + +include "/conf/local.conf" \ No newline at end of file diff --git a/conf/pre.conf b/conf/pre.conf new file mode 100644 index 0000000..6324477 --- /dev/null +++ b/conf/pre.conf @@ -0,0 +1,31 @@ +appname = api-game +httpport = 80 +runmode = dev +autorender = false +copyrequestbody = true +EnableDocs = false + +env = pre + + +[redis] +host = 172.21.0.25 +port = 6379 +pwd = crs-lzslccdc:redis@YXp8Jk#MV +db = 6 +prefix = merge:: +tokendb = 6 +cachedb = 6 +sdkdb = 6 +sdkprefix = wxapi:: + +[log] +path = /var/logs/merge/ +maxlines = 1000000 +maxdays = 1000 +rotate = true +dellogger = false +level = 8 + + +include "/conf/pre.conf" \ No newline at end of file diff --git a/conf/prod.conf b/conf/prod.conf new file mode 100644 index 0000000..491d8f7 --- /dev/null +++ b/conf/prod.conf @@ -0,0 +1,32 @@ +appname = api-game +httpport = 80 +runmode = prod +autorender = false +copyrequestbody = true +EnableDocs = false + +env = prod + + + +[redis] +host = r-2ze017e28qb0bk81pd.redis.rds.aliyuncs.com +port = 6379 +pwd = 2S9fS9Cmz5tzKLUb +db = 6 +prefix = merge:: +tokendb = 6 +cachedb = 6 +sdkdb = 10 +sdkprefix = wxapi:: + +[log] +path = /var/logs/merge/ +maxlines = 100000000 +maxdays = 7 +rotate = true +dellogger = false +level = 5 + + +include "/conf/prod.conf" \ No newline at end of file diff --git a/controllers/base.go b/controllers/base.go index 7e7dd93..b54caa5 100644 --- a/controllers/base.go +++ b/controllers/base.go @@ -1,26 +1,53 @@ package controllers import ( - constd "apigame/service/constd" + "apigame/service/constd" "apigame/sign" + "encoding/json" "github.com/astaxie/beego" ) +var debugMode = true + type BaseController struct { beego.Controller } // RetData 返回封装 -func (c *BaseController) RetData(resp map[string]interface{}) { +func (c *BaseController) RetData(resp map[string]any) { c.Data["json"] = resp c.ServeJSON() } +// RetRspData 返回封装 +func (c *BaseController) RetRspData(rspData any) { + resp := make(map[string]any) + resp["data"] = rspData + c.RetData(resp) +} + +// RetCode 返回错误封装 +func (c *BaseController) RetCode(code string) { + resp := make(map[string]interface{}) + resp = constd.CodeMsg(resp, code) + c.RetData(resp) +} + // GetPostData 获取 PostData func (c *BaseController) GetPostData(postData any) bool { + req := c.Ctx.Input.RequestBody + if debugMode { + err := json.Unmarshal(req, &postData) + if err != nil { + c.RetCode(constd.RECODE_PARAMERROR) + return false + } + return true + } + // 接收参数,验证签名登录 - code, err := sign.Check(c.Ctx.Input.RequestBody, &postData, true, true) + code, err := sign.Check(req, &postData, true, true) if err != nil { resp := make(map[string]interface{}) resp = constd.CodeMsg(resp, code) diff --git a/controllers/error.go b/controllers/error.go index 7032d03..9ecb864 100644 --- a/controllers/error.go +++ b/controllers/error.go @@ -4,38 +4,30 @@ type ErrorController struct { BaseController } -func (c *ErrorController) Error401() { +func (c *ErrorController) ErrorXXX(code, msg string) { resp := make(map[string]interface{}) defer c.RetData(resp) - resp["code"] = "401" - resp["msg"] = "未经授权,请求要求验证身份" + resp["code"] = code + resp["msg"] = msg c.RetData(resp) } +func (c *ErrorController) Error401() { + c.ErrorXXX("401", "未经授权,请求要求验证身份") +} + func (c *ErrorController) Error403() { - resp := make(map[string]interface{}) - defer c.RetData(resp) - resp["code"] = "403" - resp["msg"] = "服务器拒绝请求" + c.ErrorXXX("403", "服务器拒绝请求") } func (c *ErrorController) Error404() { - resp := make(map[string]interface{}) - defer c.RetData(resp) - resp["code"] = "404" - resp["msg"] = "很抱歉您访问的地址或者方法不存在" + c.ErrorXXX("404", "很抱歉您访问的地址或者方法不存在") } func (c *ErrorController) Error500() { - resp := make(map[string]interface{}) - defer c.RetData(resp) - resp["code"] = "500" - resp["msg"] = "server error" + c.ErrorXXX("500", "server error") } func (c *ErrorController) Error503() { - resp := make(map[string]interface{}) - defer c.RetData(resp) - resp["code"] = "503" - resp["msg"] = "服务器目前无法使用(由于超载或停机维护)" + c.ErrorXXX("503", "服务器目前无法使用(由于超载或停机维护)") } diff --git a/controllers/ht-cardholder.go b/controllers/ht-cardholder.go new file mode 100644 index 0000000..e9a1ded --- /dev/null +++ b/controllers/ht-cardholder.go @@ -0,0 +1,44 @@ +package controllers + +import ( + "apigame/dto" +) + +// HtCardHolderController 绑定控制器 +type HtCardHolderController struct { + BaseController +} + +func (c *HtCardHolderController) Info() { + // 获取请求 + var req dto.ReqHtCardHolderInfo + if !c.GetPostData(&req) { + return + } + + rsp := dto.RspHtCardHolderInfo{ + HtCardHolderInfo: dto.HtCardHolderInfo{ + BagList: make(map[int]int), + }, + } + + rsp.BagList[1] = 2 + rsp.BagList[2] = 5 + + c.RetRspData(rsp) +} + +func (c *HtCardHolderController) Open() { + // 获取请求 + var req dto.ReqHtCardHolderOpen + if !c.GetPostData(&req) { + return + } + + rsp := dto.NewBaseRsp() + + rsp["nowid"] = 1 + rsp["award"] = "2" + + c.RetRspData(rsp) +} diff --git a/controllers/ht-draw.go b/controllers/ht-draw.go deleted file mode 100644 index 30acea6..0000000 --- a/controllers/ht-draw.go +++ /dev/null @@ -1,29 +0,0 @@ -package controllers - -import "apigame/dto" - -// HtDrawController 绑定控制器 -type HtDrawController struct { - BaseController -} - -func (c *HtDrawController) Draw() { - - //接收参数,验证签名登录 - var postData dto.ReqHtDraw - - if !c.GetPostData(&postData) { - return - } - - resp := make(map[string]any) - - var data = make(map[string]interface{}) - - data["nowid"] = 1 - data["award"] = 2 - resp["data"] = data - - c.RetData(resp) - -} diff --git a/dto/base.go b/dto/base.go index a0933f5..cc533b3 100644 --- a/dto/base.go +++ b/dto/base.go @@ -12,3 +12,9 @@ type BaseSign struct { Ver string `form:"ver" json:"ver"` GameID string `form:"gameid" json:"gameid"` } + +type BaseRsp map[string]any + +func NewBaseRsp() BaseRsp { + return make(map[string]any) +} diff --git a/dto/ht-cardholder.go b/dto/ht-cardholder.go new file mode 100644 index 0000000..2c6a8db --- /dev/null +++ b/dto/ht-cardholder.go @@ -0,0 +1,26 @@ +package dto + +// 海滩卡包 + +// HtCardHolderInfo 卡包信息 +type HtCardHolderInfo struct { + BagList map[int]int +} + +// ReqHtCardHolderInfo 请求 卡包信息 +type ReqHtCardHolderInfo struct { + BaseSign + BaseLoginInfo +} + +// RspHtCardHolderInfo 返回 卡包信息 +type RspHtCardHolderInfo struct { + HtCardHolderInfo +} + +// ReqHtCardHolderOpen 请求 打开卡包 +type ReqHtCardHolderOpen struct { + BaseSign + BaseLoginInfo + ID string `form:"id" json:"id" valid:"Required"` // 卡包ID +} diff --git a/dto/ht-draw.go b/dto/ht-draw.go deleted file mode 100644 index 4c89ae9..0000000 --- a/dto/ht-draw.go +++ /dev/null @@ -1,10 +0,0 @@ -package dto - -// 海滩抽奖请求和返回文件 - -// ReqHtDraw 抽奖 -type ReqHtDraw struct { - BaseSign - BaseLoginInfo - ID string `form:"id" json:"id" valid:"Required"` // 卡包ID -} diff --git a/main.go b/main.go index eee5266..79bcb1f 100644 --- a/main.go +++ b/main.go @@ -2,7 +2,7 @@ package main import ( _ "apigame/routers" - ht_draw "apigame/service/ht-draw" + ht_draw "apigame/service/ht-cardholder" "fmt" "github.com/astaxie/beego" "github.com/astaxie/beego/plugins/cors" diff --git a/routers/router.go b/routers/router.go index afffa1d..df5afe9 100644 --- a/routers/router.go +++ b/routers/router.go @@ -11,8 +11,10 @@ func init() { prefix := "/3ad7e4ab92ae2249" // 海滩项目 - // 海滩抽奖 - beego.Router(prefix+"/ht/draw", &controllers.HtDrawController{}, "post:Draw") + // 卡包信息 + beego.Router(prefix+"/ht/cardholder/info", &controllers.HtCardHolderController{}, "post:Info") + // 卡包打开 + beego.Router(prefix+"/ht/cardholder/open", &controllers.HtCardHolderController{}, "post:Open") beego.ErrorController(&controllers.ErrorController{}) } diff --git a/service/ht-cardholder/config.go b/service/ht-cardholder/config.go new file mode 100644 index 0000000..eadf05d --- /dev/null +++ b/service/ht-cardholder/config.go @@ -0,0 +1,34 @@ +package ht_cardholder + +// CardConfig 卡牌表 +type CardConfig struct { + Id int `json:"id"` // ID + GroupId int `json:"groupid"` // 卡组id + IsGoldCard int `json:"isgoldcard"` // 是否是金卡 + Star int `json:"star"` // 星级 +} + +// CardholderConfig 卡包开卡规则表 +type CardholderConfig struct { + Id int `json:"id"` // ID + GuaranteedStar int `json:"guaranteedstar"` // 保底卡星级序列ID + IsGoldCardholder int `json:"isgoldcardholder"` // 是否是金卡包 + IsNew int `json:"isnew"` // 是否是新卡包 + NormalCardNumber int `json:"normalcardnumber"` // 非保底卡数量 + MinimumGuaranteeCardId int `json:"minimumguaranteecardid"` // 非保底卡牌序列ID +} + +// NormalCardStarSequence 非保底卡星级ID +type NormalCardStarSequence struct { + Id int `json:"id"` // ID + Cohort int `json:"cohort"` // 用户分组 + StarSequenceId int `json:"starsequenceid"` // 用户序列组ID + NormalCardSequenceId []int `json:"normalcardsequenceid"` // 非保底星级序列 +} + +// CardSequenceConfig 星级ID对应的卡片 +type CardSequenceConfig struct { + Id int `json:"id"` // SequenceId 用户序列组ID + Cohort int `json:"cohort"` // 用户分组 + CardIdList []int `json:"cardidlist"` // 卡牌抽取序列 +} diff --git a/service/ht-cardholder/configs.go b/service/ht-cardholder/configs.go new file mode 100644 index 0000000..8d98793 --- /dev/null +++ b/service/ht-cardholder/configs.go @@ -0,0 +1,102 @@ +package ht_cardholder + +import ( + "fmt" +) + +var ( + ConfigVersion = "1" // 版本号 + CardConfigs = make(map[int]CardConfig) // 卡牌表 + CardholderConfigs = make(map[int]CardholderConfig) // 卡包开卡规则表 + NormalCardStarSequences = make([]NormalCardStarSequence, 0) // 非保底卡星级ID + CardSequenceConfigs = make([]CardSequenceConfig, 0) // 星级ID对应的卡片 +) + +// Init 初始化 +func Init() { + TryUpdateConfigs() + + DumpConfigs() +} + +// TryUpdateConfigs 尝试更新配置表 +func TryUpdateConfigs() { + // todo 装填虚拟数据 + UseSimulateConfigs() + + // todo 读取mysql配置 +} + +// UseSimulateConfigs 装填虚拟数据 +func UseSimulateConfigs() { + + ConfigVersion = "2" + + // 卡牌表 i=卡组ID j=卡牌顺序 + for i := 1; i <= 9; i++ { + for j := 1; j <= 9; j++ { + conf := CardConfig{ + Id: i*100 + j, + GroupId: i, + IsGoldCard: 0, + Star: 1, + } + if j == 9 { + conf.IsGoldCard = 1 + conf.Star = 2 + } + CardConfigs[conf.Id] = conf + } + } + // 卡包开卡规则表 + CardholderConfigs[1] = CardholderConfig{ + Id: 1, + GuaranteedStar: 1, + NormalCardNumber: 2, + MinimumGuaranteeCardId: 1, + } + CardholderConfigs[2] = CardholderConfig{ + Id: 2, + GuaranteedStar: 2, + NormalCardNumber: 3, + MinimumGuaranteeCardId: 2, + } + CardholderConfigs[3] = CardholderConfig{ + Id: 3, + GuaranteedStar: 3, + NormalCardNumber: 4, + MinimumGuaranteeCardId: 3, + } + // 非保底卡星级ID i=非保底卡星级ID j=用户分组 + for i := 1; i <= 3; i++ { + for j := 1; j <= 2; j++ { + conf := NormalCardStarSequence{ + Id: i, + Cohort: j, + NormalCardSequenceId: []int{i, i, i, j}, + } + NormalCardStarSequences = append(NormalCardStarSequences, conf) + } + } + // 星级ID对应的卡片 + for i := 1; i <= 3; i++ { + for j := 1; j <= 2; j++ { + conf := CardSequenceConfig{ + Id: i, + Cohort: j, + CardIdList: []int{101, 102, 103, 104, 102, 105, 106, 107, 108, 109}, + } + CardSequenceConfigs = append(CardSequenceConfigs, conf) + } + } + +} + +func DumpConfigs() { + + fmt.Println(ConfigVersion) + fmt.Println(CardConfigs) + fmt.Println(CardholderConfigs) + fmt.Println(NormalCardStarSequences) + fmt.Println(CardSequenceConfigs) +} diff --git a/service/ht-draw/config.go b/service/ht-draw/config.go deleted file mode 100644 index 483b15d..0000000 --- a/service/ht-draw/config.go +++ /dev/null @@ -1,34 +0,0 @@ -package ht_draw - -// CardConfig 卡牌表 -type CardConfig struct { - Id int `json:"id"` // ID - GroupId int `json:"groupid"` // 卡组id - IsGoldCard int `json:"isgoldcard"` // 是否是金卡 - Star int `json:"star"` // 星级 -} - -// CardholderConfig 卡包开卡规则表 -type CardholderConfig struct { - Id int `json:"id"` // ID - GuaranteedStar int `json:"guaranteedstar"` // 保底卡星级序列ID - IsGoldCardholder int `json:"isgoldcardholder"` // 是否是金卡包 - IsNew int `json:"isnew"` // 是否是新卡包 - NormalCardNumber int `json:"normalcardnumber"` // 非保底卡数量 - MinimumGuaranteeCardId int `json:"minimumguaranteecardid"` // 非保底卡牌序列ID -} - -// NormalCardStarSequence 非保底卡星级ID -type NormalCardStarSequence struct { - Id int `json:"id"` // ID - Cohort int `json:"cohort"` // 用户分组 - StarSequenceId int `json:"starsequenceid"` // 用户序列组ID - NormalCardSequenceId []int `json:"normalcardsequenceid"` // 非保底星级序列 -} - -// CardSequenceConfig 星级ID对应的卡片 -type CardSequenceConfig struct { - Id int `json:"id"` // SequenceId 用户序列组ID - Cohort int `json:"cohort"` // 用户分组 - CardIdList []int `json:"cardidlist"` // 卡牌抽取序列 -} diff --git a/service/ht-draw/configs.go b/service/ht-draw/configs.go deleted file mode 100644 index 660a00a..0000000 --- a/service/ht-draw/configs.go +++ /dev/null @@ -1,102 +0,0 @@ -package ht_draw - -import ( - "fmt" -) - -var ( - ConfigVersion = "1" // 版本号 - CardConfigs = make(map[int]CardConfig) // 卡牌表 - CardholderConfigs = make(map[int]CardholderConfig) // 卡包开卡规则表 - NormalCardStarSequences = make([]NormalCardStarSequence, 0) // 非保底卡星级ID - CardSequenceConfigs = make([]CardSequenceConfig, 0) // 星级ID对应的卡片 -) - -// Init 初始化 -func Init() { - TryUpdateConfigs() - - DumpConfigs() -} - -// TryUpdateConfigs 尝试更新配置表 -func TryUpdateConfigs() { - // todo 装填虚拟数据 - UseSimulateConfigs() - - // todo 读取mysql配置 -} - -// UseSimulateConfigs 装填虚拟数据 -func UseSimulateConfigs() { - - ConfigVersion = "2" - - // 卡牌表 i=卡组ID j=卡牌顺序 - for i := 1; i <= 9; i++ { - for j := 1; j <= 9; j++ { - conf := CardConfig{ - Id: i*100 + j, - GroupId: i, - IsGoldCard: 0, - Star: 1, - } - if j == 9 { - conf.IsGoldCard = 1 - conf.Star = 2 - } - CardConfigs[conf.Id] = conf - } - } - // 卡包开卡规则表 - CardholderConfigs[1] = CardholderConfig{ - Id: 1, - GuaranteedStar: 1, - NormalCardNumber: 2, - MinimumGuaranteeCardId: 1, - } - CardholderConfigs[2] = CardholderConfig{ - Id: 2, - GuaranteedStar: 2, - NormalCardNumber: 3, - MinimumGuaranteeCardId: 2, - } - CardholderConfigs[3] = CardholderConfig{ - Id: 3, - GuaranteedStar: 3, - NormalCardNumber: 4, - MinimumGuaranteeCardId: 3, - } - // 非保底卡星级ID i=非保底卡星级ID j=用户分组 - for i := 1; i <= 3; i++ { - for j := 1; j <= 2; j++ { - conf := NormalCardStarSequence{ - Id: i, - Cohort: j, - NormalCardSequenceId: []int{i, i, i, j}, - } - NormalCardStarSequences = append(NormalCardStarSequences, conf) - } - } - // 星级ID对应的卡片 - for i := 1; i <= 3; i++ { - for j := 1; j <= 2; j++ { - conf := CardSequenceConfig{ - Id: i, - Cohort: j, - CardIdList: []int{101, 102, 103, 104, 102, 105, 106, 107, 108, 109}, - } - CardSequenceConfigs = append(CardSequenceConfigs, conf) - } - } - -} - -func DumpConfigs() { - - fmt.Println(ConfigVersion) - fmt.Println(CardConfigs) - fmt.Println(CardholderConfigs) - fmt.Println(NormalCardStarSequences) - fmt.Println(CardSequenceConfigs) -} -- libgit2 0.21.0