This commit is contained in:
1
2026-01-22 16:01:52 +00:00
parent 3af709f633
commit 7d8497250d
9 changed files with 143 additions and 163 deletions

View File

@@ -19,9 +19,13 @@ func (h Controller) AcceptTask(data *task.AcceptTaskInboundInfo, c *player.Playe
if c.Info.GetTask(int(data.TaskId)) != model.Unaccepted {
return nil, errorcode.ErrorCodes.ErrSystemError
}
if !service.NewTaskService().IsAcceptable(data.TaskId) {
taskinfo := service.NewTaskService().IsAcceptable(data.TaskId)
if taskinfo == nil {
return nil, errorcode.ErrorCodes.ErrSystemError
}
if taskinfo.ParentTaskId != 0 && c.Info.GetTask(int(taskinfo.ParentTaskId)) != model.Completed {
return nil, errorcode.ErrorCodes.ErrInsufficientTasksForReward
}
c.Info.SetTask(int(data.TaskId), model.Accepted)
c.Service.Task.Exec(uint32(data.TaskId), func(t *model.TaskEX) bool {
@@ -41,8 +45,8 @@ func (h Controller) AcceptTask(data *task.AcceptTaskInboundInfo, c *player.Playe
// 返回: 空输出结果和错误码
func (h Controller) AddTaskBuf(data *task.AddTaskBufInboundInfo, c *player.Player) (result *task.AddTaskBufOutboundInfo, err errorcode.ErrorCode) {
if !service.NewTaskService().IsAcceptable(data.TaskId) {
return nil, errorcode.ErrorCodes.ErrSystemError
if c.Info.GetTask(int(data.TaskId)) != model.Accepted {
return result, errorcode.ErrorCodes.ErrAwardAlreadyClaimed
}
c.Service.Task.Exec(data.TaskId, func(taskEx *model.TaskEX) bool {
taskEx.Data = data.TaskList
@@ -63,9 +67,9 @@ func (h Controller) CompleteTask(data1 *task.CompleteTaskInboundInfo, c *player.
// fmt.Println("error", data1.OutState, c.Info.UserID, "分支溢出")
// return result, 0
// }
if !service.NewTaskService().IsAcceptable(data1.TaskId) {
return nil, errorcode.ErrorCodes.ErrSystemError
}
// if service.NewTaskService().IsAcceptable(data1.TaskId) == nil {
// return nil, errorcode.ErrorCodes.ErrSystemError
// }
c.Info.SetTask(int(data1.TaskId), model.Completed)
result = &task.CompleteTaskOutboundInfo{
@@ -112,13 +116,11 @@ func (h Controller) GetTaskBuf(data *task.GetTaskBufInboundInfo, c *player.Playe
// DeleteTask 删除任务
func (h Controller) DeleteTask(data *task.DeleteTaskInboundInfo, c *player.Player) (result *task.DeleteTaskOutboundInfo, err errorcode.ErrorCode) {
if !service.NewTaskService().IsAcceptable(data.TaskId) {
if c.Info.GetTask(int(data.TaskId)) != model.Accepted {
return nil, errorcode.ErrorCodes.ErrSystemError
}
if c.Info.GetTask(int(data.TaskId)) == model.Accepted {
c.Info.SetTask(int(data.TaskId), model.Unaccepted)
return &task.DeleteTaskOutboundInfo{TaskId: data.TaskId}, 0
}
result = &task.DeleteTaskOutboundInfo{TaskId: data.TaskId}
c.Info.SetTask(int(data.TaskId), model.Unaccepted)
return &task.DeleteTaskOutboundInfo{}, 0
}