diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java index 77612a5..c7e387d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java @@ -249,8 +249,8 @@ public class AiServiceImpl implements IAiService { @Override @Transactional public void sendToAi() { + System.out.println("开始==="); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); - DateTimeFormatter dateTimeFormatterNow = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime now = LocalDateTime.now(); LocalDateTime t30 = now.minusMinutes(30); LocalDateTime t10 = now.minusMinutes(10); @@ -261,6 +261,7 @@ public class AiServiceImpl implements IAiService { List storeInfoList = storeInfoService.selectBusStoreInfoList(storeInfo); for (BusStoreInfo busStoreInfo : storeInfoList) { if ("2".equals(busStoreInfo.getReturnVisitStatus())) { + System.out.println("未开启营销的跳出"); continue;// 未开启营销的跳出 } // 配置规则 @@ -270,8 +271,10 @@ public class AiServiceImpl implements IAiService { List list = new ArrayList<>(); if ("1".equals(busStoreInfo.getSelfDeliveryStatus())) { + System.out.println("自动营销"); list = orderInfoService.selectBusOrderInfoListToAi(busStoreInfo.getStoreCode(), t1, t2); } else if ("2".equals(busStoreInfo.getSelfDeliveryStatus())) { + System.out.println("自配送营销"); LocalDateTime tN = now.minusMinutes(busStoreConfigInfo.getSelfDeliveryDuration()); String time = tN.format(dateTimeFormatter); // 自配送前推时间处理 @@ -287,6 +290,7 @@ public class AiServiceImpl implements IAiService { int cha = agentInfoL.get(0).getAiDurationBalance() - agentInfoL.get(0).getAiRealTimeNum(); if (cha < list.size()&&(cha - 1)>0) { list.subList(0, cha - 1); + System.out.println("积分不足截取部分订单营销"); agentInfoL.get(0).setAiRealTimeNum(agentInfoL.get(0).getAiDurationBalance()); } else { agentInfoL.get(0).setAiRealTimeNum(agentInfoL.get(0).getAiRealTimeNum() + list.size()); @@ -297,6 +301,7 @@ public class AiServiceImpl implements IAiService { // 拼好饭 if ("N".equals(busStoreConfigInfo.getIsSpliceOrder())) { // 否:开启拼好饭订单过滤(不营销拼好饭) if ("2".equals(busOrderInfo.getIsPhf())) {//否: + System.out.println("拼好饭拦截成功"); continue; } } @@ -304,16 +309,18 @@ public class AiServiceImpl implements IAiService { int count = Integer.valueOf(busOrderInfo.getOrderCount()); if (busStoreConfigInfo.getMaxOrderNum() < count || count < busStoreConfigInfo.getMinOrderNum()) { + System.out.println("下单次数拦截成功"); continue; } // 营销时间区间 LocalTime start = LocalTime.parse(busStoreConfigInfo.getStartTime()); LocalTime end = LocalTime.parse(busStoreConfigInfo.getEndTime()); // 时区 - ZoneId zoneId = ZoneId.systemDefault(); - LocalDateTime orderDateTime = LocalDateTime.ofInstant(busOrderInfo.getOrderTime().toInstant(), zoneId); +// ZoneId zoneId = ZoneId.systemDefault(); + LocalDateTime orderDateTime = busOrderInfo.getOrderTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalTime orderTime = orderDateTime.toLocalTime(); if (orderTime.isBefore(start) || end.isBefore(orderTime)) { + System.out.println("营销时间区间拦截成功"); continue; } // 话术判断 08:00 10:00 11:30 13:30 18:00 20:00 @@ -327,24 +334,29 @@ public class AiServiceImpl implements IAiService { if(busStoreConfigInfo.getContent1()==null){ continue; } + System.out.println("ai话术1"); content = busStoreConfigInfo.getContent1(); } else if (time2.isBefore(orderTime) && orderTime.isBefore(time3)) { if(busStoreConfigInfo.getContent2()==null){ continue; } + System.out.println("ai话术2"); content = busStoreConfigInfo.getContent2(); } else if (time3.isBefore(orderTime) && orderTime.isBefore(time4)) { if(busStoreConfigInfo.getContent3()==null){ continue; } + System.out.println("ai话术3"); content = busStoreConfigInfo.getContent3(); } else { if(busStoreConfigInfo.getContent4()==null){ continue; } + System.out.println("ai话术4"); content = busStoreConfigInfo.getContent4(); } }else if("sms".equals(busStoreInfo.getMarketingChannels())){ + System.out.println("短信话术"); content = sysDictDataMapper.selectDictLabel("bus_default_sms_script","default_script"); } if(busReturnVisitInfoMapper.returnVisitInfoList(busOrderInfo.getPrivcyPhone()).size()>0){ @@ -354,6 +366,7 @@ public class AiServiceImpl implements IAiService { if ("1".equals(busStoreConfigInfo.getQuotaStatus()) && busStoreConfigInfo.getQuota() != 0){ int quota = busReturnVisitInfoMapper.countByToday(storeInfo.getStoreCode()); if (quota >= busStoreConfigInfo.getQuota()) { + System.out.println("当日此店铺营销限额拦截成功"); break; } } @@ -363,6 +376,7 @@ public class AiServiceImpl implements IAiService { busBanOperateInfo.setBanStatus("1"); List list1 = iBusBanOperateInfoService.selectBusBanOperateInfoList(busBanOperateInfo); if (list1.size() > 0) { + System.out.println("黑名单拦截成功"); continue; } BusReturnVisitInfo returnVisitInfo = new BusReturnVisitInfo(); @@ -417,6 +431,7 @@ public class AiServiceImpl implements IAiService { } } } + System.out.println("结束==="); } @Override @@ -532,4 +547,5 @@ public class AiServiceImpl implements IAiService { } } } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java index 9e1e08d..59c2204 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java @@ -197,6 +197,10 @@ public class BusStoreInfoServiceImpl implements IBusStoreInfoService }else { throw new ServiceException("销售人员信息异常!"); } + }else{ + busStoreInfo.setSaleBindId(0L); + busStoreInfo.setSaleBindName(""); + busStoreInfo.setSaleBindTime(new Date()); } busStoreInfo.setMarketingChannels(busStoreConfigInfo.getMarketingChannels()); busStoreInfoMapper.updateBusStoreInfo(busStoreInfo); diff --git a/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml index d41d6b8..bfe8d3f 100644 --- a/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml @@ -182,7 +182,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" store_belong = #{storeBelong}, grant_status = #{grantStatus}, return_visit_status = #{returnVisitStatus}, - bind_id = #{bindId}, + + bind_id = null, + bind_id = #{bindId}, + bind_user = #{bindUser}, bind_time = #{bindTime}, update_id = #{updateId},