Commit 39e9c979dbc40e4d3a08337d773e51701fa514f7

Authored by 陆恒
1 parent 4c8655ff
Exists in master

提交

src/HttpServer/jsonconf/DailyTask.json
1 [ 1 [
2 { 2 {
3 "id": 1, 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 "id": 2, 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 "id": 3, 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 "id": 4, 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 "id": 5, 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 "id": 6, 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 "id": 7, 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 "id": 8, 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 "id": 9, 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 "id": 10, 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 \ No newline at end of file 73 \ No newline at end of file
src/HttpServer/logic/constdef.go
@@ -2,8 +2,7 @@ package logic @@ -2,8 +2,7 @@ package logic
2 2
3 //任务成就类型枚举 协议上报用 3 //任务成就类型枚举 协议上报用
4 const ( 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,7 +11,7 @@ const (
12 //DAILY_TASKTYPE_LOGIN = 1 //1 每日登录 11 //DAILY_TASKTYPE_LOGIN = 1 //1 每日登录
13 12
14 DAILY_TASKTYPE_ONLINEMIN = 1 //在线分钟数 13 DAILY_TASKTYPE_ONLINEMIN = 1 //在线分钟数
15 - DAILY_TASKTYPE_MERGE = 2 //合成次数 14 + DAILY_TASKTYPE_MERGE = 2 //猜个次数
16 DAILY_TASKTYPE_WATCHADS = 3 //观看广告次数 15 DAILY_TASKTYPE_WATCHADS = 3 //观看广告次数
17 16
18 ) 17 )
src/HttpServer/logic/datadef.go
@@ -195,15 +195,8 @@ type GettaskrewardReq struct { @@ -195,15 +195,8 @@ type GettaskrewardReq struct {
195 } 195 }
196 196
197 type GettaskrewardData struct { 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 type GettaskrewardResp struct { 201 type GettaskrewardResp struct {
209 Code int `json:"code"` 202 Code int `json:"code"`
@@ -261,6 +254,7 @@ type QuerysigndataResp struct { @@ -261,6 +254,7 @@ type QuerysigndataResp struct {
261 type FetchredbagReq struct { 254 type FetchredbagReq struct {
262 Gameid string `json:"gameid"` 255 Gameid string `json:"gameid"`
263 Channel string `json:"channel"` 256 Channel string `json:"channel"`
  257 + Bagnum int `json:"bagnum"`
264 } 258 }
265 259
266 type FetchredbagData struct { 260 type FetchredbagData struct {
@@ -383,7 +377,7 @@ type TaskList struct { @@ -383,7 +377,7 @@ type TaskList struct {
383 //其中提取次数和当日登陆在userdata中记录 377 //其中提取次数和当日登陆在userdata中记录
384 type TaskInfo struct { 378 type TaskInfo struct {
385 OnlineMin int //在线分钟数 379 OnlineMin int //在线分钟数
386 - MergeCnt int //合成次数 380 + GuessSong int //合成次数
387 WatchAds int //观看广告次数 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,8 +109,8 @@ func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) *TaskList {
109 } 109 }
110 110
111 if cfg.TaskType == DAILY_TASKTYPE_MERGE { 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 list.Taskdata[k].Taskstatus = 2 114 list.Taskdata[k].Taskstatus = 2
115 } 115 }
116 } else if cfg.TaskType == DAILY_TASKTYPE_ONLINEMIN { 116 } else if cfg.TaskType == DAILY_TASKTYPE_ONLINEMIN {
@@ -442,48 +442,57 @@ func (uinfo *UserData) HandleGetTaskReward(req *GettaskrewardReq, resp *Gettaskr @@ -442,48 +442,57 @@ func (uinfo *UserData) HandleGetTaskReward(req *GettaskrewardReq, resp *Gettaskr
442 for i := 0; i < sub; i++ { 442 for i := 0; i < sub; i++ {
443 rtype := cfg.Reward[i*2] 443 rtype := cfg.Reward[i*2]
444 rnum := cfg.Reward[i*2+1] 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 return nil 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 uniqueid := strconv.Itoa(uuid) + channel 480 uniqueid := strconv.Itoa(uuid) + channel
478 SaveUserInfo(uinfo, uniqueid) 481 SaveUserInfo(uinfo, uniqueid)
479 - return realaddnum 482 + return sunaddnum
480 } 483 }
481 484
482 func (uinfo *UserData) RewardUser(rtype int, num int, gameid string, channel string, uuid int) (int, int, int, int, int, int, int, int) { 485 func (uinfo *UserData) RewardUser(rtype int, num int, gameid string, channel string, uuid int) (int, int, int, int, int, int, int, int) {
483 logger.Info("RewardUser rtype=%v,num=%v", rtype, num) 486 logger.Info("RewardUser rtype=%v,num=%v", rtype, num)
484 switch rtype { 487 switch rtype {
485 case REWARDTYPE_STAR: 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 case REWARDTYPE_CHUI: 496 case REWARDTYPE_CHUI:
488 return 0, 0, num, 0, 0, 0, 0, 0 497 return 0, 0, num, 0, 0, 0, 0, 0
489 case REWARDTYPE_SHUA: 498 case REWARDTYPE_SHUA:
@@ -877,7 +886,7 @@ func (u *UserData) HandlePassDay(uuid int, channel string) { @@ -877,7 +886,7 @@ func (u *UserData) HandlePassDay(uuid int, channel string) {
877 u.GetCashCnt = 0 886 u.GetCashCnt = 0
878 887
879 u.Task.OnlineMin = 0 888 u.Task.OnlineMin = 0
880 - u.Task.MergeCnt = 0 889 + u.Task.GuessSong = 0
881 u.Task.WatchAds = 0 890 u.Task.WatchAds = 0
882 u.ShakeTime = SHAKELIMIT 891 u.ShakeTime = SHAKELIMIT
883 u.FetchRdBagNum = 0 892 u.FetchRdBagNum = 0
src/HttpServer/logic/logic.go
@@ -735,20 +735,15 @@ func HandlerFetchredbag(w http.ResponseWriter, data string, uuid int) { @@ -735,20 +735,15 @@ func HandlerFetchredbag(w http.ResponseWriter, data string, uuid int) {
735 break 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 uinfo.IsNew = 0 741 uinfo.IsNew = 0
747 uinfo.FetchRdBagNum++ 742 uinfo.FetchRdBagNum++
748 743
749 resp.Data.Walletgold = uinfo.RealGold 744 resp.Data.Walletgold = uinfo.RealGold
750 resp.Data.Getgoldnum = readaddgold 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,8 +989,6 @@ func HandlerUpdatetaskandachieve(w http.ResponseWriter, data string, uuid int) {
994 } 989 }
995 990
996 switch rdata.Tasktype { 991 switch rdata.Tasktype {
997 - case TASKTYPE_MERGE:  
998 - uinfo.Task.MergeCnt += rdata.Value  
999 case TASKTYPE_WATCHADS: 992 case TASKTYPE_WATCHADS:
1000 uinfo.Task.WatchAds += rdata.Value 993 uinfo.Task.WatchAds += rdata.Value
1001 } 994 }