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,6 +304,10 @@ func GetTaskInfo(uuid, tasktype int) (*TaskList, error) { | ||
304 | return nil, errors.New("tasktype invalid") | 304 | return nil, errors.New("tasktype invalid") |
305 | } | 305 | } |
306 | 306 | ||
307 | + if err != nil { | ||
308 | + return nil, err | ||
309 | + } | ||
310 | + | ||
307 | var list TaskList | 311 | var list TaskList |
308 | err = json.Unmarshal([]byte(data), &list) | 312 | err = json.Unmarshal([]byte(data), &list) |
309 | if err != nil { | 313 | if err != nil { |
@@ -480,36 +484,90 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) error { | @@ -480,36 +484,90 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) error { | ||
480 | return err | 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 | func InitTaskAndAchievement(uuid int) error { | 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 | return nil | 573 | return nil |
@@ -588,7 +646,7 @@ func (u *UserData) HandlePassDay() { | @@ -588,7 +646,7 @@ func (u *UserData) HandlePassDay() { | ||
588 | } else { | 646 | } else { |
589 | logger.Error("HandlePassDay GetTaskInfo failer err=%v", err) | 647 | logger.Error("HandlePassDay GetTaskInfo failer err=%v", err) |
590 | }*/ | 648 | }*/ |
591 | - tasklist := new(TaskList) | 649 | + /*tasklist := new(TaskList) |
592 | for _, val := range jsonconf.GetJsonConf().TaskConfig { | 650 | for _, val := range jsonconf.GetJsonConf().TaskConfig { |
593 | var tmp TaskListDesc | 651 | var tmp TaskListDesc |
594 | tmp.Taskstatus = 1 | 652 | tmp.Taskstatus = 1 |
@@ -600,6 +658,10 @@ func (u *UserData) HandlePassDay() { | @@ -600,6 +658,10 @@ func (u *UserData) HandlePassDay() { | ||
600 | err := SaveTaskInfo(u.Userid, 1, tasklist) | 658 | err := SaveTaskInfo(u.Userid, 1, tasklist) |
601 | if err != nil { | 659 | if err != nil { |
602 | logger.Error("InitTaskAndAchievement err=%v", err) | 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 | //签到数据处理 |