Commit 3d905cfc2b02d16f12a03b2a2c6728e2eb6227a1
1 parent
7d76700d
Exists in
master
and in
4 other branches
提交
Showing
1 changed file
with
87 additions
and
25 deletions
Show diff stats
src/HttpServer/logic/function.go
| ... | ... | @@ -304,6 +304,10 @@ func GetTaskInfo(uuid, tasktype int) (*TaskList, error) { |
| 304 | 304 | return nil, errors.New("tasktype invalid") |
| 305 | 305 | } |
| 306 | 306 | |
| 307 | + if err != nil { | |
| 308 | + return nil, err | |
| 309 | + } | |
| 310 | + | |
| 307 | 311 | var list TaskList |
| 308 | 312 | err = json.Unmarshal([]byte(data), &list) |
| 309 | 313 | if err != nil { |
| ... | ... | @@ -480,36 +484,90 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) error { |
| 480 | 484 | return err |
| 481 | 485 | } |
| 482 | 486 | |
| 487 | +func (t *TaskList) IsInTaskList(id int) bool { | |
| 488 | + for _, val := range t.Taskdata { | |
| 489 | + if val.Taskid == id { | |
| 490 | + return true | |
| 491 | + } | |
| 492 | + } | |
| 493 | + return false | |
| 494 | +} | |
| 495 | + | |
| 483 | 496 | func InitTaskAndAchievement(uuid int) error { |
| 484 | 497 | //先初始化任务 |
| 485 | - tasklist := new(TaskList) | |
| 486 | - for _, val := range jsonconf.GetJsonConf().TaskConfig { | |
| 487 | - var tmp TaskListDesc | |
| 488 | - tmp.Taskstatus = 1 | |
| 489 | - tmp.Taskid = val.Id | |
| 490 | - tmp.Taskprogress = 0 | |
| 491 | - tasklist.Taskdata = append(tasklist.Taskdata, tmp) | |
| 492 | - } | |
| 498 | + tlist, err := GetTaskInfo(uuid, 1) | |
| 499 | + if tlist == nil { | |
| 500 | + tasklist := new(TaskList) | |
| 501 | + for _, val := range jsonconf.GetJsonConf().TaskConfig { | |
| 502 | + var tmp TaskListDesc | |
| 503 | + tmp.Taskstatus = 1 | |
| 504 | + tmp.Taskid = val.Id | |
| 505 | + tmp.Taskprogress = 0 | |
| 506 | + tasklist.Taskdata = append(tasklist.Taskdata, tmp) | |
| 507 | + } | |
| 493 | 508 | |
| 494 | - err := SaveTaskInfo(uuid, 1, tasklist) | |
| 495 | - if err != nil { | |
| 496 | - logger.Error("InitTaskAndAchievement err=%v", err) | |
| 497 | - return err | |
| 498 | - } | |
| 509 | + err := SaveTaskInfo(uuid, 1, tasklist) | |
| 510 | + if err != nil { | |
| 511 | + logger.Error("InitTaskAndAchievement err=%v", err) | |
| 512 | + //return err | |
| 513 | + } | |
| 514 | + } else { | |
| 515 | + for _, val := range jsonconf.GetJsonConf().TaskConfig { | |
| 516 | + if !tlist.IsInTaskList(val.Id) { | |
| 517 | + var tmp TaskListDesc | |
| 518 | + tmp.Taskstatus = 1 | |
| 519 | + tmp.Taskid = val.Id | |
| 520 | + tmp.Taskprogress = 0 | |
| 521 | + tlist.Taskdata = append(tlist.Taskdata, tmp) | |
| 522 | + } | |
| 523 | + } | |
| 499 | 524 | |
| 500 | - achievelist := new(TaskList) | |
| 501 | - for _, val := range jsonconf.GetJsonConf().AchieventConfig { | |
| 502 | - var tmp TaskListDesc | |
| 503 | - tmp.Taskstatus = 1 | |
| 504 | - tmp.Taskid = val.Id | |
| 505 | - tmp.Taskprogress = 0 | |
| 506 | - achievelist.Taskdata = append(achievelist.Taskdata, tmp) | |
| 525 | + for k, _ := range tlist.Taskdata { | |
| 526 | + tlist.Taskdata[k].Taskprogress = 0 | |
| 527 | + tlist.Taskdata[k].Taskstatus = 1 | |
| 528 | + | |
| 529 | + } | |
| 530 | + | |
| 531 | + err := SaveTaskInfo(uuid, 1, tlist) | |
| 532 | + if err != nil { | |
| 533 | + logger.Error("InitTaskAndAchievement err=%v", err) | |
| 534 | + //return err | |
| 535 | + } | |
| 507 | 536 | } |
| 508 | 537 | |
| 509 | - err = SaveTaskInfo(uuid, 2, achievelist) | |
| 510 | - if err != nil { | |
| 511 | - logger.Error("InitTaskAndAchievement err=%v", err) | |
| 512 | - return err | |
| 538 | + //成就 | |
| 539 | + alist, err := GetTaskInfo(uuid, 1) | |
| 540 | + if alist == nil { | |
| 541 | + achievelist := new(TaskList) | |
| 542 | + for _, val := range jsonconf.GetJsonConf().AchieventConfig { | |
| 543 | + var tmp TaskListDesc | |
| 544 | + tmp.Taskstatus = 1 | |
| 545 | + tmp.Taskid = val.Id | |
| 546 | + tmp.Taskprogress = 0 | |
| 547 | + achievelist.Taskdata = append(achievelist.Taskdata, tmp) | |
| 548 | + } | |
| 549 | + | |
| 550 | + err = SaveTaskInfo(uuid, 2, achievelist) | |
| 551 | + if err != nil { | |
| 552 | + logger.Error("InitTaskAndAchievement err=%v", err) | |
| 553 | + return err | |
| 554 | + } | |
| 555 | + } else { | |
| 556 | + for _, val := range jsonconf.GetJsonConf().AchieventConfig { | |
| 557 | + if !alist.IsInTaskList(val.Id) { | |
| 558 | + var tmp TaskListDesc | |
| 559 | + tmp.Taskstatus = 1 | |
| 560 | + tmp.Taskid = val.Id | |
| 561 | + tmp.Taskprogress = 0 | |
| 562 | + alist.Taskdata = append(alist.Taskdata, tmp) | |
| 563 | + } | |
| 564 | + } | |
| 565 | + | |
| 566 | + err = SaveTaskInfo(uuid, 2, alist) | |
| 567 | + if err != nil { | |
| 568 | + logger.Error("InitTaskAndAchievement err=%v", err) | |
| 569 | + return err | |
| 570 | + } | |
| 513 | 571 | } |
| 514 | 572 | |
| 515 | 573 | return nil |
| ... | ... | @@ -588,7 +646,7 @@ func (u *UserData) HandlePassDay() { |
| 588 | 646 | } else { |
| 589 | 647 | logger.Error("HandlePassDay GetTaskInfo failer err=%v", err) |
| 590 | 648 | }*/ |
| 591 | - tasklist := new(TaskList) | |
| 649 | + /*tasklist := new(TaskList) | |
| 592 | 650 | for _, val := range jsonconf.GetJsonConf().TaskConfig { |
| 593 | 651 | var tmp TaskListDesc |
| 594 | 652 | tmp.Taskstatus = 1 |
| ... | ... | @@ -600,6 +658,10 @@ func (u *UserData) HandlePassDay() { |
| 600 | 658 | err := SaveTaskInfo(u.Userid, 1, tasklist) |
| 601 | 659 | if err != nil { |
| 602 | 660 | logger.Error("InitTaskAndAchievement err=%v", err) |
| 661 | + }*/ | |
| 662 | + err := InitTaskAndAchievement(u.Userid) | |
| 663 | + if err != nil { | |
| 664 | + logger.Error("InitTaskAndAchievement err=%v", err) | |
| 603 | 665 | } |
| 604 | 666 | |
| 605 | 667 | //签到数据处理 | ... | ... |