123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package controller
- import (
- "github.com/gin-gonic/gin"
- "lims-extend/common"
- "lims-extend/model"
- "lims-extend/response"
- )
- // TakeTask 领取任务
- // 传入参数 taskId
- func TakeTask(c *gin.Context) {
- db := common.GetDB()
- // 获取taskId
- taskId := c.Params.ByName("taskId")
- // 查看task是否存在
- var task model.Task
- if err := db.Model(&model.Task{}).Where("id = ?", taskId).First(&task).Error; err != nil {
- response.Fail(c, nil, "Task不存在,请检查")
- return
- }
- // 查看task是否被重复领取
- if task.State != 3 {
- response.Fail(c, nil, "任务已被领取,请勿重新领取")
- return
- }
- // 更新task的修改时间以及状态从 未领取 -> 未执行
- task.UpdatedAt = model.Time{}
- task.State = 0
- // 提交修改至数据库
- if err := db.Model(&model.Task{}).Select("UpdateAt", "State").
- Where("id = ?", taskId).Updates(task).Error; err != nil {
- response.Fail(c, nil, "任务领取失败")
- return
- }
- response.Success(c, gin.H{"task": task}, "任务领取成功")
- }
|