Commit 4c846ef4ce4567dd7ea7c14eda70a888d5e73cda
1 parent
a9862b79
【新增】MALL: 新增退款订阅消息发送
Showing
10 changed files
with
60 additions
and
53 deletions
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/social/AppSocialUserController.java
| ... | ... | @@ -71,7 +71,7 @@ public class AppSocialUserController { |
| 71 | 71 | @GetMapping("/get-subscribe-template-list") |
| 72 | 72 | @Operation(summary = "获得微信小程订阅模板列表") |
| 73 | 73 | public CommonResult<List<AppSocialWxSubscribeTemplateRespVO>> getSubscribeTemplateList() { |
| 74 | - List<SocialWxSubscribeTemplateRespDTO> template = socialClientApi.getSubscribeTemplateList(UserTypeEnum.MEMBER.getValue()); | |
| 74 | + List<SocialWxaSubscribeTemplateRespDTO> template = socialClientApi.getWxaSubscribeTemplateList(UserTypeEnum.MEMBER.getValue()); | |
| 75 | 75 | return success(BeanUtils.toBean(template, AppSocialWxSubscribeTemplateRespVO.class)); |
| 76 | 76 | } |
| 77 | 77 | ... | ... |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/MessageTemplateConstants.java
| ... | ... | @@ -9,6 +9,7 @@ public interface MessageTemplateConstants { |
| 9 | 9 | |
| 10 | 10 | //======================= 小程序订阅消息 ======================= |
| 11 | 11 | |
| 12 | - String PAY_WALLET_CHANGE = "充值成功通知"; | |
| 12 | + String WALLET_RECHARGER_PAID = "充值成功通知"; | |
| 13 | + String WALLET_RECHARGE_REFUNDED = "退款申请通知"; | |
| 13 | 14 | |
| 14 | 15 | } | ... | ... |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
| ... | ... | @@ -21,8 +21,7 @@ import cn.iocoder.yudao.module.pay.enums.wallet.PayWalletBizTypeEnum; |
| 21 | 21 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; |
| 22 | 22 | import cn.iocoder.yudao.module.pay.service.refund.PayRefundService; |
| 23 | 23 | import cn.iocoder.yudao.module.system.api.social.SocialClientApi; |
| 24 | -import cn.iocoder.yudao.module.system.api.social.dto.SocialWxSubscribeMessageSendReqDTO; | |
| 25 | -import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 24 | +import cn.iocoder.yudao.module.system.api.social.dto.SocialWxaSubscribeMessageSendReqDTO; | |
| 26 | 25 | import jakarta.annotation.Resource; |
| 27 | 26 | import lombok.extern.slf4j.Slf4j; |
| 28 | 27 | import org.springframework.scheduling.annotation.Async; |
| ... | ... | @@ -40,7 +39,8 @@ import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString |
| 40 | 39 | import static cn.iocoder.yudao.framework.common.util.number.MoneyUtils.fenToYuanStr; |
| 41 | 40 | import static cn.iocoder.yudao.module.pay.convert.wallet.PayWalletRechargeConvert.INSTANCE; |
| 42 | 41 | import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*; |
| 43 | -import static cn.iocoder.yudao.module.pay.enums.MessageTemplateConstants.PAY_WALLET_CHANGE; | |
| 42 | +import static cn.iocoder.yudao.module.pay.enums.MessageTemplateConstants.WALLET_RECHARGER_PAID; | |
| 43 | +import static cn.iocoder.yudao.module.pay.enums.MessageTemplateConstants.WALLET_RECHARGE_REFUNDED; | |
| 44 | 44 | import static cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum.*; |
| 45 | 45 | |
| 46 | 46 | /** |
| ... | ... | @@ -140,21 +140,20 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { |
| 140 | 140 | PayWalletBizTypeEnum.RECHARGE, walletRecharge.getTotalPrice()); |
| 141 | 141 | |
| 142 | 142 | // 4. 发送订阅消息 |
| 143 | - getSelf().sendPayWalletChangeMessage(payOrderId, walletRecharge); | |
| 143 | + getSelf().sendWalletRechargerPaidMessage(payOrderId, walletRecharge); | |
| 144 | 144 | } |
| 145 | 145 | |
| 146 | 146 | @Async |
| 147 | - public void sendPayWalletChangeMessage(Long payOrderId, PayWalletRechargeDO walletRecharge) { | |
| 147 | + public void sendWalletRechargerPaidMessage(Long payOrderId, PayWalletRechargeDO walletRecharge) { | |
| 148 | 148 | // 1. 获得会员钱包信息 |
| 149 | 149 | PayWalletDO wallet = payWalletService.getWallet(walletRecharge.getWalletId()); |
| 150 | 150 | // 2. 构建并发送模版消息 |
| 151 | - socialClientApi.sendSubscribeMessage(new SocialWxSubscribeMessageSendReqDTO().setPage(WALLET_MONEY_PATH) | |
| 152 | - .setUserId(wallet.getUserId()).setUserType(wallet.getUserType()) | |
| 153 | - .setTemplateTitle(PAY_WALLET_CHANGE).setSocialType(SocialTypeEnum.WECHAT_MINI_APP.getType()) | |
| 154 | - .addMessage("character_string1", String.valueOf(payOrderId)) | |
| 155 | - .addMessage("amount2", fenToYuanStr(walletRecharge.getTotalPrice())) | |
| 156 | - .addMessage("time3", LocalDateTimeUtil.formatNormal(LocalDateTime.now())) | |
| 157 | - .addMessage("phrase4", "充值成功")); | |
| 151 | + socialClientApi.sendWxaSubscribeMessage(new SocialWxaSubscribeMessageSendReqDTO().setPage(WALLET_MONEY_PATH) | |
| 152 | + .setUserId(wallet.getUserId()).setUserType(wallet.getUserType()).setTemplateTitle(WALLET_RECHARGER_PAID) | |
| 153 | + .addMessage("character_string1", String.valueOf(payOrderId)) // 支付单编号 | |
| 154 | + .addMessage("amount2", fenToYuanStr(walletRecharge.getTotalPrice())) // 充值金额 | |
| 155 | + .addMessage("time3", LocalDateTimeUtil.formatNormal(walletRecharge.getCreateTime())) // 充值时间 | |
| 156 | + .addMessage("phrase4", "充值成功")); // 充值状态 | |
| 158 | 157 | } |
| 159 | 158 | |
| 160 | 159 | @Override |
| ... | ... | @@ -219,6 +218,24 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { |
| 219 | 218 | } |
| 220 | 219 | // 3. 更新钱包充值的退款字段 |
| 221 | 220 | walletRechargeMapper.updateByIdAndRefunded(id, WAITING.getStatus(), updateObj); |
| 221 | + | |
| 222 | + // 4. 发送订阅消息 | |
| 223 | + getSelf().sendWalletRechargeRefundedMessage(walletRecharge.getWalletId(), payRefund); | |
| 224 | + } | |
| 225 | + | |
| 226 | + @Async | |
| 227 | + public void sendWalletRechargeRefundedMessage(Long walletId, PayRefundDO payRefund) { | |
| 228 | + // 1. 获得会员钱包信息 | |
| 229 | + PayWalletDO wallet = payWalletService.getWallet(walletId); | |
| 230 | + // 2. 构建并发送模版消息 | |
| 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) | |
| 234 | + .addMessage("character_string1", String.valueOf(payRefund.getId())) // 退款订单编号 | |
| 235 | + .addMessage("time7", LocalDateTimeUtil.formatNormal(payRefund.getCreateTime())) // 申请时间 | |
| 236 | + .addMessage("amount3", fenToYuanStr(payRefund.getRefundPrice())) // 退款金额 | |
| 237 | + .addMessage("thing4", payRefund.getReason()) // 退款原因 | |
| 238 | + .addMessage("thing8", thing8 + ",点击卡片查看详情")); // 温馨提示 | |
| 222 | 239 | } |
| 223 | 240 | |
| 224 | 241 | private PayRefundDO validateWalletRechargeCanRefunded(PayWalletRechargeDO walletRecharge, Long payRefundId) { | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.java
| ... | ... | @@ -32,6 +32,8 @@ public interface SocialClientApi { |
| 32 | 32 | */ |
| 33 | 33 | SocialWxJsapiSignatureRespDTO createWxMpJsapiSignature(Integer userType, String url); |
| 34 | 34 | |
| 35 | + //======================= 微信小程序独有 ======================= | |
| 36 | + | |
| 35 | 37 | /** |
| 36 | 38 | * 获得微信小程序的手机信息 |
| 37 | 39 | * |
| ... | ... | @@ -49,20 +51,18 @@ public interface SocialClientApi { |
| 49 | 51 | */ |
| 50 | 52 | byte[] getWxaQrcode(@Valid SocialWxQrcodeReqDTO reqVO); |
| 51 | 53 | |
| 52 | - // TODO @puhui999:要不是统一都叫 getWxaSubscribeTemplateList、SocialWxaSubscribeTemplateRespDTO | |
| 53 | 54 | /** |
| 54 | 55 | * 获得微信小程订阅模板 |
| 55 | 56 | * |
| 56 | 57 | * @return 小程序订阅消息模版 |
| 57 | 58 | */ |
| 58 | - List<SocialWxSubscribeTemplateRespDTO> getSubscribeTemplateList(Integer userType); | |
| 59 | + List<SocialWxaSubscribeTemplateRespDTO> getWxaSubscribeTemplateList(Integer userType); | |
| 59 | 60 | |
| 60 | - // TODO @puhui999:sendWxaSubscribeMessage、SocialWxaSubscribeMessageSendReqDTO;然后不传递 socialType;就是专门给微信小程序的 | |
| 61 | 61 | /** |
| 62 | 62 | * 发送微信小程序订阅消息 |
| 63 | 63 | * |
| 64 | 64 | * @param reqDTO 请求 |
| 65 | 65 | */ |
| 66 | - void sendSubscribeMessage(SocialWxSubscribeMessageSendReqDTO reqDTO); | |
| 66 | + void sendWxaSubscribeMessage(SocialWxaSubscribeMessageSendReqDTO reqDTO); | |
| 67 | 67 | |
| 68 | 68 | } | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxSubscribeMessageSendReqDTO.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaSubscribeMessageSendReqDTO.java
| 1 | 1 | package cn.iocoder.yudao.module.system.api.social.dto; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 4 | -import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 5 | 4 | import jakarta.validation.constraints.NotEmpty; |
| 6 | 5 | import jakarta.validation.constraints.NotNull; |
| 7 | 6 | import lombok.Data; |
| ... | ... | @@ -15,7 +14,7 @@ import java.util.Map; |
| 15 | 14 | * @author HUIHUI |
| 16 | 15 | */ |
| 17 | 16 | @Data |
| 18 | -public class SocialWxSubscribeMessageSendReqDTO { | |
| 17 | +public class SocialWxaSubscribeMessageSendReqDTO { | |
| 19 | 18 | |
| 20 | 19 | /** |
| 21 | 20 | * 用户编号 |
| ... | ... | @@ -34,14 +33,6 @@ public class SocialWxSubscribeMessageSendReqDTO { |
| 34 | 33 | private Integer userType; |
| 35 | 34 | |
| 36 | 35 | /** |
| 37 | - * 社交类型 | |
| 38 | - * | |
| 39 | - * 枚举 {@link SocialTypeEnum} | |
| 40 | - */ | |
| 41 | - @NotNull(message = "社交类型不能为空") | |
| 42 | - private Integer socialType; | |
| 43 | - | |
| 44 | - /** | |
| 45 | 36 | * 消息模版标题 |
| 46 | 37 | */ |
| 47 | 38 | @NotEmpty(message = "消息模版标题不能为空") |
| ... | ... | @@ -59,7 +50,7 @@ public class SocialWxSubscribeMessageSendReqDTO { |
| 59 | 50 | */ |
| 60 | 51 | private Map<String, String> messages; |
| 61 | 52 | |
| 62 | - public SocialWxSubscribeMessageSendReqDTO addMessage(String key, String value) { | |
| 53 | + public SocialWxaSubscribeMessageSendReqDTO addMessage(String key, String value) { | |
| 63 | 54 | if (messages == null) { |
| 64 | 55 | messages = new HashMap<>(); |
| 65 | 56 | } | ... | ... |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxSubscribeTemplateRespDTO.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaSubscribeTemplateRespDTO.java
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java
| ... | ... | @@ -6,12 +6,12 @@ import cn.hutool.core.util.ObjUtil; |
| 6 | 6 | import cn.hutool.core.util.StrUtil; |
| 7 | 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 8 | 8 | import cn.iocoder.yudao.module.system.api.social.dto.*; |
| 9 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 9 | 10 | import cn.iocoder.yudao.module.system.service.social.SocialClientService; |
| 10 | 11 | import jakarta.annotation.Resource; |
| 11 | 12 | import lombok.extern.slf4j.Slf4j; |
| 12 | 13 | import me.chanjar.weixin.common.bean.WxJsapiSignature; |
| 13 | 14 | import me.chanjar.weixin.common.bean.subscribemsg.TemplateInfo; |
| 14 | -import org.springframework.beans.factory.annotation.Value; | |
| 15 | 15 | import org.springframework.stereotype.Service; |
| 16 | 16 | import org.springframework.validation.annotation.Validated; |
| 17 | 17 | |
| ... | ... | @@ -30,11 +30,6 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. |
| 30 | 30 | @Slf4j |
| 31 | 31 | public class SocialClientApiImpl implements SocialClientApi { |
| 32 | 32 | |
| 33 | - /** | |
| 34 | - * 小程序版本 | |
| 35 | - */ | |
| 36 | - @Value("${yudao.wxa-code.env-version}") | |
| 37 | - public String envVersion; | |
| 38 | 33 | @Resource |
| 39 | 34 | private SocialClientService socialClientService; |
| 40 | 35 | @Resource |
| ... | ... | @@ -51,6 +46,8 @@ public class SocialClientApiImpl implements SocialClientApi { |
| 51 | 46 | return BeanUtils.toBean(signature, SocialWxJsapiSignatureRespDTO.class); |
| 52 | 47 | } |
| 53 | 48 | |
| 49 | + //======================= 微信小程序独有 ======================= | |
| 50 | + | |
| 54 | 51 | @Override |
| 55 | 52 | public SocialWxPhoneNumberInfoRespDTO getWxMaPhoneNumberInfo(Integer userType, String phoneCode) { |
| 56 | 53 | WxMaPhoneNumberInfo info = socialClientService.getWxMaPhoneNumberInfo(userType, phoneCode); |
| ... | ... | @@ -63,21 +60,21 @@ public class SocialClientApiImpl implements SocialClientApi { |
| 63 | 60 | } |
| 64 | 61 | |
| 65 | 62 | @Override |
| 66 | - public List<SocialWxSubscribeTemplateRespDTO> getSubscribeTemplateList(Integer userType) { | |
| 63 | + public List<SocialWxaSubscribeTemplateRespDTO> getWxaSubscribeTemplateList(Integer userType) { | |
| 67 | 64 | List<TemplateInfo> list = socialClientService.getSubscribeTemplateList(userType); |
| 68 | - return convertList(list, item -> BeanUtils.toBean(item, SocialWxSubscribeTemplateRespDTO.class).setId(item.getPriTmplId())); | |
| 65 | + return convertList(list, item -> BeanUtils.toBean(item, SocialWxaSubscribeTemplateRespDTO.class).setId(item.getPriTmplId())); | |
| 69 | 66 | } |
| 70 | 67 | |
| 71 | 68 | @Override |
| 72 | - public void sendSubscribeMessage(SocialWxSubscribeMessageSendReqDTO reqDTO) { | |
| 69 | + public void sendWxaSubscribeMessage(SocialWxaSubscribeMessageSendReqDTO reqDTO) { | |
| 73 | 70 | // 1.1 获得订阅模版列表 |
| 74 | - List<SocialWxSubscribeTemplateRespDTO> templateList = getSubscribeTemplateList(reqDTO.getUserType()); | |
| 71 | + List<SocialWxaSubscribeTemplateRespDTO> templateList = getWxaSubscribeTemplateList(reqDTO.getUserType()); | |
| 75 | 72 | if (CollUtil.isEmpty(templateList)) { |
| 76 | 73 | log.warn("[sendSubscribeMessage][reqDTO({}) 发送订阅消息失败,原因:没有找到订阅模板]", reqDTO); |
| 77 | 74 | return; |
| 78 | 75 | } |
| 79 | 76 | // 1.2 获得需要使用的模版 |
| 80 | - SocialWxSubscribeTemplateRespDTO template = findOne(templateList, item -> | |
| 77 | + SocialWxaSubscribeTemplateRespDTO template = findOne(templateList, item -> | |
| 81 | 78 | ObjUtil.equal(item.getTitle(), reqDTO.getTemplateTitle())); |
| 82 | 79 | if (template == null) { |
| 83 | 80 | log.warn("[sendSubscribeMessage][reqDTO({}) 发送订阅消息失败,原因:没有找到订阅模板]", reqDTO); |
| ... | ... | @@ -86,7 +83,7 @@ public class SocialClientApiImpl implements SocialClientApi { |
| 86 | 83 | |
| 87 | 84 | // 2. 获得社交用户 |
| 88 | 85 | SocialUserRespDTO socialUser = socialUserApi.getSocialUserByUserId(reqDTO.getUserType(), reqDTO.getUserId(), |
| 89 | - reqDTO.getSocialType()); | |
| 86 | + SocialTypeEnum.WECHAT_MINI_APP.getType()); | |
| 90 | 87 | if (StrUtil.isBlankIfStr(socialUser.getOpenid())) { |
| 91 | 88 | log.warn("[sendSubscribeMessage][reqDTO({}) 发送订阅消息失败,原因:会员 openid 缺失]", reqDTO); |
| 92 | 89 | return; | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.java
| ... | ... | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | 6 | import cn.iocoder.yudao.module.system.api.social.SocialClientApi; |
| 7 | -import cn.iocoder.yudao.module.system.api.social.dto.SocialWxSubscribeMessageSendReqDTO; | |
| 7 | +import cn.iocoder.yudao.module.system.api.social.dto.SocialWxaSubscribeMessageSendReqDTO; | |
| 8 | 8 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO; |
| 9 | 9 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientRespVO; |
| 10 | 10 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO; |
| ... | ... | @@ -76,8 +76,8 @@ public class SocialClientController { |
| 76 | 76 | @PostMapping("/send-subscribe-message") |
| 77 | 77 | @Operation(summary = "发送订阅消息") // 用于测试 |
| 78 | 78 | @PreAuthorize("@ss.hasPermission('system:social-client:query')") |
| 79 | - public void sendSubscribeMessage(@RequestBody SocialWxSubscribeMessageSendReqDTO reqDTO) { | |
| 80 | - socialClientApi.sendSubscribeMessage(reqDTO); | |
| 79 | + public void sendSubscribeMessage(@RequestBody SocialWxaSubscribeMessageSendReqDTO reqDTO) { | |
| 80 | + socialClientApi.sendWxaSubscribeMessage(reqDTO); | |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | } | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientService.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.system.service.social; |
| 3 | 3 | import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 5 | import cn.iocoder.yudao.module.system.api.social.dto.SocialWxQrcodeReqDTO; |
| 6 | -import cn.iocoder.yudao.module.system.api.social.dto.SocialWxSubscribeMessageSendReqDTO; | |
| 6 | +import cn.iocoder.yudao.module.system.api.social.dto.SocialWxaSubscribeMessageSendReqDTO; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO; |
| 8 | 8 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO; |
| 9 | 9 | import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO; |
| ... | ... | @@ -87,7 +87,7 @@ public interface SocialClientService { |
| 87 | 87 | * @param templateId 模版编号 |
| 88 | 88 | * @param openId 会员 openId |
| 89 | 89 | */ |
| 90 | - void sendSubscribeMessage(SocialWxSubscribeMessageSendReqDTO reqDTO, String templateId, String openId); | |
| 90 | + void sendSubscribeMessage(SocialWxaSubscribeMessageSendReqDTO reqDTO, String templateId, String openId); | |
| 91 | 91 | |
| 92 | 92 | // =================== 客户端管理 =================== |
| 93 | 93 | ... | ... |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImpl.java
| ... | ... | @@ -6,6 +6,7 @@ import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; |
| 6 | 6 | import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; |
| 7 | 7 | import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage; |
| 8 | 8 | import cn.binarywang.wx.miniapp.config.impl.WxMaRedisBetterConfigImpl; |
| 9 | +import cn.binarywang.wx.miniapp.constant.WxMaConstants; | |
| 9 | 10 | import cn.hutool.core.bean.BeanUtil; |
| 10 | 11 | import cn.hutool.core.collection.CollUtil; |
| 11 | 12 | import cn.hutool.core.lang.Assert; |
| ... | ... | @@ -18,7 +19,7 @@ import cn.iocoder.yudao.framework.common.util.cache.CacheUtils; |
| 18 | 19 | import cn.iocoder.yudao.framework.common.util.http.HttpUtils; |
| 19 | 20 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 20 | 21 | import cn.iocoder.yudao.module.system.api.social.dto.SocialWxQrcodeReqDTO; |
| 21 | -import cn.iocoder.yudao.module.system.api.social.dto.SocialWxSubscribeMessageSendReqDTO; | |
| 22 | +import cn.iocoder.yudao.module.system.api.social.dto.SocialWxaSubscribeMessageSendReqDTO; | |
| 22 | 23 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientPageReqVO; |
| 23 | 24 | import cn.iocoder.yudao.module.system.controller.admin.socail.vo.client.SocialClientSaveReqVO; |
| 24 | 25 | import cn.iocoder.yudao.module.system.dal.dataobject.social.SocialClientDO; |
| ... | ... | @@ -276,7 +277,7 @@ public class SocialClientServiceImpl implements SocialClientService { |
| 276 | 277 | } |
| 277 | 278 | |
| 278 | 279 | @Override |
| 279 | - public void sendSubscribeMessage(SocialWxSubscribeMessageSendReqDTO reqDTO, String templateId, String openId) { | |
| 280 | + public void sendSubscribeMessage(SocialWxaSubscribeMessageSendReqDTO reqDTO, String templateId, String openId) { | |
| 280 | 281 | WxMaService service = getWxMaService(reqDTO.getUserType()); |
| 281 | 282 | try { |
| 282 | 283 | WxMaSubscribeService subscribeService = service.getSubscribeService(); |
| ... | ... | @@ -293,13 +294,13 @@ public class SocialClientServiceImpl implements SocialClientService { |
| 293 | 294 | * @param reqDTO 请求 |
| 294 | 295 | * @param templateId 模版编号 |
| 295 | 296 | * @param openId 会员 openId |
| 296 | - * @return 微信小程序订阅消息发送 | |
| 297 | + * @return 微信小程序订阅消息请求参数 | |
| 297 | 298 | */ |
| 298 | - private WxMaSubscribeMessage buildMessageSendReqDTO(SocialWxSubscribeMessageSendReqDTO reqDTO, | |
| 299 | + private WxMaSubscribeMessage buildMessageSendReqDTO(SocialWxaSubscribeMessageSendReqDTO reqDTO, | |
| 299 | 300 | String templateId, String openId) { |
| 300 | 301 | // 设置订阅消息基本参数 |
| 301 | - WxMaSubscribeMessage subscribeMessage = new WxMaSubscribeMessage().setLang("zh_CN").setMiniprogramState(envVersion) | |
| 302 | - .setTemplateId(templateId).setToUser(openId).setPage(reqDTO.getPage()); | |
| 302 | + WxMaSubscribeMessage subscribeMessage = new WxMaSubscribeMessage().setLang(WxMaConstants.MiniProgramLang.ZH_CN) | |
| 303 | + .setMiniprogramState(envVersion).setTemplateId(templateId).setToUser(openId).setPage(reqDTO.getPage()); | |
| 303 | 304 | // 设置具体消息参数 |
| 304 | 305 | Map<String, String> messages = reqDTO.getMessages(); |
| 305 | 306 | if (CollUtil.isNotEmpty(messages)) { | ... | ... |