Browse Source

集成客户端管理,登录校验客户端

Gaokun Wang 1 month ago
parent
commit
4787a970b4
18 changed files with 413 additions and 39 deletions
  1. 4 0
      eco-common/com-core/src/main/java/org/eco/vip/orm/pojo/LoginUser.java
  2. 0 1
      eco-common/com-security/src/main/java/org/eco/vip/security/utils/LoginHelper.java
  3. 25 1
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/controller/auth/AuthController.java
  4. 59 0
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/controller/client/ClientController.java
  5. 0 5
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/auth/pojo/AuthQuery.java
  6. 47 1
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/client/Client.java
  7. 56 0
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/client/pojo/ClientBO.java
  8. 64 0
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/client/pojo/ClientVO.java
  9. 21 0
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/mapper/ClientMapper.java
  10. 3 2
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/AuthService.java
  11. 2 1
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/IAuthService.java
  12. 4 3
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/IAuthStrategy.java
  13. 21 17
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/PasswordAuthStrategy.java
  14. 50 1
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/client/ClientService.java
  15. 52 1
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/client/IClientService.java
  16. 2 2
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/org/IOrgService.java
  17. 3 3
      eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/org/OrgService.java
  18. 0 1
      eco-start/src/main/resources/db/mysql/V1_0_0_1__sys-init-ddl.sql

+ 4 - 0
eco-common/com-core/src/main/java/org/eco/vip/orm/pojo/LoginUser.java

@@ -6,6 +6,8 @@
 package org.eco.vip.orm.pojo;
 
 
+import lombok.AllArgsConstructor;
+import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.eco.vip.orm.pojo.dto.RoleDTO;
@@ -22,6 +24,8 @@ import java.util.Set;
  */
 @Data
 @NoArgsConstructor
+@AllArgsConstructor
+@Builder
 public class LoginUser implements Serializable {
 
     /**

+ 0 - 1
eco-common/com-security/src/main/java/org/eco/vip/security/utils/LoginHelper.java

@@ -54,7 +54,6 @@ public class LoginHelper {
                         .setExtra(USER_NAME_KEY, loginUser.getUserName())
                         .setExtra(USER_ACCOUNT_KEY, loginUser.getAccount())
                         .setExtra(ORG_KEY, loginUser.getOrgId())
-                        .setExtra(ORG_NAME_KEY, loginUser.getOrgName())
         );
         StpUtil.getTokenSession().set(LOGIN_USER_KEY, loginUser);
     }

+ 25 - 1
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/controller/auth/AuthController.java

@@ -7,11 +7,18 @@ package org.eco.vip.auth.controller.auth;
 
 
 import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
 import org.eco.vip.auth.domain.auth.pojo.AuthQuery;
 import org.eco.vip.auth.domain.auth.pojo.AuthVO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
 import org.eco.vip.auth.service.auth.IAuthService;
+import org.eco.vip.auth.service.client.IClientService;
+import org.eco.vip.orm.constant.Constants;
+import org.eco.vip.orm.exception.BusinessException;
 import org.eco.vip.orm.pojo.CommonResult;
 import org.eco.vip.orm.utils.JsonUtils;
+import org.eco.vip.orm.utils.ObjUtils;
+import org.eco.vip.orm.utils.StrUtils;
 import org.eco.vip.orm.utils.ValidatorUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -19,6 +26,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import static org.eco.vip.orm.pojo.CommonResult.fail;
 import static org.eco.vip.orm.pojo.CommonResult.success;
 
 /**
@@ -30,16 +38,32 @@ import static org.eco.vip.orm.pojo.CommonResult.success;
 @RestController
 @RequestMapping("/auth")
 @Validated
+@Slf4j
 public class AuthController {
 
     @Resource
     private IAuthService adminAuthService;
 
+    @Resource
+    private IClientService clientService;
+
     @PostMapping("/login")
     public CommonResult<AuthVO> login(@RequestBody String body) {
         AuthQuery authQueryBody = JsonUtils.parseObject(body, AuthQuery.class);
         // 校验参数
         ValidatorUtils.validate(authQueryBody);
-        return success(adminAuthService.login(authQueryBody));
+        if (ObjUtils.isNull(authQueryBody)) {
+            throw new BusinessException("登录参数不能为空!");
+        }
+        String clientId = authQueryBody.getClientId();
+        String grantType = authQueryBody.getGrantType();
+        ClientVO clientVO = clientService.selectById(clientId);
+        if (ObjUtils.isNull(clientVO) || !StrUtils.contains(clientVO.getGrantType(), grantType)) {
+            log.info("客户端id: {} 认证类型:{} 异常!.", clientId, grantType);
+            return fail("客户端id: {} 认证类型:{} 异常!.", clientId, grantType);
+        } else if (Constants.DISABLE.equals(clientVO.getStatus())) {
+            return fail("客户端已停用");
+        }
+        return success(adminAuthService.login(authQueryBody, clientVO, grantType));
     }
 }

+ 59 - 0
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/controller/client/ClientController.java

@@ -6,11 +6,70 @@
 package org.eco.vip.auth.controller.client;
 
 
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import org.eco.vip.auth.domain.client.pojo.ClientBO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
+import org.eco.vip.auth.service.client.IClientService;
+import org.eco.vip.orm.pojo.CommonResult;
+import org.eco.vip.orm.pojo.PageResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+import static org.eco.vip.orm.pojo.CommonResult.fail;
+import static org.eco.vip.orm.pojo.CommonResult.success;
+
 /**
  * @description ClientController
  *
  * @author GaoKunW
  * @date 2025/7/3 16:45
  */
+@RestController
+@RequestMapping("/system/client")
+@Validated
 public class ClientController {
+    @Resource
+    private IClientService clientService;
+
+    @GetMapping("/page")
+    public CommonResult<PageResult<ClientVO>> page(ClientBO clientBO) {
+        return success(clientService.selectPage(clientBO));
+    }
+
+    @GetMapping("/list")
+    public CommonResult<List<ClientVO>> list(ClientBO clientBO) {
+        return success(clientService.selectList(clientBO));
+    }
+
+    @PostMapping("/add")
+    public CommonResult<String> add(@RequestBody @Valid ClientBO clientBO) {
+        boolean result = clientService.insert(clientBO);
+        if (!result) {
+            return fail("新增客户端失败!");
+        }
+        return success();
+    }
+
+    @DeleteMapping("/edit")
+    public CommonResult<String> edit(@RequestBody @Valid ClientBO clientBO) {
+        return success();
+    }
+
+    @PostMapping("/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空") List<String> ids) {
+        boolean result = clientService.delete(ids);
+        if (!result) {
+            return fail("删除组织失败!");
+        }
+        return success();
+    }
 }

