From 026447959141110afd24d18b61da953c62aa2209 Mon Sep 17 00:00:00 2001 From: zhubaomin <470473919@qq.com> Date: 星期三, 23 四月 2025 12:23:55 +0800 Subject: [PATCH] 各轮灌组开阀时间提前2分钟,第一组除外 --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/config/WechatFilter.java | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 0 deletions(-) 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() { + } +} -- Gitblit v1.8.0