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