Commit d7abe2b27eabd31027cc10178d95e5fa7ce169e6

Authored by 陆恒
1 parent b51ced48
Exists in master

欢乐招财猫

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