package controller import ( "blazing/common/data/entity" "blazing/common/socket/errorcode" "blazing/logic/service/task" "blazing/modules/blazing/model" "blazing/modules/blazing/service" ) /** * 接受任务 */ func (h Controller) AcceptTask(data *task.AcceptTaskInboundInfo, c *entity.Player) (result *task.AcceptTaskOutboundInfo, err errorcode.ErrorCode) { result = &task.AcceptTaskOutboundInfo{} result.TaskId = data.TaskId service.NewUserService(c.UserID).TaskExec(func(ttt map[uint32]model.TaskInfo) bool { ft, ok := ttt[data.TaskId] if ok { //如果找到任务 if ft.Status == 0 { //可以接受 ft.Status = 1 //接受 return true } else { return false } } else { ttt[data.TaskId] = model.TaskInfo{ Status: 1, } } return false }) return result, 0 } /** * 更新任务步骤 */ func (h Controller) AddTaskBuf(data *task.AddTaskBufInboundInfo, c *entity.Player) (result *task.AddTaskBufOutboundInfo, err errorcode.ErrorCode) { service.NewUserService(c.UserID).TaskExec(func(ttt map[uint32]model.TaskInfo) bool { if conditions, ok := ttt[data.TaskId]; ok { conditions.TaskInfo = data.TaskList ttt[data.TaskId] = conditions return true } return false }) return &task.AddTaskBufOutboundInfo{}, 0 }