Commit ce00eaaf89c83ac07d638f3c49c63c1cfe59690d

Authored by 陆恒
1 parent c297a7a5
Exists in master

提交一波

src/HttpServer/jsonconf/SignConfig.json
1   -{
2   - "rule": 0,
3   - "round": 100,
4   - "reward": {
5   - "reward1": [
6   - {
7   - "id": 1,
8   - "num": 300
9   - },
10   - {
11   - "id": 2,
12   - "num": 300
13   - },
14   - {
15   - "id": 3,
16   - "num": 350
17   - },
18   - {
19   - "id": 4,
20   - "num": 350
21   - },
22   - {
23   - "id": 5,
24   - "num": 400
25   - },
26   - {
27   - "id": 6,
28   - "num": 400
29   - },
30   - {
31   - "id": 7,
32   - "num": 500
33   - }
34   - ],
35   - "reward2": [
36   - {
37   - "id": 1,
38   - "num": 10
39   - },
40   - {
41   - "id": 2,
42   - "num": 10
43   - },
44   - {
45   - "id": 3,
46   - "num": 10
47   - },
48   - {
49   - "id": 4,
50   - "num": 15
51   - },
52   - {
53   - "id": 5,
54   - "num": 15
55   - },
56   - {
57   - "id": 6,
58   - "num": 15
59   - },
60   - {
61   - "id": 7,
62   - "num": 20
63   - }
64   - ]
  1 +[
  2 + {
  3 + "id": 1,
  4 + "day": 1,
  5 + "reward": 1000
  6 + },
  7 + {
  8 + "id": 2,
  9 + "day": 2,
  10 + "reward": 5000
  11 + },
  12 + {
  13 + "id": 3,
  14 + "day": 3,
  15 + "reward": 1500
  16 + },
  17 + {
  18 + "id": 4,
  19 + "day": 4,
  20 + "reward": 2000
  21 + },
  22 + {
  23 + "id": 5,
  24 + "day": 5,
  25 + "reward": 2500
  26 + },
  27 + {
  28 + "id": 6,
  29 + "day": 6,
  30 + "reward": 3000
  31 + },
  32 + {
  33 + "id": 7,
  34 + "day": 7,
  35 + "reward": 10000
65 36 }
66   -}
67 37 \ No newline at end of file
  38 +]
68 39 \ No newline at end of file
... ...
src/HttpServer/jsonconf/jsonconf.go
... ... @@ -62,9 +62,9 @@ type SignReward struct {
62 62 }
63 63  
64 64 type SignConfigDesc struct {
65   - Rule int `json:"rule"`
66   - Round int `json:"round"`
67   - Reward SignReward `json:"reward"`
  65 + Id int `json:"id"`
  66 + Day int `json:"day"`
  67 + Reward int `json:"reward"`
68 68 }
69 69  
70 70 type ActiveWithdrawConfigDesc struct {
... ... @@ -89,7 +89,7 @@ type GameConfig struct {
89 89 MoneyBoxConfig []MoneyBoxLevelDesc
90 90 MoneyBoxTimeConfig []MoneyBoxTimesDesc
91 91 WithDrawConfig []WithDrawDesc
92   - SignConfig SignConfigDesc
  92 + SignConfig []SignConfigDesc
93 93 ActiveWithdrawConfig []ActiveWithdrawConfigDesc
94 94 RedpacketConfig []RedpacketConfigDesc
95 95 }
... ... @@ -98,25 +98,13 @@ func GetJsonConf() *GameConfig {
98 98 return g_jsonconf
99 99 }
100 100  
101   -func GetSignConfig(round, daynum int) *SignRewardDetail {
102   - if round+1 > g_jsonconf.SignConfig.Round {
103   - //取reward2
104   - if daynum > len(g_jsonconf.SignConfig.Reward.Reward2) {
105   - logger.Error("GetSignConfig failed")
106   - return nil
  101 +func GetsignConfig(id int) *SignConfigDesc {
  102 + for _, v := range g_jsonconf.SignConfig {
  103 + if v.Id == id {
  104 + return &v
107 105 }
108   -
109   - return &g_jsonconf.SignConfig.Reward.Reward2[daynum-1]
110   -
111   - } else {
112   - //取reward1
113   - if daynum > len(g_jsonconf.SignConfig.Reward.Reward1) {
114   - logger.Error("GetSignConfig failed")
115   - return nil
116   - }
117   -
118   - return &g_jsonconf.SignConfig.Reward.Reward1[daynum-1]
119 106 }
  107 + return nil
120 108 }
121 109  
122 110 func GetRedpacketNum(id int) int {
... ...
src/HttpServer/logic/constdef.go
... ... @@ -65,4 +65,5 @@ const (
65 65 READGOLDMULTI = 700 //阅读量到金币转化倍数
66 66 SDKOPGOLD_TYPEWE = 302 //微转发金币类型
67 67 SHAKELIMIT = 20 //摇一摇限制次数
  68 + DAILYFETCHREDBAGNUMLIMIT = 50//每天红包领取次数限制
68 69 )
... ...
src/HttpServer/logic/datadef.go
... ... @@ -24,6 +24,8 @@ type UserLoginData struct {
24 24 Sumloginday int `json:"sumloginday"`
25 25 Shakeleftcnt int `json:"shakeleftcnt"`
26 26 IsNew int `json:"isnew"`
  27 + Issignshow int `json:"issignshow"`
  28 + Leftredbagnum int `json:"leftredbagnum"`
27 29 }
28 30  
29 31 type UserLoginResp struct {
... ... @@ -226,9 +228,8 @@ type GetnewlevelrewardResp struct {
226 228 }
227 229  
228 230 type QuerysigndataData struct {
229   - Signround int `json:"signround"`
230   - Continuessign int `json:"continuessign"`
231   - IssignToday int `json:"issignToday"`
  231 + Curday int `json:"curday"`
  232 + Issigntaday int `json:"issigntaday"`
232 233 }
233 234  
234 235 type QueryReadGoldData struct {
... ... @@ -266,6 +267,7 @@ type FetchredbagReq struct {
266 267 type FetchredbagData struct {
267 268 Getgoldnum int `json:"getgoldnum"`
268 269 Walletgold int `json:"walletgold"`
  270 + Leftredbagnum int `json:"leftredbagnum"`
269 271 }
270 272 type FetchredbagResp struct {
271 273 Code int `json:"code"`
... ... @@ -342,7 +344,10 @@ type UsersignReq struct {
342 344 }
343 345  
344 346 type UsersignData struct {
345   - Goldnum int `json:"goldnum"`
  347 + Curday int `json:"curday"`
  348 + Issigntaday int `json:"issigntaday"`
  349 + Walletgold int `json:"walletgold"`
  350 + Getgold int `json:"getgold"`
346 351 }
347 352 type UsersignResp struct {
348 353 Code int `json:"code"`
... ... @@ -466,6 +471,7 @@ type UserData struct {
466 471 Hfen int64 //当日最高积分 用于计算排行榜
467 472 Nickname string //逆臣
468 473 HeadUrl string //头像
  474 + SignShow int //是否弹出签到
469 475 WithDraw WithDrawInfo //提现记录信息
470 476 //SpecialWithDraw WithDrawInfo //活跃提现记录信息
471 477 Task TaskInfo //玩家任务完成相关信息
... ...
src/HttpServer/logic/function.go
... ... @@ -715,6 +715,8 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int, uniqueuid s
715 715 resp.Data.Sumloginday = initdata.SumLoginDay
716 716 resp.Data.Shakeleftcnt = initdata.ShakeTime
717 717 resp.Data.IsNew = initdata.IsNew
  718 + resp.Data.Issignshow = initdata.SignShow
  719 + resp.Data.Leftredbagnum = DAILYFETCHREDBAGNUMLIMIT - initdata.FetchRdBagNum
718 720  
719 721 err := SaveUserInfo(&initdata, uniqueuid)
720 722 logger.Info("InitUserInfoddddd uinfo=%+v", initdata)
... ... @@ -913,6 +915,7 @@ func (u *UserData) HandlePassDay(uuid int, channel string) {
913 915 u.ShakeTime = SHAKELIMIT
914 916 u.FetchRdBagNum = 0
915 917 u.Hfen = 0
  918 + u.SignShow = 1
916 919  
917 920 //任务也需要处理
918 921 /*tasklist, err := GetTaskInfo(u.Userid, 1)
... ... @@ -1006,6 +1009,8 @@ func GetUserData(uuid int, uniqueuid string, req *UserLoginReq, resp *UserLoginR
1006 1009 resp.Data.Sumloginday = data.SumLoginDay
1007 1010 resp.Data.Shakeleftcnt = data.ShakeTime
1008 1011 resp.Data.IsNew = data.IsNew
  1012 + resp.Data.Issignshow = data.SignShow
  1013 + resp.Data.Leftredbagnum = DAILYFETCHREDBAGNUMLIMIT - data.FetchRdBagNum
1009 1014 return nil
1010 1015 }
1011 1016  
... ...
src/HttpServer/logic/httpserver.go
... ... @@ -70,7 +70,7 @@ func startServerHttpServe() {
70 70 http.HandleFunc("/sixstar/gettaskreward", Gettaskreward) //领取任务或者成就奖励
71 71 http.HandleFunc("/sixstar/getnewlevelreward", Getnewlevelreward) //领取任务或者成就奖励
72 72 http.HandleFunc("/sixstar/querysigndata", Querysigndata) //获取签到数据
73   - http.HandleFunc("/sixstar/usersign", Usersign) //玩家签到
  73 + http.HandleFunc("/sixstar/dosign", Usersign) //玩家签到
74 74 http.HandleFunc("/sixstar/fetchredbag", Fetchredbag) //领取红包
75 75 http.HandleFunc("/sixstar/savadata", Savadata) //保存数据
76 76 http.HandleFunc("/sixstar/getdata", Getdata) //获取数据
... ...
src/HttpServer/logic/logic.go
... ... @@ -385,9 +385,8 @@ func HandlerQuerysigndata(w http.ResponseWriter, data string, uuid int) {
385 385 //此处要处理一下跨天逻辑
386 386 uinfo.HandlePassDay(uuid, rdata.Channel)
387 387  
388   - resp.Data.Continuessign = uinfo.SignSum
389   - resp.Data.IssignToday = uinfo.IsSignToday
390   - resp.Data.Signround = uinfo.SignRound
  388 + resp.Data.Curday = uinfo.SignSum
  389 + resp.Data.Issigntaday = uinfo.IsSignToday
391 390  
392 391 logger.Info("HandlerQuerysigndata resp=%v", resp)
393 392  
... ... @@ -740,13 +739,21 @@ func HandlerFetchredbag(w http.ResponseWriter, data string, uuid int) {
740 739 break
741 740 }
742 741  
  742 + if uinfo.FetchRdBagNum >= DAILYFETCHREDBAGNUMLIMIT {
  743 + resp.Message = "当日;领取红包次数已达上限"
  744 + resp.Code = ERROR_SRV_ERROR
  745 + break
  746 + }
  747 +
743 748 readaddgold := uinfo.FetchRedPacket(rdata.Gameid, rdata.Channel, uuid)
744 749  
  750 + uinfo.IsNew = 0
  751 + uinfo.FetchRdBagNum++
  752 +
745 753 resp.Data.Walletgold = uinfo.RealGold
746 754 resp.Data.Getgoldnum = readaddgold
  755 + resp.Data.Leftredbagnum = DAILYFETCHREDBAGNUMLIMIT - uinfo.FetchRdBagNum
747 756  
748   - uinfo.IsNew = 0
749   - uinfo.FetchRdBagNum++
750 757  
751 758 //保存数据
752 759 err = SaveUserInfo(uinfo, uniqueuuid)
... ... @@ -802,7 +809,7 @@ func HandlerUsersign(w http.ResponseWriter, data string, uuid int) {
802 809 }
803 810  
804 811 //获取配置
805   - cfg := jsonconf.GetSignConfig(uinfo.SignRound, uinfo.SignSum)
  812 + cfg := jsonconf.GetsignConfig(uinfo.SignRound)
806 813 if cfg == nil {
807 814 uinfo.SignSum--
808 815 logger.Error("GetSignConfig failed err=%v", err)
... ... @@ -811,8 +818,8 @@ func HandlerUsersign(w http.ResponseWriter, data string, uuid int) {
811 818 break
812 819 }
813 820  
814   - //uinfo.RealGold =
815   - goldnum, _, err := AddCoinToSdk(uuid, cfg.Num, rdata.Gameid, rdata.Channel, 107)
  821 + addnum := cfg.Reward / 100
  822 + goldnum, _, err := AddCoinToSdk(uuid, addnum, rdata.Gameid, rdata.Channel, 107)
816 823 if err != nil {
817 824 uinfo.SignSum--
818 825 logger.Error("AddCoinToSdk failed err=%v", err)
... ... @@ -821,11 +828,16 @@ func HandlerUsersign(w http.ResponseWriter, data string, uuid int) {
821 828 break
822 829 }
823 830  
  831 + uinfo.SignShow = 0
  832 +
824 833 uinfo.IsSignToday = 1
825 834 uinfo.RealGold = goldnum
826 835 //uinfo.RealGold += cfg.Num
827 836  
828   - resp.Data.Goldnum = uinfo.RealGold
  837 + resp.Data.Curday = uinfo.SignSum
  838 + resp.Data.Issigntaday = uinfo.IsSignToday
  839 + resp.Data.Walletgold = goldnum
  840 + resp.Data.Getgold = cfg.Reward
829 841  
830 842 //保存数据
831 843 err = SaveUserInfo(uinfo, uniqueuuid)
... ...