TMessageCodeServiceImpl.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package com.szwl.service.impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.szwl.model.entity.TMessageCode;
  4. import com.szwl.mapper.TMessageCodeMapper;
  5. import com.szwl.model.utils.MailUtil;
  6. import com.szwl.model.utils.SampleMail;
  7. import com.szwl.model.utils.YunPianSms;
  8. import com.szwl.service.TMessageCodeService;
  9. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  10. import org.apache.commons.lang.StringUtils;
  11. import org.elasticsearch.cluster.routing.RerouteService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.util.Date;
  15. /**
  16. * <p>
  17. * 短信验证码 服务实现类
  18. * </p>
  19. *
  20. * @author wuhs
  21. * @since 2022-04-14
  22. */
  23. @Service
  24. public class TMessageCodeServiceImpl extends ServiceImpl<TMessageCodeMapper, TMessageCode> implements TMessageCodeService {
  25. @Autowired
  26. TMessageCodeMapper tMessageCodeMapper;
  27. private static final String appid = "07784f5fedb508046c841b391005b7de";
  28. /*
  29. * 发送短信验证码
  30. * */
  31. @Override
  32. public String sentMessage(String type, String phone, String companyType) {
  33. String result = null;
  34. String retu = null;
  35. try {
  36. String code = addCode();
  37. result = YunPianSms.sendSms(appid, getMessage(companyType, code), phone);
  38. JSONObject sult = JSONObject.parseObject(result);
  39. Object msg = sult.get("msg");
  40. Object mobile = sult.get("mobile");
  41. retu = msg+":" + phone;
  42. if(mobile!=null){
  43. TMessageCode tMessageCode = new TMessageCode();
  44. tMessageCode.setType(type);
  45. tMessageCode.setCode(code);
  46. tMessageCode.setPhone(phone);
  47. tMessageCode.setModifyDate(new Date());
  48. tMessageCode.setCreateDate(new Date());
  49. tMessageCode.setStatus("0");
  50. int insert = tMessageCodeMapper.insert(tMessageCode);
  51. }
  52. int a= 0;
  53. } catch (Exception e) {
  54. }
  55. return retu;
  56. }
  57. /*
  58. * 发送邮箱验证码
  59. * */
  60. @Override
  61. public String sentEmail(String type, String email) {
  62. String code = addCode();
  63. // String subject = "Verification code message";
  64. String subject =getSubject(type);
  65. String contnet = "";
  66. contnet = getContnet(type,code);
  67. new MailUtil().send(email,subject,contnet);
  68. TMessageCode tMessageCode = new TMessageCode();
  69. tMessageCode.setType(type);
  70. tMessageCode.setCode(code);
  71. tMessageCode.setPhone(email);
  72. tMessageCode.setModifyDate(new Date());
  73. tMessageCode.setCreateDate(new Date());
  74. tMessageCode.setStatus("0");
  75. tMessageCodeMapper.insert(tMessageCode);
  76. return "发送成功";
  77. }
  78. @Override
  79. public String sendEmailAbroad(String type, String email) {
  80. String code = addCode();
  81. String contnet = "";
  82. contnet = getContnet(type,code);
  83. new SampleMail().sendAuthCode(email, contnet);
  84. TMessageCode tMessageCode = new TMessageCode();
  85. tMessageCode.setType(type);
  86. tMessageCode.setCode(code);
  87. tMessageCode.setPhone(email);
  88. tMessageCode.setModifyDate(new Date());
  89. tMessageCode.setCreateDate(new Date());
  90. tMessageCode.setStatus("0");
  91. tMessageCodeMapper.insert(tMessageCode);
  92. return "Send Success";
  93. }
  94. @Override
  95. public Date getLastSendTime(String phoneOrEmail) {
  96. if (StringUtils.isEmpty(phoneOrEmail)) {
  97. return null;
  98. }
  99. Date lastSendTime = tMessageCodeMapper.getLastSendTimeByEmailOrPhone(phoneOrEmail);
  100. return lastSendTime != null ? lastSendTime : new Date(0);
  101. }
  102. //邮件标题
  103. private String getSubject(String type) {
  104. String subject = "";
  105. if(type.equals("0")||type.equals("1")){
  106. subject = "Verification code message";
  107. }
  108. return subject;
  109. }
  110. //邮件内容
  111. private String getContnet(String type, String code) {
  112. StringBuffer contnet = new StringBuffer();
  113. if(type.equals("0")||type.equals("1")){
  114. String str1="Dear customer<br>" +
  115. "<br>" +
  116. "Hello, your verification code is: ";
  117. // String str2=",please enter it within 3 minutes.";
  118. contnet.append(str1).append(code);
  119. }
  120. return contnet.toString();
  121. }
  122. //生成6位随机数字
  123. private String addCode() {
  124. int code = (int) ((Math.random() * 9 + 1) * 100000);
  125. String retu = String.valueOf(code);
  126. return retu;
  127. }
  128. private String getMessage(String companyType, String code) {
  129. String message = "";
  130. if(StringUtils.isNotEmpty(companyType)&&companyType.equals("0")){
  131. message = "【申泽智能】您好,您的验证码是"+code+",请于3分钟内输入。";
  132. }
  133. if(StringUtils.isNotEmpty(companyType)&&companyType.equals("1")){
  134. message = "【七云科技】您好,您的验证码是"+code+",请于3分钟内输入。";
  135. }
  136. return message;
  137. }
  138. }