|
|
@@ -291,83 +291,86 @@ 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)) {
|
|
|
+ int count = insOrdersService.countQuoteNum(baseController.getUserSystemCode(), quoteVo.getOrder().getRealQuoteUserId(), activity.getActivityStartTime(), activity.getActivityEndTime());
|
|
|
+ if (count >= Integer.parseInt(table.getQutNum()) && count <= Integer.parseInt(table.getQutLotteryMax())) {
|
|
|
+ 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) {
|
|
|
@@ -407,7 +410,7 @@ public class UnifyOrderManager {
|
|
|
record.setActivityType(activityType);
|
|
|
record.setActivityId(activityId);
|
|
|
record.setLocalActivityTableId(tableId);
|
|
|
- //报价次数
|
|
|
+ //报价/出单次数/承保费用
|
|
|
record.setRuleCompleteNum(qutNum);
|
|
|
//抽奖次数
|
|
|
record.setLotteryNum(StrUtil.isNotBlank(qutLotteryNum)
|
|
|
@@ -421,8 +424,8 @@ public class UnifyOrderManager {
|
|
|
record.setUpdateBy(userId);
|
|
|
insOrdersService.insertActivityCompleteInRule(record);
|
|
|
|
|
|
- log.info("报价规则完成,tenantId={}, userId={}, activityId={}, qutNum={}, qutLotteryNum={}, qutLotteryMax={}",
|
|
|
- tenantId, userId, activityId, qutNum, qutLotteryNum, qutLotteryMax);
|
|
|
+ log.info("匹配规则完成,activityType={}, tenantId={}, userId={}, activityId={}, qutNum={}, qutLotteryNum={}, qutLotteryMax={}, userPhone={}",
|
|
|
+ activityType, tenantId, userId, activityId, qutNum, qutLotteryNum, qutLotteryMax, userPhone);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -784,21 +787,21 @@ public class UnifyOrderManager {
|
|
|
.collect(Collectors.groupingBy(UnifiedUserClientVO::getClientId));
|
|
|
// 首先查业务员是否在一账通绑定过本地生活 【已绑定过 远程调抽奖次数增加接口 标记已同步
|
|
|
if (userClientGroupMap.containsKey(CLIENT_ID)) {
|
|
|
- LotteryCounDTO lotteryCounDTO = new LotteryCounDTO();
|
|
|
- lotteryCounDTO.setAppUserId(insOrders.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:{}", insOrders.getRealQuoteUserId(), table.getQutLotteryNum(), baseController.getUserSystemCode());
|
|
|
- log.error("业务员出单,远程调用本地生活抽奖次数增加异常", e);
|
|
|
- }
|
|
|
- if (lotteryCountVOHttpResult != null && lotteryCountVOHttpResult.getData().getSuccess()) {
|
|
|
- int count = insOrdersService.countOrderNum(baseController.getUserSystemCode(), insOrders.getRealQuoteUserId(), activity.getActivityStartTime(), activity.getActivityEndTime());
|
|
|
- for (OrderRuleVO orderRule : table.getOrderRules()) {
|
|
|
- if (count >= Integer.parseInt(orderRule.getOrdNum())) {
|
|
|
+ int count = insOrdersService.countOrderNum(baseController.getUserSystemCode(), insOrders.getRealQuoteUserId(), activity.getActivityStartTime(), activity.getActivityEndTime());
|
|
|
+ for (OrderRuleVO orderRule : table.getOrderRules()) {
|
|
|
+ if (count >= Integer.parseInt(orderRule.getOrdNum())) {
|
|
|
+ LotteryCounDTO lotteryCounDTO = new LotteryCounDTO();
|
|
|
+ lotteryCounDTO.setAppUserId(insOrders.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:{}", insOrders.getRealQuoteUserId(), table.getQutLotteryNum(), baseController.getUserSystemCode());
|
|
|
+ log.error("业务员出单,远程调用本地生活抽奖次数增加异常", e);
|
|
|
+ }
|
|
|
+ if (lotteryCountVOHttpResult != null && lotteryCountVOHttpResult.getData().getSuccess()) {
|
|
|
// 记录规则完成 标记已同步
|
|
|
completeRule(baseController.getUserSystemCode(), insOrders.getRealQuoteUserId(), null, activity.getId(),
|
|
|
table.getId(), table.getQutNum(), table.getQutLotteryNum(), table.getQutLotteryMax(), YesNoEnum.YES.getCode(), 8);
|