|
@@ -3,17 +3,23 @@ package com.qmrb.system.controller;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.qmrb.system.framework.security.util.SecurityUtils;
|
|
|
import com.qmrb.system.pojo.entity.Contract;
|
|
|
import com.qmrb.system.pojo.entity.ContractPlaceNumberRel;
|
|
|
import com.qmrb.system.pojo.entity.ContractPlaceNumberRelHis;
|
|
|
+import com.qmrb.system.pojo.entity.VirtualParkingSlot;
|
|
|
import com.qmrb.system.service.IContractPlaceNumberRelHisService;
|
|
|
import com.qmrb.system.service.IContractService;
|
|
|
+import com.qmrb.system.service.IVirtualParkingSlotService;
|
|
|
import com.qmrb.system.utils.DateUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springdoc.core.annotations.ParameterObject;
|
|
@@ -68,6 +74,9 @@ public class ContractPlaceNumberRelController {
|
|
|
IContractPlaceNumberRelHisService contractPlaceNumberRelHisService;
|
|
|
|
|
|
@Autowired
|
|
|
+ IVirtualParkingSlotService virtualParkingSlotService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
IContractService contractService;
|
|
|
|
|
|
@Operation(summary = "协议车牌历史记录分页列表", security = {@SecurityRequirement(name = "Authorization")})
|
|
@@ -139,17 +148,40 @@ public class ContractPlaceNumberRelController {
|
|
|
// 逻辑删除
|
|
|
List<Long> idList = Arrays.asList(ids.split(",")).stream()
|
|
|
.map(idStr -> Long.parseLong(idStr)).collect(Collectors.toList());
|
|
|
- boolean result = contractPlaceNumberRelService.removeByIds(idList);
|
|
|
List<ContractPlaceNumberRel> contractPlaceNumberRels = contractPlaceNumberRelService.listByIds(idList);
|
|
|
- if (result) {
|
|
|
+ if (CollectionUtil.isNotEmpty(idList)) {
|
|
|
+ ArrayList<String > virtualSlotNumbers = new ArrayList<>();
|
|
|
for (ContractPlaceNumberRel contractPlaceNumberRel : contractPlaceNumberRels) {
|
|
|
// 更新历史记录表
|
|
|
ContractPlaceNumberRelHis contractPlaceNumberRelHis = new ContractPlaceNumberRelHis();
|
|
|
BeanUtils.copyProperties(contractPlaceNumberRel, contractPlaceNumberRelHis, "id");
|
|
|
contractPlaceNumberRelHis.setStatus("4");// 0停用1启用 2到期 3新增 4删除 5修改
|
|
|
contractPlaceNumberRelHisService.save(contractPlaceNumberRelHis);
|
|
|
+ virtualSlotNumbers.add(contractPlaceNumberRel.getVirtualSlotNumber());
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+ // 释放虚拟车位
|
|
|
+ boolean update = virtualParkingSlotService.update(
|
|
|
+ new LambdaUpdateWrapper<VirtualParkingSlot>()
|
|
|
+ .in(VirtualParkingSlot::getVirtualSlotNumber, virtualSlotNumbers)
|
|
|
+ .eq(VirtualParkingSlot::getContractId, contractPlaceNumberRels.get(0).getContractId())
|
|
|
+ .set(VirtualParkingSlot::getStatus, "0")
|
|
|
+ );
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+ // boolean result = contractPlaceNumberRelService.removeByIds(idList);
|
|
|
+ boolean result = contractPlaceNumberRelService.update(
|
|
|
+ new LambdaUpdateWrapper<ContractPlaceNumberRel>()
|
|
|
+ .in(ContractPlaceNumberRel::getId, idList)
|
|
|
+ .set(ContractPlaceNumberRel::getPhone, null)
|
|
|
+ .set(ContractPlaceNumberRel::getPlateNumber, null)
|
|
|
+ .set(ContractPlaceNumberRel::getStatus, null)
|
|
|
+ .set(ContractPlaceNumberRel::getParkDays, null)
|
|
|
+ .set(ContractPlaceNumberRel::getCarWeight, null)
|
|
|
+ );
|
|
|
+
|
|
|
return Result.judge(result);
|
|
|
}
|
|
|
|