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
| @@ -778,6 +778,7 @@ type WaitDuboCatList struct { | @@ -778,6 +778,7 @@ type WaitDuboCatList struct { | ||
| 778 | RewardNum int //开奖号码 | 778 | RewardNum int //开奖号码 |
| 779 | List []UserCaiPiaoInfo //当期彩池人数 | 779 | List []UserCaiPiaoInfo //当期彩池人数 |
| 780 | RewardUser int //中奖者ID 如果假中奖为0 | 780 | RewardUser int //中奖者ID 如果假中奖为0 |
| 781 | + FakeNum int //当期不开奖号码 如果0表示当期真实开奖 | ||
| 781 | } | 782 | } |
| 782 | 783 | ||
| 783 | //已开奖列表 | 784 | //已开奖列表 |
src/HttpServer/logic/httpserver.go
| @@ -2,8 +2,14 @@ package logic | @@ -2,8 +2,14 @@ package logic | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "HttpServer/conf" | 4 | "HttpServer/conf" |
| 5 | + "HttpServer/jsonconf" | ||
| 6 | + "HttpServer/redishandler" | ||
| 5 | "common/logger" | 7 | "common/logger" |
| 8 | + "common/redis" | ||
| 9 | + "encoding/json" | ||
| 10 | + "math/rand" | ||
| 6 | "strconv" | 11 | "strconv" |
| 12 | + "time" | ||
| 7 | 13 | ||
| 8 | //"encoding/json" | 14 | //"encoding/json" |
| 9 | "fmt" | 15 | "fmt" |
| @@ -12,6 +18,78 @@ import ( | @@ -12,6 +18,78 @@ import ( | ||
| 12 | "net/http" | 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 | func StartHttpServe() { | 93 | func StartHttpServe() { |
| 16 | startServerHttpServe() | 94 | startServerHttpServe() |
| 17 | } | 95 | } |
src/HttpServer/logic/logic.go
| @@ -1429,6 +1429,7 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { | @@ -1429,6 +1429,7 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { | ||
| 1429 | waits.CurRound = curpool.CurRound | 1429 | waits.CurRound = curpool.CurRound |
| 1430 | waits.RewardNum = 0 | 1430 | waits.RewardNum = 0 |
| 1431 | waits.RewardUser = 0 | 1431 | waits.RewardUser = 0 |
| 1432 | + waits.FakeNum = curpool.FakeNum | ||
| 1432 | waits.List = append(waits.List, curpool.List...) | 1433 | waits.List = append(waits.List, curpool.List...) |
| 1433 | 1434 | ||
| 1434 | savestr, _ := json.Marshal(&waits) | 1435 | savestr, _ := json.Marshal(&waits) |
| @@ -1539,6 +1540,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { | @@ -1539,6 +1540,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { | ||
| 1539 | waits.CurRound = curpool.CurRound | 1540 | waits.CurRound = curpool.CurRound |
| 1540 | waits.RewardNum = 0 | 1541 | waits.RewardNum = 0 |
| 1541 | waits.RewardUser = 0 | 1542 | waits.RewardUser = 0 |
| 1543 | + waits.FakeNum = curpool.FakeNum | ||
| 1542 | waits.List = append(waits.List, curpool.List...) | 1544 | waits.List = append(waits.List, curpool.List...) |
| 1543 | 1545 | ||
| 1544 | savestr, _ := json.Marshal(&waits) | 1546 | savestr, _ := json.Marshal(&waits) |
src/HttpServer/main/main.go
| @@ -59,7 +59,7 @@ func main() { | @@ -59,7 +59,7 @@ func main() { | ||
| 59 | 59 | ||
| 60 | logic.MyInit() | 60 | logic.MyInit() |
| 61 | go logic.StartHttpServe() | 61 | go logic.StartHttpServe() |
| 62 | - //go logic.StartHttpTicker() | 62 | + go logic.StartHttpTicker() |
| 63 | time.Sleep(time.Duration(2) * time.Second) | 63 | time.Sleep(time.Duration(2) * time.Second) |
| 64 | //logic.Testsendhttp() | 64 | //logic.Testsendhttp() |
| 65 | 65 |