|
@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.care.dao.consult.BaseYunxingChannelDao;
|
|
|
import com.yihu.jw.care.util.EntranceUtil;
|
|
|
import com.yihu.jw.care.util.MessageUtil;
|
|
|
import com.yihu.jw.dict.dao.BaseJpushTemplateDao;
|
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
|
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
@ -13,9 +14,14 @@ import com.yihu.jw.entity.base.im.ConsultDo;
|
|
|
import com.yihu.jw.entity.base.im.ConsultTeamDo;
|
|
|
import com.yihu.jw.entity.base.im.ConsultTeamDoctorDo;
|
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
|
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
|
|
|
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
|
|
|
import com.yihu.jw.entity.base.wx.WxWechatDO;
|
|
|
import com.yihu.jw.entity.care.consult.BaseYunxingChannelDO;
|
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
|
import com.yihu.jw.entity.hospital.dict.BaseJpushTemplateDO;
|
|
|
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
|
|
|
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
|
|
|
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
|
|
|
import com.yihu.jw.im.dao.ConsultDao;
|
|
|
import com.yihu.jw.im.dao.ConsultTeamDao;
|
|
@ -26,9 +32,15 @@ import com.yihu.jw.patient.dao.BasePatientDao;
|
|
|
import com.yihu.jw.sms.dao.HospitalSysDictDao;
|
|
|
import com.yihu.jw.util.common.IdCardUtil;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.jw.util.wechat.WeixinMessagePushUtils;
|
|
|
import com.yihu.jw.utils.RSAEncrypt;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
|
|
|
import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
|
|
|
import com.yihu.jw.wechat.service.WxAccessTokenService;
|
|
|
import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
@ -37,6 +49,7 @@ import java.net.URLEncoder;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
import static jxl.biff.FormatRecord.logger;
|
|
|
|
|
@ -50,6 +63,10 @@ import static jxl.biff.FormatRecord.logger;
|
|
|
@Service
|
|
|
public class ConsultService {
|
|
|
|
|
|
@Value("${wechat.id}")
|
|
|
private String wechatId;
|
|
|
@Value("${wechat.appId}")
|
|
|
private String wechatAppId;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
@ -80,6 +97,42 @@ public class ConsultService {
|
|
|
private BaseYunxingChannelDao yunxingChannelDao;
|
|
|
@Autowired
|
|
|
private MessageUtil messageUtil;
|
|
|
@Autowired
|
|
|
private BasePatientWechatDao basePatientWechatDao;
|
|
|
@Autowired
|
|
|
private WeixinMessagePushUtils weixinMessagePushUtils;
|
|
|
@Autowired
|
|
|
private WxTemplateConfigDao wxTemplateConfigDao;
|
|
|
@Autowired
|
|
|
private WxAccessTokenService wxAccessTokenService;
|
|
|
@Autowired
|
|
|
private BaseJpushTemplateDao baseJpushTemplateDao;
|
|
|
|
|
|
/**
|
|
|
* 发送微信模版消息-小程序视频
|
|
|
* @param sender_id 发送者ID
|
|
|
* @param reciver_id 接收者ID
|
|
|
* @param session_id 会话ID
|
|
|
*/
|
|
|
public String sendWeTempMesMiniProgram(String sender_id, String reciver_id, String session_id)throws Exception {
|
|
|
BasePatientDO patient = basePatientDao.findById(reciver_id);
|
|
|
if(patient!=null){
|
|
|
BaseDoctorDO doctorDO = baseDoctorDao.findById(sender_id);
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("id", reciver_id);
|
|
|
String first = "【key1】您好!【key2】向您发起了视频请求";
|
|
|
first = first.replace("key1",patient.getName());
|
|
|
first = first.replace("key2", doctorDO.getName());
|
|
|
List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wechatId,patient.getId());
|
|
|
if (basePatientWechatDos.size()>0){
|
|
|
String openId = basePatientWechatDos.get(0).getOpenid();
|
|
|
messageUtil.putTemplateWxMessage(wechatId,"template_consult_notice","spthtx",openId,first,null,null,2,json, DateUtil.dateToChineseDate(new Date()),"视频请求","点击接收");
|
|
|
}
|
|
|
}else{
|
|
|
throw new Exception("接收者ID错误,无法找到该账号");
|
|
|
}
|
|
|
return "success";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 保存云信channelId
|