Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

master
liangchao před 4 dny
rodič
revize
e7bd6da1f4

+ 2
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssDeviceUpgradeRepo.java Zobrazit soubor

@@ -2,7 +2,9 @@ package cn.com.taiji.core.repo.jpa.ass;

import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.ass.AssDeviceUpgrade;
import cn.com.taiji.core.entity.dict.ass.AssOrderType;

public interface AssDeviceUpgradeRepo extends AbstractJpaRepo<AssDeviceUpgrade, String>{

AssDeviceUpgrade findByOrderNoAndOrderType(String orderNo, AssOrderType orderType);
}

+ 29
- 10
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/VehicleChangeController.java Zobrazit soubor

@@ -1,12 +1,11 @@
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.dto.ass.sign.ResignCheckResDTO;
import cn.com.taiji.iaw.dto.ass.sign.ResignResponseDTO;
import cn.com.taiji.iaw.dto.ass.vehicleChange.*;
import cn.com.taiji.iaw.manager.ass.VehicleChangeManger;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -31,21 +30,41 @@ 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("/apply")
public ApiResponse<VehicleChangeApplyResDTO> page(@Valid @RequestBody VehicleChangeApplyReqDTO dto) throws ManagerException {
VehicleChangeApplyResDTO resDTO = manager.apply(dto);
return ApiResponse.of(resDTO);
}
// @ApiOperation("详情")
// @PostMapping("/detail")
// public ApiResponse<Pagination> page(@Valid @RequestBody RePageReqDto dto) throws ManagerException {
// return ApiResponse.of(manager.rePage(dto));
// }

@ApiOperation("审核查询")
@ApiOperation("审核查询-APP")
@PostMapping("/beforeReview")
public ApiResponse<VehicleChangeViewResDTO> page(@Valid @RequestBody VehicleChangeViewReqDTO dto) throws ManagerException {
VehicleChangeViewResDTO resDTO = manager.beforeReview(dto);
return ApiResponse.of(resDTO);
}
@ApiOperation("签约参数获取")
@PostMapping("/sign")
public ApiResponse<ResignResponseDTO> sign(@Valid @RequestBody VehicleChangeSignReqDTO dto) throws ManagerException {
ResignResponseDTO resDTO = manager.sign(dto);
return ApiResponse.of(resDTO);
}
@ApiOperation("签约检测")
@PostMapping("/signCheck")
public ApiResponse<ResignCheckResDTO> signCheck(@Valid @RequestBody VehicleChangeSignReqDTO dto) throws ManagerException {
ResignCheckResDTO resDTO = manager.signCheck(dto);
return ApiResponse.of(resDTO);
}

// @ApiOperation("设备升级")
// @PostMapping("/deviceUp")
// public ApiResponse<VehicleChangeViewResDTO> deviceUp(@Valid @RequestBody VehicleChangeViewReqDTO dto) throws ManagerException {
// VehicleChangeViewResDTO resDTO = manager.deviceUp(dto);
// return ApiResponse.of(resDTO);
// }
}

+ 206
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/vehicleChange/VehicleChangeApplyReqDTO.java Zobrazit soubor

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

import cn.com.taiji.common.pub.validation.PatternFactory;
import cn.com.taiji.common.valid.ViolationValidator;
import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import cn.com.taiji.core.entity.dict.basic.*;
import cn.com.taiji.core.model.comm.protocol.constraint.EnumInteger;
import cn.com.taiji.core.model.comm.protocol.constraint.IntegerConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
* @Author:ChenChao
* @Date:2025/9/6 16:12
* @Filename:VehicleChangeApplyReqDTO
* @description:
*/
@Data
@ApiModel(description = "车辆信息变更申请请求")
public class VehicleChangeApplyReqDTO extends AbstractBizRequestDTO {
private String staffId;
private String openId;
// @NotBlank
// private String agencyId;
// @NotBlank
// private String channelId;
// @Enumerated(EnumType.STRING)
// @NotBlank
// private SourceType orderSource;
@NotBlank
@ApiModelProperty(value = "旧车牌号+颜色", required = true)
private String oldVehicleId;// 旧车牌号+颜色
@NotBlank
@ApiModelProperty(value = "车牌号", required = true)
private String vehiclePlate;// 车牌号
@NotNull
@EnumInteger(enumClazz = PlateColorType.class)
@ApiModelProperty(value = "车牌颜色", required = true)
private Integer vehiclePlateColor;// 车牌颜色
@NotBlank
@ApiModelProperty(value = "行驶证主页图片地址", required = true)
private String vehPosImgUrl;// 行驶证主页照片
@NotBlank
@ApiModelProperty(value = "行驶证副页图片地址", required = true)
private String vehNegImgUrl;// 行驶证副页照片
@NotBlank
@ApiModelProperty(value = "行驶证姓名", required = true)
private String vehicleName;//行驶证姓名
@NotNull
@EnumInteger(enumClazz = UseUserType.class)
@ApiModelProperty(value = "车辆使用类型", required = true)
private Integer useUserType;//车辆使用类型
@NotNull
@IntegerConstant(values = "1,2,3")
@ApiModelProperty(value = "客货类型 1客车 2货车 3专项作业;用户选择", required = true)
private Integer vanType;// 客货类型 1客车 2货车 3专项作业
@NotBlank
@ApiModelProperty(value = "vin码", required = true)
private String vin;// vin码
@NotBlank
@ApiModelProperty(value = "发动机编号", required = true)
private String engineNum;// 发动机编号
@NotBlank
@ApiModelProperty(value = "车辆类型", required = true)
private String vehicleType;// 行驶证车辆类型
@NotBlank
@ApiModelProperty(value = "车辆品牌", required = true)
private String vehicleModel;// 行驶证车辆品牌
@NotNull
@ApiModelProperty(value = "核定载人数", required = true)
private Integer approvedCount;// 核定载人数
@NotNull
@ApiModelProperty(value = "总质量", required = true)
private Integer totalMass;// 总质量
@ApiModelProperty(value = "整备质量")
private Integer maintenaceMass;// 整备质量
@ApiModelProperty(value = "核定载质量")
private Integer permittedWeight;// 核定载质量
@ApiModelProperty(value = "准牵引总质量")
private Integer permittedTowWeight;// 准牵引总质量
@NotBlank
@ApiModelProperty(value = "车辆尺寸", required = true)
private String vehicleDimensions;// 车辆尺寸
@Min(value = 2)
@NotNull
@ApiModelProperty(value = "车轴数", required = true)
private Integer axleCount;// 车轴数
@NotBlank
@ApiModelProperty(value = "发证日期", required = true)
private String issueDate;// 发证日期
@ApiModelProperty(value = "道路运输证号码")
private String transportIdNum;// 道路运输证编号
@ApiModelProperty(value = "经营许可证编号")
private String licenseIdNum;// 经营许可证编号
@NotBlank
@ApiModelProperty(value = "车身45°照片", required = true)
private String vehBodyUrl;// 车身45°照片
@ApiModelProperty(value = "道路运输许可证图片地址")
private String roadTransportPermitPicUrl;// 道路运输许可证图片地址
@NotNull
@EnumInteger(enumClazz = VehicleUseCharacter.class)
@ApiModelProperty(value = "车辆使用性质", required = true)
private Integer character;//车辆使用性质;
@NotBlank
@ApiModelProperty(value = "注册日期", required = true)
private String registerDate;// 注册日期
@IntegerConstant(values = "0,1")
@ApiModelProperty(value = "应急车辆标识")
private Integer emergencyFlag;// 应急车辆标识 0-非应急车辆 1-应急车辆
@NotNull
@EnumInteger(enumClazz = VehicleType.class)
@ApiModelProperty(value = "收费车型", required = true)
private Integer feeVehicleType;//收费车型 后端自己计算
//===================办理人信息================================
@NotBlank
@Pattern(regexp = "^1[3-9][0-9]{9}$", message = "手机号格式错误")
@ApiModelProperty(value = "申请人手机号", required = true)
private String mobile;//手机号
@NotNull
@EnumInteger(enumClazz = IdType.class)
@ApiModelProperty(value = "申请人证件类型", required = true)
private Integer userIdType;//证件类型(申请人)
@NotBlank
@ApiModelProperty(value = "申请人姓名", required = true)
private String name;//身份证OCR姓名
@NotBlank
@Pattern(regexp = PatternFactory.idCodeRegexp, message = "身份证格式错误")
@ApiModelProperty(value = "申请人证件号码", required = true)
private String userIdNum;//证件号码
@NotBlank
@ApiModelProperty(value = "申请人身份证人像图片地址", required = true)
private String userPosImagesUrl;//身份证人像图片地址
@NotBlank
@ApiModelProperty(value = "申请人身份证国徽图片地址", required = true)
private String userNegImagesUrl;//身份证国徽图片地址
@ApiModelProperty(value = "申请人地址")
private String userAdress;//地址

//========================车主信息===========================
@EnumInteger(enumClazz = IdType.class, message = "用户证件类型不合规")
@ApiModelProperty(value = "车主证件类型,不需要上传车主信息,不要传值")
private Integer ownerIdType;// 车主证件类型
@ApiModelProperty(value = "车主证件号码")
private String ownerIdNum;// 车主证件号码
@ApiModelProperty(value = "车主证件ocr地址")
private String ownerIdAddress;// 车主证件ocr地址
@ApiModelProperty(value = "车主证件正面图片地址")
private String ownerPosImgUrl;//车主证件正面照片地址
@ApiModelProperty(value = "车主证件反面图片地址,单位的填不上,个人必填")
private String ownerNegImgUrl;//车主证件反面照片地址, 单位的填不上,个人必填
@ApiModelProperty(value = "车主手机号,单位的填不上,个人必填")
private String ownerTel;//车主手机号,单位的填不上,个人必填
@ApiModelProperty(value = "车主身份证上姓名")
private String ownerName;//身份证上姓名
@ApiModelProperty(value = "委托书图片地址")
private String proxyUrl;// 委托书地址

@Override
protected void validate(ViolationValidator validator) {
if (SourceType.SERVICE_HALL.equals(getOrderSource())) {
validator.validFieldNotBlank("staffId", staffId);
}
if (vehicleDimensions.contains("X") || vehicleDimensions.contains("x") || vehicleDimensions.contains("×")
|| vehicleDimensions.contains("*")) {
try {
Integer.valueOf(vehicleDimensions.split("[Xx×*]")[0]);
} catch (Exception e) {
validator.validField("vehicleDimensionsError", true,
String.format("车辆车辆外廓尺寸参数不合规,无法计算收费车型_[%s]", vehicleDimensions));
}
}else {
validator.validField("vehicleDimensionsError", true,
String.format("车辆车辆外廓尺寸参数不合规,无法计算收费车型_[%s]", vehicleDimensions));
}
// 货车必填字段
if (vanType != 1) {
validator.validFieldNotNull("totalMass", totalMass);
validator.validFieldNotNull("maintenaceMass", maintenaceMass);
validator.validFieldNotNull("permittedWeight", permittedWeight);
// validator.validFieldNotNull("permittedTowWeight", permittedTowWeight);//20250304修改,不是所有的货车都有准牵引总质量,所以去掉校验
validator.validFieldNotNull("axleCount", axleCount);
}
// 牵引车必填字段
if (useUserType != 0) {
validator.validFieldNotBlank("roadTransportPermitPicUrl", roadTransportPermitPicUrl);
validator.validFieldNotBlank("licenseIdNum",licenseIdNum);
}
if (ownerIdType != null){
//有车主信息
validator.validFieldNotBlank("ownerName",ownerName);
validator.validFieldNotBlank("ownerIdNum",ownerIdNum);
validator.validFieldNotBlank("ownerIdAddress",ownerIdAddress);
validator.validFieldNotBlank("ownerPosImgUrl",ownerPosImgUrl);
if (ownerIdType != null && IdType.SFZ.getCode()== ownerIdType){
validator.validFieldNotBlank("ownerNegImgUrl",ownerNegImgUrl);// 单位的填不上,个人必填
validator.validFieldNotBlank("ownerTel",ownerTel);
}
}
}

}

+ 18
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/vehicleChange/VehicleChangeApplyResDTO.java Zobrazit soubor

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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
* @Author:ChenChao
* @Date:2025/9/6 17:35
* @Filename:VehicleChangeApplyResDTO
* @description:
*/
@ApiModel(description = "车辆信息变更申请响应")
@Data
public class VehicleChangeApplyResDTO {
@ApiModelProperty(value = "上传车主身份标识,1需要,2不需要")
private Integer flag;
}

+ 30
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/vehicleChange/VehicleChangeSignReqDTO.java Zobrazit soubor

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

import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import cn.com.taiji.core.model.comm.protocol.constraint.IntegerConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* @Author:ChenChao
* @Date:2025/9/6 14:24
* @Filename:VehicleChangeSignCheckReqDTO
* @description:
*/
@Data
@ApiModel(description = "车辆信息变更签约检测请求")
public class VehicleChangeSignReqDTO extends AbstractBizRequestDTO {
@ApiModelProperty(value = "售后表订单编号")
private String orderNo;
@NotNull
@IntegerConstant(values = "1,2")
@ApiModelProperty(value = "签约类型 1微信,2支付宝")
private Integer signChannelType=1;// 1:微信小程序 2:支付宝小程序
@NotBlank
@ApiModelProperty(value = "微信小程序或支付宝小程序的openId")
private String subOpenId;// signChannelType=1或2时必填,填黔通微信或支付宝小程序的openId,
}

+ 9
- 2
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeManger.java Zobrazit soubor

@@ -1,8 +1,9 @@
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;
import cn.com.taiji.iaw.dto.ass.sign.ResignCheckResDTO;
import cn.com.taiji.iaw.dto.ass.sign.ResignResponseDTO;
import cn.com.taiji.iaw.dto.ass.vehicleChange.*;

/**
* @Author:ChenChao
@@ -12,4 +13,10 @@ import cn.com.taiji.iaw.dto.ass.vehicleChange.VehicleChangeViewResDTO;
*/
public interface VehicleChangeManger {
VehicleChangeViewResDTO beforeReview(VehicleChangeViewReqDTO dto) throws ManagerException;

ResignCheckResDTO signCheck(VehicleChangeSignReqDTO dto) throws ManagerException;

ResignResponseDTO sign(VehicleChangeSignReqDTO dto) throws ManagerException;

VehicleChangeApplyResDTO apply(VehicleChangeApplyReqDTO dto) throws ManagerException;
}

+ 118
- 2
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeMangerImpl.java Zobrazit soubor

@@ -1,14 +1,33 @@
package cn.com.taiji.iaw.manager.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.core.entity.ass.AssAgencyConfig;
import cn.com.taiji.core.entity.ass.AssDeviceUpgrade;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.ass.AssVehicleInfoChange;
import cn.com.taiji.core.entity.basic.QtkCardInfo;
import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
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.SourceType;
import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.user.AccountInfo;
import cn.com.taiji.core.entity.user.Staff;
import cn.com.taiji.core.model.comm.protocol.ias.ass.ResignRequest;
import cn.com.taiji.core.model.comm.protocol.ias.ass.VehicleChangeApllyRequest;
import cn.com.taiji.core.model.comm.protocol.ias.ass.VehicleChangeAplyResponse;
import cn.com.taiji.core.model.comm.protocol.ias.order.SignQueryResponse;
import cn.com.taiji.core.repo.jpa.ass.AssAgencyConfigRepo;
import cn.com.taiji.core.repo.jpa.ass.AssDeviceUpgradeRepo;
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.QtkCardInfoRepo;
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.core.repo.jpa.user.StaffRepo;
import cn.com.taiji.iaw.dto.ass.sign.ResignCheckResDTO;
import cn.com.taiji.iaw.dto.ass.sign.ResignResponseDTO;
import cn.com.taiji.iaw.dto.ass.vehicleChange.*;
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;
@@ -31,6 +50,42 @@ public class VehicleChangeMangerImpl extends AbstractIawManager implements Vehic
private AssVehicleInfoChangeRepo assVehicleInfoChangeRepo;
@Autowired
private QtkVehicleInfoRepo qtkVehicleInfoRepo;
@Autowired
private QtkCardInfoRepo qtkCardInfoRepo;
@Autowired
private AssAgencyConfigRepo assAgencyConfigRepo;
@Autowired
private AssDeviceUpgradeRepo assDeviceUpgradeRepo;
@Autowired
private StaffRepo staffRepo;

@Override
public VehicleChangeApplyResDTO apply(VehicleChangeApplyReqDTO req) throws ManagerException {
req.validate();
VehicleChangeApplyResDTO responseDTO = new VehicleChangeApplyResDTO();
if (!req.getVehicleName().equals(req.getName()) && req.getOwnerIdType() == null){
responseDTO.setFlag(1);
return responseDTO;
}
VehicleChangeApllyRequest request = copyProperties(req, new VehicleChangeApllyRequest());
request.setOrderSource(req.getOrderSource());
String openId = findOpenIdByToken(req.getAccessToken());
request.setOpenId(openId);
if (SourceType.ALI == req.getOrderSource() || SourceType.WECHAT == req.getOrderSource()){
// 自营工具 和 管理端
request.setAgencyId("52001106004");//// 黔通智联(自营)
request.setChannelId("5201010600401150002");//// 黔通智联售后服务
}
if (SourceType.SERVICE_HALL == req.getOrderSource()){
Staff staff = staffRepo.findByStaffId(req.getStaffId());
request.setAgencyId(staff.getAgencyId());
request.setChannelId(staff.getServiceHallId());
}
VehicleChangeAplyResponse response = jsonPostRepeat(request);
sysPersistOperateLog(OperateType.CHANGE_VEHICLE_APPLY, response.getId(), req.getOrderSource(), openId,"车辆信息变更申请");
responseDTO.setFlag(2);
return responseDTO;
}

