Commit b8745176833ba520df0842f98802097bcac11e0f
1 parent
81b07025
Exists in
master
提交
Showing
5 changed files
with
287 additions
and
68 deletions
Show diff stats
src/HttpServer/logic/constdef.go
| @@ -58,4 +58,5 @@ const ( | @@ -58,4 +58,5 @@ const ( | ||
| 58 | DRAWTICKETNUM = 5 //每日送的抽奖券次数 | 58 | DRAWTICKETNUM = 5 //每日送的抽奖券次数 |
| 59 | DRAWTICKETGETLIMIT = 5 //每日抽奖券获得次数 | 59 | DRAWTICKETGETLIMIT = 5 //每日抽奖券获得次数 |
| 60 | DRAWTICKETNUMLIMIT = 10 //抽奖券上限 | 60 | DRAWTICKETNUMLIMIT = 10 //抽奖券上限 |
| 61 | + WAREHOUSELIMIT = 15 //仓库容量上限 | ||
| 61 | ) | 62 | ) |
src/HttpServer/logic/datadef.go
| @@ -331,10 +331,15 @@ type DoBuyCatResp struct { | @@ -331,10 +331,15 @@ type DoBuyCatResp struct { | ||
| 331 | Data DoBuyCatData `json:"data"` | 331 | Data DoBuyCatData `json:"data"` |
| 332 | } | 332 | } |
| 333 | 333 | ||
| 334 | +type QueryWareHouseData struct { | ||
| 335 | + CatList []int `json:"catList"` | ||
| 336 | + CatCapacity int `json:"catCapacity"` | ||
| 337 | +} | ||
| 338 | + | ||
| 334 | type QueryWareHouseResp struct { | 339 | type QueryWareHouseResp struct { |
| 335 | - Code int `json:"code"` | ||
| 336 | - Message string `json:"message"` | ||
| 337 | - Data []DataDesc `json:"data"` | 340 | + Code int `json:"code"` |
| 341 | + Message string `json:"message"` | ||
| 342 | + Data QueryWareHouseData `json:"data"` | ||
| 338 | } | 343 | } |
| 339 | 344 | ||
| 340 | type QueryAutomergeResp struct { | 345 | type QueryAutomergeResp struct { |
| @@ -347,21 +352,24 @@ type QueryAutomergeResp struct { | @@ -347,21 +352,24 @@ type QueryAutomergeResp struct { | ||
| 347 | } | 352 | } |
| 348 | 353 | ||
| 349 | type PutWareHouseReq struct { | 354 | type PutWareHouseReq struct { |
| 350 | - Pos int `json:"pos"` | 355 | + Position int `json:"position"` |
| 356 | +} | ||
| 357 | +type PutWareHouseData struct { | ||
| 358 | + Coin DoBuyCatCoin `json:"coin"` | ||
| 351 | } | 359 | } |
| 352 | type PutWareHouseResp struct { | 360 | type PutWareHouseResp struct { |
| 353 | - Code int `json:"code"` | ||
| 354 | - Message string `json:"message"` | ||
| 355 | - Warepos int `json:"warepos"` | 361 | + Code int `json:"code"` |
| 362 | + Message string `json:"message"` | ||
| 363 | + Data PutWareHouseData `json:"data"` | ||
| 356 | } | 364 | } |
| 357 | 365 | ||
| 358 | type TakeWareHouseReq struct { | 366 | type TakeWareHouseReq struct { |
| 359 | - Warepos int `json:"warepos"` | 367 | + CatId int `json:"catId"` |
| 360 | } | 368 | } |
| 361 | type TakeWareHouseResp struct { | 369 | type TakeWareHouseResp struct { |
| 362 | - Code int `json:"code"` | ||
| 363 | - Message string `json:"message"` | ||
| 364 | - Pos int `json:"pos"` | 370 | + Code int `json:"code"` |
| 371 | + Message string `json:"message"` | ||
| 372 | + Data PutWareHouseData `json:"data"` | ||
| 365 | } | 373 | } |
| 366 | 374 | ||
| 367 | type CatRoomDesc struct { | 375 | type CatRoomDesc struct { |
| @@ -665,7 +673,10 @@ type UserData struct { | @@ -665,7 +673,10 @@ type UserData struct { | ||
| 665 | 673 | ||
| 666 | //仓库数据详情 | 674 | //仓库数据详情 |
| 667 | type WareHouseDesc struct { | 675 | type WareHouseDesc struct { |
| 668 | - Warelv int //红包猫等级 对应表id | 676 | + Warelv int //红包猫等级 对应表id |
| 677 | + RedPacket float32 | ||
| 678 | + Time int | ||
| 679 | + StartTime int | ||
| 669 | } | 680 | } |
| 670 | 681 | ||
| 671 | //玩家仓库数据 | 682 | //玩家仓库数据 |
src/HttpServer/logic/function.go
| @@ -494,7 +494,7 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { | @@ -494,7 +494,7 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { | ||
| 494 | tmprate += int(v.Rate * 100 / sumrate) | 494 | tmprate += int(v.Rate * 100 / sumrate) |
| 495 | if tmprate >= randnum { | 495 | if tmprate >= randnum { |
| 496 | uinfo.PosInfo[pos].Position = pos | 496 | uinfo.PosInfo[pos].Position = pos |
| 497 | - uinfo.PosInfo[pos].Cat = 100 + v.Id | 497 | + uinfo.PosInfo[pos].Cat = REDCATIDEXTRA + v.Id |
| 498 | if v.Id == 13 { | 498 | if v.Id == 13 { |
| 499 | uinfo.PosInfo[pos].Time = 10 * 60 | 499 | uinfo.PosInfo[pos].Time = 10 * 60 |
| 500 | uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) | 500 | uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) |
| @@ -544,7 +544,7 @@ func (udata *UserData) CalcGoldRate() int64 { | @@ -544,7 +544,7 @@ func (udata *UserData) CalcGoldRate() int64 { | ||
| 544 | return 0 | 544 | return 0 |
| 545 | } | 545 | } |
| 546 | for _, v := range udata.PosInfo { | 546 | for _, v := range udata.PosInfo { |
| 547 | - if v.Cat > 0 && v.Cat < 100 { | 547 | + if v.Cat > 0 && v.Cat < REDCATIDEXTRA { |
| 548 | //有猫存在的要计算一下 | 548 | //有猫存在的要计算一下 |
| 549 | //非红包猫 | 549 | //非红包猫 |
| 550 | for _, vv := range jsonconf.GetJsonConf().CatConfig { | 550 | for _, vv := range jsonconf.GetJsonConf().CatConfig { |
| @@ -556,7 +556,7 @@ func (udata *UserData) CalcGoldRate() int64 { | @@ -556,7 +556,7 @@ func (udata *UserData) CalcGoldRate() int64 { | ||
| 556 | } | 556 | } |
| 557 | } | 557 | } |
| 558 | 558 | ||
| 559 | - if v.Cat > 100 { | 559 | + if v.Cat > REDCATIDEXTRA { |
| 560 | //红包猫 需要判断是否产金币 | 560 | //红包猫 需要判断是否产金币 |
| 561 | rcfg := jsonconf.GetRedCatConfig(v.Cat) | 561 | rcfg := jsonconf.GetRedCatConfig(v.Cat) |
| 562 | if rcfg != nil { | 562 | if rcfg != nil { |
| @@ -585,14 +585,14 @@ func (udata *UserData) CalcGoldRate() int64 { | @@ -585,14 +585,14 @@ func (udata *UserData) CalcGoldRate() int64 { | ||
| 585 | if v.Warelv == 0 { | 585 | if v.Warelv == 0 { |
| 586 | continue | 586 | continue |
| 587 | } | 587 | } |
| 588 | - rcfg := jsonconf.GetRedCatConfig(v.Warelv + 100) | 588 | + rcfg := jsonconf.GetRedCatConfig(v.Warelv + REDCATIDEXTRA) |
| 589 | if rcfg != nil { | 589 | if rcfg != nil { |
| 590 | if rcfg.Is_37 != 0 { | 590 | if rcfg.Is_37 != 0 { |
| 591 | onerate, _ := strconv.ParseInt(cfg37.Gold_get, 10, 64) | 591 | onerate, _ := strconv.ParseInt(cfg37.Gold_get, 10, 64) |
| 592 | sumrate += onerate | 592 | sumrate += onerate |
| 593 | } | 593 | } |
| 594 | } else { | 594 | } else { |
| 595 | - logger.Error("GetRedCatConfig failed lv=%v", v.Warelv+100) | 595 | + logger.Error("GetRedCatConfig failed lv=%v", v.Warelv+REDCATIDEXTRA) |
| 596 | } | 596 | } |
| 597 | } | 597 | } |
| 598 | 598 | ||
| @@ -631,7 +631,7 @@ func (u *UserData) CalcHigestCatName() string { | @@ -631,7 +631,7 @@ func (u *UserData) CalcHigestCatName() string { | ||
| 631 | return "" | 631 | return "" |
| 632 | } | 632 | } |
| 633 | for _, val := range wdata.Info { | 633 | for _, val := range wdata.Info { |
| 634 | - reallv := val.Warelv + 100 | 634 | + reallv := val.Warelv + REDCATIDEXTRA |
| 635 | if higestlv < reallv { | 635 | if higestlv < reallv { |
| 636 | higestlv = reallv | 636 | higestlv = reallv |
| 637 | } | 637 | } |
| @@ -688,3 +688,30 @@ func (u *UserData) GetRedCatIdList() []int { | @@ -688,3 +688,30 @@ func (u *UserData) GetRedCatIdList() []int { | ||
| 688 | } | 688 | } |
| 689 | 689 | ||
| 690 | } | 690 | } |
| 691 | + | ||
| 692 | +//尝试将合成界面的猫放入仓库 返回位置索引 -1表示仓库已满放入失败 | ||
| 693 | +func (u *UserData) tryPutToWareHouse(info *UserWareHouseData, pos int, uuid int) int { | ||
| 694 | + rtval := -1 | ||
| 695 | + for k, v := range info.Info { | ||
| 696 | + if v.Warelv == 0 { | ||
| 697 | + rtval = k | ||
| 698 | + info.Info[k].Warelv = u.PosInfo[pos].Cat | ||
| 699 | + info.Info[k].Time = u.PosInfo[pos].Time | ||
| 700 | + info.Info[k].RedPacket = u.PosInfo[pos].RedPacket | ||
| 701 | + info.Info[k].StartTime = u.PosInfo[pos].StartTime | ||
| 702 | + //v.Warelv = lv | ||
| 703 | + | ||
| 704 | + break | ||
| 705 | + } | ||
| 706 | + } | ||
| 707 | + if rtval != -1 { | ||
| 708 | + wares, _ := json.Marshal(info) | ||
| 709 | + redishandler.GetRedisClient().HSet(redis.USER_WAREHOUSE_INFO, strconv.Itoa(uuid), string(wares)) | ||
| 710 | + } | ||
| 711 | + return rtval | ||
| 712 | +} | ||
| 713 | + | ||
| 714 | +//根据id获得仓位位置 | ||
| 715 | +func (w *UserWareHouseData) GetWarePosById(cid int) int { | ||
| 716 | + return -1 | ||
| 717 | +} |
src/HttpServer/logic/httpserver.go
| @@ -23,30 +23,33 @@ func CheckErr(err error) { | @@ -23,30 +23,33 @@ func CheckErr(err error) { | ||
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | func startServerHttpServe() { | 25 | func startServerHttpServe() { |
| 26 | - http.HandleFunc("/api/account/login", UserLogin) //登录 | ||
| 27 | - http.HandleFunc("/api/home/buy", DoBuyCat) //购买猫 | ||
| 28 | - http.HandleFunc("/api/home/synResource", GetUserData) //同步资源 | ||
| 29 | - http.HandleFunc("/api/home/recvOfflineReward", GetOfflineReward) //领取离线奖励 | ||
| 30 | - http.HandleFunc("/api/ranking/list", QueryPlayerRank) //排行榜 | ||
| 31 | - http.HandleFunc("/api/home/index", GetMainPageInfo) //主页面 | ||
| 32 | - http.HandleFunc("/api/home/adRate", AcclecteGold) //看广告加速 | ||
| 33 | - http.HandleFunc("/api/home/shop", QueryBuyCat) //商店 | ||
| 34 | - http.HandleFunc("/api/home/leftRateTimes", LeftRateTimes) //剩余看广告加速次数 | ||
| 35 | - http.HandleFunc("/api/home/change", ExchangePos) //合成 | ||
| 36 | - http.HandleFunc("/api/home/leftTimes", LeftTimes) //剩余看广告领取金币次数 | ||
| 37 | - http.HandleFunc("/api/home/adCoin", WatchAdsGetGold) //看广告领取金币 | ||
| 38 | - http.HandleFunc("/api/home/recvTimingReward", RecvTimingReward) //整点领取金币 | ||
| 39 | - http.HandleFunc("/api/home/redCatList", RedCatList) //红包猫列表 此接口目前没有用到 暂时不实线 | ||
| 40 | - http.HandleFunc("/api/home/recovery", Recovery) //回收猫 | ||
| 41 | - http.HandleFunc("/api/home/compose", Compose) //五猫合成 | ||
| 42 | - http.HandleFunc("/api/home/recvRedCat", RecvRedCat) //红包猫领取 | ||
| 43 | - http.HandleFunc("/api/home/limitCatList", LimitCatList) //分红猫列表 | ||
| 44 | - http.HandleFunc("/api/turntable/index", QueryTurntable) //转盘主页 | ||
| 45 | - http.HandleFunc("/api/turntable/addTicket", AddTicket) //增加抽奖券 | ||
| 46 | - http.HandleFunc("/api/turntable/multiple", Multiple) //增加倍数 | ||
| 47 | - http.HandleFunc("/api/turntable/draw", DrawTable) //抽奖 | ||
| 48 | - http.HandleFunc("/api/flop/leftTimes", QueryFlop) //剩余翻牌次数 | ||
| 49 | - http.HandleFunc("/api/flop/flop", DoFlop) //进行翻牌 | 26 | + http.HandleFunc("/api/account/login", UserLogin) //登录 |
| 27 | + http.HandleFunc("/api/home/buy", DoBuyCat) //购买猫 | ||
| 28 | + http.HandleFunc("/api/home/synResource", GetUserData) //同步资源 | ||
| 29 | + http.HandleFunc("/api/home/recvOfflineReward", GetOfflineReward) //领取离线奖励 | ||
| 30 | + http.HandleFunc("/api/ranking/list", QueryPlayerRank) //排行榜 | ||
| 31 | + http.HandleFunc("/api/home/index", GetMainPageInfo) //主页面 | ||
| 32 | + http.HandleFunc("/api/home/adRate", AcclecteGold) //看广告加速 | ||
| 33 | + http.HandleFunc("/api/home/shop", QueryBuyCat) //商店 | ||
| 34 | + http.HandleFunc("/api/home/leftRateTimes", LeftRateTimes) //剩余看广告加速次数 | ||
| 35 | + http.HandleFunc("/api/home/change", ExchangePos) //合成 | ||
| 36 | + http.HandleFunc("/api/home/leftTimes", LeftTimes) //剩余看广告领取金币次数 | ||
| 37 | + http.HandleFunc("/api/home/adCoin", WatchAdsGetGold) //看广告领取金币 | ||
| 38 | + http.HandleFunc("/api/home/recvTimingReward", RecvTimingReward) //整点领取金币 | ||
| 39 | + http.HandleFunc("/api/home/redCatList", RedCatList) //红包猫列表 此接口目前没有用到 暂时不实线 | ||
| 40 | + http.HandleFunc("/api/home/recovery", Recovery) //回收猫 | ||
| 41 | + http.HandleFunc("/api/home/compose", Compose) //五猫合成 | ||
| 42 | + http.HandleFunc("/api/home/recvRedCat", RecvRedCat) //红包猫领取 | ||
| 43 | + http.HandleFunc("/api/home/limitCatList", LimitCatList) //分红猫列表 | ||
| 44 | + http.HandleFunc("/api/turntable/index", QueryTurntable) //转盘主页 | ||
| 45 | + http.HandleFunc("/api/turntable/addTicket", AddTicket) //增加抽奖券 | ||
| 46 | + http.HandleFunc("/api/turntable/multiple", Multiple) //增加倍数 | ||
| 47 | + http.HandleFunc("/api/turntable/draw", DrawTable) //抽奖 | ||
| 48 | + http.HandleFunc("/api/flop/leftTimes", QueryFlop) //剩余翻牌次数 | ||
| 49 | + http.HandleFunc("/api/flop/flop", DoFlop) //进行翻牌 | ||
| 50 | + http.HandleFunc("/api/package/catList", QueryWareHouse) //背包列表 | ||
| 51 | + http.HandleFunc("/api/package/putToPackage", PutCattoWareHouse) //加入背包 | ||
| 52 | + http.HandleFunc("/api/package/getFromPackage", TakeCatoutfromWareHouse) //背包中取出 | ||
| 50 | 53 | ||
| 51 | /////---------------------------------------------------------------------old | 54 | /////---------------------------------------------------------------------old |
| 52 | http.HandleFunc("/happycat/exchangetwoPos", ExchangePos) //交换位置 | 55 | http.HandleFunc("/happycat/exchangetwoPos", ExchangePos) //交换位置 |
| @@ -58,19 +61,19 @@ func startServerHttpServe() { | @@ -58,19 +61,19 @@ func startServerHttpServe() { | ||
| 58 | http.HandleFunc("/happycat/clickrandgift", ClickRandGift) //请求点击猫箱子 | 61 | http.HandleFunc("/happycat/clickrandgift", ClickRandGift) //请求点击猫箱子 |
| 59 | //http.HandleFunc("/happycat/querybuycat", QueryBuyCat) //请求商店购买信息 | 62 | //http.HandleFunc("/happycat/querybuycat", QueryBuyCat) //请求商店购买信息 |
| 60 | 63 | ||
| 61 | - http.HandleFunc("/happycat/querwarehouse", QueryWareHouse) //请求仓库信息 | ||
| 62 | - http.HandleFunc("/happycat/putcattowarehouse", PutCattoWareHouse) //将合成界面的猫放入仓库 | ||
| 63 | - http.HandleFunc("/happycat/takecatoutfromwarehouse", TakeCatoutfromWareHouse) //将仓库的猫取出 | ||
| 64 | - http.HandleFunc("/happycat/acclecteboxrate ", AcclecteBoxRate) //请求点击猫箱子 | ||
| 65 | - http.HandleFunc("/happycat/queryautomergeinfo ", QueryAutomergeInfo) //请求点击猫箱子 | ||
| 66 | - http.HandleFunc("/happycat/querycatroominfo ", QueryCatRoomInfo) //请求点击猫箱子 | ||
| 67 | - http.HandleFunc("/happycat/buycatroom ", BuyCatRoom) //请求点击猫箱子 | ||
| 68 | - http.HandleFunc("/happycat/upcattoroom ", UpCattoRoom) //请求点击猫箱子 | ||
| 69 | - http.HandleFunc("/happycat/querycatshopinfo ", QueryCatShopInfo) //请求点击猫箱子 | ||
| 70 | - http.HandleFunc("/happycat/catshoplay ", CatShoPlay) //请求点击猫箱子 | ||
| 71 | - http.HandleFunc("/happycat/getcatshopreward ", GetCatShopReward) //请求点击猫箱子 | ||
| 72 | - http.HandleFunc("/happycat/acclectecatstory ", AcclecteCatStory) //请求点击猫箱子 | ||
| 73 | - http.HandleFunc("/chappycatat/updateuserinfo ", UpdateUserInfo) //请求点击猫箱子 | 64 | + //http.HandleFunc("/happycat/querwarehouse", QueryWareHouse) //请求仓库信息 |
| 65 | + //http.HandleFunc("/happycat/putcattowarehouse", PutCattoWareHouse) //将合成界面的猫放入仓库 | ||
| 66 | + // http.HandleFunc("/happycat/takecatoutfromwarehouse", TakeCatoutfromWareHouse) //将仓库的猫取出 | ||
| 67 | + http.HandleFunc("/happycat/acclecteboxrate ", AcclecteBoxRate) //请求点击猫箱子 | ||
| 68 | + http.HandleFunc("/happycat/queryautomergeinfo ", QueryAutomergeInfo) //请求点击猫箱子 | ||
| 69 | + http.HandleFunc("/happycat/querycatroominfo ", QueryCatRoomInfo) //请求点击猫箱子 | ||
| 70 | + http.HandleFunc("/happycat/buycatroom ", BuyCatRoom) //请求点击猫箱子 | ||
| 71 | + http.HandleFunc("/happycat/upcattoroom ", UpCattoRoom) //请求点击猫箱子 | ||
| 72 | + http.HandleFunc("/happycat/querycatshopinfo ", QueryCatShopInfo) //请求点击猫箱子 | ||
| 73 | + http.HandleFunc("/happycat/catshoplay ", CatShoPlay) //请求点击猫箱子 | ||
| 74 | + http.HandleFunc("/happycat/getcatshopreward ", GetCatShopReward) //请求点击猫箱子 | ||
| 75 | + http.HandleFunc("/happycat/acclectecatstory ", AcclecteCatStory) //请求点击猫箱子 | ||
| 76 | + http.HandleFunc("/chappycatat/updateuserinfo ", UpdateUserInfo) //请求点击猫箱子 | ||
| 74 | //http.HandleFunc("/happycat/queryplayerrank ", QueryPlayerRank) //请求点击猫箱子 | 77 | //http.HandleFunc("/happycat/queryplayerrank ", QueryPlayerRank) //请求点击猫箱子 |
| 75 | http.HandleFunc("/happycat/querycompletetask ", QueryCompleteTask) //请求点击猫箱子 | 78 | http.HandleFunc("/happycat/querycompletetask ", QueryCompleteTask) //请求点击猫箱子 |
| 76 | http.HandleFunc("/happycat/querycompleteachievement ", QueryCompleteAchievement) //请求点击猫箱子 | 79 | http.HandleFunc("/happycat/querycompleteachievement ", QueryCompleteAchievement) //请求点击猫箱子 |
| @@ -392,7 +395,7 @@ func QueryAutomergeInfo(w http.ResponseWriter, r *http.Request) { | @@ -392,7 +395,7 @@ func QueryAutomergeInfo(w http.ResponseWriter, r *http.Request) { | ||
| 392 | func QueryWareHouse(w http.ResponseWriter, r *http.Request) { | 395 | func QueryWareHouse(w http.ResponseWriter, r *http.Request) { |
| 393 | Uuid := 0 | 396 | Uuid := 0 |
| 394 | if len(r.Header) > 0 { | 397 | if len(r.Header) > 0 { |
| 395 | - Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | 398 | + Uuid, _ = strconv.Atoi(r.Header.Get("uid")) |
| 396 | } | 399 | } |
| 397 | if Uuid == 0 { | 400 | if Uuid == 0 { |
| 398 | SetHeader(w) | 401 | SetHeader(w) |
| @@ -404,13 +407,13 @@ func QueryWareHouse(w http.ResponseWriter, r *http.Request) { | @@ -404,13 +407,13 @@ func QueryWareHouse(w http.ResponseWriter, r *http.Request) { | ||
| 404 | s := string(result) | 407 | s := string(result) |
| 405 | logger.Info("QueryWareHouse , body:%v,uuid=%v", s, Uuid) | 408 | logger.Info("QueryWareHouse , body:%v,uuid=%v", s, Uuid) |
| 406 | 409 | ||
| 407 | - //HandlerQueryWareHouse(w, s, Uuid) | 410 | + HandlerQueryWareHouse(w, s, Uuid) |
| 408 | } | 411 | } |
| 409 | 412 | ||
| 410 | func PutCattoWareHouse(w http.ResponseWriter, r *http.Request) { | 413 | func PutCattoWareHouse(w http.ResponseWriter, r *http.Request) { |
| 411 | Uuid := 0 | 414 | Uuid := 0 |
| 412 | if len(r.Header) > 0 { | 415 | if len(r.Header) > 0 { |
| 413 | - Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | 416 | + Uuid, _ = strconv.Atoi(r.Header.Get("uid")) |
| 414 | } | 417 | } |
| 415 | if Uuid == 0 { | 418 | if Uuid == 0 { |
| 416 | SetHeader(w) | 419 | SetHeader(w) |
| @@ -422,13 +425,13 @@ func PutCattoWareHouse(w http.ResponseWriter, r *http.Request) { | @@ -422,13 +425,13 @@ func PutCattoWareHouse(w http.ResponseWriter, r *http.Request) { | ||
| 422 | s := string(result) | 425 | s := string(result) |
| 423 | logger.Info("PutCattoWareHouse , body:%v,uuid=%v", s, Uuid) | 426 | logger.Info("PutCattoWareHouse , body:%v,uuid=%v", s, Uuid) |
| 424 | 427 | ||
| 425 | - //HandlerPutCattoWareHouse(w, s, Uuid) | 428 | + HandlerPutCattoWareHouse(w, s, Uuid) |
| 426 | } | 429 | } |
| 427 | 430 | ||
| 428 | func TakeCatoutfromWareHouse(w http.ResponseWriter, r *http.Request) { | 431 | func TakeCatoutfromWareHouse(w http.ResponseWriter, r *http.Request) { |
| 429 | Uuid := 0 | 432 | Uuid := 0 |
| 430 | if len(r.Header) > 0 { | 433 | if len(r.Header) > 0 { |
| 431 | - Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | 434 | + Uuid, _ = strconv.Atoi(r.Header.Get("uid")) |
| 432 | } | 435 | } |
| 433 | if Uuid == 0 { | 436 | if Uuid == 0 { |
| 434 | SetHeader(w) | 437 | SetHeader(w) |
| @@ -440,7 +443,7 @@ func TakeCatoutfromWareHouse(w http.ResponseWriter, r *http.Request) { | @@ -440,7 +443,7 @@ func TakeCatoutfromWareHouse(w http.ResponseWriter, r *http.Request) { | ||
| 440 | s := string(result) | 443 | s := string(result) |
| 441 | logger.Info("TakeCatoutfromWareHouse , body:%v,uuid=%v", s, Uuid) | 444 | logger.Info("TakeCatoutfromWareHouse , body:%v,uuid=%v", s, Uuid) |
| 442 | 445 | ||
| 443 | - ///HandlerTakeCatoutfromWareHouse(w, s, Uuid) | 446 | + HandlerTakeCatoutfromWareHouse(w, s, Uuid) |
| 444 | } | 447 | } |
| 445 | 448 | ||
| 446 | func DoBuyCat(w http.ResponseWriter, r *http.Request) { | 449 | func DoBuyCat(w http.ResponseWriter, r *http.Request) { |
src/HttpServer/logic/logic.go
| @@ -784,19 +784,19 @@ func HandlerCompose(w http.ResponseWriter, data string, uuid int) { | @@ -784,19 +784,19 @@ func HandlerCompose(w http.ResponseWriter, data string, uuid int) { | ||
| 784 | break | 784 | break |
| 785 | } | 785 | } |
| 786 | v := uinfo.PosInfo[val] | 786 | v := uinfo.PosInfo[val] |
| 787 | - if v.Cat == 103 { | 787 | + if v.Cat == 3+REDCATIDEXTRA { |
| 788 | eastsum++ | 788 | eastsum++ |
| 789 | } | 789 | } |
| 790 | - if v.Cat == 104 { | 790 | + if v.Cat == 4+REDCATIDEXTRA { |
| 791 | westsum++ | 791 | westsum++ |
| 792 | } | 792 | } |
| 793 | - if v.Cat == 105 { | 793 | + if v.Cat == 5+REDCATIDEXTRA { |
| 794 | southsum++ | 794 | southsum++ |
| 795 | } | 795 | } |
| 796 | - if v.Cat == 106 { | 796 | + if v.Cat == 6+REDCATIDEXTRA { |
| 797 | northsum++ | 797 | northsum++ |
| 798 | } | 798 | } |
| 799 | - if v.Cat == 107 { | 799 | + if v.Cat == 7+REDCATIDEXTRA { |
| 800 | middlesum++ | 800 | middlesum++ |
| 801 | } | 801 | } |
| 802 | } | 802 | } |
| @@ -809,7 +809,7 @@ func HandlerCompose(w http.ResponseWriter, data string, uuid int) { | @@ -809,7 +809,7 @@ func HandlerCompose(w http.ResponseWriter, data string, uuid int) { | ||
| 809 | 809 | ||
| 810 | //合成了五方猫 | 810 | //合成了五方猫 |
| 811 | //获取一天招财猫配置 | 811 | //获取一天招财猫配置 |
| 812 | - cfg := jsonconf.GetRedCatConfig(100 + 2) | 812 | + cfg := jsonconf.GetRedCatConfig(REDCATIDEXTRA + 2) |
| 813 | if cfg == nil { | 813 | if cfg == nil { |
| 814 | logger.Error("HandlerCompose getcfg failed=%v", err) | 814 | logger.Error("HandlerCompose getcfg failed=%v", err) |
| 815 | resp.Code = 1 | 815 | resp.Code = 1 |
| @@ -817,7 +817,7 @@ func HandlerCompose(w http.ResponseWriter, data string, uuid int) { | @@ -817,7 +817,7 @@ func HandlerCompose(w http.ResponseWriter, data string, uuid int) { | ||
| 817 | break | 817 | break |
| 818 | } | 818 | } |
| 819 | nowtime := int(time.Now().Unix()) | 819 | nowtime := int(time.Now().Unix()) |
| 820 | - uinfo.SetCatPos(rdata.PositionList[0], 2+100, 24*3600, cfg.Money, nowtime) | 820 | + uinfo.SetCatPos(rdata.PositionList[0], 2+REDCATIDEXTRA, 24*3600, cfg.Money, nowtime) |
| 821 | //清空其他位置的猫 | 821 | //清空其他位置的猫 |
| 822 | for k, v := range rdata.PositionList { | 822 | for k, v := range rdata.PositionList { |
| 823 | if k > 0 { | 823 | if k > 0 { |
| @@ -1266,3 +1266,180 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) { | @@ -1266,3 +1266,180 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) { | ||
| 1266 | fmt.Fprint(w, string(respstr)) | 1266 | fmt.Fprint(w, string(respstr)) |
| 1267 | 1267 | ||
| 1268 | } | 1268 | } |
| 1269 | + | ||
| 1270 | +func HandlerQueryWareHouse(w http.ResponseWriter, data string, uuid int) { | ||
| 1271 | + SetHeader(w) | ||
| 1272 | + var resp QueryWareHouseResp | ||
| 1273 | + resp.Code = 0 | ||
| 1274 | + for { | ||
| 1275 | + udatastr, err := redishandler.GetRedisClient().HGet(redis.USER_WAREHOUSE_INFO, strconv.Itoa(uuid)) | ||
| 1276 | + if err != nil { | ||
| 1277 | + logger.Info("HandlerQueryWareHouse failed err=%v", err) | ||
| 1278 | + resp.Code = 1 | ||
| 1279 | + resp.Message = "get redis failed" | ||
| 1280 | + break | ||
| 1281 | + } | ||
| 1282 | + udata := new(UserWareHouseData) | ||
| 1283 | + err = json.Unmarshal([]byte(udatastr), udata) | ||
| 1284 | + if err != nil { | ||
| 1285 | + logger.Error("HandlerQueryWareHouse Unmarshal redis failed ") | ||
| 1286 | + resp.Code = 1 | ||
| 1287 | + resp.Message = "Unmarshal redis failed" | ||
| 1288 | + break | ||
| 1289 | + } | ||
| 1290 | + | ||
| 1291 | + for _, v := range udata.Info { | ||
| 1292 | + catlv := v.Warelv + REDCATIDEXTRA | ||
| 1293 | + resp.Data.CatList = append(resp.Data.CatList, catlv) | ||
| 1294 | + } | ||
| 1295 | + | ||
| 1296 | + resp.Data.CatCapacity = WAREHOUSELIMIT | ||
| 1297 | + | ||
| 1298 | + resp.Code = 0 | ||
| 1299 | + break | ||
| 1300 | + } | ||
| 1301 | + //回包 | ||
| 1302 | + respstr, _ := json.Marshal(&resp) | ||
| 1303 | + fmt.Fprint(w, string(respstr)) | ||
| 1304 | +} | ||
| 1305 | + | ||
| 1306 | +func HandlerPutCattoWareHouse(w http.ResponseWriter, data string, uuid int) { | ||
| 1307 | + SetHeader(w) | ||
| 1308 | + var resp PutWareHouseResp | ||
| 1309 | + | ||
| 1310 | + resp.Code = 0 | ||
| 1311 | + var rdata PutWareHouseReq | ||
| 1312 | + err := json.Unmarshal([]byte(data), &rdata) | ||
| 1313 | + for { | ||
| 1314 | + if err != nil { | ||
| 1315 | + logger.Error("HandlerPutCattoWareHouse json unmarshal failed=%v", err) | ||
| 1316 | + resp.Code = 1 | ||
| 1317 | + resp.Message = "json failed" | ||
| 1318 | + break | ||
| 1319 | + } | ||
| 1320 | + udatastr, err := redishandler.GetRedisClient().HGet(redis.USER_WAREHOUSE_INFO, strconv.Itoa(uuid)) | ||
| 1321 | + if err != nil { | ||
| 1322 | + logger.Info("HandlerPutCattoWareHouse failed err=%v", err) | ||
| 1323 | + resp.Code = 1 | ||
| 1324 | + resp.Message = "get redis failed" | ||
| 1325 | + break | ||
| 1326 | + } | ||
| 1327 | + udata := new(UserWareHouseData) | ||
| 1328 | + err = json.Unmarshal([]byte(udatastr), udata) | ||
| 1329 | + if err != nil { | ||
| 1330 | + logger.Error("HandlerPutCattoWareHouse Unmarshal redis failed ") | ||
| 1331 | + resp.Code = 1 | ||
| 1332 | + resp.Message = "Unmarshal redis failed" | ||
| 1333 | + break | ||
| 1334 | + } | ||
| 1335 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | ||
| 1336 | + if err != nil || uinfo == nil { | ||
| 1337 | + logger.Error("HandlerPutCattoWareHouse getuserinfo failed=%v", err) | ||
| 1338 | + resp.Code = 1 | ||
| 1339 | + resp.Message = "get userinfo failed" | ||
| 1340 | + break | ||
| 1341 | + } | ||
| 1342 | + | ||
| 1343 | + if rdata.Position < 0 || rdata.Position >= len(uinfo.PosInfo) { | ||
| 1344 | + logger.Error("HandlerPutCattoWareHouse posnotvalid failed=%v", err) | ||
| 1345 | + resp.Code = 1 | ||
| 1346 | + resp.Message = "posnotvalid" | ||
| 1347 | + break | ||
| 1348 | + } | ||
| 1349 | + | ||
| 1350 | + //合成界面红包猫的等级采用id+37的形式 | ||
| 1351 | + rtval := uinfo.tryPutToWareHouse(udata, rdata.Position, uuid) | ||
| 1352 | + if rtval == -1 { | ||
| 1353 | + logger.Error("HandlerPutCattoWareHouse warehouse full failed=%v", err) | ||
| 1354 | + resp.Code = 1 | ||
| 1355 | + resp.Message = "warehouse full" | ||
| 1356 | + break | ||
| 1357 | + } | ||
| 1358 | + | ||
| 1359 | + uinfo.CleadPos(rdata.Position) | ||
| 1360 | + uinfo.CalcGoldRate() | ||
| 1361 | + SaveUserInfo(uinfo, strconv.Itoa(uuid)) | ||
| 1362 | + | ||
| 1363 | + resp.Data.Coin.UserId = uuid | ||
| 1364 | + resp.Data.Coin.Coin = strconv.FormatInt(uinfo.Gold, 10) | ||
| 1365 | + //accrate := uinfo.Goldrate * 3 | ||
| 1366 | + resp.Data.Coin.IcomeRate = strconv.FormatInt(uinfo.Goldrate, 10) | ||
| 1367 | + resp.Data.Coin.UpdateTime = int(time.Now().Unix()) | ||
| 1368 | + resp.Code = 0 | ||
| 1369 | + | ||
| 1370 | + break | ||
| 1371 | + } | ||
| 1372 | + respstr, _ := json.Marshal(&resp) | ||
| 1373 | + fmt.Fprint(w, string(respstr)) | ||
| 1374 | +} | ||
| 1375 | + | ||
| 1376 | +func HandlerTakeCatoutfromWareHouse(w http.ResponseWriter, data string, uuid int) { | ||
| 1377 | + SetHeader(w) | ||
| 1378 | + var resp TakeWareHouseResp | ||
| 1379 | + | ||
| 1380 | + resp.Code = 0 | ||
| 1381 | + var rdata TakeWareHouseReq | ||
| 1382 | + err := json.Unmarshal([]byte(data), &rdata) | ||
| 1383 | + for { | ||
| 1384 | + if err != nil { | ||
| 1385 | + logger.Error("HandlerTakeCatoutfromWareHouse json unmarshal failed=%v", err) | ||
| 1386 | + resp.Code = 1 | ||
| 1387 | + resp.Message = "json failed" | ||
| 1388 | + break | ||
| 1389 | + } | ||
| 1390 | + udatastr, err := redishandler.GetRedisClient().HGet(redis.USER_WAREHOUSE_INFO, strconv.Itoa(uuid)) | ||
| 1391 | + if err != nil { | ||
| 1392 | + logger.Info("HandlerTakeCatoutfromWareHouse failed err=%v", err) | ||
| 1393 | + resp.Code = 1 | ||
| 1394 | + resp.Message = "get redis failed" | ||
| 1395 | + break | ||
| 1396 | + } | ||
| 1397 | + udata := new(UserWareHouseData) | ||
| 1398 | + err = json.Unmarshal([]byte(udatastr), udata) | ||
| 1399 | + if err != nil { | ||
| 1400 | + logger.Error("HandlerTakeCatoutfromWareHouse Unmarshal redis failed ") | ||
| 1401 | + resp.Code = 1 | ||
| 1402 | + resp.Message = "Unmarshal redis failed" | ||
| 1403 | + break | ||
| 1404 | + } | ||
| 1405 | + | ||
| 1406 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | ||
| 1407 | + if err != nil || uinfo == nil { | ||
| 1408 | + logger.Error("HandlerPutCattoWareHouse getuserinfo failed=%v", err) | ||
| 1409 | + resp.Code = 1 | ||
| 1410 | + resp.Message = "get userinfo failed" | ||
| 1411 | + break | ||
| 1412 | + } | ||
| 1413 | + wpos := udata.GetWarePosById(rdata.CatId) | ||
| 1414 | + if wpos == -1 { | ||
| 1415 | + logger.Error("HandlerTakeCatoutfromWareHouse wpos failed=%v", err) | ||
| 1416 | + resp.Code = 1 | ||
| 1417 | + resp.Message = "wpos" | ||
| 1418 | + break | ||
| 1419 | + } | ||
| 1420 | + winfo := udata.Info[wpos] | ||
| 1421 | + | ||
| 1422 | + uinfo.SetRedCatPos(winfo.Warelv+REDCATIDEXTRA, winfo.Time, winfo.RedPacket, winfo.StartTime) | ||
| 1423 | + | ||
| 1424 | + udata.Info[wpos].Warelv = 0 | ||
| 1425 | + udata.Info[wpos].StartTime = 0 | ||
| 1426 | + udata.Info[wpos].RedPacket = 0 | ||
| 1427 | + udata.Info[wpos].Time = 0 | ||
| 1428 | + | ||
| 1429 | + wares, _ := json.Marshal(udata) | ||
| 1430 | + redishandler.GetRedisClient().HSet(redis.USER_WAREHOUSE_INFO, strconv.Itoa(uuid), string(wares)) | ||
| 1431 | + | ||
| 1432 | + uinfo.CalcGoldRate() | ||
| 1433 | + | ||
| 1434 | + SaveUserInfo(uinfo, strconv.Itoa(uuid)) | ||
| 1435 | + resp.Data.Coin.UserId = uuid | ||
| 1436 | + resp.Data.Coin.Coin = strconv.FormatInt(uinfo.Gold, 10) | ||
| 1437 | + resp.Data.Coin.IcomeRate = strconv.FormatInt(uinfo.Goldrate, 10) | ||
| 1438 | + resp.Data.Coin.UpdateTime = int(time.Now().Unix()) | ||
| 1439 | + resp.Code = 0 | ||
| 1440 | + | ||
| 1441 | + break | ||
| 1442 | + } | ||
| 1443 | + respstr, _ := json.Marshal(&resp) | ||
| 1444 | + fmt.Fprint(w, string(respstr)) | ||
| 1445 | +} |