|
@@ -13,6 +13,7 @@ import com.aidex.system.domain.SysConfig;
|
|
import com.aidex.system.domain.SysWharf;
|
|
import com.aidex.system.domain.SysWharf;
|
|
import com.aidex.system.mapper.SysReservationDataMapper;
|
|
import com.aidex.system.mapper.SysReservationDataMapper;
|
|
import com.aidex.system.req.SysReservationConfigReq;
|
|
import com.aidex.system.req.SysReservationConfigReq;
|
|
|
|
+import com.aidex.system.req.SysReservationConfigTimeDurationReq;
|
|
import com.aidex.system.service.SysWharfService;
|
|
import com.aidex.system.service.SysWharfService;
|
|
import com.alibaba.fastjson2.JSON;
|
|
import com.alibaba.fastjson2.JSON;
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
@@ -127,7 +128,7 @@ public class SysReservationConfigServiceImpl extends BaseServiceImpl<SysReservat
|
|
public int batchInsert(List<SysReservationConfig> list) {
|
|
public int batchInsert(List<SysReservationConfig> list) {
|
|
return mapper.batchInsert(list);
|
|
return mapper.batchInsert(list);
|
|
}
|
|
}
|
|
- @Transactional(readOnly = false)
|
|
|
|
|
|
+ /*@Transactional(readOnly = false)
|
|
@Override
|
|
@Override
|
|
public int addBySysReservationConfigReq(SysReservationConfigReq sysReservationConfigReq) {
|
|
public int addBySysReservationConfigReq(SysReservationConfigReq sysReservationConfigReq) {
|
|
SysConfig routeStartConfig = ConfigUtils.getConfigByKey("sys.route.start");
|
|
SysConfig routeStartConfig = ConfigUtils.getConfigByKey("sys.route.start");
|
|
@@ -224,6 +225,57 @@ public class SysReservationConfigServiceImpl extends BaseServiceImpl<SysReservat
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
|
|
+ }*/
|
|
|
|
+
|
|
|
|
+ @Transactional(readOnly = false)
|
|
|
|
+ @Override
|
|
|
|
+ public int addBySysReservationConfigReq(SysReservationConfigReq sysReservationConfigReq) {
|
|
|
|
+ List<SysReservationConfig> list = new ArrayList<>();
|
|
|
|
+ if(sysReservationConfigReq.getSysReservationConfigTimeDurationReqList() != null){
|
|
|
|
+ Date startDate = sysReservationConfigReq.getStartDate();
|
|
|
|
+ Date endDate = sysReservationConfigReq.getEndDate();
|
|
|
|
+ long days = DateUtil.between(startDate,endDate, DateUnit.DAY);
|
|
|
|
+ if(days > 0){
|
|
|
|
+ for(int i = 0; i <= days; i++){
|
|
|
|
+ DateTime date = DateUtil.offsetDay(startDate, i);
|
|
|
|
+ for (SysReservationConfigTimeDurationReq item : sysReservationConfigReq.getSysReservationConfigTimeDurationReqList()){
|
|
|
|
+ SysReservationConfig sysReservationConfig = new SysReservationConfig();
|
|
|
|
+ sysReservationConfig.setReservationDate(date);
|
|
|
|
+ // 开始时间
|
|
|
|
+ String startTime = DateUtil.formatDate(date) + " " + item.getStartTime();
|
|
|
|
+ sysReservationConfig.setReservationStartTime(DateUtil.parseDateTime(startTime));
|
|
|
|
+ // 结束时间
|
|
|
|
+ String endTime = DateUtil.formatDate(date) + " " + item.getEndTime();
|
|
|
|
+ sysReservationConfig.setReservationEndTime(DateUtil.parseDateTime(endTime));
|
|
|
|
+ sysReservationConfig.setEnableNum((long) item.getEnableNum());
|
|
|
|
+ sysReservationConfig.setStatus(sysReservationConfigReq.getStatus());
|
|
|
|
+ sysReservationConfig.setEnableWharf(sysReservationConfigReq.getEnableWharf());
|
|
|
|
+ sysReservationConfig.setId(IdUtil.simpleUUID());
|
|
|
|
+ list.add(sysReservationConfig);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return mapper.batchInsert(list);
|
|
|
|
+ } else {
|
|
|
|
+ DateTime date = DateUtil.offsetDay(startDate, 0);
|
|
|
|
+ for (SysReservationConfigTimeDurationReq item : sysReservationConfigReq.getSysReservationConfigTimeDurationReqList()){
|
|
|
|
+ SysReservationConfig sysReservationConfig = new SysReservationConfig();
|
|
|
|
+ sysReservationConfig.setReservationDate(date);
|
|
|
|
+ // 开始时间
|
|
|
|
+ String startTime = DateUtil.formatDate(date) + " " + item.getStartTime();
|
|
|
|
+ sysReservationConfig.setReservationStartTime(DateUtil.parseDateTime(startTime));
|
|
|
|
+ // 结束时间
|
|
|
|
+ String endTime = DateUtil.formatDate(date) + " " + item.getEndTime();
|
|
|
|
+ sysReservationConfig.setReservationEndTime(DateUtil.parseDateTime(endTime));
|
|
|
|
+ sysReservationConfig.setEnableNum((long) item.getEnableNum());
|
|
|
|
+ sysReservationConfig.setStatus(sysReservationConfigReq.getStatus());
|
|
|
|
+ sysReservationConfig.setEnableWharf(sysReservationConfigReq.getEnableWharf());
|
|
|
|
+ sysReservationConfig.setId(IdUtil.simpleUUID());
|
|
|
|
+ list.add(sysReservationConfig);
|
|
|
|
+ }
|
|
|
|
+ return mapper.batchInsert(list);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -242,7 +294,8 @@ public class SysReservationConfigServiceImpl extends BaseServiceImpl<SysReservat
|
|
String wharfName = item.getWharfNanme();
|
|
String wharfName = item.getWharfNanme();
|
|
for (int i = 0; i < durationByDate.size(); i++) {
|
|
for (int i = 0; i < durationByDate.size(); i++) {
|
|
String duration = durationByDate.get(i);
|
|
String duration = durationByDate.get(i);
|
|
- long count = reservationDataByDate.stream().filter(reservationData -> reservationData.get("startWharfName").equals(wharfName) && reservationData.get("duration").equals(duration)).count();
|
|
|
|
|
|
+ long count = reservationDataByDate.stream().filter(reservationData -> reservationData.get("startWharfName").equals(wharfName) && reservationData.get("duration").equals(duration))
|
|
|
|
+ .mapToInt(reservationData -> Integer.parseInt(reservationData.get("numberTicket"))).sum();
|
|
map.put(duration, String.valueOf(count));
|
|
map.put(duration, String.valueOf(count));
|
|
}
|
|
}
|
|
data.add(map);
|
|
data.add(map);
|
|
@@ -293,4 +346,32 @@ public class SysReservationConfigServiceImpl extends BaseServiceImpl<SysReservat
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<SysReservationConfigTimeDurationReq> createSysReservationConfigTimeDuration(SysReservationConfigTimeDurationReq sysReservationConfigTimeDurationReq) {
|
|
|
|
+ String[] split = sysReservationConfigTimeDurationReq.getStartTime().split(":");
|
|
|
|
+ String[] endSplit = sysReservationConfigTimeDurationReq.getEndTime().split(":");
|
|
|
|
+ DateTime startDateTime = new DateTime(TimeZone.getTimeZone("GMT+8"));
|
|
|
|
+ startDateTime.setField(DateField.HOUR_OF_DAY, Integer.valueOf(split[0]));
|
|
|
|
+ startDateTime.setField(DateField.MINUTE, Integer.valueOf(split[1]));
|
|
|
|
+ startDateTime.setField(DateField.SECOND, 0);
|
|
|
|
+ DateTime endDateTime = new DateTime(TimeZone.getTimeZone("GMT+8"));
|
|
|
|
+ endDateTime.setField(DateField.HOUR_OF_DAY, Integer.valueOf(endSplit[0]));
|
|
|
|
+ endDateTime.setField(DateField.MINUTE, Integer.valueOf(endSplit[1]));
|
|
|
|
+ endDateTime.setField(DateField.SECOND, 0);
|
|
|
|
+ long between = DateUtil.between(startDateTime, endDateTime, DateUnit.MINUTE);
|
|
|
|
+ List<SysReservationConfigTimeDurationReq> list = new ArrayList<>();
|
|
|
|
+ int num = (int) (between / sysReservationConfigTimeDurationReq.getDuration() + (between % sysReservationConfigTimeDurationReq.getDuration() != 0 ? 1 : 0));
|
|
|
|
+ for (int i = 0; i < num; i++) {
|
|
|
|
+ SysReservationConfigTimeDurationReq item = new SysReservationConfigTimeDurationReq();
|
|
|
|
+ item.setStartTime(DateUtil.formatTime(DateUtil.offset(startDateTime, DateField.MINUTE, sysReservationConfigTimeDurationReq.getDuration() * i)));
|
|
|
|
+ item.setEndTime(DateUtil.formatTime(DateUtil.offset(startDateTime, DateField.MINUTE, sysReservationConfigTimeDurationReq.getDuration() * (i+1))));
|
|
|
|
+ DateTime offset = DateUtil.offset(startDateTime, DateField.MINUTE, sysReservationConfigTimeDurationReq.getDuration() * (i + 1));
|
|
|
|
+ if (offset.getTime() > endDateTime.getTime()){
|
|
|
|
+ item.setEndTime(DateUtil.formatTime(endDateTime));
|
|
|
|
+ }
|
|
|
|
+ list.add(item);
|
|
|
|
+ }
|
|
|
|
+ return list;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|