|  |  | 
 |  |  |             //将状态改成完成 | 
 |  |  |             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) { | 
 |  |  | 
 |  |  |  | 
 |  |  |             } 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; | 
 |  |  |     } |