作者 陈志颖

fix:已过期任务时间判断

... ... @@ -652,3 +652,4 @@
2020/11/23 17:18:21.768 [D] [server.go:1925] | 127.0.0.1| 200 | 86.366848ms| match| GET  /cash-pool/activity/ r:/cash-pool/activity/
2020/11/23 17:40:41.529 [I] [???:0] http server Running on http://:8082
2020/11/23 17:43:38.430 [I] [???:0] http server Running on http://:8082
2020/11/23 19:14:57.842 [I] [???:0] http server Running on http://:8082
... ...
... ... @@ -1058,6 +1058,7 @@ func (taskService *TaskService) UpdateTask(updateTaskCommand *command.UpdateTask
if err := updateTaskCommand.ValidateCommand(); err != nil {
return nil, application.ThrowError(application.ARG_ERROR, err.Error())
}
transactionContext, err := factory.CreateTransactionContext(nil)
if err != nil {
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
... ... @@ -1109,6 +1110,8 @@ func (taskService *TaskService) UpdateTask(updateTaskCommand *command.UpdateTask
return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateTaskCommand.TaskId)))
}
taskBidEndTime := task.BidInfo.BidEndTime
if updateTaskCommand.ReferenceResourceItems != nil && len(updateTaskCommand.ReferenceResourceItems) > 0 {
var referenceResourceIds []int64
for _, referenceResourceItem := range updateTaskCommand.ReferenceResourceItems {
... ... @@ -1161,7 +1164,6 @@ func (taskService *TaskService) UpdateTask(updateTaskCommand *command.UpdateTask
}
}
// TODO 任务返回错误类型
if err := task.Update(updateData); err != nil {
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
}
... ... @@ -1175,8 +1177,12 @@ func (taskService *TaskService) UpdateTask(updateTaskCommand *command.UpdateTask
}
if task.TaskStatus == domain.TASK_STATUS_EXPIRED {
if _, err := releaseTaskService.Release(task.TaskId, task.Sponsor.Uid); err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
if task.BidInfo.BidEndTime.Local().Equal(taskBidEndTime.Local()) {
return nil, application.ThrowError(application.BUSINESS_ERROR, "请重新修改竞标时间")
} else {
if _, err := releaseTaskService.Release(task.TaskId, task.Sponsor.Uid); err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
}
}
}
... ...
... ... @@ -712,47 +712,39 @@ func (status ExpiredStatus) Release(task *Task) error {
task.ReleaseTime = currentTime
task.TaskStatus = TASK_STATUS_UNCLAIMED
task.CurrentStatus = &UnClaimedStatus{}
//if task.TaskType == TASK_TYPE_BID {
// task.ReceiveTime = currentTime
// task.TaskStatus = TASK_STATUS_UNDERWAY
// task.CurrentStatus = &UnderwayStatus{}
//} else {
// task.TaskStatus = TASK_STATUS_UNCLAIMED
// task.CurrentStatus = &UnClaimedStatus{}
//}
return nil
}
func (status ExpiredStatus) Rob(task *Task, receiver *EmployeeInfo) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许抢单")
}
func (status ExpiredStatus) Bib(task *Task, bidder *EmployeeInfo) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许竞标")
}
func (status ExpiredStatus) ChooseSuccessfulBidder(task *Task, successfulBidder *EmployeeInfo, plannedCompletionTime time.Time) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许选择竞标任务的中标人")
}
func (status ExpiredStatus) ApplyComplete(task *Task) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许申请完成任务")
}
func (status ExpiredStatus) Off(task *Task) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许关闭")
}
func (status ExpiredStatus) Acceptance(task *Task, participators []*EmployeeInfo, suMoney float64, taskPercentage []*TaskPercentageItem, referenceResourceScore []*ReferenceResourceItem, solveReport string, solvePictureUrls []string, actualCompletionTime time.Time) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许验收")
}
func (status ExpiredStatus) ConfirmTask(task *Task, plannedCompletionTime time.Time) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许确认任务领取人")
}
func (status ExpiredStatus) RejectReceiver(task *Task) error {
panic("implement me")
return fmt.Errorf("已过期的任务不允许驳回任务领取人")
}
type TaskRepository interface {
... ...