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 | //签到数据处理 | ... | ... |