package com.szwl.service.impl; import com.alibaba.fastjson.JSONObject; import com.szwl.model.entity.TMessageCode; import com.szwl.mapper.TMessageCodeMapper; import com.szwl.model.utils.MailUtil; import com.szwl.model.utils.SampleMail; import com.szwl.model.utils.YunPianSms; import com.szwl.service.TMessageCodeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang.StringUtils; import org.elasticsearch.cluster.routing.RerouteService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; /** *

* 短信验证码 服务实现类 *

* * @author wuhs * @since 2022-04-14 */ @Service public class TMessageCodeServiceImpl extends ServiceImpl implements TMessageCodeService { @Autowired TMessageCodeMapper tMessageCodeMapper; private static final String appid = "07784f5fedb508046c841b391005b7de"; /* * 发送短信验证码 * */ @Override public String sentMessage(String type, String phone, String companyType) { String result = null; String retu = null; try { String code = addCode(); result = YunPianSms.sendSms(appid, getMessage(companyType, code), phone); JSONObject sult = JSONObject.parseObject(result); Object msg = sult.get("msg"); Object mobile = sult.get("mobile"); retu = msg+":" + phone; if(mobile!=null){ TMessageCode tMessageCode = new TMessageCode(); tMessageCode.setType(type); tMessageCode.setCode(code); tMessageCode.setPhone(phone); tMessageCode.setModifyDate(new Date()); tMessageCode.setCreateDate(new Date()); tMessageCode.setStatus("0"); int insert = tMessageCodeMapper.insert(tMessageCode); } int a= 0; } catch (Exception e) { } return retu; } /* * 发送邮箱验证码 * */ @Override public String sentEmail(String type, String email) { String code = addCode(); // String subject = "Verification code message"; String subject =getSubject(type); String contnet = ""; contnet = getContnet(type,code); new MailUtil().send(email,subject,contnet); TMessageCode tMessageCode = new TMessageCode(); tMessageCode.setType(type); tMessageCode.setCode(code); tMessageCode.setPhone(email); tMessageCode.setModifyDate(new Date()); tMessageCode.setCreateDate(new Date()); tMessageCode.setStatus("0"); tMessageCodeMapper.insert(tMessageCode); return "发送成功"; } @Override public String sendEmailAbroad(String type, String email) { String code = addCode(); String contnet = ""; contnet = getContnet(type,code); new SampleMail().sendAuthCode(email, contnet); TMessageCode tMessageCode = new TMessageCode(); tMessageCode.setType(type); tMessageCode.setCode(code); tMessageCode.setPhone(email); tMessageCode.setModifyDate(new Date()); tMessageCode.setCreateDate(new Date()); tMessageCode.setStatus("0"); tMessageCodeMapper.insert(tMessageCode); return "Send Success"; } @Override public Date getLastSendTime(String phoneOrEmail) { if (StringUtils.isEmpty(phoneOrEmail)) { return null; } Date lastSendTime = tMessageCodeMapper.getLastSendTimeByEmailOrPhone(phoneOrEmail); return lastSendTime != null ? lastSendTime : new Date(0); } //邮件标题 private String getSubject(String type) { String subject = ""; if(type.equals("0")||type.equals("1")){ subject = "Verification code message"; } return subject; } //邮件内容 private String getContnet(String type, String code) { StringBuffer contnet = new StringBuffer(); if(type.equals("0")||type.equals("1")){ String str1="Dear customer
" + "
" + "Hello, your verification code is: "; // String str2=",please enter it within 3 minutes."; contnet.append(str1).append(code); } return contnet.toString(); } //生成6位随机数字 private String addCode() { int code = (int) ((Math.random() * 9 + 1) * 100000); String retu = String.valueOf(code); return retu; } private String getMessage(String companyType, String code) { String message = ""; if(StringUtils.isNotEmpty(companyType)&&companyType.equals("0")){ message = "【申泽智能】您好,您的验证码是"+code+",请于3分钟内输入。"; } if(StringUtils.isNotEmpty(companyType)&&companyType.equals("1")){ message = "【七云科技】您好,您的验证码是"+code+",请于3分钟内输入。"; } return message; } }