|
@ -5,6 +5,7 @@ import com.yihu.jw.base.service.saas.SaasService;
|
|
import com.yihu.jw.base.service.saas.SaasTypeDictService;
|
|
import com.yihu.jw.base.service.saas.SaasTypeDictService;
|
|
import com.yihu.jw.base.service.user.UserService;
|
|
import com.yihu.jw.base.service.user.UserService;
|
|
import com.yihu.jw.base.util.ErrorCodeUtil;
|
|
import com.yihu.jw.base.util.ErrorCodeUtil;
|
|
|
|
import com.yihu.jw.base.util.SendEmailUtils;
|
|
import com.yihu.jw.base.util.ValidateUtil;
|
|
import com.yihu.jw.base.util.ValidateUtil;
|
|
import com.yihu.jw.entity.base.saas.BaseEmailTemplateConfigDO;
|
|
import com.yihu.jw.entity.base.saas.BaseEmailTemplateConfigDO;
|
|
import com.yihu.jw.entity.base.saas.SaasDO;
|
|
import com.yihu.jw.entity.base.saas.SaasDO;
|
|
@ -14,6 +15,7 @@ import com.yihu.jw.restmodel.base.saas.SaasTypeDictVO;
|
|
import com.yihu.jw.restmodel.base.saas.SaasVO;
|
|
import com.yihu.jw.restmodel.base.saas.SaasVO;
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
import com.yihu.jw.restmodel.web.ListEnvelop;
|
|
import com.yihu.jw.restmodel.web.ListEnvelop;
|
|
|
|
import com.yihu.jw.restmodel.web.ObjEnvelop;
|
|
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
|
|
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
|
|
import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
@ -27,7 +29,15 @@ import org.springframework.mail.SimpleMailMessage;
|
|
import org.springframework.mail.javamail.JavaMailSender;
|
|
import org.springframework.mail.javamail.JavaMailSender;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
import javax.mail.*;
|
|
|
|
import javax.mail.internet.InternetAddress;
|
|
|
|
import javax.mail.internet.MimeBodyPart;
|
|
|
|
import javax.mail.internet.MimeMessage;
|
|
|
|
import javax.mail.internet.MimeMultipart;
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
|
import java.util.Calendar;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
import java.util.Properties;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
/**
|
|
@ -146,41 +156,67 @@ public class RegisterEndpoint extends EnvelopRestEndpoint {
|
|
@PostMapping(value = BaseRequestMapping.RegisterSaas.SEND_EMAIL)
|
|
@PostMapping(value = BaseRequestMapping.RegisterSaas.SEND_EMAIL)
|
|
@ApiOperation(value = "邮件发送")
|
|
@ApiOperation(value = "邮件发送")
|
|
public Envelop send(@ApiParam(name = "email", value = "邮箱地址", required = true)
|
|
public Envelop send(@ApiParam(name = "email", value = "邮箱地址", required = true)
|
|
@RequestParam String email) throws Exception {
|
|
|
|
|
|
@RequestParam String email) throws Exception {
|
|
|
|
|
|
if(!ValidateUtil.isValidEmail(email)){
|
|
|
|
|
|
if (!ValidateUtil.isValidEmail(email)) {
|
|
return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.EMAIL_IS_NOT_FORMAT), Envelop.class);
|
|
return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.EMAIL_IS_NOT_FORMAT), Envelop.class);
|
|
}
|
|
}
|
|
//建立邮件消息
|
|
|
|
SimpleMailMessage mainMessage = new SimpleMailMessage();
|
|
|
|
//发送者
|
|
|
|
mainMessage.setFrom(username);
|
|
|
|
//接收者
|
|
|
|
mainMessage.setTo(email);
|
|
|
|
//发送的标题
|
|
//发送的标题
|
|
//查找发送模板
|
|
//查找发送模板
|
|
BaseEmailTemplateConfigDO emailTemplateConfigDO = emailTemplateConfigDao.findByTemplateName("租户注册-验证码");
|
|
BaseEmailTemplateConfigDO emailTemplateConfigDO = emailTemplateConfigDao.findByTemplateName("租户注册-验证码");
|
|
StringBuilder content = null;
|
|
StringBuilder content = null;
|
|
String captcha = String.valueOf(Math.random()).substring(2, 8);
|
|
String captcha = String.valueOf(Math.random()).substring(2, 8);
|
|
if(emailTemplateConfigDO == null){
|
|
|
|
|
|
if (emailTemplateConfigDO == null) {
|
|
//发送的内容
|
|
//发送的内容
|
|
content = new StringBuilder("您好!\n感谢您注册健康之路城市i健康。\n");
|
|
|
|
|
|
content = new StringBuilder("您好!\n感谢您注册健康之路城市i健康。\n");
|
|
content.append("您的验证码是:").append(captcha);
|
|
content.append("您的验证码是:").append(captcha);
|
|
content.append("。 (验证码10分钟内有效)");
|
|
content.append("。 (验证码10分钟内有效)");
|
|
}else {
|
|
|
|
|
|
} else {
|
|
//发送的内容
|
|
//发送的内容
|
|
content = new StringBuilder(emailTemplateConfigDO.getFirst());
|
|
|
|
|
|
content = new StringBuilder(emailTemplateConfigDO.getFirst());
|
|
content.append("\n").append(emailTemplateConfigDO.getKeyword1()).append("\n")
|
|
content.append("\n").append(emailTemplateConfigDO.getKeyword1()).append("\n")
|
|
.append(emailTemplateConfigDO.getKeyword2()).append(captcha)
|
|
|
|
.append(emailTemplateConfigDO.getKeyword3()).append("\n")
|
|
|
|
.append(emailTemplateConfigDO.getKeyword5()).append(emailTemplateConfigDO.getUrl())
|
|
|
|
.append("\n").append("\n").append(emailTemplateConfigDO.getRemark());
|
|
|
|
|
|
.append(emailTemplateConfigDO.getKeyword2()).append(captcha)
|
|
|
|
.append(emailTemplateConfigDO.getKeyword3()).append("\n")
|
|
|
|
.append(emailTemplateConfigDO.getKeyword5()).append(emailTemplateConfigDO.getUrl())
|
|
|
|
.append("\n").append("\n").append(emailTemplateConfigDO.getRemark());
|
|
}
|
|
}
|
|
mainMessage.setSubject("租户注册-验证码");
|
|
|
|
|
|
|
|
mainMessage.setText(content.toString());
|
|
|
|
jms.send(mainMessage);
|
|
|
|
|
|
String subject = "租户注册验证码";
|
|
|
|
boolean blo = SendEmailUtils.sendMessage(email, content.toString(), subject);
|
|
redisTemplate.opsForValue().set(redisPrefix + email, captcha, 10, TimeUnit.MINUTES);
|
|
redisTemplate.opsForValue().set(redisPrefix + email, captcha, 10, TimeUnit.MINUTES);
|
|
return success("发送成功");
|
|
|
|
|
|
if (blo) {
|
|
|
|
return success("success", true);
|
|
|
|
} else {
|
|
|
|
return failed("failed", ObjEnvelop.class);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@PostMapping(value = "/testSendEmailMethod")
|
|
|
|
@ApiOperation(value = "测试邮件发送")
|
|
|
|
public Envelop testSendEmailMethod(@ApiParam(name = "email", value = "邮箱地址", required = true)
|
|
|
|
@RequestParam String email) throws Exception {
|
|
|
|
|
|
|
|
if (!ValidateUtil.isValidEmail(email)) {
|
|
|
|
return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.EMAIL_IS_NOT_FORMAT), Envelop.class);
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
// 设置主题
|
|
|
|
String subject = "租户注册验证码";
|
|
|
|
//发送的内容
|
|
|
|
String captcha = String.valueOf(Math.random()).substring(2, 8);
|
|
|
|
StringBuilder content = new StringBuilder("您好!\n感谢您注册健康之路城市i健康。\n");
|
|
|
|
content.append("您的验证码是:").append(captcha);
|
|
|
|
content.append("。 (验证码10分钟内有效)");
|
|
|
|
boolean blo = SendEmailUtils.sendMessage(email, content.toString(), subject);
|
|
|
|
if (blo) {
|
|
|
|
return success("success", true);
|
|
|
|
} else {
|
|
|
|
return failed("failed", ObjEnvelop.class);
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
return failed(e.getMessage(), ObjEnvelop.class);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|