|
|
@@ -36,22 +36,23 @@ func (s Service) List(req model.ListReq) ([]model.List, int, error) {
|
|
|
if req.Entity != nil {
|
|
|
entity := new(model.ReservationReq)
|
|
|
gconv.Struct(req.Entity, entity)
|
|
|
+ tableSql := s.Dao.Table + "."
|
|
|
if entity.Title != "" {
|
|
|
- entityModel = entityModel.WhereLike(s.Dao.Columns.Title, "%"+entity.Title+"%")
|
|
|
+ entityModel = entityModel.WhereLike(tableSql+s.Dao.Columns.Title, "%"+entity.Title+"%")
|
|
|
}
|
|
|
if entity.EntityId != 0 {
|
|
|
- entityModel = entityModel.Where(s.Dao.Columns.EntityId, entity.EntityId)
|
|
|
+ entityModel = entityModel.Where(tableSql+s.Dao.Columns.EntityId, entity.EntityId)
|
|
|
}
|
|
|
if entity.UserName != "" {
|
|
|
- entityModel = entityModel.WhereLike(s.Dao.Columns.UserName, "%"+entity.UserName+"%")
|
|
|
+ entityModel = entityModel.WhereLike(tableSql+s.Dao.Columns.UserName, "%"+entity.UserName+"%")
|
|
|
}
|
|
|
// 预约状态(1:预定 2:取消)
|
|
|
if entity.Status != 0 {
|
|
|
- entityModel = entityModel.Where(s.Dao.Columns.Status, entity.Status)
|
|
|
+ entityModel = entityModel.Where(tableSql+s.Dao.Columns.Status, entity.Status)
|
|
|
}
|
|
|
// 预约时间
|
|
|
if len(entity.TimeSplit) == 2 {
|
|
|
- entityModel = entityModel.WhereBetween(s.Dao.Columns.Status, entity.TimeSplit[0], entity.TimeSplit[1])
|
|
|
+ entityModel = entityModel.WhereBetween(tableSql+s.Dao.Columns.StartTime, entity.TimeSplit[0], entity.TimeSplit[1])
|
|
|
}
|
|
|
}
|
|
|
total, err := entityModel.Count()
|
|
|
@@ -62,7 +63,7 @@ func (s Service) List(req model.ListReq) ([]model.List, int, error) {
|
|
|
return nil, 0, nil
|
|
|
}
|
|
|
if req.Value != "" {
|
|
|
- entityModel = entityModel.Order(req.Value, req.Type)
|
|
|
+ entityModel = entityModel.Order(s.Dao.Table+"."+common.Snake2Orm(model.MeetingReservation{}, req.Value), req.Type)
|
|
|
}
|
|
|
res, err := entityModel.Page(req.Current, req.Size).
|
|
|
Fields("meeting_reservation.*", "meeting.Name", "base_user.DepartmentName").
|
|
|
@@ -179,6 +180,7 @@ func (s Service) check(req model.ReservationReq) error {
|
|
|
// 校验时间内是否有 预约
|
|
|
exist, err := s.Dao.M.WhereBetween(s.Dao.Columns.StartTime, req.StartTime, req.EndTime).
|
|
|
WhereBetween(s.Dao.Columns.EndTime, req.StartTime, req.EndTime).
|
|
|
+ Where(s.Dao.Columns.EntityId, req.EntityId).
|
|
|
Where(s.Dao.Columns.Status, 1).Count()
|
|
|
if err != nil {
|
|
|
return err
|
|
|
@@ -287,8 +289,8 @@ func (s Service) getCurrentWeekReservation(ctx context.Context, req model.Reserv
|
|
|
resultList := make([]model.ReservationList, 0)
|
|
|
for _, v := range list {
|
|
|
timeLong := v.EndTime.Sub(v.StartTime).Hours()
|
|
|
- grids := int(timeLong * 2)
|
|
|
- for i := 0; i <= grids; i++ {
|
|
|
+
|
|
|
+ for i := 0; i <= int(timeLong); i++ {
|
|
|
startAt := v.StartTime.Add(time.Duration(i) * 30 * time.Minute)
|
|
|
resultList = append(resultList, model.ReservationList{
|
|
|
Day: v.StartTime.Day(),
|