Просмотр исходного кода

fix 恒邦财险 获取支付链接并存入数据库

liub 4 месяцев назад
Родитель
Сommit
f5b344965e

+ 1 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/component/RequestComponent.java

@@ -486,7 +486,7 @@ public class RequestComponent {
             ResponseEntity<String> rawResponse = webClient.post()
                     .uri(url)
                     .headers(setHeaders(requestHeaders))
-                    .body(BodyInserters.fromValue(body))
+                    .body(body != null ? BodyInserters.fromValue(body) : BodyInserters.empty())
                     .retrieve()
                     .toEntity(String.class)
                     .block();

+ 6 - 0
tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/service/Impl/HengBangCrawlerRequestImpl.java

@@ -284,6 +284,12 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
                 underwritingResultsVo.setUnderwritingResult("核保失败:" + response.getDesCription());
                 underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
             } else {
+                //核保成功  获取支付二维码
+                //延迟3秒 等待生成
+                PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
+                paymentLinkVo.setOrder(underwritingVo.getOrder());
+                underwritingResultsVo.setPaymentLink(getPaymentLink(paymentLinkVo).getPaymentLink());
+                underwritingResultsVo.setCompanyOrderNo(hbCrawlerOrder.getPlyappno());
                 underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
             }
             return underwritingResultsVo;

