From 28df3bfecbc7aea527009b9cdbf72114722009ac Mon Sep 17 00:00:00 2001 From: zhangcheng <1679167928@qq.com> Date: Sun, 23 Jul 2023 22:19:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E9=9D=9E?= =?UTF-8?q?=E5=BF=85=E9=80=89=EF=BC=8C=E5=A6=82=E9=9C=80=E5=BC=80=E5=90=AF?= =?UTF-8?q?wechat.enabled=3Dtrue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-druid.yml | 7 ++++--- .../main/java/com/cyl/config/WechatConfig.java | 2 ++ .../com/cyl/h5/service/H5OrderService.java | 18 +++++++----------- .../java/com/cyl/wechat/WechatPayService.java | 2 ++ 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index cd67791..1a02b47 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -13,8 +13,8 @@ spring: slave: # 从数据源开关/默认关闭 enabled: false - url: - username: + url: + username: password: statViewServlet: # 控制台管理用户名和密码 @@ -43,6 +43,7 @@ aliyun: endPoint: 你的endpoint # Endpoint:在阿里云oss控制台查看自己使用的endpoint bucketName: 你的bucketName # bucket 名称 wechat: + enabled: false appId: 你的微信服务号信息 secret: 你的微信服务号信息 merchantId: 微信支付商户号 @@ -62,4 +63,4 @@ sms: sdkAppId: aes: # aes的密钥 - key: 1111111111 \ No newline at end of file + key: 1111111111 diff --git a/ruoyi-mall/src/main/java/com/cyl/config/WechatConfig.java b/ruoyi-mall/src/main/java/com/cyl/config/WechatConfig.java index 0d76bcb..8d9c54d 100644 --- a/ruoyi-mall/src/main/java/com/cyl/config/WechatConfig.java +++ b/ruoyi-mall/src/main/java/com/cyl/config/WechatConfig.java @@ -2,12 +2,14 @@ package com.cyl.config; import com.cyl.wechat.WechatPayConfig; import com.wechat.pay.java.service.payments.jsapi.JsapiService; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; @Configuration @DependsOn("WechatPayData") +@ConditionalOnProperty(prefix = "wechat", name = "enabled", havingValue = "true") public class WechatConfig { @Bean diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java b/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java index 0f84f9a..993d272 100644 --- a/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java +++ b/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java @@ -1,14 +1,16 @@ package com.cyl.h5.service; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.cyl.h5.pojo.dto.*; +import com.cyl.h5.pojo.dto.ApplyRefundDTO; +import com.cyl.h5.pojo.dto.OrderCreateDTO; +import com.cyl.h5.pojo.dto.OrderProductListDTO; +import com.cyl.h5.pojo.dto.PayNotifyMessageDTO; import com.cyl.h5.pojo.request.CancelOrderRequest; import com.cyl.h5.pojo.request.OrderPayRequest; import com.cyl.h5.pojo.response.OrderPayResponse; @@ -36,12 +38,10 @@ import com.cyl.wechat.WechatPayService; import com.cyl.wechat.WechatPayUtil; import com.github.pagehelper.PageHelper; import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.redis.RedisService; import com.ruoyi.common.enums.AftersaleStatus; import com.ruoyi.common.enums.OrderRefundStatus; import com.ruoyi.common.enums.OrderStatus; -import com.ruoyi.common.enums.TradeStatusEnum; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.IDGenerator; import com.ruoyi.framework.config.LocalDataUtil; @@ -49,20 +49,14 @@ import com.wechat.pay.java.service.partnerpayments.jsapi.model.Transaction; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.context.annotation.Lazy; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.IOException; import java.math.BigDecimal; -import java.net.URISyntaxException; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.security.SignatureException; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -102,6 +96,7 @@ public class H5OrderService { private OrderOperateHistoryService orderOperateHistoryService; @Autowired + @Lazy private WechatPayService wechatPayService; @Autowired @@ -499,6 +494,7 @@ public class H5OrderService { wechatPaymentHistory.setMoney(orderList.get(0).getPayAmount()); wechatPaymentHistoryMapper.updateById(wechatPaymentHistory); } + //请开启微信支付 wechat.enabled=true //调用wx的jsapi拿prepayId,返回签名等信息 String prepayId = wechatPayService.jsapiPay( String.valueOf(req.getPayId()), diff --git a/ruoyi-mall/src/main/java/com/cyl/wechat/WechatPayService.java b/ruoyi-mall/src/main/java/com/cyl/wechat/WechatPayService.java index 14705cf..123e8d1 100644 --- a/ruoyi-mall/src/main/java/com/cyl/wechat/WechatPayService.java +++ b/ruoyi-mall/src/main/java/com/cyl/wechat/WechatPayService.java @@ -7,10 +7,12 @@ import com.wechat.pay.java.service.payments.jsapi.model.PrepayRequest; import com.wechat.pay.java.service.payments.jsapi.model.PrepayResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; @Service @Slf4j +@ConditionalOnProperty(prefix = "wechat", name = "enabled", havingValue = "true") public class WechatPayService { @Autowired