|  |  | 
 |  |  |     @Value("${xhsmsPath}") | 
 |  |  |     private String xhsmsPath; | 
 |  |  |  | 
 |  |  |     @Value("${visitHosp}") | 
 |  |  |     private Integer visitHosp; | 
 |  |  |  | 
 |  |  |     @Value("${server.port}") | 
 |  |  |     private String port; | 
 |  |  |  | 
 |  |  | 
 |  |  |             //将状态改成完成 | 
 |  |  |             ServiceTask serviceTask = new ServiceTask(); | 
 |  |  |             serviceTask.setTaskid(Long.valueOf(commonTaskcallMQ.getTaskid())); | 
 |  |  |             serviceTask.setSendState(5L); | 
 |  |  |             serviceTask.setFail(1L); | 
 |  |  |             svyTaskMapper.updateServiceTask(serviceTask); | 
 |  |  |  | 
 |  |  |             //在问卷中,选中某个选项要进行服务补偿时,只是借用该服务的外壳,不对该服务有任务影响 | 
 |  |  |             if (commonTaskcallMQ.getUpdateSendstate() == null || commonTaskcallMQ.getUpdateSendstate() == 1) { | 
 |  |  |                 serviceTask.setSendState(5L); | 
 |  |  |                 serviceTask.setFail(1L); | 
 |  |  |                 svyTaskMapper.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 (visitHosp == 2) { | 
 |  |  |                         if (active.equals("ls") || active.equals("sltd")) { | 
 |  |  |                             sendMagParam.setContent("您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); | 
 |  |  |                         } else if (visitHosp == 1) { | 
 |  |  |                         } 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 (visitHosp == 2) { | 
 |  |  |                         if (active.equals("ls") || active.equals("ssltd")) { | 
 |  |  |                             sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); | 
 |  |  |                         } else if (visitHosp == 1) { | 
 |  |  |                         } else if (active.equals("xh")) { | 
 |  |  |                             sendMagParam.setContent("【新华医院】您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!"); | 
 |  |  |                         } else if (active.equals("druid")) { | 
 |  |  |                             sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!"); | 
 |  |  |                         } | 
 |  |  |                     } else if (type == 3) { | 
 |  |  |                         //宣教 | 
 |  |  | 
 |  |  |                         if (heLibrary.getHetype().equals("1")) { | 
 |  |  |                             sendMagParam.setPhone(serviceSubtask.getPhone()); | 
 |  |  |                             sendMagParam.setUrl(ip + ":" + req_path + "/xj?p=" + format); | 
 |  |  |                             if (visitHosp == 2) { | 
 |  |  |                             if (active.equals("ls") || active.equals("sltd")) { | 
 |  |  |                                 sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); | 
 |  |  |                             } else if (visitHosp == 1) { | 
 |  |  |                             } else if (active.equals("xh")) { | 
 |  |  |                                 sendMagParam.setContent("【新华医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!"); | 
 |  |  |                             } | 
 |  |  |                         } else { | 
 |  |  | 
 |  |  |  | 
 |  |  |                     //短信还需要模板 | 
 |  |  |                     String s = null; | 
 |  |  |                     if (visitHosp == 1) { | 
 |  |  |                     if (active.equals("xh")) { | 
 |  |  |                         //新华的短信发送方式 | 
 |  |  |                         Map<String, String> req = new HashMap<>(); | 
 |  |  |                         req.put("phone", sendMagParam.getPhone()); | 
 |  |  |                         req.put("content", sendMagParam.getContent()); | 
 |  |  |                         s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req)); | 
 |  |  |                     } else if (visitHosp == 2) { | 
 |  |  |                     } else if (active.equals("ls")) { | 
 |  |  |                         String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid()); | 
 |  |  |                         log.info("-------00token.360的URL为:{}", url); | 
 |  |  |                         //丽水的短信发送方式 | 
 |  |  | 
 |  |  |                             setFailPreachForm(serviceSubtask, sendPreachform, "短信发送失败", "5"); | 
 |  |  |                             throw new BaseException("短信发送失败"); | 
 |  |  |                         } | 
 |  |  |                     } else if (visitHosp == 3) { | 
 |  |  |                     } else if (active.equals("sltd")) { | 
 |  |  |                         //省立同德的短信发送方式 | 
 |  |  |                         JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); | 
 |  |  |                         String code = data.get("code").toString(); | 
 |  |  | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                     String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskName(), patArchive.getTelcode(), patArchive.getName(), patArchive.getPatidHis(), wxqqxx); | 
 |  |  |                     log.error("wxCode的值为:{}", wxCode); | 
 |  |  |                     Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); | 
 |  |  | 
 |  |  |  | 
 |  |  |             } else if (descByCode.equals("人工")) { | 
 |  |  |                 setFailPreachForm(serviceSubtask, sendPreachform, "人工待执行", "2"); | 
 |  |  |             }else if (descByCode.equals("微信小程序")) { | 
 |  |  |             } else if (descByCode.equals("微信小程序")) { | 
 |  |  |                 setFailPreachForm(serviceSubtask, sendPreachform, "微信小程序待执行", "2"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  | 
 |  |  |             serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); | 
 |  |  |             serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); | 
 |  |  |             serviceSubtaskPreachform.setSendstate(failSendstate); | 
 |  |  |             if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) { | 
 |  |  |                 //如果是宣教或通知,并且发送成功,直接将发送状态改成9 | 
 |  |  |                 if (failSendstate.equals("2")) serviceSubtaskPreachform.setSendstate("9"); | 
 |  |  |             } | 
 |  |  |             serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform); | 
 |  |  |  | 
 |  |  |             return true; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  | 
 |  |  |         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { | 
 |  |  |             ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0); | 
 |  |  |             serviceSubtaskPreachform1.setSendstate(failSendstate); | 
 |  |  |             if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) { | 
 |  |  |                 //如果是宣教或通知,并且发送成功,直接将发送状态改成9 | 
 |  |  |                 if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9"); | 
 |  |  |             } | 
 |  |  |             serviceSubtaskPreachform1.setRemark(remark); | 
 |  |  |             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1); | 
 |  |  |             //如果当前的preachform已经是最后一个了,并且本次还是发送失败,那直接将serviceSubtask的sendstate状态改成5就行了(全失败了) | 
 |  |  | 
 |  |  |         serviceSubtask.setCurrentPreachform(preachform); | 
 |  |  |         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); | 
 |  |  |         serviceSubtask.setSendstate(3L); | 
 |  |  |         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) { | 
 |  |  |             //如果是宣教或通知,并且发送成功,则直接将serviceSubtask状态改成6L(这个患者是没有题做的,不会再触发接口进行状态修改) | 
 |  |  |             if (failSendstate.equals("2")) { | 
 |  |  |                 serviceSubtask.setSendstate(6L); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); | 
 |  |  |         return true; | 
 |  |  |     } |