From eef33a6983bbc998c81abfabb0f450ece461cb6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com> Date: Mon, 20 May 2024 16:19:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E6=A0=A1=E6=B7=BB=E5=8A=A0=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=EF=BC=8C=E7=94=A8=E6=88=B7=E8=83=8C=E6=99=AF=E5=9B=BE?= =?UTF-8?q?=EF=BC=8C=E6=89=8B=E6=9C=BA=E7=AB=AF=E9=82=AE=E7=AE=B1=E6=B3=A8?= =?UTF-8?q?=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gan-common/ruoyi-common-core/pom.xml | 18 +++ .../common/core/utils/mail/MailUtil.java | 124 +++++++++++++++ gan-gateway/src/main/resources/bootstrap.yml | 4 +- gan-modules/ruoyi-gan/pom.xml | 4 + .../app/controller/AppLoginController.java | 144 +++++++++++++++--- .../app/controller/AppUserController.java | 7 + .../ruoyi/app/controller/PayController.java | 19 +++ .../java/com/ruoyi/app/domain/AppSchool.java | 62 +++++--- .../java/com/ruoyi/app/domain/AppUser.java | 13 ++ .../com/ruoyi/app/domain/UseExchangeArg.java | 1 - .../com/ruoyi/app/mapper/AppUserMapper.java | 4 + .../app/properties/AliSmsProperties.java | 8 +- .../ruoyi/app/service/IAppUserService.java | 4 + .../ruoyi/app/service/ScheduledService.java | 2 +- .../service/impl/AppRegisterServiceImpl.java | 19 +++ .../app/service/impl/AppUserServiceImpl.java | 11 ++ .../app/utils/aliyun/sms/SendNoteUtil.java | 34 ++--- .../resources/mapper/app/AppSchoolMapper.xml | 54 +++++-- .../mapper/app/AppUserDynamicMapper.xml | 2 +- .../resources/mapper/app/AppUserMapper.xml | 23 ++- .../src/main/resources/bootstrap.yml | 4 +- pom.xml | 18 +++ 22 files changed, 498 insertions(+), 81 deletions(-) create mode 100644 gan-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/mail/MailUtil.java diff --git a/gan-common/ruoyi-common-core/pom.xml b/gan-common/ruoyi-common-core/pom.xml index de9e5ce..e1bae02 100644 --- a/gan-common/ruoyi-common-core/pom.xml +++ b/gan-common/ruoyi-common-core/pom.xml @@ -112,6 +112,24 @@ io.swagger swagger-annotations + + + javax.mail + mail + + + + org.thymeleaf + thymeleaf + + + + + gov.nih.nci.cbiit.scimgmt.i2erest.mailsender + mailclient + 5.0.1 + + diff --git a/gan-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/mail/MailUtil.java b/gan-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/mail/MailUtil.java new file mode 100644 index 0000000..77860ab --- /dev/null +++ b/gan-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/mail/MailUtil.java @@ -0,0 +1,124 @@ +package com.ruoyi.common.core.utils.mail; + + +import gov.nih.nci.cbiit.scimgmt.i2erest.mailsender.resttemplate.MailClientRestTemplateHeaderInterceptor; +import org.thymeleaf.context.Context; + +import javax.mail.*; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeMessage; +import java.util.Properties; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class MailUtil { + /** + * 使用网易邮箱发送邮件 + * + * @param to 给谁发 + * @param text 发送内容 + */ + public static void send_mail(String to, String text) throws MessagingException { + //创建连接对象 连接到邮件服务器 + Properties properties = new Properties(); + //设置发送邮件的基本参数 + //发送邮件服务器 + + properties.put("mail.smtp.host", "smtp.163.com"); + //发送端口 + properties.put("mail.smtp.port", "25"); + properties.put("mail.smtp.auth", "true"); + + //设置发送邮件的账号和密码 + Session session = Session.getInstance(properties, new Authenticator() { + @Override + protected javax.mail.PasswordAuthentication getPasswordAuthentication() { + +// return new javax.mail.PasswordAuthentication("你的网易邮箱", "你的网易邮箱授权码"); + return new javax.mail.PasswordAuthentication("wyhxjl994@163.com", "LYBNRTMBJQTITPNE"); + } + }); + + //创建邮件对象 + Message message = new MimeMessage(session); + //设置发件人 + try { + message.setFrom(new InternetAddress("wyhxjl994@163.com")); + //设置收件人 + message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); + //设置主题 + message.setSubject("欢迎注册干杯Go big社交平台!"); + //设置邮件正文 第二个参数是邮件发送的类型 + message.setContent(text, "text/html;charset=UTF-8"); + //发送一封邮件 + + Transport.send(message); + } catch (javax.mail.MessagingException e) { + e.printStackTrace(); + } + + } + + /** + * 使用qq邮箱发送邮件 + * + * @param to 给谁发 + * @param text 发送内容 + */ + public static void send_mail2(String to, String text) throws MessagingException { + //创建连接对象 连接到邮件服务器 + Properties properties = new Properties(); + //设置发送邮件的基本参数 + //发送邮件服务器 + + properties.put("mail.smtp.host", "smtp.qq.com"); + //发送端口 + properties.put("mail.smtp.port", "587"); + properties.put("mail.smtp.auth", "true"); + + + //设置发送邮件的账号和密码 + Session session = Session.getInstance(properties, new Authenticator() { + @Override + protected javax.mail.PasswordAuthentication getPasswordAuthentication() { +// return new javax.mail.PasswordAuthentication("你的QQ邮箱", "你的qq邮箱授权码"); + return new javax.mail.PasswordAuthentication("1741258558@qq.com", "sxmvraycsmkaddag"); + } + }); + + //创建邮件对象 + Message message = new MimeMessage(session); + //设置发件人 + try { + message.setFrom(new InternetAddress("1741258558@qq.com")); + //设置收件人 + message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); + //设置主题 + message.setSubject("欢迎注册干杯Go big社交平台!"); + //设置邮件正文 第二个参数是邮件发送的类型 + message.setContent(text, "text/html;charset=UTF-8"); + + //发送一封邮件 + Transport.send(message); + } catch (javax.mail.MessagingException e) { + e.printStackTrace(); + } + + } + + + + //邮箱格式的验证 + public static boolean validEmail(String userEmail) { + Pattern p = Pattern.compile("[a-zA-Z0-9]+@[A-Za-z0-9]+\\.[a-z0-9]"); + Matcher m = p.matcher(userEmail); + if(m.find()){ + return true; + } else { + return false; + } + } + + + +} \ No newline at end of file diff --git a/gan-gateway/src/main/resources/bootstrap.yml b/gan-gateway/src/main/resources/bootstrap.yml index 69fa939..c25cb02 100644 --- a/gan-gateway/src/main/resources/bootstrap.yml +++ b/gan-gateway/src/main/resources/bootstrap.yml @@ -14,11 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.133.172.2:8848 namespace: 43773ac0-094b-44c4-892a-8a42782f8360 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.133.172.2:8848 namespace: 43773ac0-094b-44c4-892a-8a42782f8360 # 配置文件格式 file-extension: yml diff --git a/gan-modules/ruoyi-gan/pom.xml b/gan-modules/ruoyi-gan/pom.xml index d8fbf86..465f1ec 100644 --- a/gan-modules/ruoyi-gan/pom.xml +++ b/gan-modules/ruoyi-gan/pom.xml @@ -144,6 +144,10 @@ green20220302 1.0.3 + + org.thymeleaf + thymeleaf + diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppLoginController.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppLoginController.java index 4128b48..02b6223 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppLoginController.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppLoginController.java @@ -4,6 +4,7 @@ package com.ruoyi.app.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ruoyi.app.domain.AppRegister; +import com.ruoyi.app.domain.AppSchool; import com.ruoyi.app.domain.AppUser; import com.ruoyi.app.domain.dto.HelperUtil; import com.ruoyi.app.domain.dto.PayConfig; @@ -12,14 +13,21 @@ import com.ruoyi.app.form.AppLoginUser; import com.ruoyi.app.form.LoginForm; import com.ruoyi.app.form.RegisterForm; import com.ruoyi.app.service.IAppRegisterService; +import com.ruoyi.app.service.IAppSchoolService; import com.ruoyi.app.service.IAppUserService; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.JwtUtils; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.ip.IpUtils; +import com.ruoyi.common.core.utils.mail.MailUtil; import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.common.core.utils.uuid.UUID; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.auth.AuthUtil; import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -27,9 +35,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; +import javax.mail.MessagingException; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; +import java.util.Objects; import java.util.concurrent.TimeUnit; import static com.alibaba.nacos.api.common.Constants.ACCESS_TOKEN; @@ -37,7 +47,7 @@ import static com.alibaba.nacos.api.common.Constants.ACCESS_TOKEN; @RestController @RequestMapping("/app") @Api( - tags = "APP-登录接口" + tags = "APP-登录接口" ) public class AppLoginController { @@ -48,21 +58,51 @@ public class AppLoginController { private IAppRegisterService appRegisterService; @Autowired - private static RedisService redisService; + private RedisService redisService; + + @Autowired + private IAppSchoolService schoolService; @Autowired private TokenService tokenService; @PostMapping("/register") - @ApiOperation(value = "注册" , notes = "注册") + @ApiOperation(value = "注册", notes = "注册") public R register(@RequestBody RegisterForm registerForm) { AppUser appUser = appUserService.selectAppUserByPhone(registerForm.getPhoneNumber()); AppRegister register = appRegisterService.selectAppRegisterByphone(registerForm.getPhoneNumber()); Assert.notNull(registerForm.getSchoolId(), "学校id不能为空"); + AppSchool appSchool = schoolService.selectAppSchoolById( + registerForm.getSchoolId() + ); Assert.isNull(appUser, "手机号已注册"); - if (register != null && register.getStatus() != null) { + if (StringUtils.isNotEmpty(registerForm.getEmail())) { + //校验邮箱格式 + Assert.isTrue(MailUtil.validEmail(registerForm.getEmail()), "邮箱格式不正确") ; + + //校验邮箱是否已注册 + AppUser emailUser = appUserService.selectAppUserByEmail(registerForm.getEmail()); + Assert.isNull(emailUser, "邮箱已注册"); + AppRegister appRegister = setAppRegister(registerForm); + redisService.setCacheMapValue(IdUtils.fastUUID(),register.getEmail() , appRegister); + appRegisterService.insertAppRegister(register); + + Assert.isNull(emailUser, "邮箱已注册"); + try { + String EM = "

欢迎来到我们的服务!!

" + + "

请点击下面的网址确认您的注册:

" + + "

http://localhost:9204/app/activation/"+ IdUtils.fastUUID() + "/" + register.getEmail() + "

" + + ""; + + MailUtil.send_mail(registerForm.getEmail(), EM); + } catch (MessagingException e) { + throw new RuntimeException(e); + } + } else { + + if (register != null && register.getStatus() != null) { switch (register.getStatus()) { @@ -73,18 +113,19 @@ public class AppLoginController { case 2: return R.fail(201, "注册失败,您的账号已被驳回!"); } + } + AppRegister appRegister = setAppRegister(registerForm); + appRegister.setInvitationCode(registerForm.getInvitationCode()); + int i = appRegisterService.insertAppRegister(appRegister); + + + Assert.isTrue(i > 0, "注册失败"); } - - AppRegister appRegister = setAppRegister(registerForm); - appRegister.setInvitationCode(registerForm.getInvitationCode()); - int i = appRegisterService.insertAppRegister(appRegister); - - Assert.isTrue(i > 0, "注册失败"); - return R.ok(null,"注册成功,请等待审核结果!"); + return R.ok(null, "申请成功,请等待审核结果!"); } @PostMapping("/login") - @ApiOperation(value = "登录" , notes = "登录") + @ApiOperation(value = "登录", notes = "登录") public R login(@RequestBody LoginForm loginForm) { AppUser appUser = appUserService.selectAppUserByPhone(loginForm.getPhoneNumber()); Assert.notNull(appUser, "手机号未注册"); @@ -93,7 +134,7 @@ public class AppLoginController { // String code = (String) cacheObject; // Assert.isTrue(code.equals(loginForm.getCode()), "验证码错误"); // } - String token = IdUtils.fastUUID(); + String token = IdUtils.fastUUID(); LoginUser loginUser = new LoginUser(); loginUser.setUsername(appUser.getUsername()); Long userId = appUser.getId(); @@ -122,7 +163,7 @@ public class AppLoginController { } @PostMapping("/accessToken") - @ApiOperation(value = "accessToken登录" , notes = "accessToken登录") + @ApiOperation(value = "accessToken登录", notes = "accessToken登录") public R accessToken(@RequestBody AppLoginUser loginUser) { LoginUser loginUser1 = tokenService.getLoginUser(loginUser.getAccessToken()); Assert.notNull(loginUser1, "token失效"); @@ -131,29 +172,90 @@ public class AppLoginController { } @GetMapping("/info") - @ApiOperation(value = "获取用户信息" , notes = "获取用户信息") - public R info(HttpServletRequest request,@RequestParam(name = "userId")Long userId) { + @ApiOperation(value = "获取用户信息", notes = "获取用户信息") + public R info(HttpServletRequest request, @RequestParam(name = "userId") Long userId) { AppUserVo appUserVo = appUserService.selectAppUserById(userId); return R.ok(appUserVo); } @RequestMapping("/getAccessToken") - @ApiOperation(value = "微信token" , notes = "微信token") + @ApiOperation(value = "微信token", notes = "微信token") public AjaxResult getAccessToken(@RequestParam String code) { - Map map = new HashMap<>(); + Map map = new HashMap<>(); map.put("appid", PayConfig.APPID); map.put("secret", PayConfig.appSecret); - map.put("code",code); - map.put("grant_type","authorization_code"); + map.put("code", code); + map.put("grant_type", "authorization_code"); try { String resultStr = HelperUtil.sendHttpGet(PayConfig.access_token, map); - JSONObject json = JSON.parseObject(resultStr,JSONObject.class); + JSONObject json = JSON.parseObject(resultStr, JSONObject.class); return AjaxResult.success(json); } catch (Exception e) { } return AjaxResult.success(null); } + + @GetMapping("/mailRegister") + @ApiOperation(value = "邮箱注册", notes = "邮箱注册") + public R mailRegister() { + return R.ok("www.baudu.com"); + } + + + + @DeleteMapping("logout") + public R logout(HttpServletRequest request) + { + String token = SecurityUtils.getToken(request); + if (StringUtils.isNotEmpty(token)) + { + // 删除用户缓存记录 + AuthUtil.logoutByToken(token); + } + return R.ok(); + } + + + @RequestMapping(path = "/activation/{token}/{email}",method = RequestMethod.GET) + public String activation(@PathVariable String token , @PathVariable String email) { + Map cacheMap = redisService.getCacheMap(token); + if (email.equals(cacheMap.get("email"))) { + AppRegister appRegister = (AppRegister) cacheMap.get("email"); + appRegister.setStatus(1); + appRegisterService.updateAppRegister(appRegister); + + + AppUser appUser = new AppUser(); + BeanUtils.copyBeanProp(appUser, appRegister); + appUserService.insertAppUser(appUser); + } + + + redisService.deleteObject(token); + return "\n" + + "\n" + + "\n" + + " Activation Result\n" + + " \n" + + "\n" + + "\n" + + "

注册成功!!请使用手机号进行登录~

\n" + + "\n" + + ""; + } + + } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserController.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserController.java index ba7c607..eb4865d 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserController.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserController.java @@ -137,4 +137,11 @@ public class AppUserController extends BaseController List list = appUserService.listUser(appUser); return getDataTable(list); } + + + @GetMapping("/vipById/{id}") + @ApiOperation(value = "设置7天会员", notes = "设置7天会员", httpMethod = "GET") + public AjaxResult vipById(@PathVariable("id") Long id) { + return AjaxResult.success(appUserService.vipById(id)); + } } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java index 46ad350..2e991da 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/PayController.java @@ -206,6 +206,25 @@ public class PayController extends BaseController return AjaxResult.success(); } + @RequestMapping("/zero") + @ApiOperation(value = "0元支付", notes = "兑换码支付", httpMethod = "POST") + public AjaxResult test(@RequestBody UseExchangeArg useExchangeArg) throws ParseException { + Long userId = useExchangeArg.getUserId(); + // 生成订单信息 + AppOrder order = new AppOrder(); + order.setPrice("0"); + order.setUserId(userId); + order.setPayStatus(2); + order.setPaySoure(3); + order.setCreateTime(new Date()); + order.setLevel(1); + appOrderMapper.insertAppOrder(order); + + //修改用户信息 + updateUser(order); + return AjaxResult.success(); + } + @PostMapping("/wechatPrePay") @ApiOperation(value = "微信支付", notes = "微信支付", httpMethod = "POST") public AjaxResult wechatPrePay(@RequestBody AppOrderArg appOrderArg) { diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppSchool.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppSchool.java index 2113256..39bf029 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppSchool.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppSchool.java @@ -7,47 +7,71 @@ import com.ruoyi.common.core.web.domain.BaseEntity; /** * 学校配置对象 app_school - * + * * @author wyh * @date 2024-04-18 */ -public class AppSchool extends BaseEntity -{ +public class AppSchool extends BaseEntity { private static final long serialVersionUID = 1L; - /** 学校id */ + /** + * 学校id + */ private Long id; - /** 学校名称 */ + /** + * 学校名称 + */ @Excel(name = "学校名称") private String name; - public void setId(Long id) - { + @Excel(name = "邮箱域名后缀") + private String email; + + private String schoolImg; + + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getSchoolImg() { + return schoolImg; + } + + public void setSchoolImg(String schoolImg) { + this.schoolImg = schoolImg; + } + + public void setId(Long id) { this.id = id; } - public Long getId() - { + public Long getId() { return id; } - public void setName(String name) - { + + public void setName(String name) { this.name = name; } - public String getName() - { + public String getName() { return name; } @Override public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("name", getName()) - .append("createTime", getCreateTime()) - .append("updateTime", getUpdateTime()) - .toString(); + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("email", getEmail()) + .append("schoolImg", getSchoolImg()) + .toString(); } } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppUser.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppUser.java index bcbf1b4..c50f98b 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppUser.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/AppUser.java @@ -168,6 +168,10 @@ public class AppUser extends BaseEntity private int status; + private Integer check; + + private String backGroundImg; + /** 订单记录 */ @Excel(name = "订单记录") private Long orderId; @@ -470,6 +474,14 @@ public class AppUser extends BaseEntity return other; } + public Integer getCheck() { + return check; + } + + public void setCheck(Integer check) { + this.check = check; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -506,6 +518,7 @@ public class AppUser extends BaseEntity .append("hobby", getHobby()) .append("city", getCity()) .append("other", getOther()) + .append("check", getCheck()) .toString(); } } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/UseExchangeArg.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/UseExchangeArg.java index 514f5bf..f48b1c1 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/UseExchangeArg.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/UseExchangeArg.java @@ -17,7 +17,6 @@ public class UseExchangeArg { private static final long serialVersionUID = 1L; - /** 城市id */ private String code; private Long userId; diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserMapper.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserMapper.java index 8f0cec0..7fef5af 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserMapper.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserMapper.java @@ -71,4 +71,8 @@ public interface AppUserMapper void updateAppUserById(@Param("ids")List ids); List listUser(AppUser appUser); + + AppUser selectAppUserByEmail(String email); + + int vipById(@Param("id")Long id); } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/properties/AliSmsProperties.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/properties/AliSmsProperties.java index b52af87..9a1f847 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/properties/AliSmsProperties.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/properties/AliSmsProperties.java @@ -5,13 +5,13 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; -@Component -@ConfigurationProperties(prefix = "alisms") +//@Component +//@ConfigurationProperties(prefix = "alisms") @Data public class AliSmsProperties { - @Value(value = "${alisms.accessKeyId}") +// @Value(value = "${alisms.accessKeyId}") private String accessKeyId; - @Value(value = "${alisms.accessKeySecret}") +// @Value(value = "${alisms.accessKeySecret}") private String accessKeySecret; } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserService.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserService.java index 2bde4dd..69e1408 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserService.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserService.java @@ -67,4 +67,8 @@ public interface IAppUserService public AppUserNetVo userNetData(AppUser appUser); List listUser(AppUser appUser); + + AppUser selectAppUserByEmail(String email); + + int vipById(Long id); } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/ScheduledService.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/ScheduledService.java index 69ae970..b4fa563 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/ScheduledService.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/ScheduledService.java @@ -10,7 +10,7 @@ import java.util.List; @Component public class ScheduledService { @Autowired - private AppUserMapper appUserMapper; + private AppUserMapper appUserMapper; @Scheduled(cron = "0/5 * * * * *") public void updateUserMember(){ diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppRegisterServiceImpl.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppRegisterServiceImpl.java index 4463145..6cfd64b 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppRegisterServiceImpl.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppRegisterServiceImpl.java @@ -12,12 +12,16 @@ import com.ruoyi.app.mapper.AppUserMapper; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; +import com.ruoyi.common.core.utils.mail.MailUtil; +import com.ruoyi.common.core.utils.uuid.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.app.mapper.AppRegisterMapper; import com.ruoyi.app.domain.AppRegister; import com.ruoyi.app.service.IAppRegisterService; +import javax.mail.MessagingException; + /** * 注册审核Service业务层处理 * @@ -156,4 +160,19 @@ public class AppRegisterServiceImpl implements IAppRegisterService return appRegisterMapper.selectAppRegisterByphone(phoneNumber); } + + public static void main(String[] args) { + + String token = "4e290542-53f3-4a33-96ff-9510dd050100"; + String email = "653809315@qq.com"; + String EM = "

欢迎来到我们的服务!!

" + + "

请点击下面的网址确认您的注册:

" + + "

http://localhost:9204/app/activation/"+ token + "/" + email + "

" + + ""; + try { + MailUtil.send_mail( "653809315@qq.com",EM); + } catch (MessagingException e) { + throw new RuntimeException(e); + } + } } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserServiceImpl.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserServiceImpl.java index cfc5dc2..5cdb394 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserServiceImpl.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserServiceImpl.java @@ -243,4 +243,15 @@ public class AppUserServiceImpl implements IAppUserService appUser.setIds(ids); return appUserMapper.listUser(appUser); } + + @Override + public AppUser selectAppUserByEmail(String email) { + + return appUserMapper.selectAppUserByEmail(email); + } + + @Override + public int vipById(Long id) { + return appUserMapper.vipById(id); + } } diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/utils/aliyun/sms/SendNoteUtil.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/utils/aliyun/sms/SendNoteUtil.java index 16fc1ba..31b7f4f 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/utils/aliyun/sms/SendNoteUtil.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/utils/aliyun/sms/SendNoteUtil.java @@ -21,31 +21,31 @@ import java.util.concurrent.TimeUnit; @Component public class SendNoteUtil { - /** - * 阿里云 accessKeyId : "fEZZyFvWkETS8Clm73f7qmY9ohcTpc" - */ - @Value("${alisms.accessKeyId}") - private String accessKeyId; - - /** - * 阿里云 secret : "LTAI5tM1LeE2pkiS3qEFQkfb" - */ - @Value("${alisms.accessKeySecret}") - private String accessKeySecret; - @Autowired - private AliSmsProperties aliSmsProperties; +// /** +// * 阿里云 accessKeyId : "fEZZyFvWkETS8Clm73f7qmY9ohcTpc" +// */ +// @Value("${alisms.accessKeyId}") +// private String accessKeyId; +// +// /** +// * 阿里云 secret : "LTAI5tM1LeE2pkiS3qEFQkfb" +// */ +// @Value("${alisms.accessKeySecret}") +// private String accessKeySecret; +// @Autowired +// private AliSmsProperties aliSmsProperties; /** * 阿里云签名 */ - @Value("${alisms.signName}") - private String signName; +// @Value("${alisms.signName}") + private String signName = "丙煜"; /** * 阿里云短信模板Code */ - @Value("${alisms.templateCode}") - private String templateCode; +// @Value("${alisms.templateCode}") + private String templateCode = "SMS_465690552"; /** diff --git a/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppSchoolMapper.xml b/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppSchoolMapper.xml index 8678300..f3fb483 100644 --- a/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppSchoolMapper.xml +++ b/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppSchoolMapper.xml @@ -9,10 +9,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select id, name, create_time, update_time from app_school + select id, name, create_time, update_time , email , school_img from app_school diff --git a/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppUserMapper.xml b/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppUserMapper.xml index bb855af..0042de9 100644 --- a/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppUserMapper.xml +++ b/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppUserMapper.xml @@ -42,6 +42,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + a.id as "id", @@ -79,12 +81,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.is_member as "isMember", a.order_id as "orderId", a.order_start_time as "orderStartTime", - a.order_end_time as "orderEndTime" + a.order_end_time as "orderEndTime" , + a.`check` as "check", + a.back_ground_img as "backGroundImg" select id, username, password, nickname, email, phone, address, create_time, update_time, avatar_url, education, school, major, start_time, end_time, experience, company_name, industry, job_time, job_name, job_type, skill_id, job_content, type,is_member,job_end_time, - order_id, order_start_time, order_end_time from app_user + order_id, order_start_time, order_end_time , `check` , back_ground_img from app_user @@ -246,6 +252,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order_id, order_start_time, order_end_time, + `check`, + `back_ground_img`, #{username}, @@ -284,6 +292,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{orderId}, #{orderStartTime}, #{orderEndTime}, + #{check}, + #{backGroundImg}, @@ -326,6 +336,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order_id = #{orderId}, order_start_time = #{orderStartTime}, order_end_time = #{orderEndTime}, + `check` = #{check}, + background_img = #{backGroundImg}, where id = #{id} @@ -344,4 +356,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + \ No newline at end of file diff --git a/gan-modules/ruoyi-system/src/main/resources/bootstrap.yml b/gan-modules/ruoyi-system/src/main/resources/bootstrap.yml index efedb40..230f128 100644 --- a/gan-modules/ruoyi-system/src/main/resources/bootstrap.yml +++ b/gan-modules/ruoyi-system/src/main/resources/bootstrap.yml @@ -14,11 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.133.172.2:8848 namespace: 43773ac0-094b-44c4-892a-8a42782f8360 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.133.172.2:8848 namespace: 43773ac0-094b-44c4-892a-8a42782f8360 # 配置文件格式 file-extension: yml diff --git a/pom.xml b/pom.xml index 5eae3fc..7bef6a0 100644 --- a/pom.xml +++ b/pom.xml @@ -239,6 +239,19 @@ aliyun-java-sdk-dysmsapi 1.0.0 + + javax.mail + mail + 1.4 + + + + + gov.nih.nci.cbiit.scimgmt.i2erest.mailsender + mailclient + 5.0.1 + + @@ -299,6 +312,11 @@ true + + mailclient + mailclient + https://ncimvn.nci.nih.gov/nexus/content/repositories/releases/ +