|
@ -454,6 +454,85 @@ public class ImService {
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 居民咨询发消息(追问接口)
|
|
|
* @param consult 咨询标识-咨询CODE
|
|
|
* @param content 消息内容
|
|
|
* @param type 消息类型
|
|
|
* @param times 次数
|
|
|
* @param patientcode 发送的居民CODE
|
|
|
* @param wechat_appid 微信公众号appid
|
|
|
* @return
|
|
|
*/
|
|
|
public List<String> append(String consult, String content, Integer type, Integer times,String patientcode,String wechat_appid,String agent) throws Exception {
|
|
|
List<ConsultTeamLogDo> logs = new ArrayList<ConsultTeamLogDo>();
|
|
|
ConsultTeamDo consultModel = consultTeamDao.findByConsult(consult);
|
|
|
if (consultModel == null) {
|
|
|
throw new Exception("咨询记录不存在!");
|
|
|
}
|
|
|
try {
|
|
|
if (wxId.equalsIgnoreCase("xm_ykyy_wx")){
|
|
|
prescriptionService.wxTempalteJPush("consult_remind_doctor",null,consultModel,content,"","","");
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
if (consultModel.getEndMsgId() != null) {
|
|
|
throw new Exception("咨询已结束!");
|
|
|
}
|
|
|
|
|
|
String[] arr = null;
|
|
|
if (type == 3) {//语音文件处理
|
|
|
ConsultTeamLogDo log = new ConsultTeamLogDo();
|
|
|
log.setConsult(consult);
|
|
|
log.setContent(content);
|
|
|
log.setDel("1");
|
|
|
log.setChatType(type);
|
|
|
log.setType(type);
|
|
|
logs.add(log);
|
|
|
} else if (type == 2) {
|
|
|
// // 图片消息
|
|
|
|
|
|
String[] images = content.split(",");
|
|
|
for (String image : images) {
|
|
|
ConsultTeamLogDo log = new ConsultTeamLogDo();
|
|
|
log.setConsult(consult);
|
|
|
log.setContent(image);
|
|
|
log.setDel("1");
|
|
|
log.setChatType(type);
|
|
|
log.setType(type);
|
|
|
logs.add(log);
|
|
|
}
|
|
|
} else {
|
|
|
ConsultTeamLogDo log = new ConsultTeamLogDo();
|
|
|
log.setConsult(consult);
|
|
|
log.setContent(content);
|
|
|
log.setDel("1");
|
|
|
log.setChatType(type);
|
|
|
log.setType(type);
|
|
|
logs.add(log);
|
|
|
|
|
|
arr = new String[]{content};
|
|
|
}
|
|
|
// Patient patient = patientDao.findByCode(getUID());
|
|
|
BasePatientDO patient = basePatientDao.findById(patientcode);
|
|
|
int i = 0;
|
|
|
List<String> failed = new ArrayList<>();
|
|
|
|
|
|
for (ConsultTeamLogDo log : logs) {
|
|
|
String response = imUtil.sendTopicIM(patientcode, patient.getName(), consult, String.valueOf(log.getType()), log.getContent(),agent,patient.getName(),Integer.parseInt(IdCardUtil.getSexForIdcard_new(patient.getIdcard())), IdCardUtil.getAgeForIdcard(patient.getIdcard()));
|
|
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotEmpty(response)) {
|
|
|
JSONObject resObj = JSON.parseObject(response);
|
|
|
if (resObj.getInteger("status") == -1) {
|
|
|
throw new Exception("追问失败!" + resObj.getString("message"));
|
|
|
}
|
|
|
failed.add(String.valueOf(resObj.get("data")));
|
|
|
}
|
|
|
}
|
|
|
return failed;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 居民咨询发消息(追问接口)
|
|
|
* @param consult 咨询标识-咨询CODE
|