|  |  | 
 |  |  | package com.smartor.service.impl; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson2.JSON; | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.fasterxml.jackson.core.JsonProcessingException; | 
 |  |  | import com.fasterxml.jackson.databind.ObjectMapper; | 
 |  |  | import com.google.gson.Gson; | 
 |  |  | import com.ruoyi.common.core.redis.RedisCache; | 
 |  |  | import com.ruoyi.common.dx.MessageSend; | 
 |  |  | import com.ruoyi.common.exception.base.BaseException; | 
 |  |  | import com.ruoyi.common.utils.*; | 
 |  |  | import com.smartor.common.FtpService; | 
 |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.text.DecimalFormat; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.time.Duration; | 
 |  |  | import java.time.LocalDate; | 
 |  |  | import java.time.LocalTime; | 
 |  |  | import java.time.ZoneId; | 
 |  |  | import java.time.*; | 
 |  |  | import java.time.format.DateTimeFormatter; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.concurrent.TimeUnit; | 
 |  |  | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<PatArchiveSrmVO> sendMsgTemplate(List<PatArchiveSrmVO> patArchiveSrmVOS) { | 
 |  |  |         //用来记录发送失败的 | 
 |  |  |         List<PatArchiveSrmVO> sendError = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |         for (PatArchiveSrmVO patArchiveSrmVO : patArchiveSrmVOS) { | 
 |  |  |             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY年MM月dd日HH:mm"); | 
 |  |  |             String timestamp = simpleDateFormat.format(patArchiveSrmVO.getVisitTime()); | 
 |  |  |  | 
 |  |  |             StringBuilder stringBuilder = new StringBuilder(); | 
 |  |  |             if (patArchiveSrmVO.getSrmTemplate().equals("入院准备中心-无检查")) { | 
 |  |  |                 stringBuilder.append(patArchiveSrmVO.getName() + ",您好!主管医生已为您安排住院,请于当天"); | 
 |  |  |             } else if (patArchiveSrmVO.getSrmTemplate().equals("入院准备中心-空腹检查")) { | 
 |  |  |                 stringBuilder.append(patArchiveSrmVO.getName() + ",您好!主管医生已为您安排住院,请当天空腹并于"); | 
 |  |  |             } else if (patArchiveSrmVO.getSrmTemplate().equals("日间病房—择期病人检查")) { | 
 |  |  |                 stringBuilder.append(patArchiveSrmVO.getName() + ",您好!主管医生已为您安排住院前检查,请当天空腹并于"); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             stringBuilder.append(timestamp + ",之前携带医保卡或电子医保卡身份证凭此条短信到1号楼3楼南入院准备中心入院登记窗口,办理正式住院手续,完成各项检查后再到相应病区护士站报到。"); | 
 |  |  |             stringBuilder.append("入院准备中心电话:89975977。入院办理须知:https://mp.weixin.qq.com/s/OCkotuRyQ8Ld2owFF0YErw"); | 
 |  |  |  | 
 |  |  |             JSONObject data = MessageSend.sendMsg(stringBuilder.toString(), "2", patArchiveSrmVO.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); | 
 |  |  |             String code = data.get("code").toString(); | 
 |  |  |             if (StringUtils.isNotEmpty(code) && !code.equals("00000")) { | 
 |  |  |                 sendError.add(patArchiveSrmVO); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return sendError; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取随访统计比例 | 
 |  |  |      * |