@Override
public VehicleChangeViewResDTO beforeReview(VehicleChangeViewReqDTO dto) throws ManagerException {
@@ -83,4 +138,65 @@ public class VehicleChangeMangerImpl extends AbstractIawManager implements Vehic
resDTO.setOrderStatus(assOrderinfo.getOrderStatus());
return resDTO;
}

@Override
public ResignCheckResDTO signCheck(VehicleChangeSignReqDTO dto) throws ManagerException {
AssOrderinfo assOrderinfo = assOrderinfoRepo.findByOrderNo(dto.getOrderNo());
if (assOrderinfo == null) throw new ManagerException("订单不存在");
AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(dto.getOrderNo());
QtkCardInfo cardInfo = qtkCardInfoRepo.findByVehicleIdAndCardStatus(assOrderinfo.getCardId());
//业务进行到这里,一定有正常的卡信息,这里抛异常提示
if (cardInfo == null) throw new ManagerException("车辆信息变更无法进行签约");
AccountInfo accountInfo = findAccountInfoByToken(dto.getAccessToken());
ResignRequest request = new ResignRequest();
request.setWxOpenId(dto.getSubOpenId());
request.setProductId(cardInfo.getPackageId());
//校验新车牌
request.setVehicleId(vehicleInfoChange.getVehiclePlate()+"_"+vehicleInfoChange.getVehiclePlateColor());
request.setName(accountInfo.getUserName());
request.setIdNum(accountInfo.getIdNum());
request.setFlag(1);
SignQueryResponse response = jsonPostRepeat(request);
ResignCheckResDTO resignCheckResDTO = copyProperties(response, new ResignCheckResDTO());
//签约成功,检测是否需要升级设备,是订单改带升级,否结束订单
if (!resignCheckResDTO.getUserState().equals("UNAUTHORIZED")) {
AssDeviceUpgrade orderType = assDeviceUpgradeRepo.findByOrderNoAndOrderType(dto.getOrderNo(), AssOrderType.VEHICLE_UPDATE);
if (orderType != null) {
assOrderinfo.setOrderStep(AssOrderStep.WAITING_UPGRADE);
}else {
assOrderinfo.setOrderStep(AssOrderStep.COMPLETED);
assOrderinfo.setOrderStatus(AssOrderStatus.FINISHED);
}
assOrderinfoRepo.merge(assOrderinfo);
}
return resignCheckResDTO;
}

@Override
public ResignResponseDTO sign(VehicleChangeSignReqDTO dto) throws ManagerException {
AssOrderinfo assOrderinfo = assOrderinfoRepo.findByOrderNo(dto.getOrderNo());
if (assOrderinfo == null) throw new ManagerException("订单不存在");
AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(dto.getOrderNo());
QtkCardInfo cardInfo = qtkCardInfoRepo.findByVehicleIdAndCardStatus(assOrderinfo.getCardId());
if (cardInfo == null) throw new ManagerException("车辆信息变更无法进行签约");
ResignResponseDTO responseDTO = new ResignResponseDTO();
//渠道订单没有渠道配置或签约地址默认和黔通签约
AssAgencyConfig agencyConfig = assAgencyConfigRepo.findByAgencyId(cardInfo.getAgencyId());
if (agencyConfig != null && !agencyConfig.getQtSign()){
responseDTO.setChannelSignAppId(agencyConfig.getChannelSignAppId());
responseDTO.setChannelSignUrl(agencyConfig.getChannelSignUrl());
}
AccountInfo accountInfo = findAccountInfoByToken(dto.getAccessToken());
ResignRequest request = new ResignRequest();
request.setWxOpenId(dto.getSubOpenId());
request.setProductId(cardInfo.getPackageId());
//新车牌签约
request.setVehicleId(vehicleInfoChange.getVehiclePlate()+"_"+vehicleInfoChange.getVehiclePlateColor());
request.setName(accountInfo.getUserName());
request.setIdNum(accountInfo.getIdNum());
request.setFlag(2);
SignQueryResponse response = jsonPostRepeat(request);
return copyProperties(response, responseDTO);
}

}

Načítá se…
Zrušit
Uložit