From e44f6b8a0f1c15a096bcce36ff5478af61c9b3b7 Mon Sep 17 00:00:00 2001 From: yang <2119157836@qq.com> Date: Fri, 7 Feb 2025 12:29:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(payment):=20=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E8=BD=AC=E8=B4=A6=E9=9B=86=E6=88=90=E9=82=AE=E4=BB=B6=E9=80=9A?= =?UTF-8?q?=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/config/mail.setting | 6 +++++ .../mcwl/memberCenter/MemberCenterTest.java | 12 --------- mcwl-common/pom.xml | 6 +++++ .../pay/service/impl/AliPayServiceImpl.java | 27 +++++++++---------- 4 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 mcwl-admin/src/main/resources/config/mail.setting diff --git a/mcwl-admin/src/main/resources/config/mail.setting b/mcwl-admin/src/main/resources/config/mail.setting new file mode 100644 index 0000000..42f2ba8 --- /dev/null +++ b/mcwl-admin/src/main/resources/config/mail.setting @@ -0,0 +1,6 @@ +# 发件人(必须正确,否则发送失败) +from = 2119157836@qq.com +# 密码(注意,某些邮箱需要为SMTP服务单独设置授权码) +pass = wetaiadftmidejab +# 使用SSL安全连接 +sslEnable = true diff --git a/mcwl-admin/src/test/java/com/mcwl/memberCenter/MemberCenterTest.java b/mcwl-admin/src/test/java/com/mcwl/memberCenter/MemberCenterTest.java index 113ee70..2f7fdea 100644 --- a/mcwl-admin/src/test/java/com/mcwl/memberCenter/MemberCenterTest.java +++ b/mcwl-admin/src/test/java/com/mcwl/memberCenter/MemberCenterTest.java @@ -1,18 +1,6 @@ package com.mcwl.memberCenter; -import com.mcwl.McWlApplication; -import com.mcwl.common.core.domain.AjaxResult; -import com.mcwl.memberCenter.consumer.EmptyPointsRemindConsumer; -import com.mcwl.memberCenter.service.MemberLevelService; -import com.mcwl.memberCenter.service.MemberService; -import com.mcwl.memberCenter.task.UserMemberTask; -import com.mcwl.web.controller.memberCenter.MemberController; -import com.mcwl.web.controller.memberCenter.MemberLevelController; import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; public class MemberCenterTest { diff --git a/mcwl-common/pom.xml b/mcwl-common/pom.xml index fce5171..fcecc28 100644 --- a/mcwl-common/pom.xml +++ b/mcwl-common/pom.xml @@ -30,6 +30,12 @@ + + com.sun.mail + javax.mail + 1.6.2 + + com.fasterxml.jackson.core diff --git a/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java b/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java index dd8de85..fdba716 100644 --- a/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java +++ b/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java @@ -1,7 +1,9 @@ package com.mcwl.pay.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.UUID; +import cn.hutool.extra.mail.MailUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; @@ -45,6 +47,7 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Objects; import java.util.Optional; import java.util.concurrent.TimeUnit; @@ -205,8 +208,8 @@ public class AliPayServiceImpl implements AliPayService { /** * 支付宝转账方法 * - * @param outBizNo 外部业务单号 - * @param amount 转账金额 + * @param outBizNo 外部业务单号 + * @param amount 转账金额 * @return 返回支付宝转账响应的内容 */ @Override @@ -240,36 +243,32 @@ public class AliPayServiceImpl implements AliPayService { // 设置转账业务的标题 model.setOrderTitle("提现"); - // 设置收款方信息 - + // 查询用户支付宝账户 SysUserPayAccount sysUserPayAccount = sysUserPayAccountService .lambdaQuery() .eq(SysUserPayAccount::getUserId, userId) .eq(SysUserPayAccount::getType, 0) .one(); - if ( Objects.isNull(sysUserPayAccount)) { + if (Objects.isNull(sysUserPayAccount)) { return AjaxResult.error("请先绑定支付宝账号"); } + // 收款方信息 Participant payeeInfo = new Participant(); payeeInfo.setIdentity(sysUserPayAccount.getOpenId()); payeeInfo.setIdentityType("ALIPAY_USER_ID"); model.setPayeeInfo(payeeInfo); - // 设置业务备注 -// model.setRemark("201905代发"); - - // 设置转账业务请求的扩展参数 -// model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}"); - request.setBizModel(model); AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request); System.out.println(response.getBody()); - if (response.getCode().equals("40004")) { - - // TODO 余额不足,发送邮件提现 + if (response.getSubCode().equals("PAYER_BALANCE_NOT_ENOUGH")) { + // 账户余额不足,发送邮件通知 + ArrayList tos = CollUtil.newArrayList("2119157836@qq.com"); + String content = String.format("账户余额不足:用户%s提现%s", sysUser.getUserName(), amount); + MailUtil.send(tos, "上海辰风互娱", content, false); return AjaxResult.error("系统繁忙,请稍后重试"); }