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