+ 77 - 77
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -281,83 +281,83 @@ public class UnifyOrderManager {
             //////////////////////////////////////////新增营销抽奖活动////////////////////////////////////////////////
             //远程调用活动列表
             //匹配规则 每报价()次,可得()次抽奖机会,每日最多()次抽奖
-            HttpResult<List<LotteryActivityVO>> result = localLivingClient.queryActivityRules(lotteryScene);
-            if (result == null || result.getCode() != 200 || result.getData() == null) {
-                log.error("统一报价,查询本地生活的活动列表异常");
-            } else {
-                for (LotteryActivityVO activity : result.getData()) {
-                    // 检查活动是否有效
-                    if (!LocalDate.now().isBefore(activity.getActivityStartTime())
-                            && !LocalDate.now().isAfter(activity.getActivityEndTime())) {
-                        continue;
-                    }
-
-                    if (activity.getLocalActivityTables() == null) {
-                        continue;
-                    }
-                    // 遍历所有本地活动表
-                    for (LocalActivityTableVO table : activity.getLocalActivityTables()) {
-                        // 只处理 type=6 的报价规则
-                        if (!"6".equals(table.getType())) {
-                            continue;
-                        }
-
-                        // 只处理本租户的报价规则
-                        if (!baseController.getUserSystemCode().equals(table.getTenantId())) {
-                            continue;
-                        }
-                        // 查询是否在一账通绑定
-                        UnifiedUserCenterDTO unifiedUserCenterDTO = new UnifiedUserCenterDTO();
-                        unifiedUserCenterDTO.setUserId(quoteVo.getOrder().getRealQuoteUserId());
-                        unifiedUserCenterDTO.setClientId(CLIENT_ID);
-                        unifiedUserCenterDTO.setTenantId(baseController.getUserSystemCode());
-                        HttpResult<UnifiedUserClientVO> unifiedUserClientVOHttpResult = null;
-                        try {
-                            unifiedUserClientVOHttpResult = localLivingClient.queryBind(unifiedUserCenterDTO);
-                        } catch (Exception e) {
-                            log.info("业务员报价,查询用户绑定一账通接口异常,userId:{},clientId:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), CLIENT_ID, baseController.getUserSystemCode());
-                            log.error("业务员报价,查询用户绑定一账通接口异常", e);
-                        }
-                        if (unifiedUserClientVOHttpResult == null || unifiedUserClientVOHttpResult.getCode() != 200 || unifiedUserClientVOHttpResult.getData() == null) {
-                            // 判断是否满足条件
-                            // 业务员报价次数是否大于等于本活动规定时间范围内的报价次数
-                            // 统计业务员的报价次数
-                            int count = insOrdersService.countQuoteNum(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), activity.getActivityStartTime(), activity.getActivityEndTime());
-                            if (count >= Integer.parseInt(table.getQutNum()) && count <= Integer.parseInt(table.getQutLotteryMax())) {
-                                // 存本地记录 等绑定后更新本地记录的同步状态字段即可
-                                completeRule(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), null, activity.getId(),
-                                        table.getId(), table.getQutNum() ,table.getQutLotteryNum() ,table.getQutLotteryMax() ,YesNoEnum.NO.getCode(), 6);
-                                log.info("业务员报价,满足条件插入记录,userId:{},clientId:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), CLIENT_ID, baseController.getUserSystemCode());
-                            }
-                        }else {
-                            Map<String, List<UnifiedUserClientVO>> userClientGroupMap = unifiedUserClientVOHttpResult.getData().getUserClients()
-                                    .stream()
-                                    .collect(Collectors.groupingBy(UnifiedUserClientVO::getClientId));
-                            // 首先查业务员是否在一账通绑定过本地生活  【已绑定过 远程调抽奖次数增加接口 标记已同步
-                            if (userClientGroupMap.containsKey(CLIENT_ID)) {
-                                LotteryCounDTO lotteryCounDTO = new LotteryCounDTO();
-                                lotteryCounDTO.setAppUserId(quoteVo.getOrder().getRealQuoteUserId());
-                                lotteryCounDTO.setActivityId(activity.getId());
-                                lotteryCounDTO.setCount(Integer.parseInt(table.getQutLotteryNum()));
-                                HttpResult<LotteryCountVO> lotteryCountVOHttpResult = null;
-                                try {
-                                    lotteryCountVOHttpResult = localLivingClient.addLotteryCount(lotteryCounDTO);
-                                } catch (Exception e) {
-                                    log.info("业务员报价,远程调用本地生活抽奖次数增加接口异常,userId:{},count:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), table.getQutLotteryNum(), baseController.getUserSystemCode());
-                                    log.error("业务员报价,远程调用本地生活抽奖次数增加异常", e);
-                                }
-                                if (lotteryCountVOHttpResult != null && lotteryCountVOHttpResult.getData().getSuccess()) {
-                                    // 记录规则完成  标记已同步
-                                    completeRule(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), null, activity.getId(),
-                                            table.getId(), table.getQutNum(), table.getQutLotteryNum(), table.getQutLotteryMax(), YesNoEnum.YES.getCode(), 6);
-
-                                    log.info("业务员报价,满足条件插入记录并远程同步,userId:{},clientId:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), CLIENT_ID, baseController.getUserSystemCode());
-                                }
-                            }
-                        }
-                    }
-                }
-            }
+//            HttpResult<List<LotteryActivityVO>> result = localLivingClient.queryActivityRules(lotteryScene);
+//            if (result == null || result.getCode() != 200 || result.getData() == null) {
+//                log.error("统一报价,查询本地生活的活动列表异常");
+//            } else {
+//                for (LotteryActivityVO activity : result.getData()) {
+//                    // 检查活动是否有效
+//                    if (!LocalDate.now().isBefore(activity.getActivityStartTime())
+//                            && !LocalDate.now().isAfter(activity.getActivityEndTime())) {
+//                        continue;
+//                    }
+//
+//                    if (activity.getLocalActivityTables() == null) {
+//                        continue;
+//                    }
+//                    // 遍历所有本地活动表
+//                    for (LocalActivityTableVO table : activity.getLocalActivityTables()) {
+//                        // 只处理 type=6 的报价规则
+//                        if (!"6".equals(table.getType())) {
+//                            continue;
+//                        }
+//
+//                        // 只处理本租户的报价规则
+//                        if (!baseController.getUserSystemCode().equals(table.getTenantId())) {
+//                            continue;
+//                        }
+//                        // 查询是否在一账通绑定
+//                        UnifiedUserCenterDTO unifiedUserCenterDTO = new UnifiedUserCenterDTO();
+//                        unifiedUserCenterDTO.setUserId(quoteVo.getOrder().getRealQuoteUserId());
+//                        unifiedUserCenterDTO.setClientId(CLIENT_ID);
+//                        unifiedUserCenterDTO.setTenantId(baseController.getUserSystemCode());
+//                        HttpResult<UnifiedUserClientVO> unifiedUserClientVOHttpResult = null;
+//                        try {
+//                            unifiedUserClientVOHttpResult = localLivingClient.queryBind(unifiedUserCenterDTO);
+//                        } catch (Exception e) {
+//                            log.info("业务员报价,查询用户绑定一账通接口异常,userId:{},clientId:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), CLIENT_ID, baseController.getUserSystemCode());
+//                            log.error("业务员报价,查询用户绑定一账通接口异常", e);
+//                        }
+//                        if (unifiedUserClientVOHttpResult == null || unifiedUserClientVOHttpResult.getCode() != 200 || unifiedUserClientVOHttpResult.getData() == null) {
+//                            // 判断是否满足条件
+//                            // 业务员报价次数是否大于等于本活动规定时间范围内的报价次数
+//                            // 统计业务员的报价次数
+//                            int count = insOrdersService.countQuoteNum(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), activity.getActivityStartTime(), activity.getActivityEndTime());
+//                            if (count >= Integer.parseInt(table.getQutNum()) && count <= Integer.parseInt(table.getQutLotteryMax())) {
+//                                // 存本地记录 等绑定后更新本地记录的同步状态字段即可
+//                                completeRule(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), null, activity.getId(),
+//                                        table.getId(), table.getQutNum() ,table.getQutLotteryNum() ,table.getQutLotteryMax() ,YesNoEnum.NO.getCode(), 6);
+//                                log.info("业务员报价,满足条件插入记录,userId:{},clientId:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), CLIENT_ID, baseController.getUserSystemCode());
+//                            }
+//                        }else {
+//                            Map<String, List<UnifiedUserClientVO>> userClientGroupMap = unifiedUserClientVOHttpResult.getData().getUserClients()
+//                                    .stream()
+//                                    .collect(Collectors.groupingBy(UnifiedUserClientVO::getClientId));
+//                            // 首先查业务员是否在一账通绑定过本地生活  【已绑定过 远程调抽奖次数增加接口 标记已同步
+//                            if (userClientGroupMap.containsKey(CLIENT_ID)) {
+//                                LotteryCounDTO lotteryCounDTO = new LotteryCounDTO();
+//                                lotteryCounDTO.setAppUserId(quoteVo.getOrder().getRealQuoteUserId());
+//                                lotteryCounDTO.setActivityId(activity.getId());
+//                                lotteryCounDTO.setCount(Integer.parseInt(table.getQutLotteryNum()));
+//                                HttpResult<LotteryCountVO> lotteryCountVOHttpResult = null;
+//                                try {
+//                                    lotteryCountVOHttpResult = localLivingClient.addLotteryCount(lotteryCounDTO);
+//                                } catch (Exception e) {
+//                                    log.info("业务员报价,远程调用本地生活抽奖次数增加接口异常,userId:{},count:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), table.getQutLotteryNum(), baseController.getUserSystemCode());
+//                                    log.error("业务员报价,远程调用本地生活抽奖次数增加异常", e);
+//                                }
+//                                if (lotteryCountVOHttpResult != null && lotteryCountVOHttpResult.getData().getSuccess()) {
+//                                    // 记录规则完成  标记已同步
+//                                    completeRule(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), null, activity.getId(),
+//                                            table.getId(), table.getQutNum(), table.getQutLotteryNum(), table.getQutLotteryMax(), YesNoEnum.YES.getCode(), 6);
+//
+//                                    log.info("业务员报价,满足条件插入记录并远程同步,userId:{},clientId:{},tenantId:{}", quoteVo.getOrder().getRealQuoteUserId(), CLIENT_ID, baseController.getUserSystemCode());
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//            }
 
 
         } catch (Exception e) {