update 重构 修改框架内不正常命名与规范是和否的状态

This commit is contained in:
疯狂的狮子Li
2026-03-19 14:48:15 +08:00
parent b1e18c1b4b
commit 6c2958d54c
43 changed files with 610 additions and 607 deletions

View File

@@ -4,7 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.lock.annotation.Lock4j;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.CacheConstants;
import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.domain.R;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.redis.annotation.RepeatSubmit;
@@ -83,7 +83,7 @@ public class SysLoginInfoController extends BaseController {
@RepeatSubmit()
@GetMapping("/unlock/{userName}")
public R<Void> unlock(@PathVariable("userName") String userName) {
String loginName = CacheConstants.PWD_ERR_CNT_KEY + userName;
String loginName = CacheNames.PWD_ERR_CNT_KEY + userName;
if (RedisUtils.hasKey(loginName)) {
RedisUtils.deleteObject(loginName);
}

View File

@@ -5,7 +5,7 @@ import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.CacheConstants;
import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
@@ -44,7 +44,7 @@ public class SysUserOnlineController extends BaseController {
@GetMapping("/list")
public R<PageResult<SysUserOnline>> list(String ipaddr, String userName) {
// 获取所有未过期的 token
Collection<String> keys = RedisUtils.keys(CacheConstants.ONLINE_TOKEN_KEY + "*");
Collection<String> keys = RedisUtils.keys(CacheNames.ONLINE_TOKEN_KEY + "*");
List<SysUserOnline> userOnlineDTOList = new ArrayList<>();
for (String key : keys) {
String token = StringUtils.substringAfterLast(key, ":");
@@ -52,7 +52,7 @@ public class SysUserOnlineController extends BaseController {
if (StpUtil.stpLogic.getTokenActiveTimeoutByToken(token) < -1) {
continue;
}
userOnlineDTOList.add(RedisUtils.getCacheObject(CacheConstants.ONLINE_TOKEN_KEY + token));
userOnlineDTOList.add(RedisUtils.getCacheObject(CacheNames.ONLINE_TOKEN_KEY + token));
}
if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) {
userOnlineDTOList = StreamUtils.filter(userOnlineDTOList, userOnline ->
@@ -100,7 +100,7 @@ public class SysUserOnlineController extends BaseController {
List<String> tokenIds = StpUtil.getTokenValueListByLoginId(StpUtil.getLoginIdAsString());
List<SysUserOnline> userOnlineDTOList = tokenIds.stream()
.filter(token -> StpUtil.stpLogic.getTokenActiveTimeoutByToken(token) >= -1)
.map(token -> (SysUserOnline) RedisUtils.getCacheObject(CacheConstants.ONLINE_TOKEN_KEY + token))
.map(token -> (SysUserOnline) RedisUtils.getCacheObject(CacheNames.ONLINE_TOKEN_KEY + token))
.collect(Collectors.toList());
//复制和处理 SysUserOnline 对象列表
Collections.reverse(userOnlineDTOList);

View File

@@ -103,7 +103,7 @@ public class SysMenuController extends BaseController {
public R<Void> add(@Validated @RequestBody SysMenuBo menu) {
if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
} else if (SystemConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
} else if (SystemConstants.YES.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
} else if (!menuService.checkRouteConfigUnique(menu)) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败,路由名称或地址已存在");
@@ -122,7 +122,7 @@ public class SysMenuController extends BaseController {
public R<Void> edit(@Validated @RequestBody SysMenuBo menu) {
if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
} else if (SystemConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
} else if (SystemConstants.YES.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
} else if (menu.getMenuId().equals(menu.getParentId())) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");

View File

@@ -73,7 +73,7 @@ public class SysProfileController extends BaseController {
SysUserBo user = BeanUtil.toBean(profile, SysUserBo.class);
user.setUserId(LoginHelper.getUserId());
String username = LoginHelper.getUsername();
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
if (StringUtils.isNotEmpty(user.getPhoneNumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + username + "'失败,手机号码已存在");
}
if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {

View File

@@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StreamUtils;
@@ -16,6 +17,7 @@ import org.dromara.common.encrypt.annotation.ApiEncrypt;
import org.dromara.common.excel.core.ExcelResult;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.redis.annotation.RepeatSubmit;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -157,7 +159,7 @@ public class SysUserController extends BaseController {
deptService.checkDeptDataScope(user.getDeptId());
if (!userService.checkUserNameUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
} else if (StringUtils.isNotEmpty(user.getPhoneNumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
@@ -179,7 +181,7 @@ public class SysUserController extends BaseController {
deptService.checkDeptDataScope(user.getDeptId());
if (!userService.checkUserNameUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
} else if (StringUtils.isNotEmpty(user.getPhoneNumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
@@ -243,6 +245,27 @@ public class SysUserController extends BaseController {
return toAjax(userService.updateUserStatus(user.getUserId(), user.getStatus()));
}
/**
* 解锁用户
*/
@SaCheckPermission("system:user:edit")
@Log(title = "用户解锁", businessType = BusinessType.OTHER)
@RepeatSubmit()
@GetMapping("/unlock/{userId}")
public R<Void> unlock(@PathVariable Long userId) {
userService.checkUserAllowed(userId);
userService.checkUserDataScope(userId);
SysUserVo user = userService.selectUserById(userId);
if (ObjectUtil.isNull(user)) {
return R.fail("用户不存在");
}
String loginName = CacheNames.PWD_ERR_CNT_KEY + user.getUserName();
if (RedisUtils.hasKey(loginName)) {
RedisUtils.deleteObject(loginName);
}
return R.ok();
}
/**
* 根据用户编号获取授权角色
*

View File

@@ -61,12 +61,12 @@ public class SysMenu extends BaseEntity {
private String queryParam;
/**
* 是否为外链(01否)
* 是否为外链(YN否)
*/
private String isFrame;
/**
* 是否缓存(0缓存 1不缓存)
* 是否缓存(Y缓存 N不缓存)
*/
private String isCache;

View File

@@ -55,12 +55,12 @@ public class SysUser extends BaseEntity {
/**
* 手机号码
*/
private String phonenumber;
private String phoneNumber;
/**
* 用户性别
*/
private String sex;
private String gender;
/**
* 用户头像

View File

@@ -72,12 +72,12 @@ public class SysMenuBo implements Serializable {
private String queryParam;
/**
* 是否为外链(01否)
* 是否为外链(YN否)
*/
private String isFrame;
/**
* 是否缓存(0缓存 1不缓存)
* 是否缓存(Y缓存 N不缓存)
*/
private String isCache;

View File

@@ -70,12 +70,12 @@ public class SysUserBo implements Serializable {
/**
* 手机号码
*/
private String phonenumber;
private String phoneNumber;
/**
* 用户性别0男 1女 2未知
*/
private String sex;
private String gender;
/**
* 密码

View File

@@ -48,12 +48,12 @@ public class SysUserProfileBo implements Serializable {
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
@Pattern(regexp = RegexConstants.MOBILE, message = "手机号格式不正确")
private String phonenumber;
private String phoneNumber;
/**
* 用户性别0男 1女 2未知
*/
private String sex;
private String gender;
/**
* 请求参数

View File

@@ -53,12 +53,12 @@ public class ProfileUserVo implements Serializable {
/**
* 手机号码
*/
private String phonenumber;
private String phoneNumber;
/**
* 用户性别0男 1女 2未知
*/
private String sex;
private String gender;
/**
* 头像地址

View File

@@ -59,12 +59,12 @@ public class SysMenuVo implements Serializable {
private String queryParam;
/**
* 是否为外链(01否)
* 是否为外链(YN否)
*/
private String isFrame;
/**
* 是否缓存(0缓存 1不缓存)
* 是否缓存(Y缓存 N不缓存)
*/
private String isCache;

View File

@@ -51,14 +51,14 @@ public class SysUserExportVo implements Serializable {
* 手机号码
*/
@ExcelProperty(value = "手机号码")
private String phonenumber;
private String phoneNumber;
/**
* 用户性别
*/
@ExcelProperty(value = "用户性别", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "sys_user_sex")
private String sex;
@ExcelDictFormat(dictType = "sys_user_gender")
private String gender;
/**
* 账号状态0正常 1停用

View File

@@ -58,14 +58,14 @@ public class SysUserImportVo implements Serializable {
* 手机号码
*/
@ExcelProperty(value = "手机号码")
private String phonenumber;
private String phoneNumber;
/**
* 用户性别
*/
@ExcelProperty(value = "用户性别", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "sys_user_sex")
private String sex;
@ExcelDictFormat(dictType = "sys_user_gender")
private String gender;
/**
* 账号状态0正常 1停用

View File

@@ -63,12 +63,12 @@ public class SysUserVo implements Serializable {
* 手机号码
*/
@Sensitive(strategy = SensitiveStrategy.PHONE, perms = "system:user:edit")
private String phonenumber;
private String phoneNumber;
/**
* 用户性别0男 1女 2未知
*/
private String sex;
private String gender;
/**
* 头像地址

View File

@@ -102,7 +102,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
*/
@Override
public LoginUser getUserInfoByPhonenumber(String phonenumber) throws UserException {
SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phonenumber));
SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhoneNumber, phonenumber));
if (ObjectUtil.isNull(sysUser)) {
throw new UserException("user.not.exists", phonenumber);
}
@@ -301,7 +301,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
List<SysUserVo> list = userMapper.selectVoList(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getUserId, SysUser::getDeptId, SysUser::getUserName,
SysUser::getNickName, SysUser::getUserType, SysUser::getEmail,
SysUser::getPhonenumber, SysUser::getSex, SysUser::getStatus,
SysUser::getPhoneNumber, SysUser::getGender, SysUser::getStatus,
SysUser::getCreateTime)
.eq(SysUser::getStatus, SystemConstants.NORMAL)
.in(SysUser::getUserId, userIds));
@@ -356,7 +356,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
return List.of();
}
List<SysUserVo> list = userMapper.selectVoList(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhonenumber)
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhoneNumber)
.eq(SysUser::getStatus, SystemConstants.NORMAL)
.in(SysUser::getDeptId, deptIds));
return BeanUtil.copyToList(list, RemoteUserVo.class);

View File

@@ -79,7 +79,7 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
.like(StringUtils.isNotBlank(user.getUserName()), "u", SysUser::getUserName, user.getUserName())
.like(StringUtils.isNotBlank(user.getNickName()), "u", SysUser::getNickName, user.getNickName())
.eq(StringUtils.isNotBlank(user.getStatus()), "u", SysUser::getStatus, user.getStatus())
.like(StringUtils.isNotBlank(user.getPhonenumber()), "u", SysUser::getPhonenumber, user.getPhonenumber())
.like(StringUtils.isNotBlank(user.getPhoneNumber()), "u", SysUser::getPhoneNumber, user.getPhoneNumber())
.between(user.getParams().get("beginTime") != null && user.getParams().get("endTime") != null,
"u", SysUser::getCreateTime, user.getParams().get("beginTime"), user.getParams().get("endTime"))
.in(deptIds != null && !deptIds.isEmpty(), "u", SysUser::getDeptId, deptIds)
@@ -173,7 +173,7 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
.eq("u", SysUser::getDelFlag, SystemConstants.NORMAL)
.like(StringUtils.isNotBlank(user.getUserName()), "u", SysUser::getUserName, user.getUserName())
.eq(StringUtils.isNotBlank(user.getStatus()), "u", SysUser::getStatus, user.getStatus())
.like(StringUtils.isNotBlank(user.getPhonenumber()), "u", SysUser::getPhonenumber, user.getPhonenumber());
.like(StringUtils.isNotBlank(user.getPhoneNumber()), "u", SysUser::getPhoneNumber, user.getPhoneNumber());
}
}

View File

@@ -169,7 +169,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
router.setPath(menu.getRouterPath());
router.setComponent(menu.getComponentInfo());
router.setQuery(menu.getQueryParam());
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getRemark()));
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals(SystemConstants.NO, menu.getIsCache()), menu.getPath(), menu.getRemark()));
List<SysMenu> cMenus = menu.getChildren();
if (CollUtil.isNotEmpty(cMenus) && SystemConstants.TYPE_DIR.equals(menu.getMenuType())) {
router.setAlwaysShow(true);
@@ -183,7 +183,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
children.setPath(menu.getPath());
children.setComponent(menu.getComponent());
children.setName(frameName);
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath(), menu.getRemark()));
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals(SystemConstants.NO, menu.getIsCache()), menu.getPath(), menu.getRemark()));
children.setQuery(menu.getQueryParam());
childrenList.add(children);
router.setChildren(childrenList);

View File

@@ -82,7 +82,7 @@ public class SysUserServiceImpl implements ISysUserService {
.like(StringUtils.isNotBlank(user.getUserName()), SysUser::getUserName, user.getUserName())
.like(StringUtils.isNotBlank(user.getNickName()), SysUser::getNickName, user.getNickName())
.eq(StringUtils.isNotBlank(user.getStatus()), SysUser::getStatus, user.getStatus())
.like(StringUtils.isNotBlank(user.getPhonenumber()), SysUser::getPhonenumber, user.getPhonenumber())
.like(StringUtils.isNotBlank(user.getPhoneNumber()), SysUser::getPhoneNumber, user.getPhoneNumber())
.between(params.get("beginTime") != null && params.get("endTime") != null,
SysUser::getCreateTime, params.get("beginTime"), params.get("endTime"))
.and(ObjectUtil.isNotNull(user.getDeptId()), w -> {
@@ -139,7 +139,7 @@ public class SysUserServiceImpl implements ISysUserService {
*/
@Override
public SysUserVo selectUserByPhonenumber(String phonenumber) {
return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phonenumber));
return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhoneNumber, phonenumber));
}
/**
@@ -168,7 +168,8 @@ public class SysUserServiceImpl implements ISysUserService {
@Override
public List<SysUserVo> selectUserByIds(List<Long> userIds, Long deptId) {
return baseMapper.selectUserList(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhonenumber) .eq(SysUser::getStatus, SystemConstants.NORMAL)
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhoneNumber)
.eq(SysUser::getStatus, SystemConstants.NORMAL)
.eq(ObjectUtil.isNotNull(deptId), SysUser::getDeptId, deptId)
.in(CollUtil.isNotEmpty(userIds), SysUser::getUserId, userIds));
}
@@ -225,7 +226,7 @@ public class SysUserServiceImpl implements ISysUserService {
@Override
public boolean checkPhoneUnique(SysUserBo user) {
boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
.eq(SysUser::getPhonenumber, user.getPhonenumber())
.eq(SysUser::getPhoneNumber, user.getPhoneNumber())
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
return !exist;
}
@@ -369,9 +370,9 @@ public class SysUserServiceImpl implements ISysUserService {
return baseMapper.update(null,
new LambdaUpdateWrapper<SysUser>()
.set(ObjectUtil.isNotNull(user.getNickName()), SysUser::getNickName, user.getNickName())
.set(SysUser::getPhonenumber, user.getPhonenumber())
.set(SysUser::getPhoneNumber, user.getPhoneNumber())
.set(SysUser::getEmail, user.getEmail())
.set(SysUser::getSex, user.getSex())
.set(SysUser::getGender, user.getGender())
.eq(SysUser::getUserId, user.getUserId()));
}
@@ -611,8 +612,8 @@ public class SysUserServiceImpl implements ISysUserService {
@Override
public String selectPhonenumberById(Long userId) {
SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getPhonenumber).eq(SysUser::getUserId, userId));
return ObjectUtils.notNullGetter(sysUser, SysUser::getPhonenumber);
.select(SysUser::getPhoneNumber).eq(SysUser::getUserId, userId));
return ObjectUtils.notNullGetter(sysUser, SysUser::getPhoneNumber);
}
/**