| 
					
				 | 
			
			
				@ -788,5 +788,65 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("操作成功",result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 商户回调通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws IOException 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws PayException 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "/ylzSettleRecord") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String ylzSettleRecord(HttpServletRequest request, HttpServletResponse response) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        response.setContentType("text/html;charset=utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        OauthYlzConfigDO oauthYlzConfigDO = oauthYlzConfigDao.findById("ylz_pay_config"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(oauthYlzConfigDO==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return "未找到支付配置文件"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String appId = oauthYlzConfigDO.getAppId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String appSecret = oauthYlzConfigDO.getAppKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        InputStream inputStream = request.getInputStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String params = StreamUtils.copyToString(inputStream, Charset.forName("UTF-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("回调参数:{}", params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtil.isEmpty(params)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response.getWriter().write("empty"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return appId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 参数转换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ResponseParams<?> encryptRes = JSON.parseObject(params, ResponseParams.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        OnepayDefaultClient client = new OnepayDefaultClient("", appId, appSecret, encryptRes.getSignType(), encryptRes.getEncryptType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("解密前:{}", JSON.toJSONString(encryptRes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ResponseParams<?> decryptRes = client.decryptNotifyResponse(encryptRes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("解密后:{}",JSON.toJSONString(decryptRes) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            boolean isDecrypt = ("-1".equals(decryptRes.getRespCode()) ? false : true); // 是否解密失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (!isDecrypt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                response.getWriter().write("DECRYPT FAILURE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                boolean isVerify = client.verifyResponseSign(decryptRes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logger.info("验签结果:{}", isVerify); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (!isVerify) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    response.getWriter().write("FAILURE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(decryptRes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject param = jsonObject.getJSONObject("param"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.info("param"+params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String outChargeNo = param.getString("outChargeNo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String beginDate = param.getString("beginDate"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String endDate = param.getString("endDate"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String queryType = param.getString("queryType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String billSn = param.getString("billSn"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String traceNo = param.getString("traceNo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String pageNo = param.getString("pageNo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String pageSize = param.getString("pageSize"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String result = ylzPayService.querySettledRecord(outChargeNo,beginDate,endDate,queryType,billSn,traceNo,pageNo,pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    response.getWriter().write("SUCCESS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response.getWriter().write(e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return appId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |