From 73e783f0c76da74bd787245d9d714765e67edc04 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 15 Jul 2020 12:09:51 +0800 Subject: [PATCH] 20200715 代码提交 --- src/main/java/com/xcong/excoin/common/exception/GlobalException.java | 12 ++++++ src/main/java/com/xcong/excoin/modules/Sms106Send.java | 77 ++++++++++++++++++++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 10 +++++ 3 files changed, 99 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/excoin/common/exception/GlobalException.java b/src/main/java/com/xcong/excoin/common/exception/GlobalException.java new file mode 100644 index 0000000..93bec65 --- /dev/null +++ b/src/main/java/com/xcong/excoin/common/exception/GlobalException.java @@ -0,0 +1,12 @@ +package com.xcong.excoin.common.exception; + +import lombok.Getter; + +@Getter +public class GlobalException extends RuntimeException { + + public GlobalException(String msg) { + super(msg); + } +} + diff --git a/src/main/java/com/xcong/excoin/modules/Sms106Send.java b/src/main/java/com/xcong/excoin/modules/Sms106Send.java new file mode 100644 index 0000000..fb7f17f --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/Sms106Send.java @@ -0,0 +1,77 @@ +package com.xcong.excoin.modules; + +import java.util.Date; +import java.util.HashMap; + +import com.xcong.excoin.common.exception.GlobalException; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.XmlUtil; +import cn.hutool.http.HttpUtil; + +public class Sms106Send { + + private static final String URL = "http://www.qf106.com/sms.aspx"; + private static final String ID = "16580"; + private static final String ACCOUNT = "Biue"; + private static final String PASSWORD = "123456"; + + + /** + * @param phone 手机号 + * @param code 验证码 + * @param time 失效时间 + * @return + */ + public static boolean sendVerifyCode(String phone, String code, int time) { + String msg = "您的验证码是{},请在{}分钟内输入,请勿泄露给他人,如非本人操作,请及时修改密码。"; + String content = StrUtil.format(msg, code, time); + return request(phone, content, "验证码"); + } + + public static boolean sendRechargeMsg(String phone, String time, String orderNo) { + String msg = "尊敬的用户,您的帐号于{}有一笔成功充值订单,如有疑问请联系客服,订单编号为{}"; + String content = StrUtil.format(msg, time, orderNo); + return request(phone, content, "充值"); + } + + public static boolean sendWithdrawalMsg(String phone, String time, String orderNo) { + String msg = "尊敬的用户,您的帐号于{}有一笔成功提现订单,如有疑问请联系客服,订单编号为{}"; + String content = StrUtil.format(msg, time, orderNo); + return request(phone, content, "提现"); + } + public static boolean sendWithdrawalCoinMsg(String phone, String time) { + String msg = "尊敬的用户,您的帐号于{}有一笔成功提现订单,如有疑问请联系客服。"; + String content = StrUtil.format(msg, time); + return request(phone, content, "提币"); + } + + private static boolean request(String phone, String content, String tagName) { + HashMap<String, Object> param = new HashMap<>(); + param.put("userid", ID); + param.put("account", ACCOUNT); + param.put("password", PASSWORD); + param.put("mobile", phone); + param.put("content", content); + param.put("sendTime", DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN)); + param.put("action", "send"); + param.put("checkcontent", 0); + param.put("taskName", tagName); + param.put("countnumber", 1); + param.put("mobilenumber", 1); + param.put("telephonenumber", 0); + + String response = HttpUtil.post(URL, param); + if ("Success".equals(XmlUtil.xmlToMap(response).get("returnstatus"))) { + return true; + } else { + throw new GlobalException((String) XmlUtil.xmlToMap(response).get("message")); + } + } + + public static void main(String[] args) { + System.out.println(sendVerifyCode("15773002834", "123456", 2)); + } +} \ No newline at end of file diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index 252d6fe..019c5ed 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; +import com.xcong.excoin.modules.Sms106Send; import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto; import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity; import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; @@ -34,6 +35,7 @@ import lombok.RequiredArgsConstructor; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -476,6 +478,14 @@ selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_Y); memberCoinWithdrawMapper.updateById(selectById); + MemberEntity memberEntity = memberMapper.selectById(memberId); + String phone = memberEntity.getPhone(); + //String email = memberEntity.getEmail(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String time = format.format(new Date()); // 将当前时间袼式化为指定的格式 + if(phone != null || !"".equals(phone)) { + Sms106Send.sendWithdrawalCoinMsg(phone, time); + } /** //短信提醒 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); -- Gitblit v1.9.1