@@ -195,7 +195,7 @@ public class VerificationRuleManagerImpl extends AbstractCommManager implements | |||
builder.append("用户证件正面照识别结果异常;"); | |||
} | |||
} | |||
} else if (IdType.TYSHXYDMZS.equals(model.getCustomerIdType())) { | |||
} else if (IdType.YYZZ.equals(model.getCustomerIdType())) { | |||
OcrResult exist = ocrResultRepo.findByUrlAndType(model.getCusPosImageUrl(), OcrType.business_license); | |||
if (exist == null) { | |||
builder.append("用户证件正面照未找到识别结果;"); | |||
@@ -213,7 +213,7 @@ public class VerificationRuleManagerImpl extends AbstractCommManager implements | |||
} | |||
} | |||
} else { | |||
builder.append("特殊证件类型;"); | |||
builder.append("用户证件-特殊证件类型;"); | |||
} | |||
//==================================车主OCR==================================== | |||
if (!model.getCustomerName().equals(model.getOwnerName())) { | |||
@@ -234,6 +234,25 @@ public class VerificationRuleManagerImpl extends AbstractCommManager implements | |||
builder.append("车主证件正面照识别结果异常;"); | |||
} | |||
} | |||
} else if (IdType.YYZZ.equals(model.getOwnerIdType())) { | |||
OcrResult exist = ocrResultRepo.findByUrlAndType(model.getOwnerPosImgUrl(), OcrType.business_license); | |||
if (exist == null) { | |||
builder.append("车主营业执照未找到识别结果;"); | |||
} else { | |||
try { | |||
BusinessLicenseOcrResponse res = JsonTools.json2Object(exist.getResult(), BusinessLicenseOcrResponse.class); | |||
if (!model.getCustomerName().equals(res.getUnitName())) { | |||
builder.append("用户营业执照名称【" + model.getCustomerName() + "】与系统识别结果【" + res.getUnitName() + "】不一致;"); | |||
} | |||
if (!model.getCustomerIdNum().equals(res.getSCreditCode())) { | |||
builder.append("用户营业执照证件号码【" + model.getCustomerIdNum() + "】与系统识别结果【" + res.getSCreditCode() + "】不一致;"); | |||
} | |||
} catch (IOException e) { | |||
builder.append("车主营业执照识别结果异常;"); | |||
} | |||
} | |||
}else { | |||
builder.append("车主证件-特殊证件类型;"); | |||
} | |||
} | |||
} |
@@ -58,8 +58,7 @@ public class OrderInitManager extends AbstractOrderManager<OrderInitRequest> { | |||
private IssueProductPromotionRepo promotionRepo; | |||
@Autowired | |||
private IssueProductPayRepo productPayRepo; | |||
@Autowired | |||
private IssueOrderPayRepo orderPayRepo; | |||
@Override | |||
protected String getDataId(OrderInitRequest req) { |
@@ -1,19 +1,27 @@ | |||
package cn.com.taiji.ias.manager.order; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.core.entity.issue.IssueMultipleEquity; | |||
import cn.com.taiji.core.entity.issue.IssueProduct; | |||
import cn.com.taiji.core.entity.issue.IssueSingleEquity; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse; | |||
import cn.com.taiji.core.model.comm.protocol.ias.order.ProductQueryModel; | |||
import cn.com.taiji.core.model.comm.protocol.ias.order.ProductQueryRequest; | |||
import cn.com.taiji.core.model.comm.protocol.ias.order.ProductQueryResponse; | |||
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder; | |||
import cn.com.taiji.core.repo.jpa.issue.IssueMultipleEquityRepo; | |||
import cn.com.taiji.core.repo.jpa.issue.IssueProductPromotionRepo; | |||
import cn.com.taiji.core.repo.jpa.issue.IssueSingleEquityRepo; | |||
import cn.com.taiji.ias.dict.DataType; | |||
import cn.com.taiji.ias.model.ServiceLogEvent; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import java.time.LocalDateTime; | |||
import java.util.List; | |||
import java.util.Map; | |||
import java.util.Optional; | |||
import java.util.stream.Collectors; | |||
/** | |||
* @Author : cehnchaod | |||
@@ -27,8 +35,10 @@ public class ProductQueryManager extends AbstractOrderManager<ProductQueryReques | |||
@Autowired | |||
private IssueProductPromotionRepo promotionRepo; | |||
// @Autowired | |||
// private CsmsnSingleEquityInfoRepo singleEquityInfoRepo; | |||
@Autowired | |||
private IssueSingleEquityRepo issueSingleEquityRepo; | |||
@Autowired | |||
private IssueMultipleEquityRepo issueMultipleEquityRepo; | |||
public ProductQueryManager() { | |||
super(DataType.PRODUCT_QUERY); | |||
@@ -47,33 +57,27 @@ public class ProductQueryManager extends AbstractOrderManager<ProductQueryReques | |||
@Override | |||
protected void businessValidateInternal(ErrorMsgBuilder builder, ProductQueryRequest req, ServiceLogEvent event, | |||
Map<String, Object> dataStream) throws ServiceHandleException { | |||
// List<CsmsnPromoteDistPro> pros = promoteDistProRepo.findByAgencyId("%"+req.getAgentId()+"%"); | |||
// List<String> releaseIds = pros.stream().map(CsmsnPromoteDistPro::getReleaseId).collect(Collectors.toList()); | |||
// List<CsmsnReleaseProStandards> listByReleaseIds = releaseProStandardsRepo.findListByReleaseIds(releaseIds); | |||
// List<IssueOrderQueryProductModel> products = listByReleaseIds.stream().map(t -> { | |||
// IssueOrderQueryProductModel productModel = new IssueOrderQueryProductModel(); | |||
// String substring = | |||
// t.getEquityServicesId().substring(t.getEquityServicesId().length() - 1); | |||
// if ("S".equals(substring)) { | |||
// //单项权益 | |||
// CsmsnSingleEquityInfo csmsnSingleEquityInfo = | |||
// singleEquityInfoRepo.findallBySingleEquityId(t.getEquityServicesId()); | |||
// String s = Optional.ofNullable(csmsnSingleEquityInfo).map(CsmsnSingleEquityInfo::getSellingPoint).orElse(null); | |||
// productModel.setInfo(s);//产品概述 | |||
// } else if ("M".equals(substring)){ | |||
// //权益包 | |||
// CsmsnMultipleEquityInfo csmsnMultipleEquityInfo = | |||
// csmsnMultipleEquityInfoRepo.findallByMultipleEquityId(t.getEquityServicesId()); | |||
// String s = Optional.ofNullable(csmsnMultipleEquityInfo).map(CsmsnMultipleEquityInfo::getSellingPoint).orElse(null); | |||
// productModel.setInfo(s);//产品概述 | |||
// } | |||
// productModel.setProductId(t.getReleaseId()); | |||
// productModel.setProductName(t.getProductName()); | |||
// productModel.setPrice(t.getAmount().intValue()); | |||
// return productModel; | |||
// }).collect(Collectors.toList()); | |||
// dataStream.put(PRODUCTS, products); | |||
List<String> releaseIds = promotionRepo.findReleaseIds(req.toLikeStr(req.getAgentId()), LocalDateTime.now()); | |||
List<IssueProduct> productList = issueProductRepo.findListByReleaseIds(releaseIds); | |||
List<ProductQueryModel> products = productList.stream().map(t -> { | |||
ProductQueryModel productModel = new ProductQueryModel(); | |||
if (t.getEquityServicesId().endsWith("S")) { | |||
//单项权益 | |||
IssueSingleEquity singleEquity = issueSingleEquityRepo.findBySingleEquityId(t.getEquityServicesId()); | |||
String s = Optional.ofNullable(singleEquity).map(IssueSingleEquity::getSellingPoint).orElse(null); | |||
productModel.setInfo(s);//产品概述 | |||
} else if (t.getEquityServicesId().endsWith("M")){ | |||
//权益包 | |||
IssueMultipleEquity multipleEquity = issueMultipleEquityRepo.findByMultipleEquityId(t.getEquityServicesId()); | |||
String s = Optional.ofNullable(multipleEquity).map(IssueMultipleEquity::getSellingPoint).orElse(null); | |||
productModel.setInfo(s);//产品概述 | |||
} | |||
productModel.setProductId(t.getReleaseId()); | |||
productModel.setProductName(t.getProductName()); | |||
productModel.setPrice(t.getAmount().intValue()); | |||
return productModel; | |||
}).collect(Collectors.toList()); | |||
dataStream.put(PRODUCTS, products); | |||
} | |||
@Override | |||
protected AbstractSignTypeResponse getRes(ProductQueryRequest req, ServiceLogEvent event, |
@@ -1,15 +1,21 @@ | |||
package cn.com.taiji.ias.manager.order; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.core.entity.comm.CommonWxSignConfig; | |||
import cn.com.taiji.core.entity.dict.basic.Gender; | |||
import cn.com.taiji.core.entity.dict.basic.PlateColorType; | |||
import cn.com.taiji.core.entity.issue.IssueOrderinfo; | |||
import cn.com.taiji.core.entity.issue.IssueOrderinfoExt; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse; | |||
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.AtsVehicleUserStateRequest; | |||
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.AtsVehicleUserStateResponse; | |||
import cn.com.taiji.core.model.comm.protocol.ias.order.SignQueryRequest; | |||
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder; | |||
import cn.com.taiji.core.repo.jpa.comm.CommonWxSignConfigRepo; | |||
import cn.com.taiji.ias.dict.DataType; | |||
import cn.com.taiji.ias.model.MyFinals; | |||
import cn.com.taiji.ias.model.ServiceLogEvent; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import java.util.Map; | |||
@@ -22,12 +28,14 @@ import java.util.Map; | |||
@Service | |||
public class SignQueryManager extends AbstractOrderManager<SignQueryRequest> { | |||
// public static final String SIGN_QUERY_RESPONSE = "signQueryResponse"; | |||
public SignQueryManager() { | |||
super(DataType.SIGN_QUERY); | |||
} | |||
@Autowired | |||
private CommonWxSignConfigRepo commonWxSignConfigRepo; | |||
@Override | |||
protected String getDataId(SignQueryRequest req) { | |||
return req.getOrderNo(); | |||
@@ -53,6 +61,18 @@ public class SignQueryManager extends AbstractOrderManager<SignQueryRequest> { | |||
Map<String, Object> dataStream) throws ServiceHandleException { | |||
IssueOrderinfo order = (IssueOrderinfo)dataStream.get(ORDER); | |||
IssueOrderinfoExt orderInfoExt = orderInfoExtRepo.findByOrderNo(order.getOrderNo()); | |||
Integer vehiclePlateColor = order.getVehiclePlateColor(); | |||
switch (PlateColorType.valueOfCode(vehiclePlateColor)){ | |||
case BLUE: | |||
case GREEN: | |||
carSignV2(request,order); | |||
break; | |||
case YELLOW: | |||
carSignV3(request,order); | |||
break; | |||
default: throw newBusinessException("当前只支持,蓝、渐变绿、黄,三种车牌签约"); | |||
} | |||
// 查询签约结果 | |||
// WxChannelUserSignQueryPostResponse signQueryRes = queryUserSign(request, order, orderInfoExt); | |||
// 更新订单签约结果 | |||
@@ -63,6 +83,28 @@ public class SignQueryManager extends AbstractOrderManager<SignQueryRequest> { | |||
// dataStream.put(SIGN_QUERY_RESPONSE, signQueryRes); | |||
} | |||
private void carSignV2(SignQueryRequest req, IssueOrderinfo order) throws ServiceHandleException { | |||
CommonWxSignConfig signConfig = commonWxSignConfigRepo.findByAgencyIdAndVersion(order.getAgencyId(), 2); | |||
AtsVehicleUserStateRequest request = new AtsVehicleUserStateRequest(); | |||
request.setAppId(signConfig.getAppId()); | |||
request.setSubAppId(signConfig.getSubAppId()); | |||
request.setMchId(signConfig.getMchId()); | |||
request.setSubMchId(signConfig.getSubMchId()); | |||
request.setSignKey(signConfig.getSignKey()); | |||
request.setPlateNumber(order.getVehiclePlate()); | |||
request.setSubOpenId(req.getSubOpenId()); | |||
AtsVehicleUserStateResponse response = jsonPostRepeat(request); | |||
if (response.getUserState()) | |||
} | |||
private void carSignV3(SignQueryRequest request, IssueOrderinfo order) { | |||
} | |||
// @Override | |||
// protected void onSuccessInternal(IssueOrderSignQueryRequest req, ServiceLogEvent event, | |||
// Map<String, Object> dataStream) { |
@@ -5,10 +5,7 @@ import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.pub.StringTools; | |||
import cn.com.taiji.core.entity.basic.QtkCustomerInfo; | |||
import cn.com.taiji.core.entity.basic.QtkVehicleInfo; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import cn.com.taiji.core.entity.dict.basic.SourceType; | |||
import cn.com.taiji.core.entity.dict.basic.UseUserType; | |||
import cn.com.taiji.core.entity.dict.basic.VehicleType; | |||
import cn.com.taiji.core.entity.dict.basic.*; | |||
import cn.com.taiji.core.entity.dict.issue.IssueOrderStatus; | |||
import cn.com.taiji.core.entity.dict.issue.IssueOrderStep; | |||
import cn.com.taiji.core.entity.dict.issue.OrderType; | |||
@@ -268,11 +265,7 @@ public class VehicleUploadManager extends AbstractOrderManager<VehicleUploadRequ | |||
vehicle.setTotalMass(request.getTotalMass()); | |||
vehicle.setMaintenaceMass(request.getMaintenaceMass()); | |||
vehicle.setPermittedWeight(request.getPermittedWeight()); | |||
String vehicleDimensions = request.getVehicleDimensions(); | |||
if (StringTools.hasText(vehicleDimensions)) { | |||
vehicleDimensions = vehicleDimensions.replace("m",""); | |||
} | |||
vehicle.setVehicleDimensions(vehicleDimensions); | |||
vehicle.setVehicleDimensions(request.getVehicleDimensions().replace("m","")); | |||
vehicle.setPermittedTowWeight(request.getPermittedTowWeight()); | |||
vehicle.setAxleCount(request.getAxleCount()); | |||
vehicle.setIssueDate(request.getIssueDate()); |