|
@@ -969,6 +969,52 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
HouseNumberState houseNumberStateData = houseNumberStateService.getData(new Date(), houseNumberId);
|
|
HouseNumberState houseNumberStateData = houseNumberStateService.getData(new Date(), houseNumberId);
|
|
|
if (ObjectUtils.isNotEmpty(houseNumberStateData)) {
|
|
if (ObjectUtils.isNotEmpty(houseNumberStateData)) {
|
|
|
houseOrder.setLeaveTime(Date.from(LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter).atZone(ZoneId.systemDefault()).toInstant()));
|
|
houseOrder.setLeaveTime(Date.from(LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
+ // 获取水电消费金额和额度
|
|
|
|
|
+ HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
|
|
|
|
|
+ String electricEquipmentId = houseNumber.getElectricEquipmentId();
|
|
|
|
|
+ String waterEquipmentId = houseNumber.getWaterEquipmentId();
|
|
|
|
|
+ ElectricEquipment electricEquipment = electricEquipmentService.getById(electricEquipmentId);
|
|
|
|
|
+ WaterEquipment waterEquipment = waterEquipmentService.getById(waterEquipmentId);
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricEquipment) && ObjectUtils.isNotEmpty(waterEquipment)) {
|
|
|
|
|
+ String electricEquipmentRoomId = electricEquipment.getRoomId();
|
|
|
|
|
+ String waterEquipmentRoomId = waterEquipment.getRoomId();
|
|
|
|
|
+
|
|
|
|
|
+ Date liveTime = houseOrder.getLiveTime();
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ String live = sdf.format(liveTime);
|
|
|
|
|
+ String leave = sdf.format(new Date());
|
|
|
|
|
+// 获取电的消费金额和额度
|
|
|
|
|
+ JSONObject jsonObjectElectric = electricEquipmentService.roomCostRecord(electricEquipmentRoomId, live, leave);
|
|
|
|
|
+ BigDecimal costElectric = jsonObjectElectric.getBigDecimal("cost");
|
|
|
|
|
+ BigDecimal consumeElectric = jsonObjectElectric.getBigDecimal("consume");
|
|
|
|
|
+ BigDecimal electricCost = houseOrder.getElectricCost();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricCost)) {
|
|
|
|
|
+ costElectric = costElectric.add(electricCost);
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal electricConsume = houseOrder.getElectricConsume();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricConsume)) {
|
|
|
|
|
+ consumeElectric = consumeElectric.add(electricConsume);
|
|
|
|
|
+ }
|
|
|
|
|
+ houseOrder.setElectricCost(costElectric);
|
|
|
|
|
+ houseOrder.setElectricConsume(consumeElectric);
|
|
|
|
|
+// 获取水的消费金额和额度
|
|
|
|
|
+ JSONObject jsonObjectWater = waterEquipmentService.roomCostRecord(waterEquipmentRoomId, live, leave);
|
|
|
|
|
+ BigDecimal costWater = jsonObjectWater.getBigDecimal("cost");
|
|
|
|
|
+ BigDecimal consumeWater = jsonObjectWater.getBigDecimal("consume");
|
|
|
|
|
+ BigDecimal waterCost = houseOrder.getWaterCost();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(waterCost)) {
|
|
|
|
|
+ costWater = costWater.add(waterCost);
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal waterConsume = houseOrder.getWaterConsume();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(waterConsume)) {
|
|
|
|
|
+ consumeWater = consumeWater.add(waterConsume);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ houseOrder.setWaterCost(costWater);
|
|
|
|
|
+ houseOrder.setWaterConsume(consumeWater);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
houseOrderService.updateById(houseOrder);
|
|
houseOrderService.updateById(houseOrder);
|
|
|
return CommonResult.ok("该时间段已超过退房时间,已修改其订单状态");
|
|
return CommonResult.ok("该时间段已超过退房时间,已修改其订单状态");
|
|
|
}
|
|
}
|
|
@@ -2215,6 +2261,50 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
HouseNumberState houseNumberStateData = houseNumberStateService.getData(new Date(), houseNumberId);
|
|
HouseNumberState houseNumberStateData = houseNumberStateService.getData(new Date(), houseNumberId);
|
|
|
if (ObjectUtils.isEmpty(houseNumberStateData)) {
|
|
if (ObjectUtils.isEmpty(houseNumberStateData)) {
|
|
|
houseOrder.setLeaveTime(Date.from(LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter).atZone(ZoneId.systemDefault()).toInstant()));
|
|
houseOrder.setLeaveTime(Date.from(LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter).atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
+ // 获取水电消费金额和额度
|
|
|
|
|
+ HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
|
|
|
|
|
+ String electricEquipmentId = houseNumber.getElectricEquipmentId();
|
|
|
|
|
+ String waterEquipmentId = houseNumber.getWaterEquipmentId();
|
|
|
|
|
+ ElectricEquipment electricEquipment = electricEquipmentService.getById(electricEquipmentId);
|
|
|
|
|
+ WaterEquipment waterEquipment = waterEquipmentService.getById(waterEquipmentId);
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricEquipment) && ObjectUtils.isNotEmpty(waterEquipment)) {
|
|
|
|
|
+ String electricEquipmentRoomId = electricEquipment.getRoomId();
|
|
|
|
|
+ String waterEquipmentRoomId = waterEquipment.getRoomId();
|
|
|
|
|
+
|
|
|
|
|
+ Date liveTime = houseOrder.getLiveTime();
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ String live = sdf.format(liveTime);
|
|
|
|
|
+ String leave = sdf.format(new Date());
|
|
|
|
|
+// 获取电的消费金额和额度
|
|
|
|
|
+ JSONObject jsonObjectElectric = electricEquipmentService.roomCostRecord(electricEquipmentRoomId, live, leave);
|
|
|
|
|
+ BigDecimal costElectric = jsonObjectElectric.getBigDecimal("cost");
|
|
|
|
|
+ BigDecimal consumeElectric = jsonObjectElectric.getBigDecimal("consume");
|
|
|
|
|
+ BigDecimal electricCost = houseOrder.getElectricCost();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricCost)) {
|
|
|
|
|
+ costElectric = costElectric.add(electricCost);
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal electricConsume = houseOrder.getElectricConsume();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricConsume)) {
|
|
|
|
|
+ consumeElectric = consumeElectric.add(electricConsume);
|
|
|
|
|
+ }
|
|
|
|
|
+ houseOrder.setElectricCost(costElectric);
|
|
|
|
|
+ houseOrder.setElectricConsume(consumeElectric);
|
|
|
|
|
+// 获取水的消费金额和额度
|
|
|
|
|
+ JSONObject jsonObjectWater = waterEquipmentService.roomCostRecord(waterEquipmentRoomId, live, leave);
|
|
|
|
|
+ BigDecimal costWater = jsonObjectWater.getBigDecimal("cost");
|
|
|
|
|
+ BigDecimal consumeWater = jsonObjectWater.getBigDecimal("consume");
|
|
|
|
|
+ BigDecimal waterCost = houseOrder.getWaterCost();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(waterCost)) {
|
|
|
|
|
+ costWater = costWater.add(waterCost);
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal waterConsume = houseOrder.getWaterConsume();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(waterConsume)) {
|
|
|
|
|
+ consumeWater = consumeWater.add(waterConsume);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ houseOrder.setWaterCost(costWater);
|
|
|
|
|
+ houseOrder.setWaterConsume(consumeWater);
|
|
|
|
|
+ }
|
|
|
houseOrderService.updateById(houseOrder);
|
|
houseOrderService.updateById(houseOrder);
|
|
|
return CommonResult.ok("该时间段已超过退房时间,已修改其订单状态");
|
|
return CommonResult.ok("该时间段已超过退房时间,已修改其订单状态");
|
|
|
}
|
|
}
|
|
@@ -2973,10 +3063,52 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
houseOrder.setOrderStatus("8");
|
|
houseOrder.setOrderStatus("8");
|
|
|
houseOrder.setLeaveTime(new Date());
|
|
houseOrder.setLeaveTime(new Date());
|
|
|
String houseNumberId = houseOrder.getHouseNumberId();
|
|
String houseNumberId = houseOrder.getHouseNumberId();
|
|
|
-// todo 获取水电止码
|
|
|
|
|
|
|
+ HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
|
|
|
|
|
+// 获取水电能耗
|
|
|
|
|
+ // 获取水电消费金额和额度
|
|
|
|
|
+ String electricEquipmentId = houseNumber.getElectricEquipmentId();
|
|
|
|
|
+ String waterEquipmentId = houseNumber.getWaterEquipmentId();
|
|
|
|
|
+ ElectricEquipment electricEquipment = electricEquipmentService.getById(electricEquipmentId);
|
|
|
|
|
+ WaterEquipment waterEquipment = waterEquipmentService.getById(waterEquipmentId);
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricEquipment) && ObjectUtils.isNotEmpty(waterEquipment)) {
|
|
|
|
|
+ String electricEquipmentRoomId = electricEquipment.getRoomId();
|
|
|
|
|
+ String waterEquipmentRoomId = waterEquipment.getRoomId();
|
|
|
|
|
+
|
|
|
|
|
+ Date liveTime = houseOrder.getLiveTime();
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ String live = sdf.format(liveTime);
|
|
|
|
|
+ String leave = sdf.format(new Date());
|
|
|
|
|
+// 获取电的消费金额和额度
|
|
|
|
|
+ JSONObject jsonObjectElectric = electricEquipmentService.roomCostRecord(electricEquipmentRoomId, live, leave);
|
|
|
|
|
+ BigDecimal costElectric = jsonObjectElectric.getBigDecimal("cost");
|
|
|
|
|
+ BigDecimal consumeElectric = jsonObjectElectric.getBigDecimal("consume");
|
|
|
|
|
+ BigDecimal electricCost = houseOrder.getElectricCost();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricCost)) {
|
|
|
|
|
+ costElectric = costElectric.add(electricCost);
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal electricConsume = houseOrder.getElectricConsume();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(electricConsume)) {
|
|
|
|
|
+ consumeElectric = consumeElectric.add(electricConsume);
|
|
|
|
|
+ }
|
|
|
|
|
+ houseOrder.setElectricCost(costElectric);
|
|
|
|
|
+ houseOrder.setElectricConsume(consumeElectric);
|
|
|
|
|
+// 获取水的消费金额和额度
|
|
|
|
|
+ JSONObject jsonObjectWater = waterEquipmentService.roomCostRecord(waterEquipmentRoomId, live, leave);
|
|
|
|
|
+ BigDecimal costWater = jsonObjectWater.getBigDecimal("cost");
|
|
|
|
|
+ BigDecimal consumeWater = jsonObjectWater.getBigDecimal("consume");
|
|
|
|
|
+ BigDecimal waterCost = houseOrder.getWaterCost();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(waterCost)) {
|
|
|
|
|
+ costWater = costWater.add(waterCost);
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal waterConsume = houseOrder.getWaterConsume();
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(waterConsume)) {
|
|
|
|
|
+ consumeWater = consumeWater.add(waterConsume);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ houseOrder.setWaterCost(costWater);
|
|
|
|
|
+ houseOrder.setWaterConsume(consumeWater);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
|
|
|
|
|
// 将房间设置成脏房
|
|
// 将房间设置成脏房
|
|
|
houseNumber.setHouseStatus(2);
|
|
houseNumber.setHouseStatus(2);
|
|
|
|
|
|
|
@@ -2996,6 +3128,7 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
|
|
|
|
|
|
|
|
|
|
// 计算一个月内每个人的免费入住所消费的水电
|
|
// 计算一个月内每个人的免费入住所消费的水电
|
|
|
|
|
+ @Scheduled(cron = "0 0 1 1 * ? ")
|
|
|
public void payHouseOrder() {
|
|
public void payHouseOrder() {
|
|
|
// 获取免费的额度
|
|
// 获取免费的额度
|
|
|
SubsidySetup subsidySetup = subsidySetupService.list(new LambdaQueryWrapper<>()).get(0);
|
|
SubsidySetup subsidySetup = subsidySetupService.list(new LambdaQueryWrapper<>()).get(0);
|