|  | @ -12,7 +12,9 @@ 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.date.DateUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.service.WechatInfoService;
 | 
	
		
			
				|  |  | import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiParam;
 | 
	
	
		
			
				|  | @ -20,9 +22,8 @@ import org.apache.axis.utils.StringUtils;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.UUID;
 | 
	
		
			
				|  |  | import java.security.MessageDigest;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * @author huangwenjie
 | 
	
	
		
			
				|  | @ -41,6 +42,10 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	private BasePatientService basePatientService;
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	private WechatInfoService wechatInfoService;
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	@GetMapping(value = BaseHospitalRequestMapping.PatientIM.records)
 | 
	
		
			
				|  |  | 	@ApiOperation(value = "患者咨询记录查询")
 | 
	
		
			
				|  |  | 	public ListEnvelop records(
 | 
	
	
		
			
				|  | @ -308,16 +313,53 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  | 		return success("请求成功");
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	@GetMapping(value = BaseHospitalRequestMapping.PatientIM.getEvaluationByConsultCode)
 | 
	
		
			
				|  |  | 	@ApiOperation(value = "评价咨询", notes = "评价咨询")
 | 
	
		
			
				|  |  | 	public ListEnvelop getEvaluationByConsultCode(
 | 
	
		
			
				|  |  | 			@ApiParam(name = "consult", value = "咨询CODE")
 | 
	
		
			
				|  |  | 			@RequestParam(value = "consult",required = true) String consult)throws Exception{
 | 
	
		
			
				|  |  | //		if(StringUtils.isEmpty(scoreContent)){
 | 
	
		
			
				|  |  | //			scoreContent= "[{\"scoreType\":\"1\",\"score\":100,\"content\":\"\"},{\"scoreType\":\"2\",\"score\":80,\"content\":\"\"},{\"scoreType\":\"3\",\"score\":80,\"content\":\"\"},{\"scoreType\":\"4\",\"score\":0,\"content\":\"测试评语。。。。123123\"}]";
 | 
	
		
			
				|  |  | //		}
 | 
	
		
			
				|  |  | 	@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 {
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		return success("请求成功",imService.getEvaluationByConsultCode(consult));
 | 
	
		
			
				|  |  | 		String ticket = wechatInfoService.getJsapi_ticketByToken(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;
 | 
	
		
			
				|  |  | 			String str = "jsapi_ticket=" + ticket + "&noncestr=" + noncestr + "×tamp=" + timestamp + "&url=" + url;
 | 
	
		
			
				|  |  | 			// sha1加密
 | 
	
		
			
				|  |  | 			String signature = SHA1(str);
 | 
	
		
			
				|  |  | 			map.put("noncestr", noncestr);
 | 
	
		
			
				|  |  | 			map.put("timestamp", timestamp);
 | 
	
		
			
				|  |  | 			map.put("signature", signature);
 | 
	
		
			
				|  |  | 			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 = java.security.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());
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |