|
|
@@ -624,6 +624,131 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
return insOrdersVo;
|
|
|
}
|
|
|
|
|
|
+ public InsOrdersVo selectByIdNoSalesmanInfo(Long id) {
|
|
|
+ log.info("根据id查询订单信息。订单的序号(订单号)id=[{}]", id);
|
|
|
+ // 1. 查询订单信息
|
|
|
+ InsOrdersVo insOrdersVo = insOrdersMapper.getById(id);
|
|
|
+ if (insOrdersVo == null) {
|
|
|
+ log.info("根据id没有找到订单信息。订单的序号(不是订单号)id=[{}]。", id);
|
|
|
+ throw new SystemException("查询结果为空,无法处理订单信息");
|
|
|
+ }
|
|
|
+ // 协议名称、协议类型
|
|
|
+ if (Objects.nonNull(insOrdersVo.getInsOrders().getAgreementId())) {
|
|
|
+ HttpResult<AgreementInfoVo> ptlAgreement = orgClient.queryAgreementById(insOrdersVo.getInsOrders().getAgreementId());
|
|
|
+ // modify by lipf 2026年4月14日16:59:27 解决查看后补订单没有协议时查看不到数据的bug
|
|
|
+ //AssertionUtils.isFail(ptlAgreement.getCode() == 500, ptlAgreement.getMsg() + ",请联系管理处理");
|
|
|
+ if (ptlAgreement.getData() != null && ptlAgreement.getData().getAgreement() != null) {
|
|
|
+ insOrdersVo.setAgreementType(ptlAgreement.getData().getAgreement().getAgreementType());
|
|
|
+ insOrdersVo.setAgreementName(ptlAgreement.getData().getAgreement().getAgreementName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 2. 处理车辆用户信息列表
|
|
|
+ if (CollectionUtil.isNotEmpty(insOrdersVo.getCarUserInfoList())) {
|
|
|
+ for (InsOrdersCarUserInfo carUserInfo : insOrdersVo.getCarUserInfoList()) {
|
|
|
+ // 使用映射逻辑处理用户信息
|
|
|
+ CustomerInfoVo customerInfoVo = mapCarUserInfoToCustomerInfo(carUserInfo);
|
|
|
+ setPolicyPersonInfo(insOrdersVo, carUserInfo.getPolicyPersonType(), customerInfoVo);
|
|
|
+ }
|
|
|
+ insOrdersVo.setCarUserInfoList(null);
|
|
|
+ }
|
|
|
+ InsTaskImagesVo imagesAdds = insOrdersVo.getImagesAdds();
|
|
|
+ if (ObjectUtil.isNotEmpty(imagesAdds)) {
|
|
|
+ imagesAdds.getImages().forEach(image -> {
|
|
|
+ if (StringUtils.isNotEmpty(image.getBucketName()) && StringUtils.isNotEmpty(image.getFileName())) {
|
|
|
+ image.setDownloadUrl(MinioUtils.getPresignedObjectUrl(image.getBucketName(), image.getFileName()));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Objects.nonNull(insOrdersVo.getOwnersInfo())) {
|
|
|
+ insOrdersVo.getOwnersInfo().setIdentifyType(insOrdersVo.getOwnersInfo().getPersonType());
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(insOrdersVo.getPolicyHolderInfo())) {
|
|
|
+ insOrdersVo.getPolicyHolderInfo().setIdentifyType(insOrdersVo.getPolicyHolderInfo().getPersonType());
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(insOrdersVo.getInsuredPersonInfo())) {
|
|
|
+ insOrdersVo.getInsuredPersonInfo().setIdentifyType(insOrdersVo.getInsuredPersonInfo().getPersonType());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 费用信息
|
|
|
+ InsFeeOrders insFeeOrders = insFeeOrdersMapper.selectOne(new LambdaQueryWrapper<InsFeeOrders>()
|
|
|
+ .eq(InsFeeOrders::getOrderNo, insOrdersVo.getInsOrders().getId()));
|
|
|
+ // 比例信息 分销员信息
|
|
|
+ if (insFeeOrders != null) {
|
|
|
+ if(insFeeOrders.getFirstDistributorId() != null && insFeeOrders.getSecondDistributorId() != null &&
|
|
|
+ insFeeOrders.getThirdDistributorId() != null){
|
|
|
+ HttpResult<SysUserJzgInfo> firstDistributor = orgClient.getUserInfoById(insFeeOrders.getFirstDistributorId());
|
|
|
+ HttpResult<SysUserJzgInfo> secondDistributor = orgClient.getUserInfoById(insFeeOrders.getSecondDistributorId());
|
|
|
+ HttpResult<SysUserJzgInfo> thirdDistributor = orgClient.getUserInfoById(insFeeOrders.getThirdDistributorId());
|
|
|
+ if (firstDistributor.getData() != null) {
|
|
|
+ insFeeOrders.setFirstDistributorName(firstDistributor.getData().getName());
|
|
|
+ }
|
|
|
+ if (secondDistributor.getData() != null) {
|
|
|
+ insFeeOrders.setSecondDistributorName(secondDistributor.getData().getName());
|
|
|
+ }
|
|
|
+ if (thirdDistributor.getData() != null) {
|
|
|
+ insFeeOrders.setThirdDistributorName(thirdDistributor.getData().getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ insOrdersVo.setCostRatio(new PtlAgreementCostRatioVo(insFeeOrders));
|
|
|
+ insOrdersVo.setFeeOrdersVo(new InsFeeOrdersVo(insFeeOrders));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (CollectionUtil.isNotEmpty(insOrdersVo.getInsOrdersRiskList())) {
|
|
|
+ insOrdersVo.getInsOrdersRiskList().forEach(riskInfo -> {
|
|
|
+ insOrdersVo.setBiRiskInfoVo(getRiskInfoVo(riskInfo));
|
|
|
+ insOrdersVo.setCiRiskInfoVo(getRiskInfoVo(riskInfo));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // 订单电子保单信息
|
|
|
+ insOrdersVo.setInsOrdersPdfUrl(insOrdersPdfUrlService.getById(id));
|
|
|
+ if (insOrdersVo.getInsOrdersPdfUrl() == null) {
|
|
|
+ insOrdersVo.setInsOrdersPdfUrl(new InsOrdersPdfUrl());
|
|
|
+ }
|
|
|
+ // 驾意险信息
|
|
|
+ List<InsOrdersAccidentalDriving> insOrdersAccidentalDrivings = insOrdersAccidentalDrivingService
|
|
|
+ .list(new LambdaQueryWrapper<InsOrdersAccidentalDriving>().eq(InsOrdersAccidentalDriving::getOrderNo, id));
|
|
|
+ if (insOrdersAccidentalDrivings != null) {
|
|
|
+ List<AccidentalDrivingVo> accidentalDrivingVos = new ArrayList<>();
|
|
|
+ for (InsOrdersAccidentalDriving insOrdersAccidentalDriving : insOrdersAccidentalDrivings) {
|
|
|
+ AccidentalDrivingVo accidentalDrivingVo = new AccidentalDrivingVo();
|
|
|
+ accidentalDrivingVo.setProductCode(insOrdersAccidentalDriving.getRiskCode());
|
|
|
+ accidentalDrivingVo.setProductName(insOrdersAccidentalDriving.getRiskName());
|
|
|
+ accidentalDrivingVo.setQuantity(insOrdersAccidentalDriving.getQuantity());
|
|
|
+ accidentalDrivingVo.setSumAmount(insOrdersAccidentalDriving.getAmount());
|
|
|
+ accidentalDrivingVo.setPremium(insOrdersAccidentalDriving.getAmount());
|
|
|
+ accidentalDrivingVos.add(accidentalDrivingVo);
|
|
|
+ }
|
|
|
+ insOrdersVo.setAccidentalDrivings(accidentalDrivingVos);
|
|
|
+ }
|
|
|
+ // 特约查询
|
|
|
+ List<InsOrdersClause> insOrdersClauseList = insOrdersClauseService
|
|
|
+ .list(new LambdaQueryWrapper<InsOrdersClause>().eq(InsOrdersClause::getOrderNo, id));
|
|
|
+ if (insOrdersClauseList != null) {
|
|
|
+ List<InsCompanyClause> companyClauseList = new ArrayList<>();
|
|
|
+ for (InsOrdersClause insOrdersClause : insOrdersClauseList) {
|
|
|
+ InsCompanyClause companyClause = platformClient.getClause(insOrdersClause.getClauseId());
|
|
|
+ companyClauseList.add(companyClause);
|
|
|
+ }
|
|
|
+ insOrdersVo.setSpecialInfoVo(companyClauseList);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 批改明细查询
|
|
|
+ if (insOrdersVo.getInsOrderAdjust() != null) {
|
|
|
+ LambdaQueryWrapper<InsOrderAdjustInfo> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(InsOrderAdjustInfo::getAdjustId, insOrdersVo.getInsOrderAdjust().getId());
|
|
|
+ wrapper.eq(InsOrderAdjustInfo::getIsDelete, 0);
|
|
|
+ List<InsOrderAdjustInfo> infos = orderAdjustInfoService.list(wrapper);
|
|
|
+ if (CollectionUtil.isNotEmpty(infos)) {
|
|
|
+ insOrdersVo.getInsOrderAdjust().setAdjustInfoList(infos);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ insOrdersVo.setInsOrdersTax(insOrdersTaxService.getById(id));
|
|
|
+ setInsOrdersExternalPolicy(insOrdersVo.getInsOrdersExternalPolicy());
|
|
|
+ return insOrdersVo;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private RiskInfoVo getRiskInfoVo(InsOrdersRisk riskInfo) {
|
|
|
RiskInfoVo riskInfoVo = new RiskInfoVo();
|
|
|
@@ -1328,9 +1453,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
* @return QuoteEchoVo 订单详情
|
|
|
*/
|
|
|
@Override
|
|
|
- public QuoteEchoVo getOrderDetail(String ordersNo) {
|
|
|
- log.info("获取订单详情.ordersNo=[{}]", ordersNo);
|
|
|
- InsOrdersVo insOrdersVo = selectById(Long.parseLong(ordersNo));
|
|
|
+ public QuoteEchoVo getOrderDetail(String ordersNo, String from) {
|
|
|
+ log.info("获取订单详情.ordersNo=[{}], from=[{}]", ordersNo, from);
|
|
|
+ InsOrdersVo insOrdersVo = selectByIdNoSalesmanInfo(Long.parseLong(ordersNo));
|
|
|
log.info("根据orderNo=[{}]查询到的订单明细[{}]", ordersNo, JSONUtil.toJsonStr(insOrdersVo));
|
|
|
AssertionUtils.isFail(Objects.isNull(insOrdersVo), "订单不存在");
|
|
|
QuoteEchoVo resultVo = new QuoteEchoVo(insOrdersVo);
|