From 113c9bb9c76a1e08d14b5646e0d2e249b8e6e469 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 23 十月 2024 20:37:14 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- /dev/null | 41 ------------- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilter.java | 76 +++++++++++++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java | 27 --------- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentSv.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilterConfiguration.java | 15 ++-- 5 files changed, 85 insertions(+), 78 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java deleted file mode 100644 index 3b127ad..0000000 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/WXDataSourceNameSetFilter.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.dy.common.webFilter; - -import com.dy.common.multiDataSource.DataSourceContext; -import jakarta.servlet.*; -import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.slf4j.Slf4j; - -import java.io.IOException; - -/** - * @author ZhuBaoMin - * @date 2024-06-19 11:02 - * @LastEditTime 2024-06-19 11:02 - * @Description - */ - -@Slf4j -public class WXDataSourceNameSetFilter implements Filter { - @Override - public void init(FilterConfig filterConfig) throws ServletException { - } - - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; - String wxDataSourceName = httpRequest.getHeader("tag"); - if(wxDataSourceName != null && wxDataSourceName.trim().length() > 0){ - log.info("寰俊寮�鍙戯紝璁剧疆鏁版嵁婧愬悕绉颁负:" + wxDataSourceName); - //鎶婄粍缁囧崟浣嶆爣绛句綔涓烘暟鎹簮鍚嶇О - DataSourceContext.set(wxDataSourceName); - } else { - log.info("鐢ㄦ埛鏈�夋嫨鏁版嵁婧�"); - } - - filterChain.doFilter(servletRequest, servletResponse); - } - - @Override - public void destroy() { - } -} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilter.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilter.java new file mode 100644 index 0000000..1e695f6 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilter.java @@ -0,0 +1,76 @@ +package com.dy.pipIrrWechat.config; + +import com.dy.common.multiDataSource.DataSourceContext; +import com.dy.common.util.AES; +import com.dy.pipIrrGlobal.pojoSe.SeWechatpay; +import com.dy.pipIrrWechat.wechatpay.PayInfo; +import com.dy.pipIrrWechat.wechatpay.PaymentSv; +import jakarta.servlet.*; +import jakarta.servlet.http.HttpServletRequest; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +/** + * @author ZhuBaoMin + * @date 2024-10-23 17:13 + * @LastEditTime 2024-10-23 17:13 + * @Description + */ + +@Slf4j +public class WechatFilter implements Filter { + private PaymentSv paymentSv; + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + // 浠嶴ervletContext鑾峰彇ApplicationContext + ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(filterConfig.getServletContext()); + // 浠嶢pplicationContext涓幏鍙栨湇鍔ean + paymentSv = applicationContext.getBean(PaymentSv.class); + } + + @SneakyThrows + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) { + HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; + + // 閰嶇疆鏁版嵁婧� + String wxDataSourceName = httpRequest.getHeader("tag"); + if (wxDataSourceName != null && wxDataSourceName.trim().length() > 0) { + log.info("寰俊寮�鍙戯紝璁剧疆鏁版嵁婧愬悕绉颁负:" + wxDataSourceName); + //鎶婄粍缁囧崟浣嶆爣绛句綔涓烘暟鎹簮鍚嶇О + DataSourceContext.set(wxDataSourceName); + } else { + log.info("鐢ㄦ埛鏈�夋嫨鏁版嵁婧�"); + } + + // 鍒濆鍖栧井淇℃敮浠樹俊鎭� + String appId = httpRequest.getHeader("appId"); + if (appId == null || appId.trim().length() == 0) { + log.info("灏忕▼搴忓敮涓�鏍囪瘑涓嶈兘涓虹┖"); + } else { + appId = AES.encrypt(appId); + + SeWechatpay seWechatpay = paymentSv.getWechatpayByAppId(appId); + if (seWechatpay != null) { + PayInfo.appid = AES.decrypt(seWechatpay.getAppId()); + PayInfo.secret = AES.decrypt(seWechatpay.getAppSecret()); + PayInfo.mchid = AES.decrypt(seWechatpay.getMchId()); + PayInfo.key = AES.decrypt(seWechatpay.getMchKey()); + PayInfo.serial_no = AES.decrypt(seWechatpay.getSerialNo()); + PayInfo.notifyUrl = AES.decrypt(seWechatpay.getNotifyUrl()); + log.info(PayInfo.appid + " ; " + PayInfo.secret); + } else { + log.info("灏忕▼搴忓敮涓�鏍囪瘑閿欒鎴栧叾淇℃伅涓嶅瓨鍦�"); + } + } + + filterChain.doFilter(servletRequest, servletResponse); + } + + @Override + public void destroy() { + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WebFilterConfiguration.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilterConfiguration.java similarity index 67% rename from pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WebFilterConfiguration.java rename to pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilterConfiguration.java index b0f0226..87d554c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WebFilterConfiguration.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilterConfiguration.java @@ -1,6 +1,5 @@ package com.dy.pipIrrWechat.config; -import com.dy.common.webFilter.WXDataSourceNameSetFilter; import jakarta.servlet.Filter; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; @@ -8,21 +7,21 @@ /** * @author ZhuBaoMin - * @date 2024-05-07 14:51 - * @LastEditTime 2024-05-07 14:51 + * @date 2024-10-23 17:24 + * @LastEditTime 2024-10-23 17:24 * @Description */ + @Configuration -public class WebFilterConfiguration { +public class WechatFilterConfiguration { @Bean public FilterRegistrationBean<? extends Filter> RegFilter() { FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>(); - filterRegistrationBean.setFilter(new WXDataSourceNameSetFilter()); + filterRegistrationBean.setFilter(new WechatFilter()); filterRegistrationBean.addUrlPatterns("/*");//閰嶇疆杩囨护瑙勫垯 - filterRegistrationBean.setName("WXDataSourceNameSetFilter");//璁剧疆杩囨护鍣ㄥ悕绉� + filterRegistrationBean.setName("WechatFilter");//璁剧疆杩囨护鍣ㄥ悕绉� filterRegistrationBean.setOrder(1);//鎵ц娆″簭 return filterRegistrationBean; } - -} \ No newline at end of file +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java index e757992..a0132be 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java @@ -562,31 +562,4 @@ } return BaseResponseUtils.buildSuccess(true) ; } - - /** - * 鍒濆鍖栧井淇℃敮浠樹俊鎭� - * @param appId - * @return - */ - @PostMapping(path = "init_wechatpay") - public BaseResponse<Boolean> initWechatpay(@RequestParam("appId") String appId) throws Exception { - if(appId == null || appId.trim().length() == 0) { - return BaseResponseUtils.buildErrorMsg("灏忕▼搴忓敮涓�鏍囪瘑涓嶈兘涓虹┖"); - } - appId = AES.encrypt(appId); - - SeWechatpay seWechatpay = paymentSv.getWechatpayByAppId(appId); - if(seWechatpay != null) { - PayInfo.appid = AES.decrypt(seWechatpay.getAppId()); - PayInfo.secret = AES.decrypt(seWechatpay.getAppSecret()); - PayInfo.mchid = AES.decrypt(seWechatpay.getMchId()); - PayInfo.key = AES.decrypt(seWechatpay.getMchKey()); - PayInfo.serial_no = AES.decrypt(seWechatpay.getSerialNo()); - PayInfo.notifyUrl = AES.decrypt(seWechatpay.getNotifyUrl()); - return BaseResponseUtils.buildSuccess(true) ; - }else { - return BaseResponseUtils.buildErrorMsg("灏忕▼搴忓敮涓�鏍囪瘑閿欒鎴栧叾淇℃伅涓嶅瓨鍦�"); - } - - } } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentSv.java index d69cccd..42e75be 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentSv.java @@ -101,7 +101,7 @@ * @param po * @return */ - Long addWechatpay(SeWechatpay po) { + public Long addWechatpay(SeWechatpay po) { seWechatpayMapper.insert(po); return po.getId(); } @@ -111,7 +111,7 @@ * @param appId * @return */ - SeWechatpay getWechatpayByAppId(String appId) { + public SeWechatpay getWechatpayByAppId(String appId) { return seWechatpayMapper.getWechatpayByAppId(appId); } } \ No newline at end of file -- Gitblit v1.8.0