+ 0 - 5
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/auth/pojo/AuthQuery.java

@@ -64,9 +64,4 @@ public class AuthQuery {
      * 验证码
      */
     private String code;
-
-    /**
-     * 唯一标识
-     */
-    private String uuid;
 }

+ 47 - 1
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/client/Client.java

@@ -6,11 +6,57 @@
 package org.eco.vip.auth.domain.client;
 
 
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.vip.orm.domain.BaseEntity;
+
 /**
  * @description Client
  *
  * @author GaoKunW
  * @date 2025/7/3 16:45
  */
-public class Client {
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Table("system_client_t")
+public class Client extends BaseEntity {
+
+    /**
+     * 唯一标识
+     */
+    @Id
+    private String clientId;
+
+    /**
+     * 客户端key
+     */
+    private String clientKey;
+
+    /**
+     * 客户端秘钥
+     */
+    private String clientSecret;
+
+
+    /**
+     * 授权类型
+     */
+    private String grantType;
+
+    /**
+     * 设备类型
+     */
+    private String deviceType;
+
+    /**
+     * token活跃超时时间
+     */
+    private Integer activeTimeout;
+
+    /**
+     * token固定超时
+     */
+    private Integer timeout;
 }

+ 56 - 0
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/client/pojo/ClientBO.java

@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.auth.domain.client.pojo;
+
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.vip.auth.domain.client.Client;
+import org.eco.vip.orm.domain.BaseBO;
+
+/**
+ * @description ClientBO
+ *
+ * @author GaoKunW
+ * @date 2025/7/3 16:54
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Client.class, reverseConvertGenerate = false)
+public class ClientBO extends BaseBO {
+
+    /**
+     * 客户端key
+     */
+    private String clientKey;
+
+    /**
+     * 客户端秘钥
+     */
+    private String clientSecret;
+
+
+    /**
+     * 授权类型
+     */
+    private String grantType;
+
+    /**
+     * 设备类型
+     */
+    private String deviceType;
+
+    /**
+     * token活跃超时时间
+     */
+    private Integer activeTimeout;
+
+    /**
+     * token固定超时
+     */
+    private Integer timeout;
+}

