Explorar el Código

iaw 车辆信息变更审核查询,解除插排占用调整

master
chenchaod hace 5 días
padre
commit
d439bf90b5

+ 51
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/VehicleChangeController.java Ver fichero

@@ -0,0 +1,51 @@
package cn.com.taiji.iaw.api.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.web.ApiResponse;
import cn.com.taiji.iaw.api.MyValidController;
import cn.com.taiji.iaw.dto.ass.sign.RePageReqDto;
import cn.com.taiji.iaw.dto.ass.vehicleChange.VehicleChangeViewReqDTO;
import cn.com.taiji.iaw.dto.ass.vehicleChange.VehicleChangeViewResDTO;
import cn.com.taiji.iaw.manager.ass.VehicleChangeManger;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;

/**
* @Author:ChenChao
* @Date:2025/9/5 20:08
* @Filename:VehicleChangeController
* @description:
*/
@Api(tags = {"车辆信息变更"})
@RestController
@RequestMapping("/api/vehicleChange")
public class VehicleChangeController extends MyValidController {

@Autowired
private VehicleChangeManger manager;

// @ApiOperation("申请")
// @PostMapping("/apply")
// public ApiResponse<Pagination> page(@Valid @RequestBody RePageReqDto dto) throws ManagerException {
// return ApiResponse.of(manager.rePage(dto));
// }
// @ApiOperation("详情")
// @PostMapping("/detail")
// public ApiResponse<Pagination> page(@Valid @RequestBody RePageReqDto dto) throws ManagerException {
// return ApiResponse.of(manager.rePage(dto));
// }

@ApiOperation("审核查询")
@PostMapping("/beforeReview")
public ApiResponse<VehicleChangeViewResDTO> page(@Valid @RequestBody VehicleChangeViewReqDTO dto) throws ManagerException {
VehicleChangeViewResDTO resDTO = manager.beforeReview(dto);
return ApiResponse.of(resDTO);
}
}

+ 3
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/AssOrderInfoResponseDTO.java Ver fichero

@@ -3,6 +3,7 @@ package cn.com.taiji.iaw.dto.ass;
import cn.com.taiji.common.model.BaseDTO;
import cn.com.taiji.core.entity.dict.AuditStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.core.entity.dict.ass.AssOrderType;
import cn.com.taiji.core.entity.dict.basic.IdType;
import cn.com.taiji.core.entity.dict.basic.SourceType;
@@ -29,6 +30,8 @@ public class AssOrderInfoResponseDTO extends BaseDTO {
private String channelId;//网点编号
@ApiModelProperty(value = "订单状态")
private AssOrderStatus orderStatus;//订单状态;
@ApiModelProperty(value = "订单步骤")
private AssOrderStep orderStep;//订单阶段;
@ApiModelProperty(value = "下单申请时间")
private LocalDateTime applyTime;//下单申请时间
@ApiModelProperty(value = "员工ID")

+ 3
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/releasePlate/ReleasePlateViewResponseDTO.java Ver fichero

@@ -6,6 +6,7 @@ import cn.com.taiji.core.entity.basic.QtkBlackObu;
import cn.com.taiji.core.entity.basic.QtkCardInfo;
import cn.com.taiji.core.entity.basic.QtkObuInfo;
import cn.com.taiji.core.entity.dict.AuditStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.iaw.model.ass.releasePlate.*;
import io.swagger.annotations.ApiModel;
@@ -24,8 +25,9 @@ public class ReleasePlateViewResponseDTO {
private LocalDateTime applyTime;//下单申请时间
@ApiModelProperty(value = "售后订单编号")
private String orderNo;
@ApiModelProperty(value = "订单状态")
private AssOrderStatus orderStatus;
@ApiModelProperty(value = "订单阶段")
// private AuditStatus auditStatus;// 订单审核状态
private AssOrderStep orderStep;//订单阶段;

@ApiModelProperty(value = "身份证信息")

+ 23
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/vehicleChange/VehicleChangeViewReqDTO.java Ver fichero

@@ -0,0 +1,23 @@
package cn.com.taiji.iaw.dto.ass.vehicleChange;

import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
* @Author:ChenChao
* @Date:2025/9/5 20:26
* @Filename:VehicleChangeVicewResDTO
* @description:
*/
@Data
@ApiModel(description = "售后订单-车辆信息变更审核查询请求")
public class VehicleChangeViewReqDTO extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "售后订单编号", required = true)
@NotBlank
private String orderNo;
}

+ 35
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/vehicleChange/VehicleChangeViewResDTO.java Ver fichero

@@ -0,0 +1,35 @@
package cn.com.taiji.iaw.dto.ass.vehicleChange;

import cn.com.taiji.core.entity.dict.ass.AssOrderStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.iaw.model.ass.releasePlate.ApplyInfo;
import cn.com.taiji.iaw.model.ass.releasePlate.DrivingInfo;
import cn.com.taiji.iaw.model.ass.releasePlate.OwnerInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;

/**
* @Author:ChenChao
* @Date:2025/9/5 20:27
* @Filename:VehicleChangeViewResDTO
* @description: 审核查询响应
*/
@Data
@ApiModel(description = "售后订单-车辆信息变更审核查询响应")
public class VehicleChangeViewResDTO {
@ApiModelProperty(value = "申请人信息")
private ApplyInfo applyInfo;
@ApiModelProperty(value = "新车辆信息")
private DrivingInfo drivingInfo;
@ApiModelProperty(value = "新车主信息")
private OwnerInfo ownerInfo;
@ApiModelProperty(value = "旧车辆信息")
private DrivingInfo oldDrivingInfo;
@ApiModelProperty(value = "订单状态")
private AssOrderStatus orderStatus;
@ApiModelProperty(value = "订单阶段")
private AssOrderStep orderStep;

}

+ 2
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/ReleasePlateManagerImpl.java Ver fichero

@@ -128,6 +128,7 @@ public class ReleasePlateManagerImpl extends AbstractIawManager implements Relea
ResultInfo resultInfo = getInfo(vehicleRelieve, assOrderinfo);
responseDTO.setApplyTime(assOrderinfo.getApplyTime());
responseDTO.setOrderNo(assOrderinfo.getOrderNo());
responseDTO.setOrderStatus(assOrderinfo.getOrderStatus());
responseDTO.setOrderStep(assOrderinfo.getOrderStep());

responseDTO.setApplyInfo(resultInfo.getApplyInfo());
@@ -168,7 +169,7 @@ public class ReleasePlateManagerImpl extends AbstractIawManager implements Relea
//行驶证信息
DrivingInfo drivingInfo = new DrivingInfo();
String[] split = assOrderinfo.getVehicleId().split("_");
drivingInfo.setPlateColor(split[1]);
drivingInfo.setPlateColor(Integer.valueOf(split[1]));
drivingInfo.setPlateNum(split[0]);
drivingInfo.setVehicleOwnerName(vehicleRelieve.getVehicleOwnerName());
drivingInfo.setVehPosImgUrl(minioUtil.getOuterUrl(vehicleRelieve.getVehPosImgUrl()));

+ 15
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeManger.java Ver fichero

@@ -0,0 +1,15 @@
package cn.com.taiji.iaw.manager.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.iaw.dto.ass.vehicleChange.VehicleChangeViewReqDTO;
import cn.com.taiji.iaw.dto.ass.vehicleChange.VehicleChangeViewResDTO;

/**
* @Author:ChenChao
* @Date:2025/9/5 20:18
* @Filename:VehicleChangeManger
* @description:
*/
public interface VehicleChangeManger {
VehicleChangeViewResDTO beforeReview(VehicleChangeViewReqDTO dto) throws ManagerException;
}

+ 86
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeMangerImpl.java Ver fichero

@@ -0,0 +1,86 @@
package cn.com.taiji.iaw.manager.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.ass.AssVehicleInfoChange;
import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo;
import cn.com.taiji.core.repo.jpa.ass.AssVehicleInfoChangeRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkVehicleInfoRepo;
import cn.com.taiji.iaw.dto.ass.vehicleChange.VehicleChangeViewReqDTO;
import cn.com.taiji.iaw.dto.ass.vehicleChange.VehicleChangeViewResDTO;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.model.ass.releasePlate.ApplyInfo;
import cn.com.taiji.iaw.model.ass.releasePlate.DrivingInfo;
import cn.com.taiji.iaw.model.ass.releasePlate.OwnerInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* @Author:ChenChao
* @Date:2025/9/5 20:18
* @Filename:VehicleChangeMangerImpl
* @description:
*/
@Service
public class VehicleChangeMangerImpl extends AbstractIawManager implements VehicleChangeManger{

@Autowired
private AssOrderinfoRepo assOrderinfoRepo;
@Autowired
private AssVehicleInfoChangeRepo assVehicleInfoChangeRepo;
@Autowired
private QtkVehicleInfoRepo qtkVehicleInfoRepo;

@Override
public VehicleChangeViewResDTO beforeReview(VehicleChangeViewReqDTO dto) throws ManagerException {
AssOrderinfo assOrderinfo = assOrderinfoRepo.findByOrderNo(dto.getOrderNo());
if (assOrderinfo == null) {
throw new ManagerException("订单不存在");
}
AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(dto.getOrderNo());
VehicleChangeViewResDTO resDTO = new VehicleChangeViewResDTO();
//申请人信息
ApplyInfo applyInfo = new ApplyInfo();
applyInfo.setUserPosImagesUrl(minioUtil.getOuterUrl(vehicleInfoChange.getUserPosImagesUrl()));
applyInfo.setUserNegImagesUrl(minioUtil.getOuterUrl(vehicleInfoChange.getUserNegImagesUrl()));
applyInfo.setMobile(vehicleInfoChange.getUserMobile());
applyInfo.setName(vehicleInfoChange.getUserName());
applyInfo.setCustomerIdNum(vehicleInfoChange.getUserIdNum());
applyInfo.setUserIdType(vehicleInfoChange.getUserIdType());
resDTO.setApplyInfo(applyInfo);
//新车辆信息
DrivingInfo newDrivingInfo = new DrivingInfo();
newDrivingInfo.setPlateNum(vehicleInfoChange.getVehiclePlate());
newDrivingInfo.setPlateColor(vehicleInfoChange.getVehiclePlateColor());
newDrivingInfo.setVehicleOwnerName(vehicleInfoChange.getVehicleName());
newDrivingInfo.setVehPosImgUrl(minioUtil.getOuterUrl(vehicleInfoChange.getVehPosImgUrl()));
newDrivingInfo.setVehNegImgUrl(minioUtil.getOuterUrl(vehicleInfoChange.getVehNegImgUrl()));
newDrivingInfo.setType(vehicleInfoChange.getType());
resDTO.setDrivingInfo(newDrivingInfo);
//新车主信息
if (vehicleInfoChange.getOwnerIdType() != null) {
OwnerInfo ownerInfo = new OwnerInfo();
ownerInfo.setOwnerIdType(vehicleInfoChange.getOwnerIdType().getCode());
ownerInfo.setOwnerName(vehicleInfoChange.getOwnerName());
ownerInfo.setOwnerIdNum(vehicleInfoChange.getOwnerIdNum());
ownerInfo.setOwnerPosImgUrl(minioUtil.getOuterUrl(vehicleInfoChange.getOwnerPosImgUrl()));
ownerInfo.setOwnerNegImgUrl(minioUtil.getOuterUrl(vehicleInfoChange.getOwnerNegImgUrl()));
ownerInfo.setProxyUrl(minioUtil.getOuterUrl(vehicleInfoChange.getProxyUrl()));
resDTO.setOwnerInfo(ownerInfo);
}
//旧车辆信息
QtkVehicleInfo vehicleInfo = qtkVehicleInfoRepo.findByVehicleId(assOrderinfo.getVehicleId());
DrivingInfo oldDrivingInfo = new DrivingInfo();
oldDrivingInfo.setPlateNum(assOrderinfo.getVehiclePlate());
oldDrivingInfo.setPlateColor(assOrderinfo.getVehiclePlateColor());
oldDrivingInfo.setVehicleOwnerName(vehicleInfoChange.getOwnerName());
oldDrivingInfo.setVehPosImgUrl(minioUtil.getOuterUrl(vehicleInfo.getVehPosImgUrl()));
oldDrivingInfo.setVehNegImgUrl(minioUtil.getOuterUrl(vehicleInfo.getVehNegImgUrl()));
oldDrivingInfo.setType(vehicleInfo.getType());
resDTO.setOldDrivingInfo(oldDrivingInfo);
resDTO.setOrderStep(assOrderinfo.getOrderStep());
resDTO.setOrderStatus(assOrderinfo.getOrderStatus());
return resDTO;
}
}

+ 3
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/model/ass/releasePlate/DrivingInfo.java Ver fichero

@@ -16,11 +16,13 @@ public class DrivingInfo {
@ApiModelProperty(value = "车牌号")
private String plateNum;
@ApiModelProperty(value = "车牌颜色")
private String plateColor;
private Integer plateColor;
@ApiModelProperty(value = "车辆所有人")
private String vehicleOwnerName;//行驶证上所有人
@ApiModelProperty(value = "行驶证正面照片")
private String vehPosImgUrl;//行驶证正面照片
@ApiModelProperty(value = "行驶证反面照片")
private String vehNegImgUrl;//行驶证反面 照片
@ApiModelProperty(value = "收费车型")
private Integer type;//收费车型;对应VehicleType枚举
}

Cargando…
Cancelar
Guardar