Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
|
13ca181385 | |
|
861ac637cc |
|
@ -1,5 +1,6 @@
|
||||||
package com.muyu.system.controller;
|
package com.muyu.system.controller;
|
||||||
|
|
||||||
|
import com.muyu.common.core.constant.CacheConstants;
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.muyu.common.core.utils.StringUtils;
|
import com.muyu.common.core.utils.StringUtils;
|
||||||
import com.muyu.common.core.utils.poi.ExcelUtil;
|
import com.muyu.common.core.utils.poi.ExcelUtil;
|
||||||
|
@ -7,13 +8,16 @@ import com.muyu.common.core.web.controller.BaseController;
|
||||||
import com.muyu.common.core.web.page.TableDataInfo;
|
import com.muyu.common.core.web.page.TableDataInfo;
|
||||||
import com.muyu.common.log.annotation.Log;
|
import com.muyu.common.log.annotation.Log;
|
||||||
import com.muyu.common.log.enums.BusinessType;
|
import com.muyu.common.log.enums.BusinessType;
|
||||||
|
import com.muyu.common.redis.service.RedisService;
|
||||||
import com.muyu.common.security.annotation.InnerAuth;
|
import com.muyu.common.security.annotation.InnerAuth;
|
||||||
import com.muyu.common.security.annotation.RequiresPermissions;
|
import com.muyu.common.security.annotation.RequiresPermissions;
|
||||||
|
import com.muyu.common.security.service.TokenService;
|
||||||
import com.muyu.common.security.utils.SecurityUtils;
|
import com.muyu.common.security.utils.SecurityUtils;
|
||||||
import com.muyu.common.system.domain.SysDept;
|
import com.muyu.common.system.domain.SysDept;
|
||||||
import com.muyu.common.system.domain.SysRole;
|
import com.muyu.common.system.domain.SysRole;
|
||||||
import com.muyu.common.system.domain.SysUser;
|
import com.muyu.common.system.domain.SysUser;
|
||||||
import com.muyu.common.system.domain.LoginUser;
|
import com.muyu.common.system.domain.LoginUser;
|
||||||
|
import com.muyu.system.domain.SysUserOnline;
|
||||||
import com.muyu.system.domain.resp.AuthRoleResp;
|
import com.muyu.system.domain.resp.AuthRoleResp;
|
||||||
import com.muyu.system.domain.resp.UserDetailInfoResp;
|
import com.muyu.system.domain.resp.UserDetailInfoResp;
|
||||||
import com.muyu.system.domain.resp.UserInfoResp;
|
import com.muyu.system.domain.resp.UserInfoResp;
|
||||||
|
@ -26,8 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,6 +41,8 @@ import java.util.stream.Collectors;
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/user")
|
@RequestMapping("/user")
|
||||||
public class SysUserController extends BaseController {
|
public class SysUserController extends BaseController {
|
||||||
|
@Autowired
|
||||||
|
private SysUserOnlineService userOnlineService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysUserService userService;
|
private SysUserService userService;
|
||||||
|
|
||||||
|
@ -55,7 +60,8 @@ public class SysUserController extends BaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysConfigService configService;
|
private SysConfigService configService;
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
/**
|
/**
|
||||||
* 获取用户列表
|
* 获取用户列表
|
||||||
*/
|
*/
|
||||||
|
@ -99,10 +105,24 @@ 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);
|
String regular = "^" +
|
||||||
if (StringUtils.isNull(sysUser)) {
|
"(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@" +
|
||||||
return Result.error("用户名或密码错误");
|
"((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|" +
|
||||||
|
"(([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}))" +
|
||||||
|
"$";
|
||||||
|
SysUser sysUser=null;
|
||||||
|
if (username.matches(regular)) {
|
||||||
|
sysUser = userService.selectUserByEmail(username);
|
||||||
|
if (StringUtils.isNull(sysUser)) {
|
||||||
|
return Result.error("邮箱或密码错误");
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
sysUser = userService.selectUserByUserName(username);
|
||||||
|
if (StringUtils.isNull(sysUser)) {
|
||||||
|
return Result.error("用户名或密码错误");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 角色集合
|
// 角色集合
|
||||||
Set<String> roles = permissionService.getRolePermission(sysUser);
|
Set<String> roles = permissionService.getRolePermission(sysUser);
|
||||||
// 权限集合
|
// 权限集合
|
||||||
|
@ -234,7 +254,23 @@ public class SysUserController extends BaseController {
|
||||||
@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);
|
//获取缓存列表
|
||||||
|
Collection<String> keys = redisService.keys(CacheConstants.LOGIN_TOKEN_KEY + "*");
|
||||||
|
|
||||||
|
//循环获得的缓存列表
|
||||||
|
for (String key : keys) {
|
||||||
|
//获取用户的信息
|
||||||
|
LoginUser userRedis = redisService.getCacheObject(key);
|
||||||
|
//根据用户id判断是否修改了密码
|
||||||
|
if (user.getUserId()!=null && user.getUserId()!=0L) {
|
||||||
|
|
||||||
|
if (user.getUserId()==userRedis.getUserid()){
|
||||||
|
//修改了就删除
|
||||||
|
redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + userRedis.getToken());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
userService.checkUserDataScope(user.getUserId());
|
userService.checkUserDataScope(user.getUserId());
|
||||||
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
|
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
|
||||||
user.setUpdateBy(SecurityUtils.getUsername());
|
user.setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
|
|
@ -139,4 +139,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public SysUser checkEmailUnique (String email);
|
public SysUser checkEmailUnique (String email);
|
||||||
|
|
||||||
|
SysUser selectUserByEmail(String username);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,8 @@ public interface SysUserOnlineService {
|
||||||
*/
|
*/
|
||||||
public SysUserOnline selectOnlineByUserName (String userName, LoginUser user);
|
public SysUserOnline selectOnlineByUserName (String userName, LoginUser user);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过登录地址/用户名称查询信息
|
* 通过登录地址/用户名称查询信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -225,4 +225,6 @@ public interface SysUserService extends IService<SysUser> {
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName);
|
public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName);
|
||||||
|
|
||||||
|
SysUser selectUserByEmail(String username);
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ public class SysUserOnlineServiceImpl implements SysUserOnlineService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过登录地址/用户名称查询信息
|
* 通过登录地址/用户名称查询信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -500,4 +500,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
return successMsg.toString();
|
return successMsg.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SysUser selectUserByEmail(String username) {
|
||||||
|
|
||||||
|
return userMapper.selectUserByEmail(username);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,6 +183,10 @@
|
||||||
and del_flag = '0'
|
and del_flag = '0'
|
||||||
limit 1
|
limit 1
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectUserByEmail" resultType="com.muyu.common.system.domain.SysUser">
|
||||||
|
<include refid="selectUserVo"/>
|
||||||
|
where u.email = #{username} and u.del_flag = '0'
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
|
<insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||||
insert into sys_user(
|
insert into sys_user(
|
||||||
|
|
Loading…
Reference in New Issue