From cdd14c32d50af9e3ac8454689612f1bf54de8b7f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 25 Mar 2021 17:58:59 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/common/system/controller/CommonController.java      |    3 +
 src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java |    7 ++-
 src/main/java/com/xcong/excoin/utils/mail/ZzSmsSend.java                           |   84 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 90 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
index 61639f7..73ebfb2 100644
--- a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
+++ b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
@@ -14,6 +14,7 @@
 import com.xcong.excoin.utils.mail.Sms106Send;
 import com.xcong.excoin.utils.mail.SmsSend;
 import com.xcong.excoin.utils.mail.SubMailSend;
+import com.xcong.excoin.utils.mail.ZzSmsSend;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -61,7 +62,7 @@
 
         // 发送手机验证码
         if (AppContants.ACCOUNT_TYPE_MOBILE.equals(type)) {
-            boolean result = Sms106Send.sendVerifyCode(account, code.toString(), 2);
+            boolean result = ZzSmsSend.sendVerifyCode(account, code.toString(), 2);
             if (result) {
                 Map<String, Object> map = new HashMap<>();
                 boolean flag = redisUtils.set(AppContants.VERIFY_CODE_PREFIX + account, code, 120);
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
index 16e355d..4b0762a 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
@@ -22,6 +22,7 @@
 import com.xcong.excoin.utils.dingtalk.DingTalkUtils;
 import com.xcong.excoin.utils.mail.Sms106Send;
 import com.xcong.excoin.utils.mail.SubMailSend;
+import com.xcong.excoin.utils.mail.ZzSmsSend;
 import lombok.extern.slf4j.Slf4j;
 import lombok.val;
 import org.apache.commons.collections.CollectionUtils;
@@ -445,7 +446,7 @@
         MemberEntity member = memberDao.selectById(memberId);
         if (StrUtil.isNotBlank(member.getPhone())) {
             //String amountEos = amount + "XRP";
-            Sms106Send.sendRechargeMsg(member.getPhone(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
+            ZzSmsSend.sendRechargeMsg(member.getPhone(), new Date(), amount+"USDT-TRC20", orderNo);
         } else {
             SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
         }
@@ -455,7 +456,7 @@
 
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public void updateEthUsdtNew(EthUsdtChargeDto ethUsdtChargeDto) {
         String address = ethUsdtChargeDto.getAddress();
         String hash = ethUsdtChargeDto.getHash();
@@ -497,7 +498,7 @@
             MemberEntity member = memberDao.selectById(memberId);
             if (StrUtil.isNotBlank(member.getPhone())) {
                 String amount = newBalance.toPlainString() + "USDT-ERC20";
-                Sms106Send.sendRechargeMsg(member.getPhone(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
+                ZzSmsSend.sendRechargeMsg(member.getPhone(),new Date(), amount, orderNo);
             } else {
                 SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
             }
diff --git a/src/main/java/com/xcong/excoin/utils/mail/ZzSmsSend.java b/src/main/java/com/xcong/excoin/utils/mail/ZzSmsSend.java
new file mode 100644
index 0000000..632d0d0
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/utils/mail/ZzSmsSend.java
@@ -0,0 +1,84 @@
+package com.xcong.excoin.utils.mail;
+
+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.crypto.SecureUtil;
+import cn.hutool.http.HttpUtil;
+import com.xcong.excoin.common.exception.GlobalException;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author wzy
+ * @date 2021-03-25
+ **/
+@Slf4j
+public class ZzSmsSend {
+
+    private static final String URL = "http://zzsms365.com/v2sms.aspx?action=send";
+
+    private static final String USER_ID = "1654";
+    private static final String ACCOUNT = "1369815429";
+    private static final String PWD = "1369815429";
+
+    public static boolean sendVerifyCode(String telphone, String code, int time) {
+        String content = "【HiBit】您的验证码是{},请在{}分钟内输入,请勿泄露给他人,如非本人操作,请及时修改密码。";
+        return send(telphone, StrUtil.format(content, code, time));
+    }
+
+    public static boolean sendRechargeMsg(String telphone, Date time, String amount, String orderNo) {
+        String content = "【HiBit】尊敬的用户,恭喜您于{}有一笔充值已成功到账,充值数量为{}, 订单号为{}。";
+        return send(telphone, StrUtil.format(content, DateUtil.format(time, DatePattern.NORM_DATETIME_MINUTE_PATTERN), amount));
+    }
+
+    public static boolean sendWithdrawMsg(String telphone, Date time, String amount) {
+        String content = "【HiBit】尊敬的用户,恭喜您于{}提现成功,数量为{}。";
+        return send(telphone, StrUtil.format(content, DateUtil.format(time, DatePattern.NORM_DATETIME_MINUTE_PATTERN), amount));
+    }
+
+    public static boolean sendForceCloseMsg(String telphone) {
+        String content = "【HiBit】尊敬的用户,因市场剧烈波动,您的合约账户已被强制平仓。";
+        return send(telphone, content);
+    }
+
+    private static boolean send(String telphone, String content) {
+        Map<String, Object> data = new HashMap<>();
+        Long time = System.currentTimeMillis();
+        data.put("userid", USER_ID);
+        data.put("timestamp", time);
+        data.put("mobile", telphone);
+        String signStr = ACCOUNT + PWD + time;
+        String sign = SecureUtil.md5(signStr);
+        data.put("sign", sign);
+        data.put("content", content);
+
+        String response = HttpUtil.post(URL, data);
+        log.info("短信发送:{}", response);
+        if ("Success".equals(XmlUtil.xmlToMap(response).get("returnstatus"))) {
+            return true;
+        } else {
+//            throw new GlobalException((String) XmlUtil.xmlToMap(response).get("message"));
+            return false;
+        }
+    }
+
+    public static void main(String[] args) {
+        Map<String, Object> data = new HashMap<>();
+        Long time = System.currentTimeMillis();
+        data.put("userid", USER_ID);
+        data.put("timestamp", time);
+        data.put("mobile", "15773002834");
+        String signStr = ACCOUNT + PWD + time;
+        String sign = SecureUtil.md5(signStr);
+        data.put("sign", sign);
+        data.put("content", "【HiBit】尊敬的用户,恭喜您于2010-03-25有一笔充值已成功到账,充值数量为10。");
+
+        String post = HttpUtil.post(URL, data);
+        System.out.println(post);
+    }
+}

--
Gitblit v1.9.1