You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					
					
						
							64 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
	
	
							64 lines
						
					
					
						
							2.2 KiB
						
					
					
				| package com.ynxbd.wx.servlet;
 | |
| 
 | |
| import com.ynxbd.common.bean.enums.MerchantEnum;
 | |
| import com.ynxbd.common.helper.common.HttpHelper;
 | |
| import com.ynxbd.common.result.ResultEnum;
 | |
| import com.ynxbd.wx.config.WeChatConfig;
 | |
| import lombok.extern.slf4j.Slf4j;
 | |
| import org.apache.commons.lang3.StringUtils;
 | |
| import org.slf4j.MDC;
 | |
| 
 | |
| import javax.servlet.ServletException;
 | |
| import javax.servlet.annotation.WebServlet;
 | |
| import javax.servlet.http.HttpServlet;
 | |
| import javax.servlet.http.HttpServletRequest;
 | |
| import javax.servlet.http.HttpServletResponse;
 | |
| import java.io.IOException;
 | |
| 
 | |
| /**
 | |
|  * 多处方支付跳转
 | |
|  *
 | |
|  * @Author wsq
 | |
|  * @Date 2020/11/19 10:36
 | |
|  * @Copyright @ 2020 云南新八达科技有限公司 All rights reserved.
 | |
|  */
 | |
| @Slf4j
 | |
| @WebServlet("/q")
 | |
| public class QServlet extends HttpServlet {
 | |
| 
 | |
|     @Override
 | |
|     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
 | |
|         MDC.remove("ip");
 | |
|         MDC.put("ip", HttpHelper.getIpAddress(request));
 | |
| 
 | |
|         String userAgent = request.getHeader("user-agent");
 | |
|         if (StringUtils.isEmpty(userAgent)) {
 | |
|             log.info(ResultEnum.PAY_TYPE_NOT_SUPPORT.message);
 | |
|             HttpHelper.outRespAlert(response, ResultEnum.PAY_TYPE_NOT_SUPPORT.message);
 | |
|             return;
 | |
|         }
 | |
| 
 | |
|         MerchantEnum merchantEnum = MerchantEnum.getMerchantEnumByQr(userAgent);
 | |
|         if (merchantEnum == null) {
 | |
|             log.info(ResultEnum.PAY_TYPE_NOT_SUPPORT.message);
 | |
|             HttpHelper.outRespAlert(response, ResultEnum.PAY_TYPE_NOT_SUPPORT.message);
 | |
|             return;
 | |
|         }
 | |
| 
 | |
|         String patientId = request.getParameter("p");
 | |
|         log.info("{} [patientId={}]多张处方扫码请求,开始解析...", merchantEnum.NAME, patientId);
 | |
|         if (StringUtils.isEmpty(patientId)) {
 | |
|             log.info("[支付] 多张扫码请求 patientId is null");
 | |
|             return;
 | |
|         }
 | |
| 
 | |
|         if (MerchantEnum.WX.equals(merchantEnum)) {
 | |
|             response.sendRedirect(WeChatConfig.getWebUrl() + "pay-qr-recipe.html?p=" + patientId);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 | |
|         doPost(request, response);
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 |