|  | @ -11,6 +11,7 @@ import com.yihu.jw.entity.util.RSA;
 | 
	
		
			
				|  |  | import com.yihu.jw.security.dao.OauthRsaKeyDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.security.dao.WlyyHttpLogDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.security.dao.patient.WlyyHospitalSysDictDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.security.utils.AesUtilsByDigitalCloudSign;
 | 
	
		
			
				|  |  | import com.yihu.jw.security.utils.DateUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.security.utils.RSAEncrypt;
 | 
	
		
			
				|  |  | import com.yihu.jw.security.utils.WebserviceUtil;
 | 
	
	
		
			
				|  | @ -25,6 +26,7 @@ import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import javax.servlet.http.HttpServletRequest;
 | 
	
		
			
				|  |  | import java.util.Date;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
	
		
			
				|  | @ -121,7 +123,7 @@ public class HcyyService {
 | 
	
		
			
				|  |  |                 "   <callOperator></callOperator> " +
 | 
	
		
			
				|  |  |                 "   <certificate>"+caKey+"</certificate> " +
 | 
	
		
			
				|  |  |                 "</root>";
 | 
	
		
			
				|  |  |         String condition ="{\"apiName\":\""+apiCode+"\",\"version\":\"v1\",\"jsonData\":\""+ StringEscapeUtils.escapeJson(jsonData)+"\"}";
 | 
	
		
			
				|  |  |         String condition ="{\"apiName\":\""+apiCode+"\",\"version\":\"v1\",\"jsonData\":\""+  jsonData+"\"}";
 | 
	
		
			
				|  |  |         String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
 | 
	
		
			
				|  |  |                 "<root>"+condition+"</root>";
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -156,12 +158,13 @@ public class HcyyService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         OauthRsaKeyDO oauthRsaKeyDO = oauthRsaKeyDOs.get(0);
 | 
	
		
			
				|  |  |         String res = "businessSystemId="+businessSystemId+"×tamp="+timestamp;
 | 
	
		
			
				|  |  |         String signature = RSAEncrypt.encrypt(res,oauthRsaKeyDO.getPublicKey());
 | 
	
		
			
				|  |  |         JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  | /*        String signature = RSAEncrypt.encrypt(res,oauthRsaKeyDO.getPublicKey());*/
 | 
	
		
			
				|  |  | /*        JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |         jsonObject.put("businessSystemId",businessSystemId);
 | 
	
		
			
				|  |  |         jsonObject.put("timestamp",timestamp+"");
 | 
	
		
			
				|  |  |         jsonObject.put("signature","");
 | 
	
		
			
				|  |  |         String result = XMCA_DCS_UnifiedInterface("获取访问令牌接口","authorize/token",jsonObject.toJSONString());
 | 
	
		
			
				|  |  |         jsonObject.put("signature","");*/
 | 
	
		
			
				|  |  |         String jsonObject = "{\\\"businessSystemId\\\": \\\""+businessSystemId+"\\\",\\\"timestamp\\\": \\\""+timestamp+"\\\",\\\"signature\\\": \\\"\\\"}";
 | 
	
		
			
				|  |  |         String result = XMCA_DCS_UnifiedInterface("获取访问令牌接口","authorize/token",jsonObject);
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(result)){
 | 
	
		
			
				|  |  |             JSONObject object = JSONObject.parseObject(result);
 | 
	
		
			
				|  |  |             if (object.getString("code").equalsIgnoreCase("10000")){
 | 
	
	
		
			
				|  | @ -181,21 +184,22 @@ public class HcyyService {
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getQRCode(){
 | 
	
		
			
				|  |  |     public String getQRCode(String ip){
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String token = token();
 | 
	
		
			
				|  |  |             String clientId = "";
 | 
	
		
			
				|  |  |             String clientId = ip;
 | 
	
		
			
				|  |  |             String businessSerialNo = UUID.randomUUID().toString();
 | 
	
		
			
				|  |  |             JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |         /*    JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |             jsonObject.put("token",token);
 | 
	
		
			
				|  |  |             JSONObject data = new JSONObject();
 | 
	
		
			
				|  |  |             data.put("clientId",clientId);
 | 
	
		
			
				|  |  |             data.put("userType","1");
 | 
	
		
			
				|  |  |             jsonObject.put("data",data);
 | 
	
		
			
				|  |  |             jsonObject.put("data",data.toJSONString());
 | 
	
		
			
				|  |  |             jsonObject.put("businessSerialNo",businessSerialNo);
 | 
	
		
			
				|  |  |             jsonObject.put("accessMode",0);
 | 
	
		
			
				|  |  |             data.put("accessMode","1");*/
 | 
	
		
			
				|  |  |             String jsonObject ="{\\\"token\\\": \\\""+token+"\\\", \\\"data\\\": \\\"{\\\\\\\"clientId\\\\\\\": \\\\\\\""+clientId+"\\\\\\\",\\\\\\\"userType\\\\\\\": \\\\\\\"1\\\\\\\"}\\\",\\\"businessSerialNo\\\": \\\"" + businessSerialNo + "\\\",\\\"accessMode\\\": \\\"1\\\"}";
 | 
	
		
			
				|  |  |             String result = null;
 | 
	
		
			
				|  |  |             result = XMCA_DCS_UnifiedInterface("获取登录小程序码接口","authorize/wxacode",jsonObject.toJSONString());
 | 
	
		
			
				|  |  |             result = XMCA_DCS_UnifiedInterface("获取登录小程序码接口","authorize/wxacode",jsonObject);
 | 
	
		
			
				|  |  |             JSONObject rs = new JSONObject();
 | 
	
		
			
				|  |  |             JSONObject dataRes = new JSONObject();
 | 
	
		
			
				|  |  |             if (StringUtils.isNoneBlank(result)){
 | 
	
	
		
			
				|  | @ -229,22 +233,22 @@ public class HcyyService {
 | 
	
		
			
				|  |  |      * @param qrCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject getTokeninfo(String qrCode){
 | 
	
		
			
				|  |  |     public JSONObject getTokeninfo(String qrCode,String ip){
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String token = token();
 | 
	
		
			
				|  |  |             String clientId = "";
 | 
	
		
			
				|  |  |             JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |             jsonObject.put("token",token);
 | 
	
		
			
				|  |  |             jsonObject.put("clientId",clientId);
 | 
	
		
			
				|  |  |             jsonObject.put("businessSerialNo",qrCode);
 | 
	
		
			
				|  |  |             String result = XMCA_DCS_UnifiedInterface("获取授权登录状态信息","authorize/getNoticeData",jsonObject.toJSONString());
 | 
	
		
			
				|  |  |             String clientId = ip;
 | 
	
		
			
				|  |  |             String jsonObject ="{\\\"token\\\": \\\""+token+"\\\",\\\"clientId\\\": \\\""+clientId+"\\\",\\\"businessSerialNo\\\": \\\""+qrCode+"\\\"}";
 | 
	
		
			
				|  |  |             String result = XMCA_DCS_UnifiedInterface("获取授权登录状态信息","authorize/getNoticeData",jsonObject);
 | 
	
		
			
				|  |  |             JSONObject object = JSONObject.parseObject(result);
 | 
	
		
			
				|  |  |             if (object.getString("code").equalsIgnoreCase("10000")){
 | 
	
		
			
				|  |  |                 JSONObject data = object.getJSONObject("data");
 | 
	
		
			
				|  |  |                 String idCard = data.getString("idCard");
 | 
	
		
			
				|  |  |                 String key = (MD5.md5Hex(DateUtil.getDateShort(new Date())+"XMCASZYQ")).substring(5,21);
 | 
	
		
			
				|  |  |                 String idcard = AesEncryptUtils.decrypt(idCard,key);
 | 
	
		
			
				|  |  |                 data.put("idcard",idcard);
 | 
	
		
			
				|  |  |                 if (StringUtils.isNoneBlank(object.getString("data"))){
 | 
	
		
			
				|  |  |                     JSONObject data = object.getJSONObject("data");
 | 
	
		
			
				|  |  |                     String idCard = data.getString("idCard");
 | 
	
		
			
				|  |  |                     String  key = MD5.md5Hex(DateUtil.getStringDateShort()+"XMCASZYQ").substring(5,21).toUpperCase();
 | 
	
		
			
				|  |  |                     logger.info("===key===="+key);
 | 
	
		
			
				|  |  |                     String idcard = AesUtilsByDigitalCloudSign.decrypt(idCard,key);
 | 
	
		
			
				|  |  |                     data.put("idcard",idcard);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return object;
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 |