Commit 7782b36f90dc907e894645fdff03dc069c5cb7fe
1 parent
9058c152
【代码优化】SYSTEM:微信小程序的订阅
Showing
7 changed files
with
24 additions
and
13 deletions
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/aftersale/AfterSaleServiceImpl.java
| ... | ... | @@ -33,6 +33,7 @@ import cn.iocoder.yudao.module.trade.service.delivery.DeliveryExpressService; |
| 33 | 33 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; |
| 34 | 34 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService; |
| 35 | 35 | import lombok.extern.slf4j.Slf4j; |
| 36 | +import org.springframework.context.annotation.Lazy; | |
| 36 | 37 | import org.springframework.stereotype.Service; |
| 37 | 38 | import org.springframework.transaction.annotation.Transactional; |
| 38 | 39 | import org.springframework.transaction.support.TransactionSynchronization; |
| ... | ... | @@ -56,6 +57,7 @@ import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*; |
| 56 | 57 | public class AfterSaleServiceImpl implements AfterSaleService { |
| 57 | 58 | |
| 58 | 59 | @Resource |
| 60 | + @Lazy // 延迟加载,避免循环依赖 | |
| 59 | 61 | private TradeOrderUpdateService tradeOrderUpdateService; |
| 60 | 62 | @Resource |
| 61 | 63 | private TradeOrderQueryService tradeOrderQueryService; | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
| ... | ... | @@ -83,8 +83,6 @@ import static cn.iocoder.yudao.module.trade.enums.MessageTemplateConstants.DELIV |
| 83 | 83 | @Slf4j |
| 84 | 84 | public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { |
| 85 | 85 | |
| 86 | - public static final String ORDER_DETAIL_PATH = "pages/order/detail"; // 订单详情页 | |
| 87 | - | |
| 88 | 86 | @Resource |
| 89 | 87 | private TradeOrderMapper tradeOrderMapper; |
| 90 | 88 | @Resource |
| ... | ... | @@ -373,6 +371,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { |
| 373 | 371 | MapUtil.<String, Object>builder().put("expressName", express != null ? express.getName() : "") |
| 374 | 372 | .put("logisticsNo", express != null ? deliveryReqVO.getLogisticsNo() : "").build()); |
| 375 | 373 | |
| 374 | + // TODO @puhui999:可以改成 4.1 4.2。因为都算通知哈; | |
| 376 | 375 | // 4. 发送站内信 |
| 377 | 376 | tradeMessageService.sendMessageWhenDeliveryOrder(new TradeOrderMessageWhenDeliveryOrderReqBO() |
| 378 | 377 | .setOrderId(order.getId()).setUserId(order.getUserId()).setMessage(null)); |
| ... | ... | @@ -384,8 +383,10 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { |
| 384 | 383 | public void sendDeliveryOrderMessage(TradeOrderDO order, TradeOrderDeliveryReqVO deliveryReqVO) { |
| 385 | 384 | // 构建并发送模版消息 |
| 386 | 385 | Long orderId = order.getId(); |
| 387 | - socialClientApi.sendWxaSubscribeMessage(new SocialWxaSubscribeMessageSendReqDTO().setPage(ORDER_DETAIL_PATH + "?id=" + orderId) | |
| 388 | - .setUserId(order.getUserId()).setUserType(UserTypeEnum.MEMBER.getValue()).setTemplateTitle(DELIVERY_ORDER) | |
| 386 | + socialClientApi.sendWxaSubscribeMessage(new SocialWxaSubscribeMessageSendReqDTO() | |
| 387 | + .setUserId(order.getUserId()).setUserType(UserTypeEnum.MEMBER.getValue()) | |
| 388 | + .setTemplateTitle(DELIVERY_ORDER) | |
| 389 | + .setPage("pages/order/detail?id=" + orderId) // 订单详情页 | |
| 389 | 390 | .addMessage("character_string3", String.valueOf(orderId)) // 订单编号 |
| 390 | 391 | .addMessage("phrase6", TradeOrderStatusEnum.DELIVERED.getName()) // 订单状态 |
| 391 | 392 | .addMessage("date4", LocalDateTimeUtil.formatNormal(LocalDateTime.now()))// 发货时间 | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/handler/TradeCombinationOrderHandler.java
| ... | ... | @@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; |
| 10 | 10 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum; |
| 11 | 11 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; |
| 12 | 12 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService; |
| 13 | +import org.springframework.context.annotation.Lazy; | |
| 13 | 14 | import org.springframework.stereotype.Component; |
| 14 | 15 | |
| 15 | 16 | import jakarta.annotation.Resource; |
| ... | ... | @@ -28,11 +29,13 @@ import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.ORDER_DELIV |
| 28 | 29 | public class TradeCombinationOrderHandler implements TradeOrderHandler { |
| 29 | 30 | |
| 30 | 31 | @Resource |
| 32 | + @Lazy // 延迟加载,避免循环依赖 | |
| 31 | 33 | private TradeOrderUpdateService orderUpdateService; |
| 32 | 34 | @Resource |
| 33 | 35 | private TradeOrderQueryService orderQueryService; |
| 34 | 36 | |
| 35 | 37 | @Resource |
| 38 | + @Lazy // 延迟加载,避免循环依赖 | |
| 36 | 39 | private CombinationRecordApi combinationRecordApi; |
| 37 | 40 | |
| 38 | 41 | @Override | ... | ... |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/MessageTemplateConstants.java
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
| ... | ... | @@ -59,8 +59,6 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { |
| 59 | 59 | |
| 60 | 60 | private static final String WALLET_RECHARGE_ORDER_SUBJECT = "钱包余额充值"; |
| 61 | 61 | |
| 62 | - public static final String WALLET_MONEY_PATH = "pages/user/wallet/money"; // 钱包详情页 | |
| 63 | - | |
| 64 | 62 | @Resource |
| 65 | 63 | private PayWalletRechargeMapper walletRechargeMapper; |
| 66 | 64 | @Resource |
| ... | ... | @@ -148,8 +146,10 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { |
| 148 | 146 | // 1. 获得会员钱包信息 |
| 149 | 147 | PayWalletDO wallet = payWalletService.getWallet(walletRecharge.getWalletId()); |
| 150 | 148 | // 2. 构建并发送模版消息 |
| 151 | - socialClientApi.sendWxaSubscribeMessage(new SocialWxaSubscribeMessageSendReqDTO().setPage(WALLET_MONEY_PATH) | |
| 152 | - .setUserId(wallet.getUserId()).setUserType(wallet.getUserType()).setTemplateTitle(WALLET_RECHARGER_PAID) | |
| 149 | + socialClientApi.sendWxaSubscribeMessage(new SocialWxaSubscribeMessageSendReqDTO() | |
| 150 | + .setUserId(wallet.getUserId()).setUserType(wallet.getUserType()) | |
| 151 | + .setTemplateTitle(WALLET_RECHARGER_PAID) | |
| 152 | + .setPage("pages/user/wallet/money") // 钱包详情界面 | |
| 153 | 153 | .addMessage("character_string1", String.valueOf(payOrderId)) // 支付单编号 |
| 154 | 154 | .addMessage("amount2", fenToYuanStr(walletRecharge.getTotalPrice())) // 充值金额 |
| 155 | 155 | .addMessage("time3", LocalDateTimeUtil.formatNormal(walletRecharge.getCreateTime())) // 充值时间 |
| ... | ... | @@ -229,8 +229,10 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { |
| 229 | 229 | PayWalletDO wallet = payWalletService.getWallet(walletId); |
| 230 | 230 | // 2. 构建并发送模版消息 |
| 231 | 231 | String thing8 = PayRefundStatusEnum.isSuccess(payRefund.getStatus()) ? SUCCESS.getName() : FAILURE.getName(); |
| 232 | - socialClientApi.sendWxaSubscribeMessage(new SocialWxaSubscribeMessageSendReqDTO().setPage(WALLET_MONEY_PATH) | |
| 233 | - .setUserId(wallet.getUserId()).setUserType(wallet.getUserType()).setTemplateTitle(WALLET_RECHARGE_REFUNDED) | |
| 232 | + socialClientApi.sendWxaSubscribeMessage(new SocialWxaSubscribeMessageSendReqDTO() | |
| 233 | + .setUserId(wallet.getUserId()).setUserType(wallet.getUserType()) | |
| 234 | + .setTemplateTitle(WALLET_RECHARGE_REFUNDED) | |
| 235 | + .setPage("pages/user/wallet/money") // 钱包详情界面 | |
| 234 | 236 | .addMessage("character_string1", String.valueOf(payRefund.getId())) // 退款订单编号 |
| 235 | 237 | .addMessage("time7", LocalDateTimeUtil.formatNormal(payRefund.getCreateTime())) // 申请时间 |
| 236 | 238 | .addMessage("amount3", fenToYuanStr(payRefund.getRefundPrice())) // 退款金额 | ... | ... |
yudao-server/src/main/resources/application-local.yaml
| ... | ... | @@ -195,10 +195,12 @@ wx: |
| 195 | 195 | miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档 |
| 196 | 196 | # appid: wx62056c0d5e8db250 # 测试号(牛希尧提供的) |
| 197 | 197 | # secret: 333ae72f41552af1e998fe1f54e1584a |
| 198 | - appid: wx63c280fe3248a3e7 # wenhualian的接口测试号 | |
| 199 | - secret: 6f270509224a7ae1296bbf1c8cb97aed | |
| 198 | +# appid: wx63c280fe3248a3e7 # wenhualian的接口测试号 | |
| 199 | +# secret: 6f270509224a7ae1296bbf1c8cb97aed | |
| 200 | 200 | # appid: wxc4598c446f8a9cb3 # 测试号(Kongdy 提供的) |
| 201 | 201 | # secret: 4a1a04e07f6a4a0751b39c3064a92c8b |
| 202 | + appid: wx66186af0759f47c9 # 测试号(puhui 提供的) | |
| 203 | + secret: 3218bcbd112cbc614c7264ceb20144ac | |
| 202 | 204 | config-storage: |
| 203 | 205 | type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 |
| 204 | 206 | key-prefix: wa # Redis Key 的前缀 | ... | ... |