|
|
@@ -12,7 +12,6 @@ import cn.com.taiji.core.entity.issue.IssueOrderinfo; |
|
|
|
import cn.com.taiji.core.entity.issue.IssueOrderinfoExt; |
|
|
|
import cn.com.taiji.core.entity.issue.IssueProduct; |
|
|
|
import cn.com.taiji.core.entity.issue.TransactionStatus; |
|
|
|
import cn.com.taiji.core.manager.tools.issue.IssueTools; |
|
|
|
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse; |
|
|
|
import cn.com.taiji.core.model.comm.protocol.ias.order.VehicleUploadRequest; |
|
|
|
import cn.com.taiji.core.model.comm.protocol.ias.order.VehicleUploadResponse; |
|
|
@@ -38,7 +37,6 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ |
|
|
|
|
|
|
|
public static final String VEHICLE_INFO = "vehicleInfo"; |
|
|
|
public static final String ORDER_EXT = "orderExt"; |
|
|
|
public static final String VEHICLE_CLASS= "vehicleClass"; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private VerificationRuleManager verificationRuleManager; |
|
|
@@ -80,17 +78,13 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ |
|
|
|
if (!order.getVehicleId().equals(request.getVehiclePlate()+"_"+request.getVehiclePlateColor())) { |
|
|
|
throw newBusinessException("当前车牌与订单车牌不一致"); |
|
|
|
} |
|
|
|
//计算收费车型 |
|
|
|
Integer vehicleClass = null; |
|
|
|
try { |
|
|
|
vehicleClass = IssueTools.getVehicleClass(request.getVanType(), request.getVehicleDimensions(), |
|
|
|
request.getApprovedCount(), request.getAxleCount(), request.getTotalMass()); |
|
|
|
} catch (ManagerException e) { |
|
|
|
throw newBusinessException(e.getMessage()); |
|
|
|
} |
|
|
|
// 校验产品是否支持当前车型 |
|
|
|
// Integer vehicleClass = getVehicleClass(request); |
|
|
|
// 校验车型 |
|
|
|
// throwBisExceptionOn(vehicleClass.intValue() != request.getFeeVehicleType().intValue(),"车型与行驶证不符"); |
|
|
|
IssueProduct product = issueProductRepo.findByReleaseId(order.getProductId()); |
|
|
|
if (!product.getVehicleType().contains(vehicleClass + "")) { |
|
|
|
throw newBusinessException(String.format("当前产品不支持%s发行", VehicleType.fromCode(vehicleClass).getValue())); |
|
|
|
if (!product.getVehicleType().contains(request.getFeeVehicleType() + "")) { |
|
|
|
throw newBusinessException(String.format("当前产品不支持%s发行", VehicleType.fromCode(request.getFeeVehicleType()).getValue())); |
|
|
|
} |
|
|
|
// 车辆所有人不是持卡人 |
|
|
|
if (!order.getCustomerName().equals(request.getOwnerName())) { |
|
|
@@ -102,7 +96,6 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ |
|
|
|
// 车辆数量校验 |
|
|
|
validCount(order.getCustomerId(), order.getUserType().getCode()); |
|
|
|
dataStream.put(ORDER, order); |
|
|
|
dataStream.put(VEHICLE_CLASS, vehicleClass); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@@ -110,7 +103,7 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ |
|
|
|
Map<String, Object> dataStream) throws ServiceHandleException { |
|
|
|
IssueOrderinfo order = (IssueOrderinfo)dataStream.get(ORDER); |
|
|
|
// 保存车辆 |
|
|
|
QtkVehicleInfo vehicleInfo = saveVehicle(order, request,dataStream); |
|
|
|
QtkVehicleInfo vehicleInfo = saveVehicle(order, request); |
|
|
|
// 保存订单 |
|
|
|
IssueOrderinfoExt ext = saveOrder(order, vehicleInfo, request); |
|
|
|
// 自动审核 货车类型走 人工审核 |
|
|
@@ -132,10 +125,12 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ |
|
|
|
protected AbstractSignTypeResponse getRes(VehicleUploadRequest req, ServiceLogEvent event, |
|
|
|
Map<String, Object> dataStream) throws ServiceHandleException { |
|
|
|
IssueOrderinfoExt orderinfoExt = (IssueOrderinfoExt)dataStream.get(ORDER_EXT); |
|
|
|
IssueOrderinfo orderinfo = (IssueOrderinfo) dataStream.get(ORDER); |
|
|
|
VehicleUploadResponse res = new VehicleUploadResponse(); |
|
|
|
res.setReceiveTime(getReceiveTimeStr(event)); |
|
|
|
res.setApprovalStatus(!hasText(orderinfoExt.getAuditReason())?1:2); |
|
|
|
res.setReason(orderinfoExt.getAuditReason()); |
|
|
|
res.setId(orderinfo.getId()); |
|
|
|
return res; |
|
|
|
} |
|
|
|
|
|
|
@@ -218,7 +213,7 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ |
|
|
|
return ext; |
|
|
|
} |
|
|
|
|
|
|
|
private QtkVehicleInfo saveVehicle(IssueOrderinfo order, VehicleUploadRequest request,Map<String, Object> dataStream) throws ServiceHandleException { |
|
|
|
private QtkVehicleInfo saveVehicle(IssueOrderinfo order, VehicleUploadRequest request) throws ServiceHandleException { |
|
|
|
QtkVehicleInfo vehicle = getVehicle(request); |
|
|
|
QtkCustomerInfo customer = customerInfoRepo.findByCustomerId(order.getCustomerId()); |
|
|
|
boolean hasOldVehicle = vehicle != null; |
|
|
@@ -234,7 +229,7 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ |
|
|
|
vehicle.setCustomerId(order.getCustomerId()); |
|
|
|
// vehicle.setCustomerInfo(customer); |
|
|
|
vehicle.setVehicleType(request.getVehicleType()); |
|
|
|
vehicle.setType((Integer) dataStream.get(VEHICLE_CLASS)); |
|
|
|
vehicle.setType(request.getFeeVehicleType()); |
|
|
|
// 办理人不是车主 |
|
|
|
if (!order.getCustomerName().equals(request.getOwnerName())) { |
|
|
|
vehicle.setOwnerName(request.getOwnerName()); |