瀏覽代碼

Merge branch 'dev' of huangwenjie/wlyy2.0 into dev

huangwenjie 5 年之前
父節點
當前提交
dba78fbc53

+ 5 - 0
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -821,7 +821,12 @@ public class ImService {
		// 添加医生咨询日志
		String content = addLogs(ct);
		re.put("doctor", doctor);
		re.put("doctorName", baseDoctorDO.getName());
		re.put("status", 1);
		re.put("sessiond_id",patient + "_" + doctor + "_" + ct.getType());
		re.put("patient",patient);
		re.put("patientName",tempPatient.getName());
		re.put("patient_idcard",tempPatient.getIdcard());
		return re;
		
	}

+ 33 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -8,10 +8,14 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.service.SystemMessage.HospitalSystemMessageService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.im.ConsultVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -19,6 +23,7 @@ import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.sms.service.ZhongShanSMSService;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import io.swagger.annotations.Api;
@ -70,6 +75,11 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
	
	@Autowired
	private StringRedisTemplate redisTemplate;
	
	@Autowired
	private HospitalSystemMessageService hospitalSystemMessageService;
	@Autowired
	public BasePatientDao basePatientDao;
	
	
@ -199,6 +209,29 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
		String result = "";
		synchronized (patient_code.intern()){
			result = imService.generalAddExpertConsult(patient_code, general_doctor,special_doctor,when,symptoms,images,consult);
			
			BaseDoctorDO generalDoctor = baseDoctorDao.findById(general_doctor);
			BaseDoctorDO specialDoctor = baseDoctorDao.findById(special_doctor);
			// 查询患者信息
			BasePatientDO p = basePatientDao.findById(patient_code);
			//发送系统消息
			SystemMessageDO systemMessageDO = new SystemMessageDO();
			systemMessageDO.setTitle("新增专家咨询");
			systemMessageDO.setType("4");
			systemMessageDO.setReceiver(specialDoctor.getId());
			systemMessageDO.setReceiverName(specialDoctor.getName());
			systemMessageDO.setRelationCode(patient_code+"_"+general_doctor + "_" +special_doctor + "_15");
			systemMessageDO.setSender(generalDoctor.getId());
			systemMessageDO.setSenderName(generalDoctor.getName());
			
			net.sf.json.JSONObject data = new net.sf.json.JSONObject();
			data.put("name",p.getName());
			data.put("age", IdCardUtil.getAgeForIdcard(p.getIdcard()));
			data.put("gender",IdCardUtil.getSexForIdcard_new(p.getIdcard()));
			data.put("question",symptoms);
			systemMessageDO.setData(data.toString());
			hospitalSystemMessageService.saveMessage(systemMessageDO);
			
		}
		return success("操作成功",result);
	}

+ 25 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java

@ -2,10 +2,13 @@ package com.yihu.jw.hospital.endpoint.consult;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.wx.WxWechatDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.service.SystemMessage.HospitalSystemMessageService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.patient.service.BasePatientService;
import com.yihu.jw.restmodel.im.ConsultVO;
@ -14,6 +17,7 @@ import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.rm.patient.PatientRequestMapping;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.wechat.dao.WechatDao;
import com.yihu.jw.wechat.service.WechatInfoService;
@ -55,6 +59,9 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
	@Autowired
	private WechatDao wechatDao;
	
	@Autowired
	private HospitalSystemMessageService hospitalSystemMessageService;
	
	@GetMapping(value = BaseHospitalRequestMapping.PatientIM.records)
	@ApiOperation(value = "患者咨询记录查询")
	public Envelop records(
@ -283,6 +290,24 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
			re = imService.addTeamConsult(consult, patient,doctor);
//			res = re.getInteger("status");
//			dts = re.containsKey("doctor")?re.getJSONArray("doctor"):null;
			
			//发送系统消息
			SystemMessageDO systemMessageDO = new SystemMessageDO();
			systemMessageDO.setTitle("新增专家咨询");
			systemMessageDO.setType("4");
			systemMessageDO.setReceiver(re.getString("doctor"));
			systemMessageDO.setReceiverName(re.getString("doctorName"));
			systemMessageDO.setRelationCode(re.getString("sessiond_id"));
			systemMessageDO.setSender(re.getString("patient"));
			systemMessageDO.setSenderName(re.getString("patientName"));
			
			net.sf.json.JSONObject data = new net.sf.json.JSONObject();
			data.put("name",re.getString("patientName"));
			data.put("age", IdCardUtil.getAgeForIdcard(re.getString("patient_idcard")));
			data.put("gender",IdCardUtil.getSexForIdcard_new(re.getString("patient_idcard")));
			data.put("question",symptoms);
			systemMessageDO.setData(data.toString());
			hospitalSystemMessageService.saveMessage(systemMessageDO);
		}
		return success("操作成功", consult);
	}

+ 41 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/SystemMessage/HospitalSystemMessageService.java

@ -0,0 +1,41 @@
package com.yihu.jw.hospital.service.SystemMessage;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.service.SystemMessageService;
import com.yihu.jw.im.service.ImService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * 互联网医院系统消息业务层
 * @author huangwenjie
 * @date 2019/11/22 13:53
 */
@Service
public class HospitalSystemMessageService  {
	
	@Autowired
	private SystemMessageService systemMessageService;
	
	@Autowired
	private ImService imService;
	
	/**
	 * 保存系统消息
	 * @param systemMessageDO
	 * @throws Exception
	 */
	public void saveMessage(SystemMessageDO systemMessageDO) throws Exception{
		//发送系统消息
		systemMessageService.saveMessage(systemMessageDO);
		//发型IM外层消息
		
		JSONObject object = new JSONObject();
		object.put("socket_sms_type",11);//系统消息刷新事件
		object.put("relation_code",systemMessageDO.getType());
		imService.sendWaiSocketMessage(systemMessageDO.getSender(),systemMessageDO.getReceiver(),object.toString(),"1");
	}
}