|
@@ -4,14 +4,17 @@ import cn.hutool.crypto.SmUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.jiayue.ssi.annotation.InterfaceLimit;
|
|
|
+import com.jiayue.ssi.config.SendMailUtil;
|
|
|
import com.jiayue.ssi.entity.SysUser;
|
|
|
import com.jiayue.ssi.service.SysUserService;
|
|
|
-import com.jiayue.ssi.util.RandomPwd;
|
|
|
-import com.jiayue.ssi.util.ResponseVO;
|
|
|
+import com.jiayue.ssi.util.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.mail.javamail.MimeMessageHelper;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import javax.mail.internet.MimeMessage;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
/**
|
|
@@ -26,6 +29,8 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
public class SysUserController {
|
|
|
@Autowired
|
|
|
SysUserService sysUserService;
|
|
|
+ @Autowired
|
|
|
+ SendMailUtil sendMailUtil;
|
|
|
|
|
|
/**
|
|
|
* 获取用户分页信息
|
|
@@ -54,6 +59,23 @@ public class SysUserController {
|
|
|
return ResponseVO.error(null);
|
|
|
}
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 获取当前用户信息
|
|
|
+ *
|
|
|
+ * @return 用户信息
|
|
|
+ */
|
|
|
+ @GetMapping(value = "/getCurrentUser")
|
|
|
+ @InterfaceLimit
|
|
|
+ public ResponseVO getCurrentUser() {
|
|
|
+ try {
|
|
|
+ SysUser sysUser = SecurityContextUtil.getSysUser();
|
|
|
+ return ResponseVO.success(sysUser);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.error("获取当前用户异常");
|
|
|
+ return ResponseVO.error(null);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 新增用户
|
|
@@ -97,14 +119,24 @@ public class SysUserController {
|
|
|
if (StringUtils.isEmpty(id)){
|
|
|
return ResponseVO.fail("重置密码失败!");
|
|
|
}
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- sysUser.setId(Integer.parseInt(id));
|
|
|
+ // id获取用户
|
|
|
+ SysUser sysUser = sysUserService.getById(id);
|
|
|
+ if (sysUser == null){
|
|
|
+ return ResponseVO.fail("重置密码失败!");
|
|
|
+ }
|
|
|
// 生成8位初始密码
|
|
|
String randomPwd = RandomPwd.getRandomPwd(8);
|
|
|
sysUser.setPassword(SmUtil.sm3(randomPwd).toUpperCase());
|
|
|
+ sysUser.setLastUpdatePwdTime(null);
|
|
|
boolean bo = sysUserService.updateById(sysUser);
|
|
|
if (!bo){
|
|
|
- return ResponseVO.fail();
|
|
|
+ return ResponseVO.fail("密码生成失败!");
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ sendMailUtil.executeSendMail(sysUser.getMailbox(),"系统登录密码","密码:" + randomPwd);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return ResponseVO.fail("发送邮箱失败");
|
|
|
}
|
|
|
return ResponseVO.success();
|
|
|
}
|