Commit d7abe2b27eabd31027cc10178d95e5fa7ce169e6
1 parent
b51ced48
Exists in
master
欢乐招财猫
Showing
4 changed files
with
82 additions
and
1 deletions
Show diff stats
src/HttpServer/logic/datadef.go
src/HttpServer/logic/httpserver.go
| ... | ... | @@ -2,8 +2,14 @@ package logic |
| 2 | 2 | |
| 3 | 3 | import ( |
| 4 | 4 | "HttpServer/conf" |
| 5 | + "HttpServer/jsonconf" | |
| 6 | + "HttpServer/redishandler" | |
| 5 | 7 | "common/logger" |
| 8 | + "common/redis" | |
| 9 | + "encoding/json" | |
| 10 | + "math/rand" | |
| 6 | 11 | "strconv" |
| 12 | + "time" | |
| 7 | 13 | |
| 8 | 14 | //"encoding/json" |
| 9 | 15 | "fmt" |
| ... | ... | @@ -12,6 +18,78 @@ import ( |
| 12 | 18 | "net/http" |
| 13 | 19 | ) |
| 14 | 20 | |
| 21 | +func StartHttpTicker() { | |
| 22 | + ticker := time.NewTicker(time.Second * time.Duration(30)) | |
| 23 | + | |
| 24 | + go func() { | |
| 25 | + for range ticker.C { | |
| 26 | + if time.Now().Hour() == 12 { | |
| 27 | + //处理开奖 | |
| 28 | + waits := GetWaitCaiCatList() | |
| 29 | + if waits != nil { | |
| 30 | + for k, val := range waits { | |
| 31 | + if val.FakeNum != 0 { | |
| 32 | + waits[k].RewardUser = 0 | |
| 33 | + waits[k].RewardNum = val.FakeNum | |
| 34 | + } else { | |
| 35 | + //否则从奖池里面选一个 | |
| 36 | + randnum := rand.Intn(len(val.List)) | |
| 37 | + waits[k].RewardNum = val.List[randnum].ChooseNum | |
| 38 | + waits[k].RewardUser = val.List[randnum].UserId | |
| 39 | + for _, vval := range val.List { | |
| 40 | + if vval.UserId == waits[k].RewardUser { | |
| 41 | + uinfo, err := GetUserInfo(strconv.Itoa(val.List[randnum].UserId)) | |
| 42 | + if err != nil || uinfo == nil { | |
| 43 | + continue | |
| 44 | + } | |
| 45 | + //给这个玩家发奖 | |
| 46 | + cfg := jsonconf.GetRedCatConfig(48) | |
| 47 | + if cfg != nil { | |
| 48 | + | |
| 49 | + uinfo.AddRedPackect(cfg.Money) | |
| 50 | + } | |
| 51 | + | |
| 52 | + var tmp UserCaiPiaoHistory | |
| 53 | + tmp.RewardNum = waits[k].RewardNum | |
| 54 | + tmp.CatId = 48 | |
| 55 | + tmp.Round = waits[k].CurRound | |
| 56 | + tmp.Cnum = vval.ChooseNum | |
| 57 | + uinfo.CaiPiaoInfo = append(uinfo.CaiPiaoInfo, tmp) | |
| 58 | + } | |
| 59 | + | |
| 60 | + } | |
| 61 | + | |
| 62 | + } | |
| 63 | + } | |
| 64 | + | |
| 65 | + //然后将开奖记录写入已开奖 | |
| 66 | + //将已开奖加入列表 | |
| 67 | + | |
| 68 | + for _, val := range waits { | |
| 69 | + var tmp AlreadyDuboCatList | |
| 70 | + tmp.CurRound = val.CurRound | |
| 71 | + tmp.RewardNum = val.RewardNum | |
| 72 | + tmp.List = append(tmp.List, val.List...) | |
| 73 | + tmp.RewardUser = val.RewardUser | |
| 74 | + tmp.TimeStr = int(time.Now().Unix()) | |
| 75 | + savestr, err := json.Marshal(&tmp) | |
| 76 | + if err == nil { | |
| 77 | + redishandler.GetRedisClient().HSet(redis.CAIPIAOKAIJIANGHISTORY_KEY, strconv.Itoa(tmp.CurRound), string(savestr)) | |
| 78 | + } | |
| 79 | + | |
| 80 | + } | |
| 81 | + | |
| 82 | + //最后清空待开奖类别 | |
| 83 | + redishandler.GetRedisClient().Delete(redis.CAIPIAOKAIJIANGWAIT_KEY) | |
| 84 | + | |
| 85 | + } | |
| 86 | + | |
| 87 | + } | |
| 88 | + | |
| 89 | + } | |
| 90 | + }() | |
| 91 | +} | |
| 92 | + | |
| 15 | 93 | func StartHttpServe() { |
| 16 | 94 | startServerHttpServe() |
| 17 | 95 | } | ... | ... |
src/HttpServer/logic/logic.go
| ... | ... | @@ -1429,6 +1429,7 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { |
| 1429 | 1429 | waits.CurRound = curpool.CurRound |
| 1430 | 1430 | waits.RewardNum = 0 |
| 1431 | 1431 | waits.RewardUser = 0 |
| 1432 | + waits.FakeNum = curpool.FakeNum | |
| 1432 | 1433 | waits.List = append(waits.List, curpool.List...) |
| 1433 | 1434 | |
| 1434 | 1435 | savestr, _ := json.Marshal(&waits) |
| ... | ... | @@ -1539,6 +1540,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { |
| 1539 | 1540 | waits.CurRound = curpool.CurRound |
| 1540 | 1541 | waits.RewardNum = 0 |
| 1541 | 1542 | waits.RewardUser = 0 |
| 1543 | + waits.FakeNum = curpool.FakeNum | |
| 1542 | 1544 | waits.List = append(waits.List, curpool.List...) |
| 1543 | 1545 | |
| 1544 | 1546 | savestr, _ := json.Marshal(&waits) | ... | ... |
src/HttpServer/main/main.go