Commit 39e9c979dbc40e4d3a08337d773e51701fa514f7

Authored by 陆恒
1 parent 4c8655ff
Exists in master

提交

src/HttpServer/jsonconf/DailyTask.json
1 1 [
2 2 {
3 3 "id": 1,
4   - "task": "领取%d%个红包",
5   - "num": 2,
6   - "reward": [8,1],
7   - "type": 5
  4 + "type": 1,
  5 + "parameter": 5,
  6 + "desc": "在线%d分钟",
  7 + "reward": [1,500]
8 8 },
9 9 {
10 10 "id": 2,
11   - "task": "领取%d%个红包",
12   - "num": 5,
13   - "reward": [8,1],
14   - "type": 5
  11 + "type": 1,
  12 + "parameter": 10,
  13 + "desc": "在线%d分钟",
  14 + "reward": [1,1000]
15 15 },
16 16 {
17 17 "id": 3,
18   - "task": "领取%d%个红包",
19   - "num": 7,
20   - "reward": [8,1],
21   - "type": 5
  18 + "type": 1,
  19 + "parameter": 30,
  20 + "desc": "在线%d分钟",
  21 + "reward": [1,2000]
22 22 },
23 23 {
24 24 "id": 4,
25   - "task": "领取%d%个红包",
26   - "num": 10,
27   - "reward": [8,1],
28   - "type": 5
  25 + "type": 1,
  26 + "parameter": 60,
  27 + "desc": "在线%d分钟",
  28 + "reward": [1,5000]
29 29 },
30 30 {
31 31 "id": 5,
32   - "task": "领取%d%个红包",
33   - "num": 15,
34   - "reward": [8,1],
35   - "type": 5
  32 + "type": 2,
  33 + "parameter": 5,
  34 + "desc": "答对%d首歌曲",
  35 + "reward": [1,500]
36 36 },
37 37 {
38 38 "id": 6,
39   - "task": "领取%d%个红包",
40   - "num": 20,
41   - "reward": [8,1],
42   - "type": 5
  39 + "type": 2,
  40 + "parameter": 10,
  41 + "desc": "答对%d首歌曲",
  42 + "reward": [1,1000]
43 43 },
44 44 {
45 45 "id": 7,
46   - "task": "领取%d%个红包",
47   - "num": 25,
48   - "reward": [8,1],
49   - "type": 5
  46 + "type": 2,
  47 + "parameter": 20,
  48 + "desc": "答对%d首歌曲",
  49 + "reward": [1,2000]
50 50 },
51 51 {
52 52 "id": 8,
53   - "task": "领取%d%个红包",
54   - "num": 30,
55   - "reward": [8,1],
56   - "type": 5
  53 + "type": 2,
  54 + "parameter": 50,
  55 + "desc": "答对%d首歌曲",
  56 + "reward": [1,5000]
57 57 },
58 58 {
59 59 "id": 9,
60   - "task": "领取%d%个红包",
61   - "num": 35,
62   - "reward": [8,1],
63   - "type": 5
  60 + "type": 3,
  61 + "parameter": 5,
  62 + "desc": "观看广告%d次",
  63 + "reward": [1,1000]
64 64 },
65 65 {
66 66 "id": 10,
67   - "task": "领取%d%个红包",
68   - "num": 40,
69   - "reward": [8,1],
70   - "type": 5
71   - },
72   - {
73   - "id": 11,
74   - "task": "领取%d%个红包",
75   - "num": 45,
76   - "reward": [8,1],
77   - "type": 5
78   - },
79   - {
80   - "id": 12,
81   - "task": "领取%d%个红包",
82   - "num": 50,
83   - "reward": [8,1],
84   - "type": 5
85   - },
86   - {
87   - "id": 13,
88   - "task": "今日通过%d%关",
89   - "num": 2,
90   - "reward": [8,1],
91   - "type": 3
92   - },
93   - {
94   - "id": 14,
95   - "task": "今日通过%d%关",
96   - "num": 4,
97   - "reward": [8,1],
98   - "type": 3
99   - },
100   - {
101   - "id": 15,
102   - "task": "今日通过%d%关",
103   - "num": 6,
104   - "reward": [8,1],
105   - "type": 3
106   - },
107   - {
108   - "id": 16,
109   - "task": "今日通过%d%关",
110   - "num": 8,
111   - "reward": [8,1],
112   - "type": 3
113   - },
114   - {
115   - "id": 17,
116   - "task": "今日通过%d%关",
117   - "num": 10,
118   - "reward": [8,1],
119   - "type": 3
120   - },
121   - {
122   - "id": 18,
123   - "task": "今日通过%d%关",
124   - "num": 15,
125   - "reward": [8,1],
126   - "type": 3
127   - },
128   - {
129   - "id": 19,
130   - "task": "今日通过%d%关",
131   - "num": 20,
132   - "reward": [8,1],
133   - "type": 3
134   - },
135   - {
136   - "id": 20,
137   - "task": "今日通过%d%关",
138   - "num": 25,
139   - "reward": [8,1],
140   - "type": 3
141   - },
142   - {
143   - "id": 21,
144   - "task": "今日通过%d%关",
145   - "num": 30,
146   - "reward": [8,1],
147   - "type": 3
148   - },
149   - {
150   - "id": 22,
151   - "task": "今日通过%d%关",
152   - "num": 40,
153   - "reward": [8,1],
154   - "type": 3
155   - },
156   - {
157   - "id": 23,
158   - "task": "今日通过%d%关",
159   - "num": 50,
160   - "reward": [8,1],
161   - "type": 3
162   - },
163   - {
164   - "id": 24,
165   - "task": "使用%d%次道具",
166   - "num": 2,
167   - "reward": [8,1],
168   - "type": 4
169   - },
170   - {
171   - "id": 25,
172   - "task": "使用%d%次道具",
173   - "num": 4,
174   - "reward": [8,1],
175   - "type": 4
176   - },
177   - {
178   - "id": 26,
179   - "task": "使用%d%次道具",
180   - "num": 6,
181   - "reward": [8,1],
182   - "type": 4
183   - },
184   - {
185   - "id": 27,
186   - "task": "使用%d%次道具",
187   - "num": 8,
188   - "reward": [8,1],
189   - "type": 4
190   - },
191   - {
192   - "id": 28,
193   - "task": "使用%d%次道具",
194   - "num": 10,
195   - "reward": [8,1],
196   - "type": 4
197   - },
198   - {
199   - "id": 29,
200   - "task": "使用%d%次道具",
201   - "num": 15,
202   - "reward": [8,1],
203   - "type": 4
204   - },
205   - {
206   - "id": 30,
207   - "task": "使用%d%次道具",
208   - "num": 20,
209   - "reward": [8,1],
210   - "type": 4
211   - },
212   - {
213   - "id": 31,
214   - "task": "使用%d%次道具",
215   - "num": 25,
216   - "reward": [8,1],
217   - "type": 4
218   - },
219   - {
220   - "id": 32,
221   - "task": "使用%d%次道具",
222   - "num": 30,
223   - "reward": [8,1],
224   - "type": 4
225   - },
226   - {
227   - "id": 33,
228   - "task": "使用%d%次道具",
229   - "num": 40,
230   - "reward": [8,1],
231   - "type": 4
232   - },
233   - {
234   - "id": 34,
235   - "task": "使用%d%次道具",
236   - "num": 50,
237   - "reward": [8,1],
238   - "type": 4
239   - },
240   - {
241   - "id": 35,
242   - "task": "累计在线%d%分钟",
243   - "num": 5,
244   - "reward": [8,1],
245   - "type": 7
246   - },
247   - {
248   - "id": 36,
249   - "task": "累计在线%d%分钟",
250   - "num": 10,
251   - "reward": [8,1],
252   - "type": 7
253   - },
254   - {
255   - "id": 37,
256   - "task": "累计在线%d%分钟",
257   - "num": 15,
258   - "reward": [8,1],
259   - "type": 7
260   - },
261   - {
262   - "id": 38,
263   - "task": "累计在线%d%分钟",
264   - "num": 20,
265   - "reward": [8,1],
266   - "type": 7
267   - },
268   - {
269   - "id": 39,
270   - "task": "累计在线%d%分钟",
271   - "num": 25,
272   - "reward": [8,1],
273   - "type": 7
274   - },
275   - {
276   - "id": 40,
277   - "task": "累计在线%d%分钟",
278   - "num": 30,
279   - "reward": [8,1],
280   - "type": 7
281   - },
282   - {
283   - "id": 41,
284   - "task": "累计在线%d%分钟",
285   - "num": 35,
286   - "reward": [8,1],
287   - "type": 7
288   - },
289   - {
290   - "id": 42,
291   - "task": "累计在线%d%分钟",
292   - "num": 40,
293   - "reward": [8,1],
294   - "type": 7
295   - },
296   - {
297   - "id": 43,
298   - "task": "累计在线%d%分钟",
299   - "num": 45,
300   - "reward": [8,1],
301   - "type": 7
302   - },
303   - {
304   - "id": 44,
305   - "task": "累计在线%d%分钟",
306   - "num": 50,
307   - "reward": [8,1],
308   - "type": 7
309   - },
310   - {
311   - "id": 45,
312   - "task": "累计在线%d%分钟",
313   - "num": 55,
314   - "reward": [8,1],
315   - "type": 7
316   - },
317   - {
318   - "id": 46,
319   - "task": "累计在线%d%分钟",
320   - "num": 60,
321   - "reward": [8,1],
322   - "type": 7
323   - },
324   - {
325   - "id": 47,
326   - "task": "累计在线%d%分钟",
327   - "num": 70,
328   - "reward": [8,1],
329   - "type": 7
330   - },
331   - {
332   - "id": 48,
333   - "task": "累计在线%d%分钟",
334   - "num": 80,
335   - "reward": [8,1],
336   - "type": 7
337   - },
338   - {
339   - "id": 49,
340   - "task": "累计在线%d%分钟",
341   - "num": 90,
342   - "reward": [8,1],
343   - "type": 7
344   - },
345   - {
346   - "id": 50,
347   - "task": "每日登录",
348   - "num": 1,
349   - "reward": [8,1],
350   - "type": 1
  67 + "type": 3,
  68 + "parameter": 10,
  69 + "desc": "观看广告%d次",
  70 + "reward": [1,5000]
351 71 }
352 72 ]
353 73 \ No newline at end of file
... ...
src/HttpServer/logic/constdef.go
... ... @@ -2,8 +2,7 @@ package logic
2 2  
3 3 //任务成就类型枚举 协议上报用
4 4 const (
5   - TASKTYPE_MERGE = 1 //表示合成
6   - TASKTYPE_WATCHADS = 2 //表示管看广告次数
  5 + TASKTYPE_WATCHADS = 3 //表示管看广告次数
7 6  
8 7 )
9 8  
... ... @@ -12,7 +11,7 @@ const (
12 11 //DAILY_TASKTYPE_LOGIN = 1 //1 每日登录
13 12  
14 13 DAILY_TASKTYPE_ONLINEMIN = 1 //在线分钟数
15   - DAILY_TASKTYPE_MERGE = 2 //合成次数
  14 + DAILY_TASKTYPE_MERGE = 2 //猜个次数
16 15 DAILY_TASKTYPE_WATCHADS = 3 //观看广告次数
17 16  
18 17 )
... ...
src/HttpServer/logic/datadef.go
... ... @@ -195,15 +195,8 @@ type GettaskrewardReq struct {
195 195 }
196 196  
197 197 type GettaskrewardData struct {
198   - Lv int `json:"lv"`
199   - Costtime int `json:"costtime"`
200   - Rewardstar int `json:"rewardstar"`
201   - Chuiitem int `json:"chuiitem"`
202   - Shuaitem int `json:"shuaitem"`
203   - Swapitem int `json:"swapitem"`
204   - Eliminitem int `json:"eliminitem"`
205   - Goldnum int `json:"goldnum"`
206   - Addgold int `json:"addgold"`
  198 + Totalrednum int `json:"totalrednum"`
  199 + Getrednum int `json:"getrednum"`
207 200 }
208 201 type GettaskrewardResp struct {
209 202 Code int `json:"code"`
... ... @@ -261,6 +254,7 @@ type QuerysigndataResp struct {
261 254 type FetchredbagReq struct {
262 255 Gameid string `json:"gameid"`
263 256 Channel string `json:"channel"`
  257 + Bagnum int `json:"bagnum"`
264 258 }
265 259  
266 260 type FetchredbagData struct {
... ... @@ -383,7 +377,7 @@ type TaskList struct {
383 377 //其中提取次数和当日登陆在userdata中记录
384 378 type TaskInfo struct {
385 379 OnlineMin int //在线分钟数
386   - MergeCnt int //合成次数
  380 + GuessSong int //合成次数
387 381 WatchAds int //观看广告次数
388 382 }
389 383  
... ...
src/HttpServer/logic/function.go
... ... @@ -109,8 +109,8 @@ func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) *TaskList {
109 109 }
110 110  
111 111 if cfg.TaskType == DAILY_TASKTYPE_MERGE {
112   - list.Taskdata[k].Taskprogress = uinfo.Task.MergeCnt
113   - if uinfo.Task.MergeCnt >= cfg.Num {
  112 + list.Taskdata[k].Taskprogress = uinfo.Task.GuessSong
  113 + if uinfo.Task.GuessSong >= cfg.Num {
114 114 list.Taskdata[k].Taskstatus = 2
115 115 }
116 116 } else if cfg.TaskType == DAILY_TASKTYPE_ONLINEMIN {
... ... @@ -442,48 +442,57 @@ func (uinfo *UserData) HandleGetTaskReward(req *GettaskrewardReq, resp *Gettaskr
442 442 for i := 0; i < sub; i++ {
443 443 rtype := cfg.Reward[i*2]
444 444 rnum := cfg.Reward[i*2+1]
445   - r1, r2, r3, r4, r5, r6, r7, r8 := uinfo.RewardUser(rtype, rnum, req.Gameid, req.Channel, uuid)
446   - if resp.Data.Lv != r1 {
447   - resp.Data.Lv = r1
448   - resp.Data.Costtime = uinfo.UpLvCostTime / 3600
449   - }
450   - resp.Data.Rewardstar += r2
451   - resp.Data.Chuiitem += r3
452   - resp.Data.Shuaitem += r4
453   - resp.Data.Swapitem += r5
454   - resp.Data.Eliminitem += r6
455   - resp.Data.Goldnum = r7
456   - resp.Data.Addgold = r8
  445 + _, _, _, _, _, _, r7, r8 := uinfo.RewardUser(rtype, rnum, req.Gameid, req.Channel, uuid)
  446 + resp.Data.Getrednum = r8
  447 + resp.Data.Totalrednum = r7
  448 + break
457 449 }
458 450  
459 451 return nil
460 452 }
461 453  
462 454 //领取红包 按次数计算
463   -func (uinfo *UserData) FetchRedPacket(gameid string, channel string, uuid int) int {
464   - uinfo.FetchRedCnt++
465   - addgold := jsonconf.GetRedpacketNum(uinfo.FetchRedCnt)
466   - if addgold == 0 {
467   - logger.Error("FetchRedPacket failed addgold=0")
468   - return 0
469   - }
  455 +func (uinfo *UserData) FetchRedPacket(gameid string, channel string, uuid int,num int) int {
  456 + sunnum := num
  457 + sunaddnum := 0
  458 + for {
  459 + if sunnum == 0 {
  460 + break
  461 + }
  462 + uinfo.FetchRedCnt++
  463 + sunnum--
  464 + addgold := jsonconf.GetRedpacketNum(uinfo.FetchRedCnt)
  465 + if addgold == 0 {
  466 + logger.Error("FetchRedPacket failed addgold=0")
  467 + continue
  468 + }
470 469  
471   - goldnum, realaddnum, err := AddCoinToSdk(uuid, addgold, gameid, channel, 102)
472   - if err != nil {
473   - logger.Error("RewardUser failer err=%v", err)
  470 + goldnum, realaddnum, err := AddCoinToSdk(uuid, addgold, gameid, channel, 102)
  471 + if err != nil {
  472 + logger.Error("RewardUser failer err=%v", err)
  473 + continue
  474 + }
  475 + sunaddnum += realaddnum
  476 + uinfo.RealGold = goldnum
474 477 }
475   - uinfo.RealGold = goldnum
  478 +
476 479  
477 480 uniqueid := strconv.Itoa(uuid) + channel
478 481 SaveUserInfo(uinfo, uniqueid)
479   - return realaddnum
  482 + return sunaddnum
480 483 }
481 484  
482 485 func (uinfo *UserData) RewardUser(rtype int, num int, gameid string, channel string, uuid int) (int, int, int, int, int, int, int, int) {
483 486 logger.Info("RewardUser rtype=%v,num=%v", rtype, num)
484 487 switch rtype {
485 488 case REWARDTYPE_STAR:
486   - return 0, num, 0, 0, 0, 0, 0, 0
  489 + readadd := num / 100
  490 + goldnum, _, err := AddCoinToSdk(uuid, readadd, gameid, channel, 102)
  491 + if err != nil {
  492 + logger.Error("RewardUser failer err=%v", err)
  493 + }
  494 + uinfo.RealGold = goldnum
  495 + return 0, 0, 0, 0, 0, 0, uinfo.RealGold, readadd
487 496 case REWARDTYPE_CHUI:
488 497 return 0, 0, num, 0, 0, 0, 0, 0
489 498 case REWARDTYPE_SHUA:
... ... @@ -877,7 +886,7 @@ func (u *UserData) HandlePassDay(uuid int, channel string) {
877 886 u.GetCashCnt = 0
878 887  
879 888 u.Task.OnlineMin = 0
880   - u.Task.MergeCnt = 0
  889 + u.Task.GuessSong = 0
881 890 u.Task.WatchAds = 0
882 891 u.ShakeTime = SHAKELIMIT
883 892 u.FetchRdBagNum = 0
... ...
src/HttpServer/logic/logic.go
... ... @@ -735,20 +735,15 @@ func HandlerFetchredbag(w http.ResponseWriter, data string, uuid int) {
735 735 break
736 736 }
737 737  
738   - if uinfo.FetchRdBagNum >= DAILYFETCHREDBAGNUMLIMIT {
739   - resp.Message = "当日;领取红包次数已达上限"
740   - resp.Code = ERROR_SRV_ERROR
741   - break
742   - }
743 738  
744   - readaddgold := uinfo.FetchRedPacket(rdata.Gameid, rdata.Channel, uuid)
  739 + readaddgold := uinfo.FetchRedPacket(rdata.Gameid, rdata.Channel, uuid,rdata.Bagnum)
745 740  
746 741 uinfo.IsNew = 0
747 742 uinfo.FetchRdBagNum++
748 743  
749 744 resp.Data.Walletgold = uinfo.RealGold
750 745 resp.Data.Getgoldnum = readaddgold
751   - resp.Data.Leftredbagnum = DAILYFETCHREDBAGNUMLIMIT - uinfo.FetchRdBagNum
  746 + //resp.Data.Leftredbagnum = DAILYFETCHREDBAGNUMLIMIT - uinfo.FetchRdBagNum
752 747  
753 748  
754 749 //保存数据
... ... @@ -994,8 +989,6 @@ func HandlerUpdatetaskandachieve(w http.ResponseWriter, data string, uuid int) {
994 989 }
995 990  
996 991 switch rdata.Tasktype {
997   - case TASKTYPE_MERGE:
998   - uinfo.Task.MergeCnt += rdata.Value
999 992 case TASKTYPE_WATCHADS:
1000 993 uinfo.Task.WatchAds += rdata.Value
1001 994 }
... ...