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 { | ... | ... |