liub 4 ay önce
ebeveyn
işleme
8f2d31400c

+ 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) {