派遣优化
This commit is contained in:
parent
db587b9198
commit
f01af25de3
@ -138,7 +138,9 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
|||||||
if err := service.GetPttService().SendToClient(
|
if err := service.GetPttService().SendToClient(
|
||||||
t.MainType,
|
t.MainType,
|
||||||
"weekreceive",
|
"weekreceive",
|
||||||
&pb.DispatchWeekReciveReq{},
|
&pb.DispatchWeekReciveReq{
|
||||||
|
Idx: 1,
|
||||||
|
},
|
||||||
); err != nil {
|
); err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
return
|
return
|
||||||
|
@ -21,7 +21,7 @@ func (a *apiComp) Autoreceive(session comm.IUserSession, req *pb.DispatchAutoRec
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks := a.module.modelDispatch.replaceFinishedTask(session.GetUserId(), d)
|
tasks, oldTasks := a.module.modelDispatch.replaceFinishedTask(session.GetUserId(), d)
|
||||||
|
|
||||||
//更新公告任务
|
//更新公告任务
|
||||||
if err := a.module.modelDispatch.updateTasks(session.GetUserId(), d.Nb, tasks); err != nil {
|
if err := a.module.modelDispatch.updateTasks(session.GetUserId(), d.Nb, tasks); err != nil {
|
||||||
@ -29,6 +29,19 @@ func (a *apiComp) Autoreceive(session comm.IUserSession, req *pb.DispatchAutoRec
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//奖励
|
||||||
|
for _, t := range oldTasks {
|
||||||
|
gd, err := a.module.configure.getDispatchTaskConf(t.TaskId)
|
||||||
|
if err != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
a.module.DispenseRes(session, gd.Reward, true)
|
||||||
|
|
||||||
|
if t.Exaward {
|
||||||
|
a.module.DispenseRes(session, gd.Rewardex, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
session.SendMsg(string(a.module.GetType()), "autoreceive", rsp)
|
session.SendMsg(string(a.module.GetType()), "autoreceive", rsp)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -15,13 +15,16 @@ func (a *apiComp) NoticeCheck(session comm.IUserSession, req *pb.DispatchNoticeR
|
|||||||
|
|
||||||
func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) (code pb.ErrorCode, data proto.Message) {
|
func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) (code pb.ErrorCode, data proto.Message) {
|
||||||
d := a.module.modelDispatch.getDBDispatch(session.GetUserId())
|
d := a.module.modelDispatch.getDBDispatch(session.GetUserId())
|
||||||
|
if d == nil {
|
||||||
|
code = pb.ErrorCode_DataNotFound
|
||||||
|
return
|
||||||
|
}
|
||||||
rsp := &pb.DispatchNoticeResp{}
|
rsp := &pb.DispatchNoticeResp{}
|
||||||
|
|
||||||
if len(d.Nb.Tasks) == 0 {
|
if len(d.Nb.Tasks) == 0 {
|
||||||
rsp.Dispatch = a.module.modelDispatch.initDispatch(session.GetUserId(), d)
|
rsp.Dispatch = a.module.modelDispatch.initDispatch(session.GetUserId(), d)
|
||||||
} else {
|
} else {
|
||||||
a.module.modelDispatch.updateNotice(session.GetUserId(),d)
|
a.module.modelDispatch.updateNotice(session.GetUserId(), d)
|
||||||
rsp.Dispatch = d.Nb
|
rsp.Dispatch = d.Nb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,11 +23,11 @@ func (a *apiComp) Receive(session comm.IUserSession, req *pb.DispatchReceiveReq)
|
|||||||
}
|
}
|
||||||
d := a.module.modelDispatch.getDBDispatch(session.GetUserId())
|
d := a.module.modelDispatch.getDBDispatch(session.GetUserId())
|
||||||
if d == nil {
|
if d == nil {
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DataNotFound
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks := a.module.modelDispatch.replaceTask(session.GetUserId(), req.TaskId, d)
|
tasks, oldTaskIds := a.module.modelDispatch.replaceTask(session.GetUserId(), req.TaskId, d)
|
||||||
|
|
||||||
//更新公告任务
|
//更新公告任务
|
||||||
if err := a.module.modelDispatch.updateTasks(session.GetUserId(), d.Nb, tasks); err != nil {
|
if err := a.module.modelDispatch.updateTasks(session.GetUserId(), d.Nb, tasks); err != nil {
|
||||||
@ -36,7 +36,7 @@ func (a *apiComp) Receive(session comm.IUserSession, req *pb.DispatchReceiveReq)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//奖励
|
//奖励
|
||||||
for _, t := range d.Nb.Tasks {
|
for _, t := range oldTaskIds {
|
||||||
if t.TaskId == req.TaskId {
|
if t.TaskId == req.TaskId {
|
||||||
gd, err := a.module.configure.getDispatchTaskConf(t.TaskId)
|
gd, err := a.module.configure.getDispatchTaskConf(t.TaskId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -36,12 +36,18 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
refreshCount := a.module.configure.GetGlobalConf().DispatchRefreshtimes
|
||||||
|
if d.Nb.RefreshCount >= refreshCount {
|
||||||
|
code = pb.ErrorCode_DispatchRefreshMax
|
||||||
|
return
|
||||||
|
}
|
||||||
//消耗金币
|
//消耗金币
|
||||||
money := a.module.configure.GetGlobalConf().DispatchCheckmoney
|
money := a.module.configure.GetGlobalConf().DispatchCheckmoney
|
||||||
if code = a.module.CheckRes(session, []*cfg.Gameatn{money}); code != pb.ErrorCode_Success {
|
if code = a.module.CheckRes(session, []*cfg.Gameatn{money}); code != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if code = a.module.DispenseRes(session, []*cfg.Gameatn{money}, true); code != pb.ErrorCode_Success {
|
|
||||||
|
if code = a.module.ConsumeRes(session, []*cfg.Gameatn{money}, true); code != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := a.module.modelDispatch.updateRefreshCount(session.GetUserId(), d.Nb); err != nil {
|
if err := a.module.modelDispatch.updateRefreshCount(session.GetUserId(), d.Nb); err != nil {
|
||||||
@ -57,6 +63,7 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a.module.Debug("刷新", log.Field{Key: "taskIds", Value: taskIds})
|
||||||
//更新公告任务
|
//更新公告任务
|
||||||
if err := a.module.modelDispatch.updateTasks(session.GetUserId(), d.Nb, taskIds); err != nil {
|
if err := a.module.modelDispatch.updateTasks(session.GetUserId(), d.Nb, taskIds); err != nil {
|
||||||
a.module.Debug("更新公告失败", log.Field{Key: "uid", Value: session.GetUserId()})
|
a.module.Debug("更新公告失败", log.Field{Key: "uid", Value: session.GetUserId()})
|
||||||
|
@ -8,13 +8,41 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (a *apiComp) WeekreceiveCheck(session comm.IUserSession, req *pb.DispatchWeekReciveReq) (code pb.ErrorCode) {
|
func (a *apiComp) WeekreceiveCheck(session comm.IUserSession, req *pb.DispatchWeekReciveReq) (code pb.ErrorCode) {
|
||||||
|
if req.Idx == 0 {
|
||||||
|
code = pb.ErrorCode_ReqParameterError
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *apiComp) Weekreceive(session comm.IUserSession, req *pb.DispatchWeekReciveReq) (code pb.ErrorCode, data proto.Message) {
|
func (a *apiComp) Weekreceive(session comm.IUserSession, req *pb.DispatchWeekReciveReq) (code pb.ErrorCode, data proto.Message) {
|
||||||
|
if code = a.WeekreceiveCheck(session, req); code != pb.ErrorCode_Success {
|
||||||
|
return
|
||||||
|
}
|
||||||
rsp := &pb.DispatchWeekReciveResp{}
|
rsp := &pb.DispatchWeekReciveResp{}
|
||||||
|
|
||||||
|
d := a.module.modelDispatch.getDBDispatch(session.GetUserId())
|
||||||
|
if d == nil {
|
||||||
|
code = pb.ErrorCode_DataNotFound
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//派发奖励
|
||||||
|
wr := a.module.configure.GetGlobalConf().DispatchWeektaskreward
|
||||||
|
for i, v := range wr {
|
||||||
|
if req.Idx == int32(i+1) {
|
||||||
|
if d.Nb.WeekCount >= v.N {
|
||||||
|
//更新周任务状态
|
||||||
|
if err := a.module.modelDispatch.updateWeekstatus(session.GetUserId(), req.Idx, d.Nb); err != nil {
|
||||||
|
code = pb.ErrorCode_DBError
|
||||||
|
return
|
||||||
|
}
|
||||||
|
a.module.DispenseRes(session, v.G, true)
|
||||||
|
rsp.Idx = req.Idx
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
session.SendMsg(string(a.module.GetType()), "weekreceive", rsp)
|
session.SendMsg(string(a.module.GetType()), "weekreceive", rsp)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package dispatch
|
|||||||
import (
|
import (
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
@ -42,15 +43,13 @@ func (this *modelDispatch) initDispatch(uid string, dispatch *pb.DBDispatch) *pb
|
|||||||
|
|
||||||
freeCount := this.module.configure.GetGlobalConf().DispatchFreecheck
|
freeCount := this.module.configure.GetGlobalConf().DispatchFreecheck
|
||||||
ticketCount := this.module.configure.GetGlobalConf().DispatchNumoftimes
|
ticketCount := this.module.configure.GetGlobalConf().DispatchNumoftimes
|
||||||
refreshCount := this.module.configure.GetGlobalConf().DispatchRefreshtimes
|
|
||||||
dis := &pb.DBDispatch{
|
dis := &pb.DBDispatch{
|
||||||
Uid: uid,
|
Uid: uid,
|
||||||
Ticket: ticketCount,
|
Ticket: ticketCount,
|
||||||
Nb: &pb.Noticeboard{
|
Nb: &pb.Noticeboard{
|
||||||
Lv: 1, //公告初始升级
|
Lv: 1, //公告初始升级
|
||||||
FreeCount: freeCount,
|
FreeCount: freeCount,
|
||||||
Tasks: tasks,
|
Tasks: tasks,
|
||||||
RefreshCount: refreshCount,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,14 +119,6 @@ func (this *modelDispatch) getTasksWeight(uid string, noticeLv int32) []int32 {
|
|||||||
|
|
||||||
// 随机任务
|
// 随机任务
|
||||||
func (this *modelDispatch) taskRandom(uid string, dispatch *pb.DBDispatch) (tasks []*pb.DispatchTask, err error) {
|
func (this *modelDispatch) taskRandom(uid string, dispatch *pb.DBDispatch) (tasks []*pb.DispatchTask, err error) {
|
||||||
// dispatch := this.getDBDispatch(uid)
|
|
||||||
// if dispatch == nil {
|
|
||||||
// return nil, errors.New("no data")
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if dispatch.Nb == nil {
|
|
||||||
// return nil, errors.New("notice is nil")
|
|
||||||
// }
|
|
||||||
if dispatch.Nb.Lv == 0 {
|
if dispatch.Nb.Lv == 0 {
|
||||||
dispatch.Nb.Lv = 1
|
dispatch.Nb.Lv = 1
|
||||||
}
|
}
|
||||||
@ -178,33 +169,21 @@ func (this *modelDispatch) taskRandom(uid string, dispatch *pb.DBDispatch) (task
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tasks = dispatch.Nb.Tasks
|
tasks = dispatch.Nb.Tasks
|
||||||
for i, v := range tasks {
|
var randCount int
|
||||||
|
for i := 0; i < len(tasks); i++ {
|
||||||
//只随机未接取的任务
|
//只随机未接取的任务
|
||||||
if v.Status == 0 {
|
if tasks[i].Status == 0 {
|
||||||
//删除
|
//删除
|
||||||
tasks = append(tasks[:i], tasks[i+1:]...)
|
tasks = append(tasks[:i], tasks[i+1:]...)
|
||||||
|
i--
|
||||||
//追加一条随机任务
|
randCount++
|
||||||
ids := utils.RandomNumbers(1, len(tIds), 1)
|
|
||||||
if len(ids) <= 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
taskId := ids[0]
|
|
||||||
taskConf, err := this.module.configure.getDispatchTaskConf(v.TaskId)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
//公告持续截至时间
|
|
||||||
duration := configure.Now().Unix() + int64(taskConf.Taskcd)
|
|
||||||
tasks = append(tasks, &pb.DispatchTask{
|
|
||||||
TaskId: int32(taskId),
|
|
||||||
Duration: duration,
|
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
tasks = append(tasks, v)
|
tasks = append(tasks, tasks[i])
|
||||||
}
|
}
|
||||||
i--
|
}
|
||||||
|
//追加随机
|
||||||
|
for i := 0; i < randCount; i++ {
|
||||||
|
tasks = append(tasks, this.addRandomTask(uid, dispatch))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,76 +205,56 @@ func (this *modelDispatch) addRandomTask(uid string, dispatch *pb.DBDispatch) *p
|
|||||||
|
|
||||||
//公告持续截至时间
|
//公告持续截至时间
|
||||||
duration := configure.Now().Unix() + int64(taskConf.Taskcd)
|
duration := configure.Now().Unix() + int64(taskConf.Taskcd)
|
||||||
// 任务截至时间
|
|
||||||
leftTime := configure.Now().Unix() + int64(taskConf.Tasktime)
|
|
||||||
|
|
||||||
return &pb.DispatchTask{
|
return &pb.DispatchTask{
|
||||||
TaskId: int32(taskId),
|
TaskId: int32(taskId),
|
||||||
Duration: duration,
|
Duration: duration,
|
||||||
LeftTime: leftTime,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 替换指定的已完成任务
|
// 替换指定的已完成任务
|
||||||
func (this *modelDispatch) replaceTask(uid string, taskId int32, dispatch *pb.DBDispatch) (tasks []*pb.DispatchTask) {
|
func (this *modelDispatch) replaceTask(uid string, taskId int32, dispatch *pb.DBDispatch) (tasks []*pb.DispatchTask, oldTaskIds []*pb.DispatchTask) {
|
||||||
tasks = dispatch.Nb.Tasks
|
tasks = dispatch.Nb.Tasks
|
||||||
for i, v := range tasks {
|
var randCount int
|
||||||
|
for i := 0; i < len(tasks); i++ {
|
||||||
//替换状态是完成的任务
|
//替换状态是完成的任务
|
||||||
if v.Status == 2 {
|
if tasks[i].Status == 2 {
|
||||||
if taskId != v.TaskId {
|
if taskId != tasks[i].TaskId {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
oldTaskIds = append(oldTaskIds, tasks[i])
|
||||||
//删除
|
//删除
|
||||||
tasks = append(tasks[:i], tasks[i+1:]...)
|
tasks = append(tasks[:i], tasks[i+1:]...)
|
||||||
i--
|
i--
|
||||||
|
randCount++
|
||||||
tasks = append(tasks, this.addRandomTask(uid, dispatch))
|
|
||||||
} else {
|
|
||||||
tasks = append(tasks, v)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for i := 0; i < randCount; i++ {
|
||||||
|
tasks = append(tasks, this.addRandomTask(uid, dispatch))
|
||||||
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 替换所有完成的任务
|
// 替换所有完成的任务
|
||||||
func (this *modelDispatch) replaceFinishedTask(uid string, dispatch *pb.DBDispatch) (tasks []*pb.DispatchTask) {
|
func (this *modelDispatch) replaceFinishedTask(uid string, dispatch *pb.DBDispatch) (tasks []*pb.DispatchTask, oldtasks []*pb.DispatchTask) {
|
||||||
|
var randCount int
|
||||||
randomTaskIds := this.getTasksWeight(uid, dispatch.Nb.Lv)
|
|
||||||
|
|
||||||
for i, v := range dispatch.Nb.Tasks {
|
for i, v := range dispatch.Nb.Tasks {
|
||||||
//替换状态是完成的任务
|
//替换状态是完成的任务
|
||||||
if v.Status == 2 {
|
if v.Status == 2 {
|
||||||
//删除
|
//删除
|
||||||
|
oldtasks = append(oldtasks, v)
|
||||||
dispatch.Nb.Tasks = append(dispatch.Nb.Tasks[:i], dispatch.Nb.Tasks[i+1:]...)
|
dispatch.Nb.Tasks = append(dispatch.Nb.Tasks[:i], dispatch.Nb.Tasks[i+1:]...)
|
||||||
i--
|
i--
|
||||||
|
randCount++
|
||||||
//追加一条随机任务
|
|
||||||
ids := utils.RandomNumbers(1, len(randomTaskIds), 1)
|
|
||||||
if len(ids) <= 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
taskId := ids[0]
|
|
||||||
taskConf, err := this.module.configure.getDispatchTaskConf(v.TaskId)
|
|
||||||
if err != nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
//公告持续截至时间
|
|
||||||
duration := configure.Now().Unix() + int64(taskConf.Taskcd)
|
|
||||||
// 任务截至时间
|
|
||||||
leftTime := configure.Now().Unix() + int64(taskConf.Tasktime)
|
|
||||||
|
|
||||||
tasks = append(tasks, &pb.DispatchTask{
|
|
||||||
TaskId: int32(taskId),
|
|
||||||
Duration: duration,
|
|
||||||
LeftTime: leftTime,
|
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
tasks = append(tasks, v)
|
tasks = append(tasks, v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for i := 0; i < randCount; i++ {
|
||||||
|
tasks = append(tasks, this.addRandomTask(uid, dispatch))
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -384,9 +343,6 @@ func (this *modelDispatch) dispatch(uid string, taskId int32, heroIds []string,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//周任务数累加
|
|
||||||
disp.Nb.WeekCount++
|
|
||||||
|
|
||||||
update := map[string]interface{}{
|
update := map[string]interface{}{
|
||||||
"nb": disp.Nb,
|
"nb": disp.Nb,
|
||||||
"ticket": disp.Ticket - 1,
|
"ticket": disp.Ticket - 1,
|
||||||
@ -429,24 +385,14 @@ func (this *modelDispatch) updateTasks(uid string, noticeboard *pb.Noticeboard,
|
|||||||
|
|
||||||
// 更新公告栏任务
|
// 更新公告栏任务
|
||||||
func (this *modelDispatch) updateNotice(uid string, dispatch *pb.DBDispatch) error {
|
func (this *modelDispatch) updateNotice(uid string, dispatch *pb.DBDispatch) error {
|
||||||
for i, v := range dispatch.Nb.Tasks {
|
var randCount int
|
||||||
if v.Status == 0 {
|
for i := 0; i < len(dispatch.Nb.Tasks); i++ {
|
||||||
//判断到期时间
|
if dispatch.Nb.Tasks[i].Status == 1 {
|
||||||
if v.Duration != 0 && v.Duration <= configure.Now().Unix() {
|
if dispatch.Nb.Tasks[i].LeftTime != 0 &&
|
||||||
//替换到期任务
|
dispatch.Nb.Tasks[i].LeftTime <= configure.Now().Unix() {
|
||||||
// dispatch.Nb.Tasks = this.replaceTask(uid, v.TaskId, dispatch)
|
|
||||||
dispatch.Nb.Tasks = append(dispatch.Nb.Tasks[:i], dispatch.Nb.Tasks[i+1:]...)
|
|
||||||
i--
|
|
||||||
//补一条
|
|
||||||
dispatch.Nb.Tasks = append(dispatch.Nb.Tasks, this.addRandomTask(uid, dispatch))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if v.Status == 1 {
|
|
||||||
if v.LeftTime != 0 && v.LeftTime <= configure.Now().Unix() {
|
|
||||||
//更改次任务状态为
|
//更改次任务状态为
|
||||||
v.Status = 2 //任务结束
|
dispatch.Nb.Tasks[i].Status = 2 //任务结束
|
||||||
v.LeftTime = 0
|
dispatch.Nb.Tasks[i].LeftTime = 0
|
||||||
//升级
|
//升级
|
||||||
conf, err := this.module.configure.getDispatchLvConf(dispatch.Nb.Lv)
|
conf, err := this.module.configure.getDispatchLvConf(dispatch.Nb.Lv)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -460,7 +406,33 @@ func (this *modelDispatch) updateNotice(uid string, dispatch *pb.DBDispatch) err
|
|||||||
dispatch.Nb.WeekCount++
|
dispatch.Nb.WeekCount++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if dispatch.Nb.Tasks[i].Status == 0 {
|
||||||
|
this.module.Debug("uid", log.Field{Key: "duration", Value: dispatch.Nb.Tasks[i].Duration},
|
||||||
|
log.Field{Key: "now", Value: configure.Now().Unix()})
|
||||||
|
//判断到期时间
|
||||||
|
if dispatch.Nb.Tasks[i].Duration != 0 &&
|
||||||
|
dispatch.Nb.Tasks[i].Duration <= configure.Now().Unix() {
|
||||||
|
//替换到期任务
|
||||||
|
dispatch.Nb.Tasks = append(dispatch.Nb.Tasks[:i], dispatch.Nb.Tasks[i+1:]...)
|
||||||
|
i--
|
||||||
|
randCount++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := 0; i < randCount; i++ {
|
||||||
|
dispatch.Nb.Tasks = append(dispatch.Nb.Tasks, this.addRandomTask(uid, dispatch))
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.updateTasks(uid, dispatch.Nb, dispatch.Nb.Tasks)
|
return this.updateTasks(uid, dispatch.Nb, dispatch.Nb.Tasks)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 更新周任务状态
|
||||||
|
func (this *modelDispatch) updateWeekstatus(uid string, idx int32, noticeboard *pb.Noticeboard) error {
|
||||||
|
noticeboard.WeekReceived = append(noticeboard.WeekReceived, idx)
|
||||||
|
update := map[string]interface{}{
|
||||||
|
"nb": noticeboard,
|
||||||
|
}
|
||||||
|
return this.Change(uid, update)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user