6
0
Quellcode durchsuchen

fix(设备预约) 默认可预约逻辑调整

liuqi@dashoo.cn vor 3 Jahren
Ursprung
Commit
e02de0135a
2 geänderte Dateien mit 6 neuen und 5 gelöschten Zeilen
  1. 1 0
      model/equipment/internal/instrument.go
  2. 5 5
      service/equipment/equipment.go

+ 1 - 0
model/equipment/internal/instrument.go

@@ -49,6 +49,7 @@ type Instrument struct {
 	PurchaseTime            *gtime.Time `orm:"PurchaseTime"            json:"purchaseTime"`            // 采购日期
 	JoinPlan                int         `orm:"JoinPlan"                json:"joinPlan"`                // 计划
 	IsAppoint               int         `orm:"IsAppoint"               json:"isAppoint"`               // 是否需要预约
+	IsAppointAvailable      int         `orm:"IsAppointAvailable"      json:"isAppointAvailable"`     // 是否默认可预约 1是 2否
 	DeletedAt               *gtime.Time `orm:"DeletedAt"               json:"deletedAt"`               // 删除时间
 	Weekday                 string      `orm:"Weekday"                 json:"weekday"`                 // 每周可预约日
 	BeginAt                 *gtime.Time `orm:"BeginAt"                 json:"beginAt"`                 // 预约开始时段

+ 5 - 5
service/equipment/equipment.go

@@ -235,14 +235,14 @@ func (s Service) SearchNoAppointment(req *equipment2.IdReq, info request.UserInf
 	// 普通资格限制周末时间
 	var qualificationInfo []equipment2.BaseEquipmentQualification
 	var noAppointmentInfos []equipment2.NoReservationInfo
+	// 查询设备可预约时间段 和是否开启了默认可预约
+	var equipmentInfo equipment2.Instrument
+	s.Dao.DB.Model("instrument").Fields("IsAppointAvailable,BeginAt, EndAt").
+		Where("Id = " + strconv.Itoa(req.EquipmentId)).Scan(&equipmentInfo)
 	s.Dao.DB.Model("base_equipment_qualification").Where("EquipmentId = " +
 		strconv.Itoa(req.EquipmentId) + " and UserId = " +
 		strconv.Itoa(gconv.Int(info.Id))).Order("Qualification").Scan(&qualificationInfo)
-	if len(qualificationInfo) >= 1 && qualificationInfo[0].Qualification == "1" { // 只有普通预约资格,限制周末预约时间段
-		// 查询设备可预约时间段
-		var equipmentInfo equipment2.Instrument
-		s.Dao.DB.Model("instrument").Fields("BeginAt, EndAt").
-			Where("Id = " + strconv.Itoa(req.EquipmentId)).Scan(&equipmentInfo)
+	if len(qualificationInfo) >= 1 && qualificationInfo[0].Qualification == "1" && equipmentInfo.IsAppointAvailable!=1 { // 只有普通预约资格,限制周末预约时间段// 如果没有开启默认可预约 则进行时间段限制
 		startTime := equipmentInfo.BeginAt
 		endTime := equipmentInfo.EndAt
 		// 设备当天预约时间总长度h