| | |
| | | import com.ruoyi.system.domain.SysConfig; |
| | | import com.ruoyi.system.service.ISysConfigService; |
| | | import com.smartor.common.LSHospTokenUtil; |
| | | import com.smartor.common.MtSubmitSmUtil; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.mapper.*; |
| | |
| | | private String active; |
| | | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | private MtSubmitSmUtil mtSubmitSmUtil; |
| | | |
| | | // 创建固定大小的线程池 |
| | | private static final ExecutorService executorService = Executors.newFixedThreadPool(10); |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | public RedisMqReceiver(RedisMessageListenerContainer listenerContainer) { |
| | | super(listenerContainer); |
| | |
| | | ServiceTask serviceTask = new ServiceTask(); |
| | | serviceTask.setTaskid(Long.valueOf(commonTaskcallMQ.getTaskid())); |
| | | |
| | | //在问卷中,选中某个选项要进行服务补偿时,只是借用该服务的外壳,不对该服务有任务影响 |
| | | if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) { |
| | | serviceTask.setSendState(5L); |
| | | serviceTask.setFail(1L); |
| | | serviceTaskMapper.updateServiceTask(serviceTask); |
| | | } |
| | | // //在问卷中,选中某个选项要进行服务补偿时,只是借用该服务的外壳,不对该服务有任务影响 |
| | | // if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) { |
| | | // serviceTask.setSendState(5L); |
| | | // serviceTask.setFail(1L); |
| | | // serviceTaskMapper.updateServiceTask(serviceTask); |
| | | // } |
| | | } catch (Exception e) { |
| | | Integer integer = redisCache.getCacheObject(commonTaskcallMQ.getTaskid().toString()); |
| | | if (integer != null && integer == 3) { |
| | |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); |
| | | if (active.equals("ls") || active.equals("sltd")) { |
| | | if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) { |
| | | sendMagParam.setContent("您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); |
| | | } else if (active.equals("xh")) { |
| | | sendMagParam.setContent("【新华医院】您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!"); |
| | |
| | | //如果type是语音随访的话(说明补偿发送方式中有电话随访的方式,这里的外链就地址只能用/sf) |
| | | if (serviceSubtask.getType().equals("1")) |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format); |
| | | if (active.equals("ls") || active.equals("sltd")) { |
| | | if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) { |
| | | sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); |
| | | } else if (active.equals("xh")) { |
| | | sendMagParam.setContent("【新华医院】您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!"); |
| | |
| | | if (heLibrary.getHetype().equals("1")) { |
| | | sendMagParam.setPhone(serviceSubtask.getPhone()); |
| | | sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format); |
| | | if (active.equals("ls") || active.equals("sltd")) { |
| | | if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) { |
| | | sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); |
| | | } else if (active.equals("xh")) { |
| | | sendMagParam.setContent("【新华医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); |
| | |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "短信发送失败", "5"); |
| | | throw new BaseException("短信发送失败"); |
| | | } |
| | | } else if (active.equals("sltd")) { |
| | | } else if (active.equals("sltd") || active.equals("nhfy")) { |
| | | //省立同德的短信发送方式 |
| | | String data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); |
| | | if (StringUtils.isNotEmpty(data)) { |
| | | ObjectMapper mapper = new ObjectMapper(); |
| | | JsonNode root = mapper.readTree(data); |
| | | String status = root.get("result").get(0).get("status").asText(); |
| | | if (status.equals("00000")) { |
| | | s = "true"; |
| | | String data = null; |
| | | Map<String, Object> smsResult = null; |
| | | if (active.equals("sltd")) { |
| | | data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); |
| | | if (StringUtils.isNotEmpty(data)) { |
| | | ObjectMapper mapper = new ObjectMapper(); |
| | | JsonNode root = mapper.readTree(data); |
| | | String status = root.get("result").get(0).get("status").asText(); |
| | | if (status.equals("00000")) { |
| | | s = "true"; |
| | | } else { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "短信发送失败: " + data, "5"); |
| | | throw new BaseException("短信发送失败"); |
| | | } |
| | | |
| | | } else { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "短信发送失败: " + data, "5"); |
| | | throw new BaseException("短信发送失败"); |
| | | } |
| | | } else { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "短信发送失败: " + data, "5"); |
| | | throw new BaseException("短信发送失败"); |
| | | } else if (active.equals("nhfy")) { |
| | | smsResult = mtSubmitSmUtil.submitSm(sendMagParam.getPhone(), sendMagParam.getContent()); |
| | | if (smsResult != null && smsResult.get("result") != null && smsResult.get("result").toString().equals("0")) { |
| | | s = "true"; |
| | | } else { |
| | | setFailPreachForm(serviceSubtask, sendPreachform, "短信发送失败", "5"); |
| | | throw new BaseException("短信发送失败"); |
| | | } |
| | | } |
| | | |
| | | } else if (active.equals("hzszlyy")) { |
| | | //市一 |
| | | long timestamp = new Date().getTime(); |
| | |
| | | if (failSendstate.equals("4") || failSendstate.equals("5")) { |
| | | serviceSubtask.setCurrentPreachform(preachform); |
| | | serviceSubtask.setSendstate(5L); |
| | | serviceSubtask.setRemark("setFailPreachForm方法 当前的preachform已经是最后一个了,全部执行失败"); |
| | | serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败"); |
| | | //人工发送超时 |
| | | if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){ |
| | | if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")) { |
| | | serviceSubtask.setSendstate(7L); |
| | | serviceSubtask.setRemark("setFailPreachForm方法 当前的preachform已经是最后一个了, 人工发送超时"); |
| | | serviceSubtask.setRemark("人工发送超时"); |
| | | } |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | return true; |
| | |
| | | serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); |
| | | serviceSubtask.setSendstate(3L); |
| | | //人工发送超时 |
| | | if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){ |
| | | if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")) { |
| | | serviceSubtask.setSendstate(7L); |
| | | serviceSubtask.setRemark("人工发送超时"); |
| | | } |