Commit 38dd24cf52fefa02a2235ea21b2845eb21540d99
1 parent
ca505944
Exists in
ver2.3.0
提交
Showing
5 changed files
with
352 additions
and
47 deletions
Show diff stats
src/HttpServer/jsonconf/DailyTask.json
... | ... | @@ -2,99 +2,351 @@ |
2 | 2 | { |
3 | 3 | "id": 1, |
4 | 4 | "task": "领取%d%个红包", |
5 | - "num": 5, | |
6 | - "reward": [8,1], | |
5 | + "num": 2, | |
6 | + "reward": "[8,1]", | |
7 | 7 | "type": 5 |
8 | 8 | }, |
9 | 9 | { |
10 | 10 | "id": 2, |
11 | - "task": "使用%d%次道具", | |
11 | + "task": "领取%d%个红包", | |
12 | 12 | "num": 5, |
13 | - "reward": [8,1], | |
14 | - "type": 4 | |
13 | + "reward": "[8,1]", | |
14 | + "type": 5 | |
15 | 15 | }, |
16 | 16 | { |
17 | 17 | "id": 3, |
18 | - "task": "今日通过%d%关", | |
19 | - "num": 5, | |
20 | - "reward": [8,1], | |
21 | - "type": 3 | |
18 | + "task": "领取%d%个红包", | |
19 | + "num": 7, | |
20 | + "reward": "[8,1]", | |
21 | + "type": 5 | |
22 | 22 | }, |
23 | 23 | { |
24 | 24 | "id": 4, |
25 | - "task": "累计在线%d%分钟", | |
26 | - "num": 5, | |
27 | - "reward": [8,1], | |
28 | - "type": 7 | |
25 | + "task": "领取%d%个红包", | |
26 | + "num": 10, | |
27 | + "reward": "[8,1]", | |
28 | + "type": 5 | |
29 | 29 | }, |
30 | 30 | { |
31 | 31 | "id": 5, |
32 | 32 | "task": "领取%d%个红包", |
33 | 33 | "num": 15, |
34 | - "reward": [8,1], | |
34 | + "reward": "[8,1]", | |
35 | 35 | "type": 5 |
36 | 36 | }, |
37 | 37 | { |
38 | 38 | "id": 6, |
39 | - "task": "使用%d%次道具", | |
40 | - "num": 10, | |
41 | - "reward": [8,1], | |
42 | - "type": 4 | |
39 | + "task": "领取%d%个红包", | |
40 | + "num": 20, | |
41 | + "reward": "[8,1]", | |
42 | + "type": 5 | |
43 | 43 | }, |
44 | 44 | { |
45 | 45 | "id": 7, |
46 | - "task": "今日通过%d%关", | |
47 | - "num": 10, | |
48 | - "reward": [8,1], | |
49 | - "type": 3 | |
46 | + "task": "领取%d%个红包", | |
47 | + "num": 25, | |
48 | + "reward": "[8,1]", | |
49 | + "type": 5 | |
50 | 50 | }, |
51 | 51 | { |
52 | 52 | "id": 8, |
53 | - "task": "累计在线%d%分钟", | |
54 | - "num": 15, | |
55 | - "reward": [8,1], | |
56 | - "type": 7 | |
53 | + "task": "领取%d%个红包", | |
54 | + "num": 30, | |
55 | + "reward": "[8,1]", | |
56 | + "type": 5 | |
57 | 57 | }, |
58 | 58 | { |
59 | 59 | "id": 9, |
60 | 60 | "task": "领取%d%个红包", |
61 | - "num": 30, | |
62 | - "reward": [8,1], | |
61 | + "num": 35, | |
62 | + "reward": "[8,1]", | |
63 | 63 | "type": 5 |
64 | 64 | }, |
65 | 65 | { |
66 | 66 | "id": 10, |
67 | - "task": "使用%d%次道具", | |
68 | - "num": 20, | |
69 | - "reward": [8,1], | |
70 | - "type": 4 | |
67 | + "task": "领取%d%个红包", | |
68 | + "num": 40, | |
69 | + "reward": "[8,1]", | |
70 | + "type": 5 | |
71 | 71 | }, |
72 | 72 | { |
73 | 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, | |
74 | 123 | "task": "今日通过%d%关", |
75 | 124 | "num": 15, |
76 | - "reward": [8,1], | |
125 | + "reward": "[8,1]", | |
77 | 126 | "type": 3 |
78 | 127 | }, |
79 | 128 | { |
80 | - "id": 12, | |
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, | |
81 | 277 | "task": "累计在线%d%分钟", |
82 | 278 | "num": 30, |
83 | - "reward": [8,1], | |
279 | + "reward": "[8,1]", | |
84 | 280 | "type": 7 |
85 | 281 | }, |
86 | 282 | { |
87 | - "id": 13, | |
88 | - "task": "领取%d%个红包", | |
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%分钟", | |
89 | 306 | "num": 50, |
90 | - "reward": [8,1], | |
91 | - "type": 5 | |
307 | + "reward": "[8,1]", | |
308 | + "type": 7 | |
92 | 309 | }, |
93 | 310 | { |
94 | - "id": 14, | |
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, | |
95 | 347 | "task": "每日登录", |
96 | 348 | "num": 1, |
97 | - "reward": [8,1], | |
349 | + "reward": "[8,1]", | |
98 | 350 | "type": 1 |
99 | 351 | } |
100 | 352 | ] |
101 | 353 | \ No newline at end of file | ... | ... |
src/HttpServer/jsonconf/RedConfig.json
src/HttpServer/logic/constdef.go
src/HttpServer/logic/function.go
... | ... | @@ -92,7 +92,10 @@ func GetAchieveConfig(taskid int) *jsonconf.AchieveDesc { |
92 | 92 | return nil |
93 | 93 | } |
94 | 94 | |
95 | -func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) { | |
95 | +func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) *TaskList { | |
96 | + | |
97 | + newlist := new(TaskList) | |
98 | + curtype := -1 //记录当前类型 | |
96 | 99 | |
97 | 100 | for k, val := range list.Taskdata { |
98 | 101 | //未完成的才做判断 |
... | ... | @@ -154,11 +157,61 @@ func (uinfo *UserData) CalcTaskList(list *TaskList, uniqueid string) { |
154 | 157 | |
155 | 158 | } |
156 | 159 | |
160 | + for k, val := range list.Taskdata { | |
161 | + | |
162 | + cfg := GetTaskConfig(val.Taskid) | |
163 | + if cfg == nil { | |
164 | + logger.Error("CalcTaskList GetTaskConfig failed id=%v", val.Taskid) | |
165 | + continue | |
166 | + } | |
167 | + | |
168 | + if val.Taskstatus == 2 { | |
169 | + //未领取已完成 只需要加入第一种 | |
170 | + if curtype == cfg.TaskType { | |
171 | + continue | |
172 | + } else { | |
173 | + //将类型加入返回列表 | |
174 | + newlist.Taskdata = append(newlist.Taskdata, list.Taskdata[k]) | |
175 | + curtype = cfg.TaskType | |
176 | + } | |
177 | + } else if val.Taskstatus == 1 { | |
178 | + //未完成 返回第一个 | |
179 | + if curtype == cfg.TaskType { | |
180 | + continue | |
181 | + } else { | |
182 | + //将类型加入返回列表 | |
183 | + newlist.Taskdata = append(newlist.Taskdata, list.Taskdata[k]) | |
184 | + curtype = cfg.TaskType | |
185 | + } | |
186 | + } else { | |
187 | + //已领取 需要判断一下是否最后一项 | |
188 | + if k != len(list.Taskdata)-1 { | |
189 | + //不是最后一条数据 | |
190 | + nextcfg := GetTaskConfig(list.Taskdata[k+1].Taskid) | |
191 | + if nextcfg != nil { | |
192 | + if nextcfg.TaskType != cfg.TaskType { | |
193 | + //下面一天不是此类型了 | |
194 | + newlist.Taskdata = append(newlist.Taskdata, list.Taskdata[k]) | |
195 | + curtype = cfg.TaskType | |
196 | + } | |
197 | + } | |
198 | + | |
199 | + } else { | |
200 | + //最后一条 加入 | |
201 | + newlist.Taskdata = append(newlist.Taskdata, list.Taskdata[k]) | |
202 | + curtype = cfg.TaskType | |
203 | + } | |
204 | + } | |
205 | + | |
206 | + } | |
207 | + | |
157 | 208 | //需要保存到redis |
158 | 209 | SaveTaskInfo(uniqueid, 1, list) |
159 | 210 | |
160 | 211 | //排序 |
161 | - sort.Sort(list) | |
212 | + sort.Sort(newlist) | |
213 | + | |
214 | + return newlist | |
162 | 215 | } |
163 | 216 | |
164 | 217 | func (uinfo *UserData) CalcAchieveProgress(ttype int) int { | ... | ... |
src/HttpServer/logic/logic.go
... | ... | @@ -746,11 +746,11 @@ func HandlerQuerytaskinfo(w http.ResponseWriter, data string, uuid int) { |
746 | 746 | } |
747 | 747 | |
748 | 748 | if rdata.Tasktype == 1 { |
749 | - uinfo.CalcTaskList(tasklist, uniqueuuid) | |
749 | + tasklist = uinfo.CalcTaskList(tasklist, uniqueuuid) | |
750 | 750 | } else if rdata.Tasktype == 2 { |
751 | 751 | tasklist = uinfo.CalcAchieveList(tasklist, uniqueuuid) |
752 | 752 | } else { |
753 | - uinfo.CalcTaskList(tasklist, uniqueuuid) | |
753 | + tasklist = uinfo.CalcTaskList(tasklist, uniqueuuid) | |
754 | 754 | } |
755 | 755 | |
756 | 756 | if tasklist == nil { | ... | ... |