diff --git a/web-app/src/main/java/com/zcloud/primeport/command/VehicleBlackAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/VehicleBlackAddExe.java index 065176b..f6da967 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/VehicleBlackAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/VehicleBlackAddExe.java @@ -1,8 +1,11 @@ package com.zcloud.primeport.command; import com.alibaba.cola.exception.BizException; import com.zcloud.primeport.domain.gateway.VehicleBlackGateway; +import com.zcloud.primeport.domain.gateway.VehicleMessageGateway; import com.zcloud.primeport.domain.model.VehicleBlackE; +import com.zcloud.primeport.domain.model.VehicleMessageE; import com.zcloud.primeport.dto.VehicleBlackAddCmd; +import com.zcloud.primeport.dto.VehicleMessageForCorpAddCmd; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; @@ -19,13 +22,26 @@ import org.springframework.transaction.annotation.Transactional; @AllArgsConstructor public class VehicleBlackAddExe { private final VehicleBlackGateway vehicleBlackGateway; - + private final VehicleMessageGateway vehicleMessageGateway; @Transactional(rollbackFor = Exception.class) public boolean execute(VehicleBlackAddCmd cmd) { - VehicleBlackE vehicleBlackE = new VehicleBlackE(); - BeanUtils.copyProperties(cmd, vehicleBlackE); + boolean res = false; try { + /** + * 1.先把数据同步到车辆信息库中. + * 2.在写入数据库中. + */ + VehicleBlackE vehicleBlackE = new VehicleBlackE(); + VehicleMessageE infoByLicenceNo = vehicleMessageGateway.getInfoByLicenceNo(cmd.getLicenceNo()); + if (infoByLicenceNo == null) { //如果车辆不存在.则新增车辆.再存入黑名单中 + VehicleMessageE vehicleMessageE = new VehicleMessageE(); + BeanUtils.copyProperties(cmd, vehicleMessageE); + vehicleMessageE = vehicleMessageGateway.add(vehicleMessageE); + BeanUtils.copyProperties(vehicleBlackE, vehicleMessageE); + }else{ //如有车辆.则更新车辆信息.再存入黑名单中 + BeanUtils.copyProperties(vehicleBlackE, infoByLicenceNo); + } res = vehicleBlackGateway.add(vehicleBlackE); } catch (Exception e) { throw new RuntimeException(e); diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleBlackAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleBlackAddCmd.java index 63ed715..b91ce7d 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/VehicleBlackAddCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/VehicleBlackAddCmd.java @@ -23,5 +23,12 @@ public class VehicleBlackAddCmd extends Command { @NotNull(message = "车辆信息表(t_vehicle_message)的主键id不能为空") private Long vehicleId; + @ApiModelProperty(value = "车牌号", name = "licenceNo", required = true) + @NotEmpty(message = "车牌号不能为空") + private String licenceNo; + + @ApiModelProperty(value = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌", name = "licenceType", required = true) + @NotNull(message = "车牌类型 0-白牌 1- 蓝牌 2-黄牌 3-绿牌 4-黑牌不能为空") + private Integer licenceType; }