ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RedisConfiguration.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-admin/src/main/resources/application-druid.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-admin/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -95,7 +95,6 @@ @Override public void onMessage(Message message, byte[] pattern) { log.info("监听Redis key过期,key:{},channel:{}", message.toString(), new String(pattern)); synchronized (RedisMqReceiver.class) { String ip = localIP; log.error("本机的网络IP为:{}", ip); String content = message.toString(); @@ -112,13 +111,7 @@ } else { commonTaskcallMQ = mapper.readValue(content, CommonTaskcallMQ.class); } //这里之所以这样做一下,是搞不懂,为啥会进来两遍 Boolean aBoolean = redisCache.hasKey(commonTaskcallMQ.getTaskid().toString()); if (aBoolean) { return; } else { redisCache.setCacheObject(commonTaskcallMQ.getTaskid().toString(), commonTaskcallMQ.getTaskid().toString(), 60, TimeUnit.SECONDS); } if (commonTaskcallMQ.getTaskType() == 1) { //随访 sfHandle(commonTaskcallMQ, ip); @@ -144,7 +137,6 @@ log.error("============消费失败,尝试消息补发再次消费!============== {}", e.getMessage()); redisCache.setCacheObject(message.toString(), message.toString(), 60, TimeUnit.SECONDS); } } } @@ -215,7 +207,7 @@ String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); SendMagParam sendMagParam = new SendMagParam(); sendMagParam.setType("4"); sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid); sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false"); Boolean aBoolean = sendService.sendMsg(sendMagParam); @@ -238,8 +230,8 @@ String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); SendMagParam sendMagParam = new SendMagParam(); sendMagParam.setType("5"); sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + ivrTask1.getTaskid().toString() + "¶m2=" + serviceSubtask.getPatid().toString() + "¶m3=" + ivrTask1.getTaskName()); log.info("链接完整路径:{}", req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName()); sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + ivrTask1.getTaskid().toString() + "¶m2=" + serviceSubtask.getPatid().toString() + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); log.info("链接完整路径:{}", ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); //这个模板ID先写死,后面做成可选 sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); Map map = new HashMap(); @@ -331,7 +323,7 @@ String patid = rsaPublicKeyExample.encryptedData(ivrTaskSingle.getPatid().toString(), pub_key); SendMagParam sendMagParam = new SendMagParam(); sendMagParam.setType("4"); sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid); sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false"); Boolean aBoolean = sendService.sendMsg(sendMagParam); //任务发送记录 @@ -352,8 +344,8 @@ String patid = rsaPublicKeyExample.encryptedData(ivrTaskSingle.getPatid().toString(), pub_key); SendMagParam sendMagParam = new SendMagParam(); sendMagParam.setType("5"); sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName()); log.info("链接完整路径:{}", req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName()); sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); log.info("链接完整路径:{}", req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + ivrTask1.getTaskName() + "¶m5=false"); //这个模板ID先写死,后面做成可选 sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); Map map = new HashMap(); @@ -440,8 +432,8 @@ String patid = rsaPublicKeyExample.encryptedData(svyTaskSingle1.getPatid().toString(), pub_key); SendMagParam sendMagParam = new SendMagParam(); sendMagParam.setType("5"); sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName()); log.info("链接完整路径:{}", req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName()); sendMagParam.setUrl(ip + ":" + req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName() + "¶m5=false"); log.info("链接完整路径:{}", req_path + "/outsideChain?param1=" + taskId + "¶m2=" + patid + "¶m3=" + svyTask.getTaskName() + "¶m5=false"); //这个模板ID先写死,后面做成可选 sendMagParam.setTmpCode("oG3pJHPVWpE81DmZsua_2tKwgJ97r0qz37z56ns7NB4"); Map map = new HashMap(); ruoyi-admin/src/main/java/com/ruoyi/web/core/config/RedisConfiguration.java
@@ -1,7 +1,5 @@ package com.ruoyi.web.core.config; import com.ruoyi.web.component.RedisMqReceiver; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; @@ -9,21 +7,14 @@ @Configuration public class RedisConfiguration { @Autowired private RedisConnectionFactory redisConnectionFactory; // 第一个@Bean是创建一个新的Redis消息监听容器,然后指定Redis连接。第二个@Bean是给我们写的监听类指定一个Redis消息监听容器,即第一个@Bean的内容 // 创建一个新的Redis消息监听容器 @Bean public RedisMessageListenerContainer redisMessageListenerContainer() { RedisMessageListenerContainer redisMessageListenerContainer = new RedisMessageListenerContainer(); redisMessageListenerContainer.setConnectionFactory(redisConnectionFactory); return redisMessageListenerContainer; RedisMessageListenerContainer redisContainer(RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); return container; } @Bean public RedisMqReceiver keyExpiredListener() { return new RedisMqReceiver(this.redisMessageListenerContainer()); } } ruoyi-admin/src/main/resources/application-druid.yml
@@ -130,10 +130,9 @@ #pri_key_me: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAtDOpbUQhcEoYy77agRhIHmAzs7H+KHJhN56gTTI9fWq23j77nI055MFV3oQQziIrNUTNaPpEQhZXBpI0+f9K9QIDAQABAkB3n0fcWfrcoMN/FU3VnrnZOEF6CzFNxkgU9P8y36QECWKZ9JhYQkNpKrMC9oXlN3VSaRigV7B+L/I/a0Rs1W+tAiEA4jx7xcXJ4y4BNwAmVHt6NNiEkzIwWnwC/0qsEu8NsOsCIQDL6MMn1D2uznC6OuOWpxDCkBh1JL1NzZTZeH2G+hj7nwIgKGAC9tjFnvWm4dn0/T7MIIJDpsFeP8fCAS2iZ/6hwuECIAS/eLvWr1EAsZNEh8QcQ8GkBU3E+ztyjAK8UX/xFt/VAiBf79/1tDErX4/DChecM8w3c3DhbBcjuE3fHZn7p6/UKg== pri_key: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEApHTIe/StslZAT5Jzv8XClbrqox32pfaTrP5IOCRJ3FaH/UZsGgA/tsNBBEXq9eagqwPbJrjYfpdEtINcChrK4wIDAQABAkEAilDujdKshGGmlUZHs/NQRT6AOdDpsYxBiC4V76IVvQpw0IW6c4HGEvH4T+xRufika7/48L0eu0f06H+YtL5lgQIhANUd0a6oSsVxWifAjtKwMZcXD3OaIxQIQSCN4NT4VFY3AiEAxYxYrIhkIyg+UVw3WOSvBpXKxM4/WL9HRzkxDLvp2rUCIQCK23P8tgCJ5xJT5l3onw6goFDcBKkoazxsBqVgfjENPwIgWbuTd+OIYPPhwsE5ntZZrosSDO2GlsBkFzUiU59z7VUCIA0LL+9IFb+FWCl3DGTwIQ9SZYbv61T83LKjebUcSOfe #请求IP和端口号 req_path: 8096 #二维码路径 qrpath: D:\qrcode localIP: 192.168.2.8 #外链请求IP和端口号 req_path: 8096 localIP: 192.168.2.10 ruoyi-admin/src/main/resources/application.yml
@@ -75,7 +75,6 @@ # host: 127.0.0.1 # port: 6020 # 地址(公司) host: 116.62.18.175 port: 6020 smartor/src/main/java/com/smartor/service/impl/CommonTaskServiceImpl.java
@@ -44,6 +44,7 @@ @Override public Integer taskSend(SendTaskVO sendTaskVO) { synchronized (CommonTaskServiceImpl.class) { if (sendTaskVO.getTaskId() == null || sendTaskVO.getTaskType() == null) throw new BaseException("任务ID或者任务类型不能为空,请检查后,再进行执行"); if (sendTaskVO.getTaskType() == 1) { @@ -55,6 +56,7 @@ } else if (sendTaskVO.getTaskType() == 3) { //宣教 xjSend(sendTaskVO); } } return null; } @@ -80,11 +82,11 @@ String content = sendMQContent(sendTaskVO, ivrTask.getTemplateid().toString(), ivrTask.getPreachform(), ivrTask.getStopState(), null); //立即发送 redisCache.setCacheObject(content, content, 1, TimeUnit.SECONDS); //将任务状态修改成执行中 ServiceTask serviceTask = new ServiceTask(); serviceTask.setTaskid(ivrTask.getTaskid()); serviceTask.setSendState(2); serviceTask.setStopState(ivrTask.getStopState()); ivrTaskService.updateServiceTask(serviceTask); log.error("消息发送成功"); } else if (StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("1") || StringUtils.isNotEmpty(sendTaskVO.getSendType()) && sendTaskVO.getSendType().equals("3")) { @@ -118,8 +120,7 @@ redisCache.setCacheObject(content, content, milliseconds / 1000, TimeUnit.SECONDS); } catch (Exception e) { e.printStackTrace(); if (milliseconds < 0) throw new BaseException("请检查任务开始时间,不能小于当前时间"); if (milliseconds < 0) throw new BaseException("请检查任务开始时间,不能小于当前时间"); } } //将任务状态修改成执行中 @@ -128,7 +129,8 @@ serviceTask.setSendState(2); ivrTaskService.updateServiceTask(serviceTask); } } return 1; } return 1; } public int wjSend(SendTaskVO sendTaskVO) {