| 
					
				 | 
			
			
				@ -0,0 +1,256 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.endpoint.consult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorRoleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.service.BaseDoctorInfoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.wx.WxWechatDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.file_upload.FileUploadService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.family.service.WlyyFamilyMemberService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.message.service.SystemMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.im.service.ImService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.im.util.ImUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.patient.dao.BasePatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.patient.service.BasePatientService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				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.FileUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.wechat.dao.WechatDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.wechat.service.WechatInfoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.wlyy.service.WlyyBusinessService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.security.MessageDigest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @author huangwenjie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RequestMapping(value = BaseHospitalRequestMapping.PatientIM.PREFIX) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Api(value = "居民端咨询IM接口", description = "居民端咨询IM接口", tags = {"居民端咨询IM接口"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class PatientConsultEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private static final Logger logger = LoggerFactory.getLogger(PatientConsultEndpoint.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private ImService imService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BasePatientService basePatientService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private WechatInfoService wechatInfoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private WechatDao wechatDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private WlyyBusinessService wlyyBusinessService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BaseDoctorDao baseDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BasePatientDao basePatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					FileUploadService fileUploadService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BaseDoctorInfoService doctorInfoService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private SystemMessageService systemMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BaseDoctorRoleDao doctorRoleDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ImUtil imUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private WlyyFamilyMemberService familyMemberService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Value("${fastDFS.fastdfs_file_url}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private String fastdfs_file_url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Value("${testPattern.sign}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private String isClose; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Value("${wechat.id}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private String wechat_appid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private FileUtil fileUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@GetMapping(value = BaseHospitalRequestMapping.PatientIM.participants) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@GetMapping(value = BaseHospitalRequestMapping.PatientIM.getSessionMessage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "根据会话ID获取消息记录") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ListEnvelop getSessionMessage( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "sessionId", value = "会话ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "sessionId",required = true) String sessionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "startMsgId", value = "开始的消息记录ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "startMsgId",required = false) String startMsgId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "endMsgId", value = "结束的消息记录ID") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "endMsgId",required = false) String endMsgId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@PostMapping(value = BaseHospitalRequestMapping.PatientIM.getSign) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "获取微信签名", notes = "获取微信签名") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return failed(PatientRequestMapping.Wechat.api_error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @description: SHA、SHA1加密 @parameter: str:待加密字符串 @return: 加密串 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 **/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String SHA1(String str) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							MessageDigest digest = MessageDigest.getInstance("SHA-1"); // 如果是SHA加密只需要将"SHA-1"改成"SHA"即可 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							digest.update(str.getBytes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							byte messageDigest[] = digest.digest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// Create Hex String 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							StringBuffer hexStr = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 字节数组转换为 十六进制 数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							for (int i = 0; i < messageDigest.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								String shaHex = Integer.toHexString(messageDigest[i] & 0xFF); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								if (shaHex.length() < 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									hexStr.append(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								hexStr.append(shaHex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return hexStr.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							throw new Exception(e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@PostMapping(value = BaseHospitalRequestMapping.PatientIM.updateConsultParticipant) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "更新会话成员(新增或删除)", notes = "更新会话成员(新增或删除)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public Envelop updateConsultParticipant(@ApiParam(name = "sessionid", value = "会话ID", defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                       @RequestParam(value = "sessionid", required = true) String sessionid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                       @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("操作成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@PostMapping(value = "messageAppend") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "居民单聊会话发送消息", notes = "居民单聊会话发送消息") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public Envelop messageAppend( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "sender_id", value = "发送者id", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "sender_id", required = true) String sender_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "sender_name", value = "发送者姓名", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "sender_name", required = true) String sender_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "session_id", value = "session_id", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "session_id", required = false) String session_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "content_type", value = "内容类型", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "content_type", required = true) String content_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "content", value = "消息内容", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "content", required = true) String content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "extend", value = "扩展内容", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "extend", required = false) String extend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "type", value = "咨询type", defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@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{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |