Commit 65d1ca88 authored by jiaorz's avatar jiaorz

预订时间处理bug

parent f19128c0
...@@ -928,26 +928,28 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -928,26 +928,28 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
} }
public boolean unbookHourInfo(String vehicleId, Map<String, Integer> hourInfo, Map<String,Object> params) { public boolean unbookHourInfo(String vehicleId, Map<String, Integer> hourInfo, Map<String,Object> params) {
boolean flag = false;
for (Map.Entry<String, Integer> entry : hourInfo.entrySet()) { for (Map.Entry<String, Integer> entry : hourInfo.entrySet()) {
VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto(); VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
vehicleBookHourInfoDto.setYearMonthDay(entry.getKey()); vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
vehicleBookHourInfoDto.setVehicleId(vehicleId); vehicleBookHourInfoDto.setVehicleId(vehicleId);
List<VehicleBookHourInfo> vehicleBookHourInfos = vehicleBookHourInfoBiz.selectByVehicleAndDate(vehicleBookHourInfoDto); List<VehicleBookHourInfo> vehicleBookHourInfos = vehicleBookHourInfoBiz.selectByVehicleAndDate(vehicleBookHourInfoDto);
if (vehicleBookHourInfos != null && vehicleBookHourInfos.size() > 0) { if (vehicleBookHourInfos != null && vehicleBookHourInfos.size() > 0) {
vehicleBookHourInfos.get(0).setBookedHour((vehicleBookHourInfos.get(0).getBookedHour() & ~entry.getValue()));
if((vehicleBookHourInfos.get(0).getBookedHour() & ~entry.getValue()) == 0) { if((vehicleBookHourInfos.get(0).getBookedHour() & ~entry.getValue()) == 0) {
if(!flag) { //解决重复执行的问题 DateTime dateTime = DateTime.parse(entry.getKey(), YEARMONTH_DATE_TIME_FORMATTER);
Integer effected = vehicleBookInfoMapper.updateBookedInfo(params); Integer andOperationFactor = 0;
if (effected < 0) { andOperationFactor |= 1<<(dateTime.dayOfMonth().get()-1);
return Boolean.FALSE; VehicleBookInfo vehicleBookInfo = getByVehicleIdAndYearMonth(vehicleId, dateTime.toString(YEARMONTH_DATE_TIME_FORMATTER));
} if(vehicleBookInfo != null) {
flag = true; vehicleBookInfo.setBookedDate(vehicleBookInfo.getBookedDate() & ~ andOperationFactor);
int effected = vehicleBookInfoMapper.updateByPrimaryKeySelective(vehicleBookInfo);
if (effected < 1) {
return Boolean.FALSE;
}
} }
} }
vehicleBookHourInfos.get(0).setBookedHour((vehicleBookHourInfos.get(0).getBookedHour() & ~entry.getValue()));
int effect = vehicleBookHourInfoBiz.updateByIdRe(vehicleBookHourInfos.get(0)); int effect = vehicleBookHourInfoBiz.updateByIdRe(vehicleBookHourInfos.get(0));
if (effect < 0) { if (effect < 1) {
return Boolean.FALSE; return Boolean.FALSE;
} else { } else {
continue; continue;
...@@ -959,6 +961,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -959,6 +961,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return Boolean.TRUE; return Boolean.TRUE;
} }
public Map<String, Integer> getDateInfo(String yearMonthDay) {
Map<String, Integer> map = new HashMap<>();
if(StringUtils.isNotBlank(yearMonthDay)) {
DateTime dateTime = DateTime.parse(yearMonthDay, YEARMONTH_DATE_TIME_FORMATTER);
Integer andOperationFactor = 0;
andOperationFactor |= 1<<(dateTime.dayOfMonth().get()-1);
map.put(dateTime.toString(YEARMONTH_DATE_TIME_FORMATTER), andOperationFactor);
}
return map;
}
/** /**
* 获取某月份相应预定日期查询条件 * 获取某月份相应预定日期查询条件
* @param yearMonthAndDate 年月 - 预定日期条件字符串(yyyy-MM-dd) * @param yearMonthAndDate 年月 - 预定日期条件字符串(yyyy-MM-dd)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment