Commit 3d905cfc2b02d16f12a03b2a2c6728e2eb6227a1

Authored by 陆恒
1 parent 7d76700d

提交

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