吉安感知网项目-后端
linwei
2026-06-16 474aabc5d2b4d6ccdd0d141ed06be87eb7559939
feat(user): 添加用户注册时不设置密码的功能

- 在ExternalController中修改用户提交逻辑,使用submitNotPassword方法替代submit方法
- 新增main方法用于密码加密测试功能
- 在IUserService接口中定义submitNotPassword方法
- 在UserServiceImpl中实现submitNotPassword方法,包含租户ID设置、用户账户重复性检查等逻辑
- 添加事务注解确保数据操作的一致性
3 files modified
28 ■■■■■ changed files
drone-service/drone-system/src/main/java/org/sxkj/system/controller/ExternalController.java 7 ●●●● patch | view | raw | blame | history
drone-service/drone-system/src/main/java/org/sxkj/system/service/IUserService.java 7 ●●●●● patch | view | raw | blame | history
drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/UserServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
drone-service/drone-system/src/main/java/org/sxkj/system/controller/ExternalController.java
@@ -161,11 +161,16 @@
            user.setDeptId(StringUtil.isBlank(user.getDeptId()) ? String.valueOf(dept.getId()) : user.getDeptId());
            user.setRoleId(StringUtil.isBlank(user.getRoleId()) ? "2011678430358691842" : user.getRoleId());
            user.setCreateTime(new Date());
            isRet = userService.submit(user);
            isRet = userService.submitNotPassword(user);
            bladeLogger.info("用户信息新增", user.toString());
        }
        return R.status(isRet);
    }
    public static void main(String[] args) {
        String encrypt = DigestUtil.encrypt("jadk@2026");
        System.out.println(encrypt);
    }
}
drone-service/drone-system/src/main/java/org/sxkj/system/service/IUserService.java
@@ -45,6 +45,13 @@
     * @return
     */
    boolean submit(User user);
    /**
     * 新增用户
     *
     * @param user
     * @return
     */
    boolean submitNotPassword(User user);
    /**
     * 修改用户
drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/UserServiceImpl.java
@@ -109,6 +109,20 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean submitNotPassword(User user) {
        if (StringUtil.isBlank(user.getTenantId())) {
            user.setTenantId(BladeConstant.ADMIN_TENANT_ID);
        }
        String tenantId = user.getTenantId();
        Long userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId).eq(User::getAccount, user.getAccount()));
        if (userCount > 0L && Func.isEmpty(user.getId())) {
            throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
        }
        return save(user) && submitUserDept(user);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateUser(User user) {
        Long deptId = Long.valueOf(user.getDeptId());
        // 推荐写法:类型安全,自动处理参数绑定