Helius
2020-07-15 07244d82a31bf9f9e09d3b55135265881d70c2f0
modify
2 files modified
78 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/mail/SubMailSend.java 69 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java
@@ -21,6 +21,7 @@
import com.xcong.excoin.utils.ThreadPoolUtils;
import com.xcong.excoin.utils.dingtalk.DingTalkUtils;
import com.xcong.excoin.utils.mail.Sms106Send;
import com.xcong.excoin.utils.mail.SubMailSend;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -93,6 +94,8 @@
                        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);
                        } else {
                            SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
                        }
                    }
                }
@@ -142,6 +145,8 @@
                        if (StrUtil.isNotBlank(member.getPhone())) {
                            String amount = newBalance.toPlainString() + "ETH";
                            Sms106Send.sendRechargeMsg(member.getPhone(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
                        } else {
                            SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
                        }
                    }
                }
@@ -187,6 +192,8 @@
                        if (StrUtil.isNotBlank(member.getPhone())) {
                            String amount = newBalance.toPlainString() + "USDT-OMNI";
                            Sms106Send.sendRechargeMsg(member.getPhone(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
                        } else {
                            SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
                        }
                    }
                }
@@ -234,6 +241,8 @@
                        if (StrUtil.isNotBlank(member.getPhone())) {
                            String amount = newBalance.toPlainString() + "BTC";
                            Sms106Send.sendRechargeMsg(member.getPhone(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
                        } else {
                            SubMailSend.sendRechargeMail(member.getEmail(), DateUtil.format(new Date(), DatePattern.NORM_DATETIME_MINUTE_PATTERN), orderNo);
                        }
                    }
                }
src/main/java/com/xcong/excoin/utils/mail/SubMailSend.java
@@ -1,6 +1,8 @@
package com.xcong.excoin.utils.mail;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import net.sf.json.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
@@ -15,6 +17,7 @@
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.Date;
import java.util.Map;
import java.util.TreeMap;
@@ -38,24 +41,60 @@
    public static final String TYPE_MD5 = "md5";
    public static final String TYPE_SHA1 = "sha1";
    private static final String APP_ID = "16082";
    private static final String APP_KEY = "f34c792a1112c16c190ed7190d386c4f";
    private static final String FROM = "biue@submail.biue.me";
    private static final String SIGN_TYPE = "";
    /**
     * 发送验证码邮件
     *
     * @param to   对象
     * @param code 验证码
     * @return true or false
     */
    public static boolean sendMail(String to, String code) {
        TreeMap<String, Object> requestData = new TreeMap<String, Object>();
        JSONObject vars = new JSONObject();
        vars.put("code", code);
        String appid = "16082";
        String appkey = "f34c792a1112c16c190ed7190d386c4f";
        String project = "zoKVB";
        String signtype = "";
        String from = "biue@submail.biue.me";
        return request(vars, project, to);
    }
        requestData.put("appid", appid);
    /**
     * 发送充值成功邮件
     *
     * @param to      对象
     * @param time    成功时间
     * @param orderNo 订单编号
     * @return true or false
     */
    public static boolean sendRechargeMail(String to, String time, String orderNo) {
        JSONObject vars = new JSONObject();
        vars.put("time", time);
        vars.put("orderNo", orderNo);
        String project = "x820C2";
        return request(vars, project, to);
    }
    public static boolean sendWithdrawalMail(String to, String time) {
        JSONObject vars = new JSONObject();
        vars.put("time", time);
        String project = "e3BO91";
        return request(vars, project, to);
    }
    private static boolean request(JSONObject vars, String project, String to) {
        TreeMap<String, Object> requestData = new TreeMap<String, Object>();
        requestData.put("appid", APP_ID);
        requestData.put("project", project);
        requestData.put("to", to);
        requestData.put("from", from);
        requestData.put("from", FROM);
        if (!vars.isEmpty()) {
            requestData.put("vars", vars.toString());
        }
        MultipartEntityBuilder builder = MultipartEntityBuilder.create();
        @SuppressWarnings("deprecation")
        ContentType contentType = ContentType.create(HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);
@@ -66,17 +105,17 @@
                builder.addTextBody(key, String.valueOf(value), contentType);
            }
        }
        if (signtype.equals(TYPE_MD5) || signtype.equals(TYPE_SHA1)) {
        if (SIGN_TYPE.equals(TYPE_MD5) || SIGN_TYPE.equals(TYPE_SHA1)) {
            String timestamp = getTimestamp();
            requestData.put("timestamp", timestamp);
            requestData.put("sign_type", signtype);
            String signStr = appid + appkey + RequestEncoder.formatRequest(requestData) + appid + appkey;
            requestData.put("sign_type", SIGN_TYPE);
            String signStr = APP_ID + APP_KEY + RequestEncoder.formatRequest(requestData) + APP_ID + APP_KEY;
            builder.addTextBody("timestamp", timestamp);
            builder.addTextBody("sign_type", signtype);
            builder.addTextBody("signature", RequestEncoder.encode(signtype, signStr), contentType);
            builder.addTextBody("sign_type", SIGN_TYPE);
            builder.addTextBody("signature", RequestEncoder.encode(SIGN_TYPE, signStr), contentType);
        } else {
            builder.addTextBody("signature", appkey, contentType);
            builder.addTextBody("signature", APP_KEY, contentType);
        }
        HttpPost httpPost = new HttpPost(URL);
@@ -124,6 +163,8 @@
    }
    public static void main(String[] args) {
        System.out.println(sendMail("546766039@qq.com", "123456"));
//        System.out.println(sendMail("546766039@qq.com", "123456"));
        System.out.println(sendRechargeMail("546766039@qq.com", DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN), "123456"));
    }
}