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> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.5.16</version>
</dependency>
<!-- 邮箱依赖 --> <!-- 邮箱依赖 -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>

View File

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

View File

@ -1,7 +1,10 @@
package com.health.system.server.service; package com.health.system.server.service;
import java.util.List; import java.util.List;
import com.health.common.core.domain.Result;
import com.health.system.common.domain.SysUser; import com.health.system.common.domain.SysUser;
import com.health.system.common.domain.User;
/** /**
* *
@ -203,4 +206,8 @@ public interface ISysUserService
* @return * @return
*/ */
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName); 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; 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.constant.UserConstants;
import com.health.common.core.domain.Result;
import com.health.common.core.exception.ServiceException; import com.health.common.core.exception.ServiceException;
import com.health.common.core.utils.SpringUtils; import com.health.common.core.utils.SpringUtils;
import com.health.common.core.utils.StringUtils; 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.mapper.*;
import com.health.system.server.service.ISysConfigService; import com.health.system.server.service.ISysConfigService;
import com.health.system.server.service.ISysUserService; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.validation.Validator; import javax.validation.Validator;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -33,6 +43,10 @@ public class SysUserServiceImpl implements ISysUserService
{ {
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Autowired
private JavaMailSender javaMailSender;
@Autowired @Autowired
private SysUserMapper userMapper; private SysUserMapper userMapper;
@ -252,7 +266,7 @@ public class SysUserServiceImpl implements ISysUserService
// 新增用户信息 // 新增用户信息
int rows = userMapper.insertUser(user); int rows = userMapper.insertUser(user);
// 新增用户岗位关联 // 新增用户岗位关联
insertUserPost(user); // insertUserPost(user);
// 新增用户与角色管理 // 新增用户与角色管理
insertUserRole(user); insertUserRole(user);
return rows; return rows;
@ -267,6 +281,7 @@ public class SysUserServiceImpl implements ISysUserService
@Override @Override
public boolean registerUser(SysUser user) public boolean registerUser(SysUser user)
{ {
return userMapper.insertUser(user) > 0; return userMapper.insertUser(user) > 0;
} }
@ -288,7 +303,7 @@ public class SysUserServiceImpl implements ISysUserService
// 删除用户与岗位关联 // 删除用户与岗位关联
userPostMapper.deleteUserPostByUserId(userId); userPostMapper.deleteUserPostByUserId(userId);
// 新增用户与岗位管理 // 新增用户与岗位管理
insertUserPost(user); // insertUserPost(user);
return userMapper.updateUser(user); return userMapper.updateUser(user);
} }
@ -375,7 +390,7 @@ public class SysUserServiceImpl implements ISysUserService
*/ */
public void insertUserRole(SysUser user) 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 * @param user
*/ */
// public void insertUserPost(SysUser user){
// Long deptId = user.getDeptId();
// user.getUserId();
// userPostMapper.addUserPost(userId,departmentId);
// }
public void insertUserPost(SysUser user) public void insertUserPost(SysUser user)
{ {
Long[] posts = user.getPostIds(); Long[] posts = user.getPostIds();
@ -535,4 +555,36 @@ public class SysUserServiceImpl implements ISysUserService
return successMsg.toString(); 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,"邮箱验证码发送成功");
}
} }