123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /*
- * @Descripttion:
- * @version:
- * @Author: Neo,Huang
- * @Date: 2023-11-18 22:52:59
- * @LastEditors: Neo,Huang
- * @LastEditTime: 2023-11-21 23:39:58
- */
- package models
- import (
- "encoding/json"
- "github.com/astaxie/beego"
- "box-gm/utils"
- )
- type ItemConfig struct {
- Id int `json:"id"` // 道具ID
- Name string `json:"name"` // 道具名称
- Type int `json:"ty"` // 道具类型
- Price int `json:"price"` // 道具价格
- }
- type ItemConfigs []*ItemConfig
- type RES_CONF_ITEMS struct {
- Code int `json:"code"` // 道具ID
- Items ItemConfigs `json:"items"` // 道具配置列表
- }
- var itemConfigMap map[int]*ItemConfig
- var itemConfigs ItemConfigs
- func init() {
- itemConfigMap = make(map[int]*ItemConfig)
- itemConfigMap[101] = &ItemConfig{
- Id: 101,
- Name: "金币",
- Type: 1,
- }
- itemConfigMap[102] = &ItemConfig{
- Id: 102,
- Name: "绑金",
- Type: 1,
- }
- itemConfigMap[103] = &ItemConfig{
- Id: 103,
- Name: "N1",
- Type: 1,
- }
- itemConfigs = append(itemConfigs, itemConfigMap[101])
- itemConfigs = append(itemConfigs, itemConfigMap[102])
- itemConfigs = append(itemConfigs, itemConfigMap[103])
- }
- func UpdateItemConfig() (int, int) {
- params := make(map[string]interface{})
- params["name"] = "gm_get_conf_items"
- body, _ := json.Marshal(params)
- host := utils.GetKeyConf("gameservers", "web")
- sign := utils.Strtomd5(string(body) + utils.GetKeyConf("app", "gameKey"))
- url := "http://" + host + "/json?sign=" + sign
- buff, err := utils.SendAndRecvHTTP("POST", url, string(body))
- // log.Printf("UpdateItemConfig url[%s] body[%s] buff[%s] err[%v]", url, string(body), string(buff), err)
- if err != nil {
- return 0, 0
- }
- var res RES_CONF_ITEMS
- err = json.Unmarshal(buff, &res)
- if err != nil {
- return 0, 0
- }
- if res.Code != 200 {
- return 0, 0
- }
- oldCount := len(itemConfigs)
- itemConfigMap = make(map[int]*ItemConfig)
- itemConfigs = ItemConfigs{}
- for _, v := range res.Items {
- itemConfigMap[v.Id] = v
- itemConfigs = append(itemConfigs, v)
- }
- beego.Info("load item config, oldCount: ", oldCount, "newCount", len(itemConfigs))
- return oldCount, len(itemConfigs)
- }
- func GetItemName(id int) string {
- item, ok := itemConfigMap[id]
- if !ok {
- return ""
- }
- return item.Name
- }
- // 获取物品列表
- func GetItemInfoList() ItemConfigs {
- // InitItemConfig()
- return itemConfigs
- }
|