| | |
| | | Optional<Long> currentSort = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getSort).findFirst(); |
| | | |
| | | if (currentSort.isPresent()) { |
| | | //微信已发送、已领取视为发送成功,不再进行补偿 -丽水中医院 |
| | | if (active.equals("47231022633110211A2101")) { |
| | | //获取当前发送方式 |
| | | ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform()); |
| | | if (currentServiceSubtaskPreachform.getPreachform().equals("5") && (currentServiceSubtaskPreachform.getSendstate().equals("2") || currentServiceSubtaskPreachform.getSendstate().equals("3"))) { |
| | | return "-1"; |
| | | } |
| | | } |
| | | |
| | | // 检查是否所有sendstate不等于9 |
| | | boolean allSendStateNot1AndNot9 = serviceSubtaskPreachforms.stream().allMatch(item -> !item.getSendstate().equals("9")); |
| | | if (!allSendStateNot1AndNot9) { |
| | |
| | | |
| | | // 当sort等于列表size时,下一个sort为-1 |
| | | Long nextSort = currentSort.get() + 1; |
| | | |
| | | //如果当前的发送方式不为空,并且开始准备要用下一种方式发送了,那当前的肯定没有发送成功,需要设置失败 |
| | | // (这里主要是,人工如果没有随访,然后到公众号的时候,就不会再去管人工是否成功,人工的状态会一直卡在2的状态上) |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform())) { |
| | |
| | | // 找到下一个sort对应的preachform |
| | | String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1"); |
| | | |
| | | //微信已发送、已领取跳过短信发送,进行人工 -丽水中医院 |
| | | if (active.equals("47231022633110211A2101")) { |
| | | //获取当前发送方式 |
| | | ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform()); |
| | | //当前发送方式为微信的,且下一发送方式为短信的,微信发送状态为已发送、已领取的,跳过短信步骤 |
| | | if (currentServiceSubtaskPreachform.getPreachform().equals("5") |
| | | && (currentServiceSubtaskPreachform.getSendstate().equals("2") |
| | | || currentServiceSubtaskPreachform.getSendstate().equals("3"))) { |
| | | if(StringUtils.isNotEmpty(nextPreachform) && nextPreachform.equals("2")){ |
| | | log.error("【sfHandlle】微信已发送,短信不发送,跳转人工"); |
| | | setSuccessPreachForm(serviceSubtask, "-1", "微信已发送,短信不发送,跳转人工", "6"); |
| | | //跳过短信,执行下一步 |
| | | Long newNextSort = nextSort + 1; |
| | | //找到短信再下一个sort对应的preachform |
| | | nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> newNextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1"); |
| | | } |
| | | } |
| | | } |
| | | //更新一下当前发送时间 |
| | | if (StringUtils.isNotEmpty(nextPreachform)) { |
| | | serviceSubtaskPreachform.setCurrentSendTime(new Date()); |