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 |