Gaokun Wang 1 місяць тому
батько
коміт
d1b28cb9f5

+ 18 - 0
eco-common/com-core/src/main/java/org/eco/vip/orm/utils/TreeUtils.java

@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2025 GaoKunW
+ *
+ */
+
+package org.eco.vip.orm.utils;
+
+
+import cn.hutool.core.lang.tree.TreeUtil;
+
+/**
+ * @description TreeUtils
+ *
+ * @author GaoKunW
+ * @date 2025/7/7 17:37
+ */
+public class TreeUtils extends TreeUtil {
+}

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

@@ -59,7 +59,11 @@ public class ClientController {
     }
 
     @PostMapping("/edit")
-    public CommonResult<String> edit(@RequestBody @Valid ClientBO clientBO) {
+    public CommonResult<Void> edit(@RequestBody @Valid ClientBO clientBO) {
+        boolean result = clientService.update(clientBO);
+        if (!result) {
+            return fail("更新客户端失败!");
+        }
         return success();
     }
 

+ 11 - 0
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/controller/org/OrgController.java

@@ -7,6 +7,7 @@ package org.eco.vip.auth.controller.org;
 
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.lang.tree.Tree;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotEmpty;
@@ -48,6 +49,12 @@ public class OrgController {
         return success(orgService.selectList(orgBO));
     }
 
+    @GetMapping("/tree")
+    public CommonResult<List<Tree<String>>> tree() {
+        return success(orgService.tree());
+    }
+
+
     @PostMapping("/add")
     @SaCheckPermission("system:org:add")
     public CommonResult<String> add(@RequestBody @Valid OrgBO orgBO) {
@@ -63,6 +70,10 @@ public class OrgController {
 
     @PostMapping("/edit")
     public CommonResult<String> edit(@RequestBody @Valid OrgBO orgBO) {
+        boolean result = orgService.update(orgBO);
+        if (!result) {
+            return fail("新增组织失败!");
+        }
         return success();
     }
 

+ 1 - 1
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/domain/org/pojo/OrgVO.java

@@ -43,7 +43,7 @@ public class OrgVO extends BaseEntity {
     /**
      * 部门名称
      */
-    private String deptName;
+    private String name;
 
     /**
      * 显示顺序

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

@@ -6,12 +6,15 @@
 package org.eco.vip.auth.service.client;
 
 
+import com.mybatisflex.core.paginate.Page;
+import com.mybatisflex.core.query.QueryWrapper;
 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.domain.PageQuery;
 import org.eco.vip.orm.pojo.PageResult;
 import org.eco.vip.orm.service.BaseService;
 import org.eco.vip.orm.utils.MapstructUtils;
@@ -19,6 +22,8 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 
+import static org.eco.vip.auth.domain.client.table.ClientTableDef.CLIENT;
+
 /**
  * @description ClientService
  *
@@ -32,14 +37,26 @@ public class ClientService extends BaseService<ClientMapper, Client> implements
     @Resource
     private ClientMapper clientMapper;
 
+    private QueryWrapper buildQueryWrapper(ClientBO clientBO) {
+        return super.buildBaseQueryWrapper()
+                .and(CLIENT.CLIENT_KEY.eq(clientBO.getClientKey()))
+                .and(CLIENT.CLIENT_SECRET.eq(clientBO.getClientSecret()))
+                .and(CLIENT.GRANT_TYPE.eq(clientBO.getGrantType()))
+                .and(CLIENT.DEVICE_TYPE.eq(clientBO.getDeviceType()))
+                .and(CLIENT.STATUS.eq(clientBO.getStatus()));
+    }
+
     @Override
     public PageResult<ClientVO> selectPage(ClientBO clientBO) {
-        return null;
+        QueryWrapper queryWrapper = buildQueryWrapper(clientBO);
+        Page<ClientVO> page = clientMapper.paginateWithRelationsAs(PageQuery.build(), queryWrapper, ClientVO.class);
+        return PageResult.build(page);
     }
 
     @Override
     public List<ClientVO> selectList(ClientBO clientBO) {
-        return List.of();
+        QueryWrapper queryWrapper = buildQueryWrapper(clientBO);
+        return clientMapper.selectListWithRelationsByQueryAs(queryWrapper, ClientVO.class);
     }
 
     @Override
@@ -50,7 +67,8 @@ public class ClientService extends BaseService<ClientMapper, Client> implements
 
     @Override
     public boolean update(ClientBO clientBO) {
-        return false;
+        Client client = MapstructUtils.convert(clientBO, Client.class);
+        return this.updateById(client);
     }
 
     @Override

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

@@ -6,6 +6,7 @@
 package org.eco.vip.auth.service.org;
 
 
+import cn.hutool.core.lang.tree.Tree;
 import org.eco.vip.auth.domain.org.Org;
 import org.eco.vip.auth.domain.org.pojo.OrgBO;
 import org.eco.vip.auth.domain.org.pojo.OrgVO;
@@ -35,6 +36,12 @@ public interface IOrgService extends IBaseService<Org> {
      **/
     List<OrgVO> selectList(OrgBO orgBO);
 
+    /**
+     * @description: 查询树
+     * @return List<Tree < String>>
+     **/
+    List<Tree<String>> tree();
+
     /**
      * @description: 新增
      * @param orgBO 参数

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

@@ -6,6 +6,8 @@
 package org.eco.vip.auth.service.org;
 
 
+import cn.hutool.core.lang.tree.Tree;
+import cn.hutool.core.lang.tree.TreeNode;
 import com.mybatisflex.core.paginate.Page;
 import com.mybatisflex.core.query.QueryWrapper;
 import jakarta.annotation.Resource;
@@ -18,13 +20,16 @@ import org.eco.vip.orm.domain.PageQuery;
 import org.eco.vip.orm.exception.BusinessException;
 import org.eco.vip.orm.pojo.PageResult;
 import org.eco.vip.orm.service.BaseService;
+import org.eco.vip.orm.utils.JsonUtils;
 import org.eco.vip.orm.utils.MapstructUtils;
 import org.eco.vip.orm.utils.ObjUtils;
 import org.eco.vip.orm.utils.RandomUtils;
 import org.eco.vip.orm.utils.StrUtils;
+import org.eco.vip.orm.utils.TreeUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 import static org.eco.vip.auth.domain.org.table.OrgTableDef.ORG;
 
@@ -63,6 +68,16 @@ public class OrgService extends BaseService<OrgMapper, Org> implements IOrgServi
         return orgMapper.selectListWithRelationsByQueryAs(queryWrapper, OrgVO.class);
     }
 
+    @Override
+    public List<Tree<String>> tree() {
+        QueryWrapper wrapper = QueryWrapper.create()
+                .orderBy(Org::getOrderNum).asc();
+        List<Org> list = this.list(wrapper);
+        return TreeUtils.build(list.stream().map(org ->
+                new TreeNode<>(org.getOrgId(), org.getParentId(), org.getName(), org.getOrderNum()).setExtra(JsonUtils.parseObj(org))
+                ).collect(Collectors.toList()), "0");
+    }
+
     @Override
     public boolean insert(OrgBO orgBO) {
         OrgVO orgVO = selectById(orgBO.getParentId());
@@ -78,7 +93,8 @@ public class OrgService extends BaseService<OrgMapper, Org> implements IOrgServi
 
     @Override
     public boolean update(OrgBO orgBO) {
-        return false;
+        Org org = MapstructUtils.convert(orgBO, Org.class);
+        return this.updateById(org);
     }
 
     @Override

+ 1 - 0
eco-nexus-core/auth-biz/src/main/java/org/eco/vip/auth/service/position/PositionService.java

@@ -40,6 +40,7 @@ public class PositionService extends BaseService<PositionMapper, Position> imple
     private QueryWrapper buildQueryWrapper(PositionBO positionBO) {
         return super.buildBaseQueryWrapper()
                 .and(POSITION.CATEGORY.eq(positionBO.getCategory()))
+                .and(POSITION.ORG_ID.eq(positionBO.getOrgId()))
                 .and(POSITION.NAME.eq(positionBO.getName()))
                 .and(POSITION.STATUS.eq(positionBO.getStatus()));
     }