From 068093a6e0fb03ed664ad4c71b5b824b6998d7da Mon Sep 17 00:00:00 2001
From: ls <1793460677@qq.com>
Date: Wed, 26 Feb 2025 09:56:43 +0800
Subject: [PATCH] =?UTF-8?q?add:=20=E7=94=A8=E6=88=B7=E3=80=81=E7=BB=84?=
=?UTF-8?q?=E7=BB=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 6 +-
.../java/com/boge/common/base/BaseDTO.java | 33 +++
.../java/com/boge/common/base/BaseMapper.java | 53 +++++
.../com/boge/common/base/TableDataInfo.java | 78 +++++++
.../java/com/boge/common/query/BaseQuery.java | 73 +++++++
.../java/com/boge/common/query/LConsumer.java | 21 ++
.../java/com/boge/common/query/MapOf.java | 21 ++
.../java/com/boge/common/query/PageQuery.java | 115 ++++++++++
.../java/com/boge/common/query/QParam.java | 18 ++
.../com/boge/common/query/QueryTEnum.java | 35 +++
.../java/com/boge/common/utils/CopyUtil.java | 33 +++
.../dept/controller/DeptController.java | 104 +++++++++
.../com/boge/modules/dept/dao/SysDept.java | 107 ++++++++++
.../boge/modules/dept/dao/SysUserDept.java | 35 +++
.../dept/dao/mapper/SysDeptMapper.java | 46 ++++
.../dept/dao/mapper/SysUserDeptMapper.java | 18 ++
.../com/boge/modules/dept/dto/DeptQuery.java | 31 +++
.../com/boge/modules/dept/dto/DeptTree.java | 44 ++++
.../modules/dept/service/ISysDeptService.java | 68 ++++++
.../dept/service/ISysUserDeptService.java | 16 ++
.../dept/service/impl/SysDeptServiceImpl.java | 179 ++++++++++++++++
.../service/impl/SysUserDeptServiceImpl.java | 21 ++
.../com/boge/modules/dept/util/PageUtil.java | 70 ++++++
.../java/com/boge/modules/dept/vo/DeptVo.java | 83 +++++++
.../dict/controller/SysDictController.java | 102 +++++++++
.../java/com/boge/modules/dict/dao/Dict.java | 107 ++++++++++
.../dict/dao/mapper/SysDictMapper.java | 18 ++
.../com/boge/modules/dict/dto/DictQuery.java | 19 ++
.../modules/dict/service/ISysDictService.java | 88 ++++++++
.../dict/service/impl/SysDictServiceImpl.java | 202 ++++++++++++++++++
.../flow/controller/FlwDeModelController.java | 2 +-
.../flow/controller/FlwDeployController.java | 2 +-
.../controller/FlwInstanceController.java | 2 +-
.../resources/mapper/dept/SysDeptMapper.xml | 40 ++++
.../mapper/dept/SysUserDeptMapper.xml | 5 +
.../resources/mapper/dict/SysDictMapper.xml | 5 +
36 files changed, 1896 insertions(+), 4 deletions(-)
create mode 100644 src/main/java/com/boge/common/base/BaseDTO.java
create mode 100644 src/main/java/com/boge/common/base/BaseMapper.java
create mode 100644 src/main/java/com/boge/common/base/TableDataInfo.java
create mode 100644 src/main/java/com/boge/common/query/BaseQuery.java
create mode 100644 src/main/java/com/boge/common/query/LConsumer.java
create mode 100644 src/main/java/com/boge/common/query/MapOf.java
create mode 100644 src/main/java/com/boge/common/query/PageQuery.java
create mode 100644 src/main/java/com/boge/common/query/QParam.java
create mode 100644 src/main/java/com/boge/common/query/QueryTEnum.java
create mode 100644 src/main/java/com/boge/common/utils/CopyUtil.java
create mode 100644 src/main/java/com/boge/modules/dept/controller/DeptController.java
create mode 100644 src/main/java/com/boge/modules/dept/dao/SysDept.java
create mode 100644 src/main/java/com/boge/modules/dept/dao/SysUserDept.java
create mode 100644 src/main/java/com/boge/modules/dept/dao/mapper/SysDeptMapper.java
create mode 100644 src/main/java/com/boge/modules/dept/dao/mapper/SysUserDeptMapper.java
create mode 100644 src/main/java/com/boge/modules/dept/dto/DeptQuery.java
create mode 100644 src/main/java/com/boge/modules/dept/dto/DeptTree.java
create mode 100644 src/main/java/com/boge/modules/dept/service/ISysDeptService.java
create mode 100644 src/main/java/com/boge/modules/dept/service/ISysUserDeptService.java
create mode 100644 src/main/java/com/boge/modules/dept/service/impl/SysDeptServiceImpl.java
create mode 100644 src/main/java/com/boge/modules/dept/service/impl/SysUserDeptServiceImpl.java
create mode 100644 src/main/java/com/boge/modules/dept/util/PageUtil.java
create mode 100644 src/main/java/com/boge/modules/dept/vo/DeptVo.java
create mode 100644 src/main/java/com/boge/modules/dict/controller/SysDictController.java
create mode 100644 src/main/java/com/boge/modules/dict/dao/Dict.java
create mode 100644 src/main/java/com/boge/modules/dict/dao/mapper/SysDictMapper.java
create mode 100644 src/main/java/com/boge/modules/dict/dto/DictQuery.java
create mode 100644 src/main/java/com/boge/modules/dict/service/ISysDictService.java
create mode 100644 src/main/java/com/boge/modules/dict/service/impl/SysDictServiceImpl.java
create mode 100644 src/main/resources/mapper/dept/SysDeptMapper.xml
create mode 100644 src/main/resources/mapper/dept/SysUserDeptMapper.xml
create mode 100644 src/main/resources/mapper/dict/SysDictMapper.xml
diff --git a/pom.xml b/pom.xml
index 0f4bffd..f6f6a2f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
2.9.9
2.8.5
1.2.72
- 4.1.1
+ 5.8.22
1.18.4
@@ -54,6 +54,10 @@
org.springframework.boot
spring-boot-starter-web
+
+ org.springframework.boot
+ spring-boot-starter-security
+
org.springframework.boot
spring-boot-starter-aop
diff --git a/src/main/java/com/boge/common/base/BaseDTO.java b/src/main/java/com/boge/common/base/BaseDTO.java
new file mode 100644
index 0000000..8e8d046
--- /dev/null
+++ b/src/main/java/com/boge/common/base/BaseDTO.java
@@ -0,0 +1,33 @@
+package com.boge.common.base;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Zheng Jie
+ * @date 2019年10月24日20:48:53
+ */
+@Data
+public class BaseDTO implements Serializable {
+
+ private String create_name;
+
+ private String create_id;
+
+ private String update_name;
+
+ private String update_id;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date create_time;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date update_time;
+
+}
diff --git a/src/main/java/com/boge/common/base/BaseMapper.java b/src/main/java/com/boge/common/base/BaseMapper.java
new file mode 100644
index 0000000..7000d21
--- /dev/null
+++ b/src/main/java/com/boge/common/base/BaseMapper.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2019-2020 Zheng Jie
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.boge.common.base;
+
+import java.util.List;
+
+/**
+ * @author Zheng Jie
+ * @date 2018-11-23
+ */
+public interface BaseMapper {
+
+ /**
+ * DTO转Entity
+ * @param dto /
+ * @return /
+ */
+ E toEntity(D dto);
+
+ /**
+ * Entity转DTO
+ * @param entity /
+ * @return /
+ */
+ D toDto(E entity);
+
+ /**
+ * DTO集合转Entity集合
+ * @param dtoList /
+ * @return /
+ */
+ List toEntity(List dtoList);
+
+ /**
+ * Entity集合转DTO集合
+ * @param entityList /
+ * @return /
+ */
+ List toDto(List entityList);
+}
diff --git a/src/main/java/com/boge/common/base/TableDataInfo.java b/src/main/java/com/boge/common/base/TableDataInfo.java
new file mode 100644
index 0000000..be4155e
--- /dev/null
+++ b/src/main/java/com/boge/common/base/TableDataInfo.java
@@ -0,0 +1,78 @@
+package com.boge.common.base;
+
+import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 表格分页数据对象
+ *
+ * @author Lion Li
+ */
+
+@Data
+@NoArgsConstructor
+public class TableDataInfo implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 总记录数
+ */
+ private long totalElements;
+
+ /**
+ * 列表数据
+ */
+ private List content;
+
+ /**
+ * 消息状态码
+ */
+ private int code;
+
+ /**
+ * 消息内容
+ */
+ private String msg;
+
+ /**
+ * 分页
+ *
+ * @param list 列表数据
+ * @param total 总记录数
+ */
+ public TableDataInfo(List list, long total) {
+ this.content = list;
+ this.totalElements = total;
+ }
+
+ public static TableDataInfo build(IPage page) {
+ TableDataInfo rspData = new TableDataInfo<>();
+ rspData.setCode(HttpStatus.HTTP_OK);
+ rspData.setMsg("查询成功");
+ rspData.setContent(page.getRecords());
+ rspData.setTotalElements(page.getTotal());
+ return rspData;
+ }
+
+ public static TableDataInfo build(List list) {
+ TableDataInfo rspData = new TableDataInfo<>();
+ rspData.setCode(HttpStatus.HTTP_OK);
+ rspData.setMsg("查询成功");
+ rspData.setContent(list);
+ rspData.setTotalElements(list.size());
+ return rspData;
+ }
+
+ public static TableDataInfo build() {
+ TableDataInfo rspData = new TableDataInfo<>();
+ rspData.setCode(HttpStatus.HTTP_OK);
+ rspData.setMsg("查询成功");
+ return rspData;
+ }
+
+}
diff --git a/src/main/java/com/boge/common/query/BaseQuery.java b/src/main/java/com/boge/common/query/BaseQuery.java
new file mode 100644
index 0000000..df8c26f
--- /dev/null
+++ b/src/main/java/com/boge/common/query/BaseQuery.java
@@ -0,0 +1,73 @@
+package com.boge.common.query;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;
+import com.baomidou.mybatisplus.core.toolkit.support.ColumnCache;
+import lombok.Data;
+
+import sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl;
+
+import java.lang.reflect.Type;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * 泛型必须为数据tb对应do:由mybatis管理
+ * @author ZZQ
+ * @Date 2022/12/14 6:33 下午
+ */
+@Data
+public class BaseQuery {
+ /**
+ * 模糊查询
+ */
+ private String blurry;
+ /**
+ * 是否启用
+ */
+ private String is_used;
+ /**
+ * 创建时间范围查询
+ */
+ private String start_time;
+ private String end_time;
+
+
+ /**
+ * 字段映射Map:指定字段对应QueryWrapper的查询类型
+ * 字段与数据库字段对应,不支持驼峰
+ * 通过buid构建
+ */
+ public Map doP = MapOf.of("blurry", QParam.builder().k(new String[]{"name"}).type(QueryTEnum.LK).build()
+ ,"startTime", QParam.builder().k(new String[]{"create_time"}).type(QueryTEnum.LT).build()
+ ,"endTime", QParam.builder().k(new String[]{"create_time"}).type(QueryTEnum.LE).build()
+ ,"sort", QParam.builder().k(new String[]{"sort"}).type(QueryTEnum.BY).build()
+ );
+
+ public QueryWrapper build(){
+ this.paramMapping();
+ QueryWrapper wrapper = new QueryWrapper<>();
+ JSONObject json = (JSONObject)JSONObject.toJSON(this);
+ Type[] types = ((ParameterizedTypeImpl) this.getClass().getGenericSuperclass()).getActualTypeArguments();
+ Map columnMap = LambdaUtils.getColumnMap((Class>) types[0]);
+
+ String dopStr = "doP";
+ json.forEach((key, vel) -> {
+ if (vel != null && !key.equals(dopStr)){
+ QParam qParam = doP.get(key);
+ if (qParam != null){
+ QueryTEnum.build(qParam.type,wrapper,qParam.k,vel);
+ }else {
+ ColumnCache columnCache = columnMap.get(LambdaUtils.formatKey(key));
+ if (columnCache!=null){
+ wrapper.eq(columnCache.getColumn(),vel);
+ }
+ }
+ }
+ });
+ return wrapper;
+ }
+
+ public void paramMapping(){};
+}
diff --git a/src/main/java/com/boge/common/query/LConsumer.java b/src/main/java/com/boge/common/query/LConsumer.java
new file mode 100644
index 0000000..0f3443d
--- /dev/null
+++ b/src/main/java/com/boge/common/query/LConsumer.java
@@ -0,0 +1,21 @@
+package com.boge.common.query;
+
+import java.util.Objects;
+
+/**
+ * s
+ * @author ZZQ
+ * @Date 2022/12/14 8:40 下午
+ */
+@FunctionalInterface
+public interface LConsumer {
+
+ /**
+ * 切面
+ * @param x 、
+ * @param y 、
+ * @param z 、
+ */
+ void accept(X x,Y y,Z z);
+
+}
diff --git a/src/main/java/com/boge/common/query/MapOf.java b/src/main/java/com/boge/common/query/MapOf.java
new file mode 100644
index 0000000..227ae44
--- /dev/null
+++ b/src/main/java/com/boge/common/query/MapOf.java
@@ -0,0 +1,21 @@
+package com.boge.common.query;
+
+
+import java.io.Serializable;
+import java.util.HashMap;
+
+/**
+ * s
+ * @author ZZQ
+ * @Date 2022/11/29 2:55 下午
+ */
+public class MapOf implements Serializable {
+
+ public static HashMap of(K... key){
+ HashMap map = new HashMap<>();
+ for (int i = 0; i < (key.length & ~1); i=i+2) {
+ map.put(key[i],key[i+1]);
+ }
+ return map;
+ }
+}
diff --git a/src/main/java/com/boge/common/query/PageQuery.java b/src/main/java/com/boge/common/query/PageQuery.java
new file mode 100644
index 0000000..f632e64
--- /dev/null
+++ b/src/main/java/com/boge/common/query/PageQuery.java
@@ -0,0 +1,115 @@
+package com.boge.common.query;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
+
+import java.io.Serializable;
+import java.lang.reflect.Field;
+import java.util.Locale;
+
+/**
+ *
+ * 分页参数
+ *
+ *
+ * @author generator
+ * @since 2023-11-16
+ */
+@Data
+public class PageQuery implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 分页大小
+ */
+ private Integer size;
+
+ /**
+ * 当前页数
+ */
+ private Integer page;
+
+ /**
+ * 排序列
+ */
+ private String sort;
+
+ /**
+ * 排序的方向desc或者asc
+ */
+ private Boolean isAsc;
+
+ /**
+ * 当前记录起始索引 默认值
+ */
+ public static final int DEFAULT_PAGE_NUM = 1;
+
+ /**
+ * 每页显示记录数 默认值 默认查全部
+ */
+ public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
+
+ public Page build() {
+ Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM);
+ Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE);
+ if (pageNum <= 0) {
+ pageNum = DEFAULT_PAGE_NUM;
+ }
+ Page page = new Page<>(pageNum, pageSize);
+ if (StringUtils.isNotEmpty(sort)){
+ String[] split = sort.split(",");
+ for (int i = 0; i < (split.length & ~1); i=i+2) {
+ String col = split[i];
+ OrderItem item = new OrderItem();
+ item.setColumn(col);
+ item.setAsc(split[i+1].toLowerCase(Locale.ROOT).equals("asc"));
+ page.addOrder(item);
+ }
+ }
+ return page;
+ }
+
+ public Page build(Class r) {
+ Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM);
+ Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE);
+ if (pageNum <= 0) {
+ pageNum = DEFAULT_PAGE_NUM;
+ }
+ Page page = new Page<>(pageNum, pageSize);
+ if (StringUtils.isNotEmpty(sort)){
+ String[] split = sort.split(",");
+ for (int i = 0; i < (split.length & ~1); i=i+2) {
+ String col = split[i];
+ if ("id".equals(col)){
+ String mId = mappingId(r);
+ col = StringUtils.isNotEmpty(mId)?mId:col;
+ }
+ OrderItem item = new OrderItem();
+ item.setColumn(col);
+ item.setAsc(split[i+1].toLowerCase(Locale.ROOT).equals("asc"));
+ page.addOrder(item);
+ }
+
+ }
+ return page;
+ }
+
+ private String mappingId(R r){
+ if (r instanceof Class){
+ Field[] fields = ((Class) r).getDeclaredFields();
+ for (Field field : fields) {
+ TableId[] byType = field.getAnnotationsByType(TableId.class);
+ if (byType !=null && byType.length>0){
+ TableId tableId = byType[0];
+ return tableId.value();
+ }
+ }
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/boge/common/query/QParam.java b/src/main/java/com/boge/common/query/QParam.java
new file mode 100644
index 0000000..45a7307
--- /dev/null
+++ b/src/main/java/com/boge/common/query/QParam.java
@@ -0,0 +1,18 @@
+package com.boge.common.query;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+/**
+ * s
+ * @author ZZQ
+ * @Date 2022/12/15 1:41 下午
+ */
+@Builder
+public class QParam {
+ public String[] k;
+ public QueryTEnum type;
+}
diff --git a/src/main/java/com/boge/common/query/QueryTEnum.java b/src/main/java/com/boge/common/query/QueryTEnum.java
new file mode 100644
index 0000000..e509afd
--- /dev/null
+++ b/src/main/java/com/boge/common/query/QueryTEnum.java
@@ -0,0 +1,35 @@
+package com.boge.common.query;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.Getter;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Collection;
+
+/**
+ * s
+ * @author ZZQ
+ * @Date 2022/12/14 8:26 下午
+ */
+@Getter
+public enum QueryTEnum {
+ //
+ EQ((q, k, v) -> { q.eq(k[0],v); }),
+ IN((q, key, o) -> { if (o instanceof Collection){ q.in(key[0],(Collection) o); } }),
+ LK((q, keys, o) -> { for (String key : keys) { q.like(key,o); } }),
+ LE((q, k, v) -> { q.le(k[0],v); }),
+ BY((q, k, v) -> { q.orderByDesc(k[0],v); }),
+ NO((q, k, v) -> { q.isNull(k[0]); }),
+ LT((q, k, v) -> { q.lt(k[0],v); }),
+ OREQ((q, k, v) -> { if (StringUtils.isBlank((String)v)){ q.isNull(k[0]); }else { q.eq(k[0],v); } });
+
+ private LConsumer doP;
+
+ QueryTEnum(LConsumer doP) {
+ this.doP = doP;
+ }
+
+ public static void build(QueryTEnum type, QueryWrapper q, String[] k , Object v){
+ type.getDoP().accept(q,k,v);
+ }
+}
diff --git a/src/main/java/com/boge/common/utils/CopyUtil.java b/src/main/java/com/boge/common/utils/CopyUtil.java
new file mode 100644
index 0000000..8027889
--- /dev/null
+++ b/src/main/java/com/boge/common/utils/CopyUtil.java
@@ -0,0 +1,33 @@
+package com.boge.common.utils;
+
+import org.springframework.beans.BeanUtils;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+
+public class CopyUtil {
+ public static List copyList(final Collection sources, final Class clazz) {
+ if (sources == null) {
+ return new ArrayList(0);
+ } else {
+ List list = new ArrayList(sources.size());
+ Iterator var3 = sources.iterator();
+
+ while(var3.hasNext()) {
+ Object source = var3.next();
+
+ try {
+ T dest = clazz.newInstance();
+ BeanUtils.copyProperties(source, dest);
+ list.add(dest);
+ } catch (Throwable var6) {
+ }
+ }
+ return list;
+ }
+ }
+
+}
diff --git a/src/main/java/com/boge/modules/dept/controller/DeptController.java b/src/main/java/com/boge/modules/dept/controller/DeptController.java
new file mode 100644
index 0000000..ab4a7cc
--- /dev/null
+++ b/src/main/java/com/boge/modules/dept/controller/DeptController.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2019-2020 Zheng Jie
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.boge.modules.dept.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.boge.common.base.TableDataInfo;
+import com.boge.common.exception.RRException;
+import com.boge.common.query.PageQuery;
+import com.boge.modules.dept.dao.SysDept;
+import com.boge.modules.dept.dto.DeptQuery;
+import com.boge.modules.dept.service.ISysDeptService;
+import com.boge.modules.dept.util.PageUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+* @author Zheng Jie
+* @date 2019-03-25
+*/
+@RestController
+
+@RequestMapping("/api/dept")
+public class DeptController {
+
+ @Autowired
+ private ISysDeptService deptService;
+
+
+ @GetMapping
+ public ResponseEntity