upd project

master
冯凯 2023-10-18 19:51:07 +08:00
parent 122cfaabce
commit c194961a1c
4 changed files with 129 additions and 33 deletions

View File

@ -32,6 +32,11 @@
</properties>
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.5.16</version>
</dependency>
<!-- 邮箱依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>

View File

@ -38,7 +38,8 @@ import java.util.stream.Collectors;
*/
@RestController
@RequestMapping("/user")
public class SysUserController extends BaseController {
public class SysUserController extends BaseController
{
@Autowired
private ISysUserService userService;
@ -62,7 +63,8 @@ public class SysUserController extends BaseController {
*/
@RequiresPermissions("system:user:list")
@GetMapping("/list")
public Result<TableDataInfo> list(SysUser user) {
public Result<TableDataInfo> list(SysUser user)
{
startPage();
List<SysUser> list = userService.selectUserList(user);
return getDataTable(list);
@ -71,7 +73,8 @@ public class SysUserController extends BaseController {
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@RequiresPermissions("system:user:export")
@PostMapping("/export")
public void export(HttpServletResponse response, SysUser user) {
public void export(HttpServletResponse response, SysUser user)
{
List<SysUser> list = userService.selectUserList(user);
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
util.exportExcel(response, list, "用户数据");
@ -80,7 +83,8 @@ public class SysUserController extends BaseController {
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
@RequiresPermissions("system:user:import")
@PostMapping("/importData")
public Result importData(MultipartFile file, boolean updateSupport) throws Exception {
public Result importData(MultipartFile file, boolean updateSupport) throws Exception
{
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
List<SysUser> userList = util.importExcel(file.getInputStream());
String operName = SecurityUtils.getUsername();
@ -89,7 +93,8 @@ public class SysUserController extends BaseController {
}
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) throws IOException {
public void importTemplate(HttpServletResponse response) throws IOException
{
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
util.importTemplateExcel(response, "用户数据");
}
@ -99,9 +104,11 @@ public class SysUserController extends BaseController {
*/
@InnerAuth
@GetMapping("/info/{username}")
public Result<LoginUser> info(@PathVariable("username") String username) {
public Result<LoginUser> info(@PathVariable("username") String username)
{
SysUser sysUser = userService.selectUserByUserName(username);
if (StringUtils.isNull(sysUser)) {
if (StringUtils.isNull(sysUser))
{
return Result.error("用户名或密码错误");
}
// 角色集合
@ -120,12 +127,15 @@ public class SysUserController extends BaseController {
*/
@InnerAuth
@PostMapping("/register")
public Result<Boolean> register(@RequestBody SysUser sysUser) {
public Result<Boolean> register(@RequestBody SysUser sysUser)
{
String username = sysUser.getUserName();
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
{
return Result.error("当前系统没有开启注册功能!");
}
if (!userService.checkUserNameUnique(sysUser)) {
if (!userService.checkUserNameUnique(sysUser))
{
return Result.error("保存用户'" + username + "'失败,注册账号已存在");
}
return Result.success(userService.registerUser(sysUser));
@ -140,7 +150,7 @@ public class SysUserController extends BaseController {
}
//注册
@PostMapping("/register/user")
@PostMapping
public Result<Boolean> registerUser(@RequestBody User user){
String userName = user.getUserName();
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
@ -157,7 +167,8 @@ public class SysUserController extends BaseController {
* @return
*/
@GetMapping("getInfo")
public Result getInfo() {
public Result getInfo()
{
SysUser user = userService.selectUserById(SecurityUtils.getUserId());
// 角色集合
Set<String> roles = permissionService.getRolePermission(user);
@ -176,15 +187,17 @@ public class SysUserController extends BaseController {
*
*/
@RequiresPermissions("system:user:query")
@GetMapping(value = {"/", "/{userId}"})
public Result getInfo(@PathVariable(value = "userId", required = false) Long userId) {
@GetMapping(value = { "/", "/{userId}" })
public Result getInfo(@PathVariable(value = "userId", required = false) Long userId)
{
userService.checkUserDataScope(userId);
Result result = Result.success();
Map<String, Object> map = new LinkedHashMap<>();
List<SysRole> roles = roleService.selectRoleAll();
map.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
map.put("posts", postService.selectPostAll());
if (StringUtils.isNotNull(userId)) {
if (StringUtils.isNotNull(userId))
{
SysUser sysUser = userService.selectUserById(userId);
map.put("susUser", sysUser);
map.put("postIds", postService.selectPostListByUserId(userId));
@ -200,12 +213,18 @@ public class SysUserController extends BaseController {
@RequiresPermissions("system:user:add")
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public Result add(@Validated @RequestBody SysUser user) {
if (!userService.checkUserNameUnique(user)) {
public Result add(@Validated @RequestBody SysUser user)
{
if (!userService.checkUserNameUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
}
else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
{
return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
//获取当前用户
@ -221,14 +240,20 @@ public class SysUserController extends BaseController {
@RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping
public Result edit(@Validated @RequestBody SysUser user) {
public Result edit(@Validated @RequestBody SysUser user)
{
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
if (!userService.checkUserNameUnique(user)) {
if (!userService.checkUserNameUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
}
else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
}
else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
{
return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setUpdateBy(SecurityUtils.getUsername());
@ -241,8 +266,10 @@ public class SysUserController extends BaseController {
@RequiresPermissions("system:user:remove")
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
public Result remove(@PathVariable Long[] userIds) {
if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
public Result remove(@PathVariable Long[] userIds)
{
if (ArrayUtils.contains(userIds, SecurityUtils.getUserId()))
{
return error("当前用户不能删除");
}
return toAjax(userService.deleteUserByIds(userIds));
@ -254,7 +281,8 @@ public class SysUserController extends BaseController {
@RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
public Result resetPwd(@RequestBody SysUser user) {
public Result resetPwd(@RequestBody SysUser user)
{
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@ -268,7 +296,8 @@ public class SysUserController extends BaseController {
@RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public Result changeStatus(@RequestBody SysUser user) {
public Result changeStatus(@RequestBody SysUser user)
{
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
user.setUpdateBy(SecurityUtils.getUsername());
@ -280,7 +309,8 @@ public class SysUserController extends BaseController {
*/
@RequiresPermissions("system:user:query")
@GetMapping("/authRole/{userId}")
public Result authRole(@PathVariable("userId") Long userId) {
public Result authRole(@PathVariable("userId") Long userId)
{
Result result = Result.success();
Map<String, Object> map = new LinkedHashMap<>();
SysUser user = userService.selectUserById(userId);
@ -297,7 +327,8 @@ public class SysUserController extends BaseController {
@RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.GRANT)
@PutMapping("/authRole")
public Result insertAuthRole(Long userId, Long[] roleIds) {
public Result insertAuthRole(Long userId, Long[] roleIds)
{
userService.checkUserDataScope(userId);
userService.insertUserAuth(userId, roleIds);
return success();
@ -308,7 +339,8 @@ public class SysUserController extends BaseController {
*/
@RequiresPermissions("system:user:list")
@GetMapping("/deptTree")
public Result deptTree(SysDept dept) {
public Result deptTree(SysDept dept)
{
return success(deptService.selectDeptTreeList(dept));
}
}

View File

@ -1,7 +1,10 @@
package com.health.system.server.service;
import java.util.List;
import com.health.common.core.domain.Result;
import com.health.system.common.domain.SysUser;
import com.health.system.common.domain.User;
/**
*
@ -203,4 +206,8 @@ public interface ISysUserService
* @return
*/
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
Result getEmailCode(String emailCount);
Boolean registerNewUser(User user);
}

View File

@ -1,6 +1,8 @@
package com.health.system.server.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.health.common.core.constant.UserConstants;
import com.health.common.core.domain.Result;
import com.health.common.core.exception.ServiceException;
import com.health.common.core.utils.SpringUtils;
import com.health.common.core.utils.StringUtils;
@ -11,13 +13,21 @@ import com.health.system.common.domain.*;
import com.health.system.server.mapper.*;
import com.health.system.server.service.ISysConfigService;
import com.health.system.server.service.ISysUserService;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.RandomUtils;
import org.bouncycastle.pqc.math.linearalgebra.RandUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.validation.Validator;
import java.util.ArrayList;
import java.util.List;
@ -33,6 +43,10 @@ public class SysUserServiceImpl implements ISysUserService
{
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Autowired
private JavaMailSender javaMailSender;
@Autowired
private SysUserMapper userMapper;
@ -252,7 +266,7 @@ public class SysUserServiceImpl implements ISysUserService
// 新增用户信息
int rows = userMapper.insertUser(user);
// 新增用户岗位关联
insertUserPost(user);
// insertUserPost(user);
// 新增用户与角色管理
insertUserRole(user);
return rows;
@ -267,6 +281,7 @@ public class SysUserServiceImpl implements ISysUserService
@Override
public boolean registerUser(SysUser user)
{
return userMapper.insertUser(user) > 0;
}
@ -288,7 +303,7 @@ public class SysUserServiceImpl implements ISysUserService
// 删除用户与岗位关联
userPostMapper.deleteUserPostByUserId(userId);
// 新增用户与岗位管理
insertUserPost(user);
// insertUserPost(user);
return userMapper.updateUser(user);
}
@ -375,7 +390,7 @@ public class SysUserServiceImpl implements ISysUserService
*/
public void insertUserRole(SysUser user)
{
this.insertUserRole(user.getUserId(), user.getRoleIds());
this.insertUserRole(user);
}
/**
@ -383,6 +398,11 @@ public class SysUserServiceImpl implements ISysUserService
*
* @param user
*/
// public void insertUserPost(SysUser user){
// Long deptId = user.getDeptId();
// user.getUserId();
// userPostMapper.addUserPost(userId,departmentId);
// }
public void insertUserPost(SysUser user)
{
Long[] posts = user.getPostIds();
@ -535,4 +555,36 @@ public class SysUserServiceImpl implements ISysUserService
return successMsg.toString();
}
@Override
public Boolean registerNewUser(User user) {
Long roleId = user.getRoleId();
//如果roleId==1证明是注册医生
if (roleId==1){
return userMapper.registerNewDoctor(user)>0;
}
//注册患者
if (roleId==2){
return userMapper.registerNewPatient(user)>0;
}
return null;
}
@Override
public Result getEmailCode(String emailCount) {
String emailCode = RandomUtil.randomNumbers(4);
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
mimeMessageHelper.setFrom("371894675@qq.com");
mimeMessageHelper.setTo(emailCount);
mimeMessageHelper.setSubject("邮箱验证码");
mimeMessageHelper.setText("验证码为:"+emailCode);
} catch (MessagingException e) {
throw new RuntimeException(e);
}
redisTemplate.opsForValue().set(emailCount,emailCode);
return Result.success(emailCode,"邮箱验证码发送成功");
}
}