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.
		
		
		
		
			
				
					68 lines
				
				2.4 KiB
			
		
		
			
		
	
	
					68 lines
				
				2.4 KiB
			| 
											3 years ago
										 | package com.ynxbd.wx.servlet.oldpay;
 | ||
|  | 
 | ||
|  | import com.ynxbd.common.bean.enums.MerchantEnum;
 | ||
|  | import com.ynxbd.common.helper.common.HttpHelper;
 | ||
|  | import com.ynxbd.common.result.Result;
 | ||
|  | import com.ynxbd.common.result.ServiceException;
 | ||
|  | import com.ynxbd.common.service.RecipeService;
 | ||
|  | import com.ynxbd.wx.wxfactory.WxPayHelper;
 | ||
|  | import com.ynxbd.wx.wxfactory.bean.WxPayNotify;
 | ||
|  | import com.ynxbd.wx.wxfactory.utils.WxRespHelper;
 | ||
|  | import lombok.extern.slf4j.Slf4j;
 | ||
|  | 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;
 | ||
|  | import java.math.BigDecimal;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * 处方支付(旧版)
 | ||
|  |  *
 | ||
|  |  * @author 张剑峰
 | ||
|  |  * @version v1.0.0
 | ||
|  |  * @project:微信公众号
 | ||
|  |  * @date 2017年8月8日下午5:07:44
 | ||
|  |  * @Copyright: 2017云南新八达科技有限公司 All rights reserved.
 | ||
|  |  */
 | ||
|  | @Slf4j
 | ||
|  | @WebServlet("/old_pay_notify_servlet")
 | ||
|  | public class PayNotifyServlet extends HttpServlet {
 | ||
|  | 
 | ||
|  |     @Override
 | ||
|  |     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 | ||
|  |         MDC.remove("ip");
 | ||
|  |         MDC.put("ip", HttpHelper.getIpAddress(request));
 | ||
|  | 
 | ||
|  |         try {
 | ||
|  |             WxPayNotify notifyInfo = WxPayHelper.payNotify(request);
 | ||
|  |             Result.respXml(response, WxRespHelper.respOk()); // 收到请求-解析成功
 | ||
|  | 
 | ||
|  |             String openid = notifyInfo.getOpenid();
 | ||
|  |             String bankTransNo = notifyInfo.getTransactionId();
 | ||
|  |             String outTradeNo = notifyInfo.getOutTradeNo();
 | ||
|  |             BigDecimal totalFee = notifyInfo.getTotalFee();
 | ||
|  |             //
 | ||
|  |             String payInfo = notifyInfo.getPayInfo();
 | ||
|  |             String payDate = notifyInfo.getPayDate();
 | ||
|  |             String payTime = notifyInfo.getPayTime();
 | ||
|  | 
 | ||
|  |             // 和HIS交互
 | ||
|  |             new RecipeService().recipeListPay(MerchantEnum.WX, totalFee.toString(), openid, outTradeNo, bankTransNo, null, payDate, payTime, payInfo);
 | ||
|  | 
 | ||
|  |         } catch (ServiceException e) {
 | ||
|  |             Result.respXml(response, WxRespHelper.resp(e)); // 收到请求-解析成功
 | ||
|  |         }
 | ||
|  |     }
 | ||
|  | 
 | ||
|  | //
 | ||
|  | //	public static void main(String[] args) throws Exception {
 | ||
|  | //		DBDao dbDao = new DBDao();
 | ||
|  | //		boolean refundResult = dbDao.refund(2, UUID.randomUUID().toString().replace("-", ""), "111", 1, "缴费失败退款");
 | ||
|  | //	}
 | ||
|  | 
 | ||
|  | }
 |