+ 64 - 0
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/client/pojo/ClientVO.java

@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.auth.domain.client.pojo;
+
+
+import com.mybatisflex.annotation.Id;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.vip.auth.domain.client.Client;
+import org.eco.vip.orm.domain.BaseEntity;
+
+/**
+ * @description ClientVO
+ *
+ * @author GaoKunW
+ * @date 2025/7/3 16:54
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = Client.class, reverseConvertGenerate = false)
+public class ClientVO extends BaseEntity {
+
+    /**
+     * 唯一标识
+     */
+    @Id
+    private String clientId;
+
+    /**
+     * 客户端key
+     */
+    private String clientKey;
+
+    /**
+     * 客户端秘钥
+     */
+    private String clientSecret;
+
+
+    /**
+     * 授权类型
+     */
+    private String grantType;
+
+    /**
+     * 设备类型
+     */
+    private String deviceType;
+
+    /**
+     * token活跃超时时间
+     */
+    private Integer activeTimeout;
+
+    /**
+     * token固定超时
+     */
+    private Integer timeout;
+}

+ 21 - 0
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/mapper/ClientMapper.java

@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.auth.mapper;
+
+
+import com.mybatisflex.core.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.eco.vip.auth.domain.client.Client;
+
+/**
+ * @description OrgMapper
+ *
+ * @author GaoKunW
+ * @date 2025/7/03
+ */
+@Mapper
+public interface ClientMapper extends BaseMapper<Client> {
+}

+ 3 - 2
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/AuthService.java

@@ -8,6 +8,7 @@ package org.eco.vip.auth.service.auth;
 
 import org.eco.vip.auth.domain.auth.pojo.AuthQuery;
 import org.eco.vip.auth.domain.auth.pojo.AuthVO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
 import org.springframework.stereotype.Service;
 
 /**
@@ -19,8 +20,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class AuthService implements IAuthService {
     @Override
-    public AuthVO login(AuthQuery authQuery) {
-        return IAuthStrategy.login(authQuery, "password");
+    public AuthVO login(AuthQuery authQuery, ClientVO clientVO, String grantType) {
+        return IAuthStrategy.login(authQuery, clientVO, grantType);
     }
 
 }

+ 2 - 1
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/IAuthService.java

@@ -9,6 +9,7 @@ package org.eco.vip.auth.service.auth;
 import jakarta.validation.Valid;
 import org.eco.vip.auth.domain.auth.pojo.AuthQuery;
 import org.eco.vip.auth.domain.auth.pojo.AuthVO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
 
 /**
  * @description IAuthService
@@ -18,5 +19,5 @@ import org.eco.vip.auth.domain.auth.pojo.AuthVO;
  */
 public interface IAuthService {
 
-    AuthVO login(@Valid AuthQuery authQuery);
+    AuthVO login(@Valid AuthQuery authQuery, ClientVO clientVO, String grantType);
 }

+ 4 - 3
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/IAuthStrategy.java

@@ -8,6 +8,7 @@ package org.eco.vip.auth.service.auth;
 
 import org.eco.vip.auth.domain.auth.pojo.AuthQuery;
 import org.eco.vip.auth.domain.auth.pojo.AuthVO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
 import org.eco.vip.orm.exception.BusinessException;
 import org.eco.vip.orm.utils.SpringUtils;
 
@@ -27,14 +28,14 @@ public interface IAuthStrategy {
      * @param grantType 授权类型
      * @return 登录验证信息
      */
-    static AuthVO login(AuthQuery authQuery, String grantType) {
+    static AuthVO login(AuthQuery authQuery, ClientVO clientVO, String grantType) {
         // 授权类型和客户端id
         String beanName = grantType + BASE_NAME;
         if (!SpringUtils.containsBean(beanName)) {
             throw new BusinessException("无效授权类型!");
         }
         IAuthStrategy instance = SpringUtils.getBean(beanName);
-        return instance.login(authQuery);
+        return instance.login(authQuery, clientVO);
     }
 
     /**
@@ -43,5 +44,5 @@ public interface IAuthStrategy {
      * @param authQuery   登录对象
      * @return 登录验证信息
      */
-    AuthVO login(AuthQuery authQuery);
+    AuthVO login(AuthQuery authQuery, ClientVO clientVO);
 }

+ 21 - 17
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/auth/PasswordAuthStrategy.java

@@ -13,6 +13,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.eco.vip.auth.domain.auth.pojo.AuthQuery;
 import org.eco.vip.auth.domain.auth.pojo.AuthVO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
 import org.eco.vip.auth.domain.user.pojo.UserVO;
 import org.eco.vip.auth.service.user.IUserService;
 import org.eco.vip.orm.enums.UserStatus;
@@ -37,36 +38,39 @@ public class PasswordAuthStrategy implements IAuthStrategy {
     @Resource
     IUserService userService;
     @Override
-    public AuthVO login(AuthQuery authQuery) {
+    public AuthVO login(AuthQuery authQuery, ClientVO clientVO) {
         String tenantId = authQuery.getTenantId();
         String account = authQuery.getAccount();
         String password = authQuery.getPassword();
+        // 不做验证码校验
         String code = authQuery.getCode();
-        String uuid = authQuery.getUuid();
 
-        UserVO userVO = getUserByAccount(tenantId, account);
+        UserVO userVO = buildUserVO(tenantId, account);
 
-        LoginUser loginUser = new LoginUser();
-        loginUser.setUserId("sdsd");
-        loginUser.setUserType("pc");
-        SaLoginParameter loginParameter = createLoginModel();
+        // 构建登录信息
+        LoginUser loginUser = LoginUser.builder()
+                .userId(userVO.getUserId())
+                .userType(userVO.getUserType())
+                .deviceType(clientVO.getDeviceType())
+                .clientKey(clientVO.getClientKey())
+                .orgId(userVO.getOrgId())
+                .build();
+
+        SaLoginParameter loginParameter = createLoginModel(clientVO);
         LoginHelper.login(loginUser, loginParameter);
-        AuthVO authVO = new AuthVO();
-        authVO.setAccessToken(StpUtil.getTokenValue());
-        authVO.setExpireIn(StpUtil.getTokenTimeout());
-        return authVO;
+        return AuthVO.builder().accessToken(StpUtil.getTokenValue()).expireIn(StpUtil.getTokenTimeout()).build();
     }
 
-    private static SaLoginParameter createLoginModel() {
+    private static SaLoginParameter createLoginModel(ClientVO clientVO) {
         SaLoginParameter loginParameter = new SaLoginParameter();
-        loginParameter.setDeviceType("pc");
-        loginParameter.setTimeout(10);
-        loginParameter.setActiveTimeout(30);
-        loginParameter.setExtra(LoginHelper.CLIENT_KEY, "");
+        loginParameter.setDeviceType(clientVO.getDeviceType());
+        loginParameter.setTimeout(clientVO.getTimeout());
+        loginParameter.setActiveTimeout(clientVO.getActiveTimeout());
+        loginParameter.setExtra(LoginHelper.CLIENT_KEY, clientVO.getClientKey());
         return loginParameter;
     }
 
-    private UserVO getUserByAccount(String tenantId, String account) {
+    private UserVO buildUserVO(String tenantId, String account) {
         UserVO userVO = userService.selectTenantUserByUserName(tenantId, account);
         if (ObjUtils.isNull(userVO)) {
             log.info("登录账号:{} 不存在.", account);

+ 50 - 1
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/client/ClientService.java

@@ -6,11 +6,60 @@
 package org.eco.vip.auth.service.client;
 
 
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.eco.vip.auth.domain.client.Client;
+import org.eco.vip.auth.domain.client.pojo.ClientBO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
+import org.eco.vip.auth.mapper.ClientMapper;
+import org.eco.vip.orm.pojo.PageResult;
+import org.eco.vip.orm.service.BaseService;
+import org.eco.vip.orm.utils.MapstructUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
 /**
  * @description ClientService
  *
  * @author GaoKunW
  * @date 2025/7/3 16:46
  */
-public class ClientService {
+@Service
+@Slf4j
+public class ClientService extends BaseService<ClientMapper, Client> implements IClientService {
+
+    @Resource
+    private ClientMapper clientMapper;
+
+    @Override
+    public PageResult<ClientVO> selectPage(ClientBO clientBO) {
+        return null;
+    }
+
+    @Override
+    public List<ClientVO> selectList(ClientBO clientBO) {
+        return List.of();
+    }
+
+    @Override
+    public boolean insert(ClientBO clientBO) {
+        Client client = MapstructUtils.convert(clientBO, Client.class);
+        return this.save(client);
+    }
+
+    @Override
+    public boolean update(ClientBO clientBO) {
+        return false;
+    }
+
+    @Override
+    public boolean delete(List<String> ids) {
+        return false;
+    }
+
+    @Override
+    public ClientVO selectById(String id) {
+        return clientMapper.selectOneWithRelationsByIdAs(id, ClientVO.class);
+    }
 }

+ 52 - 1
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/client/IClientService.java

@@ -6,11 +6,62 @@
 package org.eco.vip.auth.service.client;
 
 
+import org.eco.vip.auth.domain.client.Client;
+import org.eco.vip.auth.domain.client.pojo.ClientBO;
+import org.eco.vip.auth.domain.client.pojo.ClientVO;
+import org.eco.vip.orm.pojo.PageResult;
+import org.eco.vip.orm.service.IBaseService;
+
+import java.util.List;
+
 /**
  * @description IClientService
  *
  * @author GaoKunW
  * @date 2025/7/3 16:45
  */
-public interface IClientService {
+public interface IClientService extends IBaseService<Client> {
+
+    /**
+     * @description: 分页查询
+     * @param clientBO 参数
+     * @return PageResult<ClientVO>
+     **/
+    PageResult<ClientVO> selectPage(ClientBO clientBO);
+
+    /**
+     * @description: 查询
+     * @param clientBO 参数
+     * @return List<OrgVO>
+     **/
+    List<ClientVO> selectList(ClientBO clientBO);
+
+    /**
+     * @description: 新增
+     * @param clientBO 参数
+     * @return boolean 是否成功
+     **/
+    boolean insert(ClientBO clientBO);
+
+    /**
+     * @description: 更新
+     * @param clientBO 参数
+     * @return boolean 是否成功
+     **/
+    boolean update(ClientBO clientBO);
+
+    /**
+     * @description: 删除
+     * @param ids ids
+     * @return boolean 是否成功
+     **/
+    boolean delete(List<String> ids);
+
+    /**
+     * 根据ID查询信息
+     *
+     * @param id ID
+     * @return 结果
+     */
+    ClientVO selectById(String id);
 }

+ 2 - 2
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/org/IOrgService.java

@@ -75,9 +75,9 @@ public interface IOrgService extends IBaseService<Org> {
     /**
      * 是否存在组织子节点
      *
-     * @param orgIds 组织ID
+     * @param ids 组织ID
      * @return 结果
      */
-    boolean hasChildByDeptId(List<String> orgIds);
+    boolean hasChildByDeptId(List<String> ids);
 
 }

+ 3 - 3
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/org/OrgService.java

@@ -38,7 +38,7 @@ public class OrgService extends BaseService<OrgMapper, Org> implements IOrgServi
 
     private QueryWrapper buildQueryWrapper(OrgBO orgBO) {
         return super.buildBaseQueryWrapper()
-                .and(ORG.ID.eq(orgBO.getOrgId()))
+                .and(ORG.ORG_ID.eq(orgBO.getOrgId()))
                 .and(ORG.CODE.eq(orgBO.getCode()))
                 .and(ORG.CATEGORY.eq(orgBO.getCategory()))
                 .and(ORG.NAME.eq(orgBO.getName()))
@@ -84,7 +84,7 @@ public class OrgService extends BaseService<OrgMapper, Org> implements IOrgServi
 
     @Override
     public OrgVO selectById(String orgId) {
-        QueryWrapper queryWrapper = query().where(ORG.ID.eq(orgId));
+        QueryWrapper queryWrapper = query().where(ORG.ORG_ID.eq(orgId));
         return this.getOneAs(queryWrapper, OrgVO.class);
     }
 
@@ -102,7 +102,7 @@ public class OrgService extends BaseService<OrgMapper, Org> implements IOrgServi
     }
 
     @Override
-    public boolean hasChildByDeptId(List<String> orgIds) {
+    public boolean hasChildByDeptId(List<String> ids) {
         return false;
     }
 }

+ 0 - 1
eco-start/src/main/resources/db/mysql/V1_0_0_1__sys-init-ddl.sql

@@ -116,7 +116,6 @@ CREATE TABLE `system_client_t`
     `device_type`   varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '设备类型',
     `active_timeout`   int NULL DEFAULT 1800 COMMENT 'token活跃超时时间',
     `timeout`          int NULL DEFAULT 604800 COMMENT 'token固定超时',
-    `client_status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '1' COMMENT '状态(正常 禁用)',
     `tenant_id`    varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '租户编号',
     `status`       varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态(1正常 0停用)',
     `version`      int NULL DEFAULT NULL COMMENT '乐观锁',