| 
					
				 | 
			
			
				@ -117,7 +117,7 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "patient", value = "居民CODE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "patient",required = true) String patient, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name="type",value = "咨询类型 23新生儿在线咨询 24老人在线咨询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "type",required = false,defaultValue = "23") Integer type)throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "type",required = false,defaultValue = "23") Integer type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (StringUtils.isBlank(orgCode)&&StringUtils.isBlank(sessionId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								return Envelop.getError("参数错误请求失败"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -136,7 +136,7 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "patient", value = "居民CODE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "patient",required = true) String patient, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name="type",value = "咨询类型 23新生儿在线咨询 24老人在线咨询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "type",required = false,defaultValue = "23") Integer type)throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "type",required = false,defaultValue = "23") Integer type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String consultCode = consultService.getUnfinishedConsult(patient, doctor, type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success("请求成功",consultCode); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -161,55 +161,58 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "type", value = "咨询类型:23在线咨询,24老人在线咨询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "type",required = false) Integer type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "source", value = "咨询类型来源") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "source",required = false) String source)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "source",required = false) String source){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							System.out.println("symptoms="+symptoms); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						System.out.println("symptoms="+symptoms); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						if (type == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							type = 23; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ConsultTeamDo consult = new ConsultTeamDo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						// 设置咨询类型:23 在线咨询 24老人在线咨询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						consult.setType(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						// 设置主要症状 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						consult.setSymptoms(symptoms); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						// 设置咨询图片URL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						consult.setImages(images); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						// 设置咨询语音URL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						consult.setVoice(voice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						consult.setDoctor(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						consult.setPatient(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						// 保存到数据库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						synchronized (patient.intern()){//新增同步方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject re = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							re = consultService.addTeamConsult(consult, patient,doctor,source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							//发送系统消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							SystemMessageDO systemMessageDO = new SystemMessageDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							systemMessageDO.setTitle("新增在线咨询"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							systemMessageDO.setType("850"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (type==24){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								systemMessageDO.setType("851"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (type == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								type = 23; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							ConsultTeamDo consult = new ConsultTeamDo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 设置咨询类型:23 在线咨询 24老人在线咨询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							consult.setType(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 设置主要症状 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							consult.setSymptoms(symptoms); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 设置咨询图片URL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							consult.setImages(images); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 设置咨询语音URL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							consult.setVoice(voice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							consult.setDoctor(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							consult.setPatient(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 保存到数据库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							synchronized (patient.intern()){//新增同步方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONObject re = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								re = consultService.addTeamConsult(consult, patient,doctor,source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								//发送系统消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								SystemMessageDO systemMessageDO = new SystemMessageDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								systemMessageDO.setTitle("新增在线咨询"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								systemMessageDO.setType("850"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								if (type==24){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									systemMessageDO.setType("851"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								data.put("type",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								systemMessageDO.setData(data.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								consultService.saveMessage(systemMessageDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								serviceNewsService.addServiceNews(re.getString("patientName"),patient,"2",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							data.put("type",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							systemMessageDO.setData(data.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							consultService.saveMessage(systemMessageDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							serviceNewsService.addServiceNews(re.getString("patientName"),patient,"2",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success("操作成功", consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success("操作成功", consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}catch(Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failedException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@GetMapping(value = "findConsultDoctor") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -224,7 +227,7 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "page", value = "第几页") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "page",required = false) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "pagesize", value = "分页大小") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "pagesize",required = false) int pagesize)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "pagesize",required = false) int pagesize){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<Map<String,Object>>  data = consultService.findConsultDoctor(orgCode, patient,type,page,pagesize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success(data); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -253,7 +256,7 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "pagesize", value = "分页大小") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "pagesize",required = false) int pagesize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "doctorName", value = "医生名字") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "doctorName",required = false) String doctorName)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "doctorName",required = false) String doctorName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<Map<String,Object>>  data = consultService.findConsultRecordByPatient(patient, id,type, page,pagesize, title,symptoms,status,doctorName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							Long total = consultService.countConsultRecordByPatient(patient, id,type,title,symptoms,doctorName,status); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -273,25 +276,29 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "consult", value = "咨询CODE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "consult",required = false) String consult, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "patientCode", value = "居民COEE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "patientCode",required = false) String patientCode) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						int resutl = consultService.finish(consult,patientCode,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						BasePatientDO basePatientDO = basePatientService.findByIdAndDel(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						JSONObject msgObj = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						msgObj.put("msg",basePatientDO.getName()+"结束了咨询"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						msgObj.put("consultcode",consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						String jsonStr = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						if(1 == resutl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							jsonStr = "{\"id\":\""+UUID.randomUUID().toString()+"\",\"sender_id\":\""+patientCode+"\",\"sender_name\":\"系统\",\"timestamp\":"+System.currentTimeMillis()+",\"content_type\":7,\"content\":"+msgObj.toString()+",\"business_type\":1}"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "patientCode",required = false) String patientCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							int resutl = consultService.finish(consult,patientCode,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							BasePatientDO basePatientDO = basePatientService.findByIdAndDel(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject msgObj = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							msgObj.put("msg",basePatientDO.getName()+"结束了咨询"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							msgObj.put("consultcode",consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String jsonStr = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if(1 == resutl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								jsonStr = "{\"id\":\""+UUID.randomUUID().toString()+"\",\"sender_id\":\""+patientCode+"\",\"sender_name\":\"系统\",\"timestamp\":"+System.currentTimeMillis()+",\"content_type\":7,\"content\":"+msgObj.toString()+",\"business_type\":1}"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(jsonStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success(jsonStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failedException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@GetMapping(value = "getTopic") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "根据咨询CODE获取session_id", notes = "根据咨询CODE获取session_id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public Envelop getTopic( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "consult", value = "咨询CODE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "consult",required = false) String consult)throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "consult",required = false) String consult) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success("请求成功",imService.getTopic(consult)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}catch (Exception e){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -311,8 +318,7 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "times", value = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "times",required = false) Integer times, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "patientCode", value = "居民CODE") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "patientCode",required = false) String patientCode) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "patientCode",required = false) String patientCode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<String> failed = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							//处理语音文件 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -348,10 +354,13 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "获取会话成员") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ListEnvelop participants( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "sessionId", value = "会话ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "sessionId",required = true) String sessionId)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						JSONArray participants = imService.getSessions(sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(participants); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "sessionId",required = true) String sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray participants = imService.getSessions(sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success(participants); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failedListEnvelopException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@GetMapping(value = BaseHospitalRequestMapping.PatientIM.getSessionMessage) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -366,9 +375,13 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "page", value = "第几页") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "page",required = true) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "pagesize", value = "分页数") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "pagesize",required = true) int pagesize)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						JSONArray messageArray = imService.getSessionMessage(sessionId, startMsgId, endMsgId, page, pagesize, getUID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(messageArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "pagesize",required = true) int pagesize){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray messageArray = imService.getSessionMessage(sessionId, startMsgId, endMsgId, page, pagesize, getUID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success(messageArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failedListEnvelopException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -377,28 +390,32 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public Envelop getSign(@ApiParam(name = "pageUrl", value = "授权页面") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                       @RequestParam(value = "pageUrl", required = true)String pageUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                       @ApiParam(name = "wxId", value = "微信id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                       @RequestParam(value = "wxId", required = true)String wxId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						logger.info("pageUrl="+pageUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						logger.info("wxId="+wxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						String ticket = wechatInfoService.getJsapi_ticketByToken(wxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						WxWechatDO wxWechatDO = wechatDao.findById(wxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						Map<Object, Object> map = new HashMap<Object, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						if (ticket != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String noncestr = UUID.randomUUID().toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							long timestamp = System.currentTimeMillis() / 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String url = pageUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							logger.info("getSign.url="+url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String str = "jsapi_ticket=" + ticket + "&noncestr=" + noncestr + "×tamp=" + timestamp + "&url=" + url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							logger.info("getSign.str="+str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// sha1加密 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String signature = SHA1(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							map.put("noncestr", noncestr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							map.put("timestamp", timestamp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							map.put("signature", signature); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							map.put("appid", wxWechatDO.getAppId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success(PatientRequestMapping.Wechat.api_success,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                       @RequestParam(value = "wxId", required = true)String wxId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							logger.info("pageUrl="+pageUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							logger.info("wxId="+wxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String ticket = wechatInfoService.getJsapi_ticketByToken(wxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							WxWechatDO wxWechatDO = wechatDao.findById(wxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							Map<Object, Object> map = new HashMap<Object, Object>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (ticket != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String noncestr = UUID.randomUUID().toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								long timestamp = System.currentTimeMillis() / 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String url = pageUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								logger.info("getSign.url="+url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String str = "jsapi_ticket=" + ticket + "&noncestr=" + noncestr + "×tamp=" + timestamp + "&url=" + url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								logger.info("getSign.str="+str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								// sha1加密 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String signature = SHA1(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("noncestr", noncestr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("timestamp", timestamp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("signature", signature); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("appid", wxWechatDO.getAppId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								return success(PatientRequestMapping.Wechat.api_success,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failed(PatientRequestMapping.Wechat.api_error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failedException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return failed(PatientRequestMapping.Wechat.api_error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -434,9 +451,13 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                       @ApiParam(name = "userid", value = "新增成员ID,多个以英文逗号隔开", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                       @RequestParam(value = "userid", required = true) String userid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                       @ApiParam(name = "olduserid", value = "删除的成员id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                       @RequestParam(value = "olduserid", required = false) String olduserid)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						imService.updateParticipant(sessionid,userid,olduserid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success("操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                       @RequestParam(value = "olduserid", required = false) String olduserid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							imService.updateParticipant(sessionid,userid,olduserid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success("操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failedException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@PostMapping(value = "messageAppend") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -458,47 +479,51 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "type", required = false) String type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "times", value = "times", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "times", required = false) Integer times 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						List<String> failed = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						//处理语音文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						if(!org.springframework.util.StringUtils.isEmpty(wechat_appid)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if("3".equalsIgnoreCase(content_type)){//语音文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String voicepath = imService.fetchWxVoices(wechat_appid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								logger.info("voice_path:"+voicepath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONObject obj = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String voiceurl = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								// 将临时语音拷贝到正式存储路径下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								if (org.apache.commons.lang3.StringUtils.isNotEmpty(voicepath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									voiceurl = fileUtil.copyTempVoice(voicepath,fastdfs_file_url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									obj.put("path", voiceurl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									obj.put("times", times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									content = obj.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							}else if("2".equalsIgnoreCase(content_type)){//图片文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String imagepath = imService.fetchWxImages(wechat_appid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								logger.info("image_path:"+imagepath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String imgeUrl = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								// 将临时语音拷贝到正式存储路径下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								if (org.apache.commons.lang3.StringUtils.isNotEmpty(imagepath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									imgeUrl = fileUtil.copyTempVoice(imagepath,fastdfs_file_url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									content = imgeUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<String> failed = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							//处理语音文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if(!org.springframework.util.StringUtils.isEmpty(wechat_appid)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								if("3".equalsIgnoreCase(content_type)){//语音文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									String voicepath = imService.fetchWxVoices(wechat_appid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									logger.info("voice_path:"+voicepath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									JSONObject obj = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									String voiceurl = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									// 将临时语音拷贝到正式存储路径下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									if (org.apache.commons.lang3.StringUtils.isNotEmpty(voicepath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										voiceurl = fileUtil.copyTempVoice(voicepath,fastdfs_file_url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										obj.put("path", voiceurl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										obj.put("times", times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										content = obj.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								}else if("2".equalsIgnoreCase(content_type)){//图片文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									String imagepath = imService.fetchWxImages(wechat_appid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									logger.info("image_path:"+imagepath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									String imgeUrl = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									// 将临时语音拷贝到正式存储路径下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									if (org.apache.commons.lang3.StringUtils.isNotEmpty(imagepath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										imgeUrl = fileUtil.copyTempVoice(imagepath,fastdfs_file_url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										content = imgeUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							session_id = imService.getPatientGuaidenceConsult(sender_id,session_id,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String result = imService.patientGuaidenceAppend(sender_id,sender_name,session_id,content_type,content,"1",extend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<BaseDoctorRoleDO> doctorRoleDOS = doctorRoleDao.findByRoleCode("guidance"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							for (BaseDoctorRoleDO doctorRoleDO:doctorRoleDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								System.out.println("发送外层SOCKET消息:通知医生导诊"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONObject object = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								object.put("socket_sms_type",13); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								object.put("relation_code",session_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								imService.sendWaiSocketMessage(sender_id,doctorRoleDO.getDoctorCode(),object.toString(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						session_id = imService.getPatientGuaidenceConsult(sender_id,session_id,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						String result = imService.patientGuaidenceAppend(sender_id,sender_name,session_id,content_type,content,"1",extend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						List<BaseDoctorRoleDO> doctorRoleDOS = doctorRoleDao.findByRoleCode("guidance"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						for (BaseDoctorRoleDO doctorRoleDO:doctorRoleDOS){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							System.out.println("发送外层SOCKET消息:通知医生导诊"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject object = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							object.put("socket_sms_type",13); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							object.put("relation_code",session_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							imService.sendWaiSocketMessage(sender_id,doctorRoleDO.getDoctorCode(),object.toString(),"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return success(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return failedException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |