| | |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") |
| | | return |
| | | } |
| | | mentors, total, err := models.NewMentorSearch().SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetPreload(true).Find() |
| | | mentors, total, err := models.NewMentorSearch().SetPage(params.Page, params.PageSize).SetKeyword(params.Keyword).SetPreload(true).SetOrder("id desc").Find() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查询失败") |
| | | return |
| | |
| | | import ( |
| | | "github.com/gin-gonic/gin" |
| | | "github.com/spf13/cast" |
| | | "gorm.io/gorm" |
| | | "silkserver/controllers/request" |
| | | "silkserver/extend/code" |
| | | "silkserver/extend/util" |
| | | "silkserver/middleware" |
| | | "silkserver/models" |
| | | "silkserver/utils" |
| | | ) |
| | | |
| | | type WorkerPositionController struct { |
| | |
| | | } |
| | | |
| | | //查询是否重复 |
| | | _, err = models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).First() |
| | | if err != gorm.ErrRecordNotFound { |
| | | old, err := models.NewWorkerPositionSearch().SetWorkerID(params.WorkerId).First() |
| | | if err == nil { |
| | | if utils.IsOverlap(params.StartDate, params.EndDate, old.StartDate, old.EndDate) { |
| | | util.ResponseFormat(c, code.RequestParamError, "请勿重复添加") |
| | | return |
| | | } |
| | | } |
| | | |
| | | record := &models.WorkerPosition{ |
| | | StartDate: params.StartDate, |
New file |
| | |
| | | package utils |
| | | |
| | | import "time" |
| | | |
| | | // IsOverlap 判断两个时间段是否有重叠 |
| | | func IsOverlap(start1, end1, start2, end2 string) bool { |
| | | layout := "2006-01-02" |
| | | startTime1, _ := time.Parse(layout, start1) |
| | | endTime1, _ := time.Parse(layout, end1) |
| | | startTime2, _ := time.Parse(layout, start2) |
| | | endTime2, _ := time.Parse(layout, end2) |
| | | |
| | | // 如果一个时间段的开始时间在另一个时间段之后,或结束时间在另一个时间段之前,则无重叠 |
| | | if startTime1.After(endTime2) || endTime1.Before(startTime2) { |
| | | return false |
| | | } |
| | | return true |
| | | } |