package tools import ( "github.com/gin-gonic/gin" "lims-extend/common" "lims-extend/model" "lims-extend/response" "time" ) type InfoVo struct { SoftwareTitle string `json:"software_title"` CreateTime string `json:"create_time"` SendTime string `json:"send_time"` By string `json:"by"` } func ModifyTime(c *gin.Context) { var info InfoVo c.ShouldBind(&info) db := common.GetDB() createTime, _ := time.ParseInLocation("2006-01-02 15:04:05", info.CreateTime, time.Local) sendTime, _ := time.ParseInLocation("2006-01-02 15:04:05", info.SendTime, time.Local) var software model.Software if info.By == "name" { if err := db.Model(&model.Software{}).Where("name = ? and software.delete <> 1", info.SoftwareTitle).First(&software).Error; err != nil { response.Fail(c, nil, "该软件不存在xiaohezi") return } } else if info.By == "id" { if err := db.Model(&model.Software{}).Where("id = ? and software.delete <> 1", info.SoftwareTitle).First(&software).Error; err != nil { response.Fail(c, nil, "该软件不存在_xiaohezi") return } } else { response.Fail(c, nil, "未选择查询方法") return } var plan model.Plan if err := db.Model(&model.Plan{}).Where("software_id = ? and plan.delete <> 1", software.ID).First(&plan).Error; err != nil { response.Fail(c, nil, "计划不存在") } var tasks []model.Task if err := db.Model(&model.Task{}).Where("plan_id = ?", plan.Id).Find(&tasks).Error; err != nil { response.Fail(c, nil, "任务不存在") } var version model.Version db.Model(&model.Version{}).Where("software_id = ?", software.ID).First(&version) version.CreatedAt = model.Time(createTime) version.UpdatedAt = model.Time(createTime) software.CreatedAt = model.Time(createTime) software.UpdatedAt = model.Time(createTime) plan.CreatedAt = model.Time(createTime) plan.UpdatedAt = model.Time(createTime) db.Model(&model.Version{}).Where("id = ?", version.Id).Updates(&version) db.Model(&model.Software{}).Where("id = ?", software.ID).Updates(&software) db.Model(&model.Plan{}).Where("id = ?", plan.Id).Updates(&plan) for i := 0; i < len(tasks); i++ { tasks[i].CreatedAt = model.Time(sendTime) tasks[i].UpdatedAt = model.Time(sendTime) db.Model(&model.Task{}).Where("id = ?", tasks[i].ID).Updates(&tasks[i]) } response.Success(c, gin.H{"software": software, "plan": plan, "tasks": tasks}, "done!") }