From 117ec15929a447b9b2dbbe004d553e9275f209df Mon Sep 17 00:00:00 2001 From: wangshuai Date: Thu, 11 Jul 2024 11:36:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81ai=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/quartz/task/RyTask.java | 128 +++++++++--------- .../service/impl/BusAgentInfoServiceImpl.java | 14 +- .../service/impl/SysUserServiceImpl.java | 14 +- .../mapper/business/BusOrderInfoMapper.xml | 4 +- 4 files changed, 78 insertions(+), 82 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index c3b8ce2..f8e64cb 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -64,9 +64,6 @@ public class RyTask { * 获取订单并解析号码 5分钟 */ public void getOrders() { - iMeituanService.getScore(); - iMeituanService.getComments(); - iMeituanService.getYestodayCount(); iMeituanService.orderInfoList(); } @@ -114,68 +111,69 @@ public class RyTask { list = orderInfoService.selectBusZpsOrderInfoListToAi(busStoreInfo.getStoreCode(), time); } list.forEach(System.out::println); -// for (BusOrderInfo busOrderInfo : list) { -// // 拼好饭 -// if("N".equals(busStoreConfigInfo.getIsSpliceOrder())){ // 否:开启拼好饭订单过滤(不营销拼好饭) -// if("2".equals(busOrderInfo.getIsPhf())){//否: -// continue; -// } -// } -// // 下单次数 -// int count = Integer.valueOf(busOrderInfo.getOrderCount()); -// if(busStoreConfigInfo.getMaxOrderNum() < count -// || count < busStoreConfigInfo.getMinOrderNum()){ -// 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); -// LocalTime orderTime = orderDateTime.toLocalTime(); -// if(orderTime.isBefore(start)||end.isBefore(orderTime)){ -// continue; -// } -// // 话术判断 08:00 10:00 11:30 13:30 18:00 20:00 -// String content = ""; -// LocalTime time1 = LocalTime.of(6, 00, 00); -// LocalTime time2 = LocalTime.of(10, 00, 00); -// LocalTime time3 = LocalTime.of(14, 00, 00); -// LocalTime time4 = LocalTime.of(17, 00, 00); -// if(time1.isBefore(orderTime)&&orderTime.isBefore(time2)){ -// content = busStoreConfigInfo.getContent1(); -// }else if(time2.isBefore(orderTime)&&orderTime.isBefore(time3)){ -// content = busStoreConfigInfo.getContent2(); -// }else if(time3.isBefore(orderTime)&&orderTime.isBefore(time4)){ -// content = busStoreConfigInfo.getContent3(); -// }else{ -// content = busStoreConfigInfo.getContent4(); -// } -// -// //加入免运营订单-黑名单的 不营销跳出 -// BusBanOperateInfo busBanOperateInfo = new BusBanOperateInfo(); -// busBanOperateInfo.setBanOperateCode(busOrderInfo.getCustomId()); -// busBanOperateInfo.setBanStatus("1"); -// List list1 = iBusBanOperateInfoService.selectBusBanOperateInfoList(busBanOperateInfo); -// if(list1.size() > 0){ -// continue; -// } -// // 当日此店铺营销限额 -// int quota = Integer.valueOf(redisTemplate.opsForValue().get(busStoreConfigInfo.getStoreCode()+now.format(dateTimeFormatterNow))); -// if(quota==0){ -// break; -// } -// quota = quota-1; -// redisTemplate.opsForValue().set(busStoreConfigInfo.getStoreCode()+now.format(dateTimeFormatterNow), quota+""); -// BusFifteenInfo fifteenInfo = new BusFifteenInfo(); -// fifteenInfo.setCustomId(busOrderInfo.getCustomId()); -// List listInfo = fifteenInfoService.selectBusFifteenInfoList(fifteenInfo); -// if (listInfo.size() == 0) { -// aiService.sendAiTask(content,busOrderInfo); -// } -// } -// redisTemplate.delete(busStoreConfigInfo.getStoreCode()+now.format(dateTimeFormatterNow)); + for (BusOrderInfo busOrderInfo : list) { + // 拼好饭 + if("N".equals(busStoreConfigInfo.getIsSpliceOrder())){ // 否:开启拼好饭订单过滤(不营销拼好饭) + if("2".equals(busOrderInfo.getIsPhf())){//否: + continue; + } + } + // 下单次数 + int count = Integer.valueOf(busOrderInfo.getOrderCount()); + if(busStoreConfigInfo.getMaxOrderNum() < count + || count < busStoreConfigInfo.getMinOrderNum()){ + 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); + LocalTime orderTime = orderDateTime.toLocalTime(); + if(orderTime.isBefore(start)||end.isBefore(orderTime)){ + continue; + } + // 话术判断 08:00 10:00 11:30 13:30 18:00 20:00 + String content = ""; + LocalTime time1 = LocalTime.of(6, 00, 00); + LocalTime time2 = LocalTime.of(10, 00, 00); + LocalTime time3 = LocalTime.of(14, 00, 00); + LocalTime time4 = LocalTime.of(17, 00, 00); + if(time1.isBefore(orderTime)&&orderTime.isBefore(time2)){ + content = busStoreConfigInfo.getContent1(); + }else if(time2.isBefore(orderTime)&&orderTime.isBefore(time3)){ + content = busStoreConfigInfo.getContent2(); + }else if(time3.isBefore(orderTime)&&orderTime.isBefore(time4)){ + content = busStoreConfigInfo.getContent3(); + }else{ + content = busStoreConfigInfo.getContent4(); + } + + //加入免运营订单-黑名单的 不营销跳出 + BusBanOperateInfo busBanOperateInfo = new BusBanOperateInfo(); + busBanOperateInfo.setBanOperateCode(busOrderInfo.getCustomId()); + busBanOperateInfo.setBanStatus("1"); + List list1 = iBusBanOperateInfoService.selectBusBanOperateInfoList(busBanOperateInfo); + if(list1.size() > 0){ + continue; + } + // 当日此店铺营销限额 + int quota = Integer.valueOf(redisTemplate.opsForValue().get(busStoreConfigInfo.getStoreCode()+now.format(dateTimeFormatterNow))); + if(quota==0){ + break; + } + quota = quota-1; + redisTemplate.opsForValue().set(busStoreConfigInfo.getStoreCode()+now.format(dateTimeFormatterNow), quota+""); + BusFifteenInfo fifteenInfo = new BusFifteenInfo(); + fifteenInfo.setCustomId(busOrderInfo.getCustomId()); + List listInfo = fifteenInfoService.selectBusFifteenInfoList(fifteenInfo); + if (listInfo.size() == 0) { + System.out.println("话术:"+content+"; order"+busOrderInfo.toString()); + aiService.sendAiTask(content,busOrderInfo); + } + } + redisTemplate.delete(busStoreConfigInfo.getStoreCode()+now.format(dateTimeFormatterNow)); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java index 6217292..508f22d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java @@ -131,8 +131,13 @@ public class BusAgentInfoServiceImpl implements IBusAgentInfoService busAgentInfo.setSuperiorAgentAccount(loginUser.getUsername()); busAgentInfo.setDelStatus("1"); busAgentInfo.setCreateTime(new Date()); - Long[] roles = {101L}; - user.setRoleIds(roles); + if("admin".equals(loginUser.getUsername())){ + Long[] roles = {100L}; + user.setRoleIds(roles); + }else{ + Long[] roles = {101L}; + user.setRoleIds(roles); + } userService.insertUser(user); busAgentInfo.setId(user.getUserId()); return insertBusAgentInfo(busAgentInfo); @@ -161,6 +166,11 @@ public class BusAgentInfoServiceImpl implements IBusAgentInfoService record1.setUpdateType("出账"); record1.setIntegralUpdateNum(busAgentInfo.getAiDurationBalance1()); BusAgentInfo temp1 = busAgentInfoMapper.selectBusAgentInfoById(busAgentInfo.getSuperiorAgentCode()); + if(busAgentInfo.getSuperiorAgentCode() == 1){ + record1.setIntegralUpdateTime(new Date()); + recordService.insertBusIntegralRecord(record1); + return 1; + } int oldValue1 = temp1.getAiDurationBalance(); record1.setIntegralBalance(oldValue1 - newValue); record1.setIntegralUpdateTime(new Date()); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 6ff9669..e75bc8f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -275,19 +275,7 @@ public class SysUserServiceImpl implements ISysUserService insertUserPost(user); // 新增用户与角色管理 insertUserRole(user); - if(user.getRoleIds()[0]==100L){ - LoginUser loginUser = SecurityUtils.getLoginUser(); - BusAgentInfo busAgentInfo = new BusAgentInfo(); - busAgentInfo.setId(user.getUserId()); - busAgentInfo.setAgentAccount(user.getUserName()); - busAgentInfo.setAgentName(user.getNickName()); - busAgentInfo.setSuperiorAgentCode(loginUser.getUserId()); - busAgentInfo.setSuperiorAgentAccount(loginUser.getUsername()); - busAgentInfo.setDelStatus("1"); - busAgentInfo.setIntegral(0); - busAgentInfo.setCreateTime(new Date()); - busAgentInfoMapper.insertBusAgentInfo(busAgentInfo); - } + return rows; } diff --git a/ruoyi-system/src/main/resources/mapper/business/BusOrderInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/business/BusOrderInfoMapper.xml index d46bfd9..ac5ed71 100644 --- a/ruoyi-system/src/main/resources/mapper/business/BusOrderInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/business/BusOrderInfoMapper.xml @@ -52,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select a.* from bus_order_info a LEFT JOIN bus_return_visit_info b on b.phone_number=a.privcy_phone where b.return_visit_time is null - and store_code = #{storeCode} + and a.store_code = #{storeCode} and a.complete_time > #{t1} and a.complete_time <= #{t2} @@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select a.* from bus_order_info a LEFT JOIN bus_return_visit_info b on b.phone_number=a.privcy_phone where b.return_visit_time is null - and store_code = #{storeCode} + and a.store_code = #{storeCode} and a.order_time <= #{t2}