142 changed files with 859 additions and 1111 deletions
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
package com.cloud.kicc.common.core.constant; |
||||
|
||||
/** |
||||
*<p> |
||||
* 正则表达式常量 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/4/18 |
||||
*/ |
||||
public interface RegexConstants { |
||||
|
||||
/** |
||||
* 匹配网址正则表达式 |
||||
*/ |
||||
String MATCHER_URL = "(((^https?:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+(?::\\d+)?|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)$"; |
||||
|
||||
} |
||||
@ -1,27 +0,0 @@
@@ -1,27 +0,0 @@
|
||||
package com.cloud.kicc.common.core.util.tree; |
||||
|
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
/** |
||||
* 森林节点 |
||||
* @author pangu |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
public class ForestNode extends TreeNode { |
||||
|
||||
private static final long serialVersionUID = -5188222097134746118L; |
||||
|
||||
/** |
||||
* 节点内容 |
||||
*/ |
||||
private Object content; |
||||
|
||||
public ForestNode(String id, String parentId, Object content) { |
||||
this.id = id; |
||||
this.parentId = parentId; |
||||
this.content = content; |
||||
} |
||||
|
||||
} |
||||
@ -1,66 +0,0 @@
@@ -1,66 +0,0 @@
|
||||
package com.cloud.kicc.common.core.util.tree; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 森林管理类 |
||||
* @param <T> |
||||
* @author pangu |
||||
* @link https://blog.csdn.net/u014424628/article/details/51765394?utm_source=blogxgwz2
|
||||
*/ |
||||
public class ForestNodeManager<T extends INode> { |
||||
|
||||
/** |
||||
* 森林的所有节点 |
||||
*/ |
||||
private List<T> list; |
||||
|
||||
/** |
||||
* 森林的父节点ID |
||||
*/ |
||||
private List<String> parentIds = new ArrayList<>(); |
||||
|
||||
public ForestNodeManager(List<T> items) { |
||||
list = items; |
||||
} |
||||
|
||||
/** |
||||
* 根据节点ID获取一个节点 |
||||
* |
||||
* @param id 节点ID |
||||
* @return 对应的节点对象 |
||||
*/ |
||||
public INode getTreeNodeAT(String id) { |
||||
for (INode forestNode : list) { |
||||
if (id.equals(forestNode.getId())) { |
||||
return forestNode; |
||||
} |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* 增加父节点ID |
||||
* |
||||
* @param parentId |
||||
*/ |
||||
public void addParentId(String parentId) { |
||||
parentIds.add(parentId); |
||||
} |
||||
|
||||
/** |
||||
* 获取树的根节点(一个森林对应多颗树) |
||||
* |
||||
* @return 树的根节点集合 |
||||
*/ |
||||
public List<T> getRoot() { |
||||
List<T> roots = new ArrayList<>(); |
||||
for (T forestNode : list) { |
||||
if (forestNode.getParentId() == "0" || parentIds.contains(forestNode.getId())) { |
||||
roots.add(forestNode); |
||||
} |
||||
} |
||||
return roots; |
||||
} |
||||
} |
||||
@ -1,34 +0,0 @@
@@ -1,34 +0,0 @@
|
||||
package com.cloud.kicc.common.core.util.tree; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 节点归并类 |
||||
* |
||||
* @author pangu |
||||
* @link https://blog.csdn.net/u014424628/article/details/51765394?utm_source=blogxgwz2
|
||||
*/ |
||||
public class ForestNodeMerger { |
||||
|
||||
/** |
||||
* 将节点数组归并为一个森林(多棵树)(填充节点的children域) |
||||
* 时间复杂度为O(n^2) |
||||
* |
||||
* @param items 节点域 |
||||
* @return 多棵树的根节点集合 |
||||
*/ |
||||
public static <T extends INode> List<T> merge(List<T> items) { |
||||
ForestNodeManager<T> forestNodeManager = new ForestNodeManager<>(items); |
||||
items.forEach(forestNode -> { |
||||
if (forestNode.getParentId() != "0") { |
||||
INode node = forestNodeManager.getTreeNodeAT(forestNode.getParentId()); |
||||
if (node != null) { |
||||
node.getChildren().add(forestNode); |
||||
} else { |
||||
forestNodeManager.addParentId(forestNode.getId()); |
||||
} |
||||
} |
||||
}); |
||||
return forestNodeManager.getRoot(); |
||||
} |
||||
} |
||||
@ -1,17 +0,0 @@
@@ -1,17 +0,0 @@
|
||||
package com.cloud.kicc.common.core.util.tree; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
public interface INode extends Serializable { |
||||
|
||||
String getId(); |
||||
|
||||
String getParentId(); |
||||
|
||||
List<INode> getChildren(); |
||||
|
||||
default Boolean getHasChildren() { |
||||
return false; |
||||
} |
||||
} |
||||
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
package com.cloud.kicc.common.core.util.tree; |
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
/** |
||||
* Mapper数据模型节点 |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
public class MapperNode extends TreeNode { |
||||
|
||||
private String title; |
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class) |
||||
private String key; |
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class) |
||||
private String value; |
||||
} |
||||
@ -1,57 +0,0 @@
@@ -1,57 +0,0 @@
|
||||
package com.cloud.kicc.common.core.util.tree; |
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude; |
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
||||
import lombok.Data; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 树根节点 |
||||
* @author pangu |
||||
*/ |
||||
@Data |
||||
public class TreeNode implements INode { |
||||
|
||||
/** |
||||
* 主键ID |
||||
*/ |
||||
@JsonSerialize(using = ToStringSerializer.class) |
||||
protected String id; |
||||
|
||||
/** |
||||
* 父节点ID |
||||
*/ |
||||
@JsonSerialize(using = ToStringSerializer.class) |
||||
protected String parentId; |
||||
|
||||
/** |
||||
* 子孙节点 |
||||
*/ |
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY) |
||||
protected List<INode> children = new ArrayList<>(); |
||||
|
||||
/** |
||||
* 是否有子孙节点 |
||||
*/ |
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY) |
||||
private Boolean hasChildren; |
||||
|
||||
/** |
||||
* 是否有子孙节点 |
||||
* |
||||
* @return Boolean |
||||
*/ |
||||
@Override |
||||
public Boolean getHasChildren() { |
||||
if (children.size() > 0) { |
||||
return true; |
||||
} else { |
||||
return this.hasChildren; |
||||
} |
||||
} |
||||
|
||||
|
||||
} |
||||
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-platform-api</artifactId> |
||||
<version>1.0.0</version> |
||||
</parent> |
||||
|
||||
<artifactId>kicc-common-api</artifactId> |
||||
<packaging>jar</packaging> |
||||
|
||||
<description>kicc 通用业务模块公共api模块</description> |
||||
|
||||
<dependencies> |
||||
<!--断路器依赖--> |
||||
<dependency> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-common-feign</artifactId> |
||||
</dependency> |
||||
<!--数据服务核心包--> |
||||
<dependency> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-common-data</artifactId> |
||||
</dependency> |
||||
</dependencies> |
||||
</project> |
||||
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
com.cloud.kicc.common.feign.KiccFeignAutoConfiguration=\ |
||||
@ -1,55 +0,0 @@
@@ -1,55 +0,0 @@
|
||||
package com.cloud.kicc.admin.api.dto; |
||||
|
||||
import com.cloud.kicc.common.core.util.tree.INode; |
||||
import com.fasterxml.jackson.annotation.JsonInclude; |
||||
import lombok.Builder; |
||||
import lombok.Data; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 菜单数据传输对象 |
||||
* |
||||
* @author xuzhanfu |
||||
*/ |
||||
@Data |
||||
@Builder |
||||
@JsonInclude(JsonInclude.Include.NON_NULL) |
||||
public class MenuDTO implements INode { |
||||
|
||||
private static final long serialVersionUID = -7053157666510171528L; |
||||
|
||||
/** |
||||
* 主键ID |
||||
*/ |
||||
private String id; |
||||
/** |
||||
* 父ID |
||||
*/ |
||||
private String parentId; |
||||
/** |
||||
* 标签 |
||||
*/ |
||||
private String label; |
||||
|
||||
/** |
||||
* 子孙节点 |
||||
*/ |
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY) |
||||
private List<INode> children; |
||||
|
||||
/** |
||||
* 是否有子孙节点 |
||||
*/ |
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY) |
||||
private Boolean hasChildren; |
||||
|
||||
@Override |
||||
public List<INode> getChildren() { |
||||
if (this.children == null) { |
||||
this.children = new ArrayList<>(); |
||||
} |
||||
return this.children; |
||||
} |
||||
} |
||||
@ -1,132 +0,0 @@
@@ -1,132 +0,0 @@
|
||||
package com.cloud.kicc.admin.api.vo; |
||||
|
||||
import com.cloud.kicc.common.core.util.tree.INode; |
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.time.LocalDateTime; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
*<p> |
||||
* 菜单路由信息 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/24 |
||||
*/ |
||||
@Data |
||||
public class MenuVo implements Serializable , INode { |
||||
|
||||
/** |
||||
* id |
||||
*/ |
||||
private String id; |
||||
|
||||
/** |
||||
* 父节点id |
||||
*/ |
||||
private String parentId; |
||||
|
||||
/** |
||||
* 路由名字 |
||||
*/ |
||||
private String name; |
||||
|
||||
/** |
||||
* 路由地址 |
||||
*/ |
||||
private String path; |
||||
|
||||
/** |
||||
* 类型 |
||||
*/ |
||||
private String type; |
||||
|
||||
/** |
||||
* 类型名称 |
||||
*/ |
||||
private String typeName; |
||||
|
||||
/** |
||||
* 权限标识 |
||||
*/ |
||||
private String permission; |
||||
|
||||
/** |
||||
* 菜单图标 |
||||
*/ |
||||
private String icon; |
||||
|
||||
/** |
||||
* 是否缓存该页面: 1:是 0:不是 |
||||
*/ |
||||
private String keepAlive; |
||||
|
||||
/** |
||||
* 是否外链 |
||||
*/ |
||||
private String target; |
||||
|
||||
/** |
||||
* 显示顺序 |
||||
*/ |
||||
private Integer sort; |
||||
|
||||
/** |
||||
* 菜单状态(0启用 1禁用) |
||||
*/ |
||||
private String status; |
||||
|
||||
/** |
||||
* 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现 |
||||
*/ |
||||
private Boolean hidden; |
||||
|
||||
/** |
||||
* 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 |
||||
*/ |
||||
private String redirect; |
||||
|
||||
/** |
||||
* 组件地址 |
||||
*/ |
||||
private String component; |
||||
|
||||
/** |
||||
* 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 |
||||
*/ |
||||
private Boolean alwaysShow; |
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
protected LocalDateTime createTime; |
||||
|
||||
/** |
||||
* 其他元素 |
||||
*/ |
||||
private MetaVo meta; |
||||
/** |
||||
* 子路由 |
||||
*/ |
||||
private List<MenuVo> children; |
||||
|
||||
@Override |
||||
public List<INode> getChildren(){ |
||||
if (children == null) { |
||||
return null; |
||||
} |
||||
|
||||
return children.stream() |
||||
.map(item -> (INode) item) |
||||
.collect(Collectors.toList()); |
||||
} |
||||
|
||||
@Override |
||||
public Boolean getHasChildren() { |
||||
return INode.super.getHasChildren(); |
||||
} |
||||
} |
||||
|
||||
@ -1,35 +0,0 @@
@@ -1,35 +0,0 @@
|
||||
package com.cloud.kicc.admin.api.vo; |
||||
|
||||
import lombok.Builder; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
*<p> |
||||
* 路由信息 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/24 |
||||
*/ |
||||
@Data |
||||
@Builder |
||||
public class MetaVo implements Serializable { |
||||
|
||||
/** |
||||
* 设置该路由在侧边栏和面包屑中展示的名字 |
||||
*/ |
||||
private String title; |
||||
|
||||
/** |
||||
* 设置该路由的图标,对应路径src/icons/svg |
||||
*/ |
||||
private String icon; |
||||
|
||||
/** |
||||
* 路由缓存,keep-alive |
||||
*/ |
||||
private boolean keepAlive; |
||||
|
||||
} |
||||
@ -1,6 +1,5 @@
@@ -1,6 +1,5 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.cloud.kicc.common.data.entity.TreeEntity; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
@ -1,8 +1,6 @@
@@ -1,8 +1,6 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableLogic; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.cloud.kicc.common.data.entity.CommonEntity; |
||||
import lombok.Data; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import lombok.Data; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import lombok.Data; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.entity; |
||||
package com.cloud.kicc.system.api.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import lombok.Data; |
||||
@ -0,0 +1,43 @@
@@ -0,0 +1,43 @@
|
||||
package com.cloud.kicc.system.api.enums; |
||||
|
||||
import lombok.Getter; |
||||
import lombok.RequiredArgsConstructor; |
||||
|
||||
/** |
||||
*<p> |
||||
* 菜单枚举 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/18 |
||||
*/ |
||||
@Getter |
||||
@RequiredArgsConstructor |
||||
public enum MenuEnum { |
||||
|
||||
/** |
||||
* 菜单模块类(菜单目录) |
||||
*/ |
||||
MENU_M("M", "菜单模块类(菜单目录)"), |
||||
|
||||
/** |
||||
* 菜单0,启动,根菜单标识 |
||||
*/ |
||||
MENU_0("0", "启动,根菜单标识"), |
||||
|
||||
/** |
||||
* 菜单0,禁用 |
||||
*/ |
||||
MENU_1("1", "禁用"); |
||||
|
||||
/** |
||||
* 值 |
||||
*/ |
||||
private final String value; |
||||
|
||||
/** |
||||
* 描述 |
||||
*/ |
||||
private final String description; |
||||
|
||||
} |
||||
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
||||
package com.cloud.kicc.admin.api.feign; |
||||
package com.cloud.kicc.system.api.feign; |
||||
|
||||
import com.cloud.kicc.admin.api.entity.DictData; |
||||
import com.cloud.kicc.system.api.entity.DictData; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.core.constant.SecurityConstants; |
||||
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
||||
package com.cloud.kicc.admin.api.feign; |
||||
package com.cloud.kicc.system.api.feign; |
||||
|
||||
import com.cloud.kicc.admin.api.entity.OperLog; |
||||
import com.cloud.kicc.system.api.entity.OperLog; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.core.constant.SecurityConstants; |
||||
import com.cloud.kicc.common.core.constant.ServiceNameConstants; |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.feign; |
||||
package com.cloud.kicc.system.api.feign; |
||||
|
||||
import com.cloud.kicc.common.core.constant.SecurityConstants; |
||||
import com.cloud.kicc.common.core.constant.ServiceNameConstants; |
||||
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
||||
package com.cloud.kicc.admin.api.feign; |
||||
package com.cloud.kicc.system.api.feign; |
||||
|
||||
import com.cloud.kicc.admin.api.entity.User; |
||||
import com.cloud.kicc.system.api.entity.User; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.core.constant.SecurityConstants; |
||||
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
package com.cloud.kicc.system.api.vo; |
||||
|
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
*<p> |
||||
* 菜单路由信息 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/24 |
||||
*/ |
||||
@Data |
||||
public class MenuVo implements Serializable { |
||||
|
||||
/** |
||||
* 路由名字 |
||||
*/ |
||||
private String name; |
||||
|
||||
/** |
||||
* 路由地址 |
||||
*/ |
||||
private String path; |
||||
|
||||
/** |
||||
* 组件地址 |
||||
*/ |
||||
private String component; |
||||
|
||||
/** |
||||
* 设置属性 |
||||
*/ |
||||
private MetaVo meta; |
||||
|
||||
/** |
||||
* 子路由 |
||||
*/ |
||||
private List<MenuVo> children; |
||||
|
||||
} |
||||
|
||||
@ -0,0 +1,41 @@
@@ -0,0 +1,41 @@
|
||||
package com.cloud.kicc.system.api.vo; |
||||
|
||||
import lombok.Data; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
*<p> |
||||
* 路由元信息 |
||||
* 路由设置属性 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/24 |
||||
*/ |
||||
@Data |
||||
@Accessors(chain = true) |
||||
public class MetaVo implements Serializable { |
||||
|
||||
/** |
||||
* 菜单名字 |
||||
*/ |
||||
private String title; |
||||
|
||||
/** |
||||
* 菜单图标 |
||||
*/ |
||||
private String icon; |
||||
|
||||
/** |
||||
* 是否缓存该页面(true:是,false:不是) |
||||
*/ |
||||
private Boolean keepAlive; |
||||
|
||||
/** |
||||
* 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现 |
||||
*/ |
||||
private Boolean hideMenu; |
||||
|
||||
} |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.api.vo; |
||||
package com.cloud.kicc.system.api.vo; |
||||
|
||||
import lombok.Data; |
||||
import lombok.experimental.Accessors; |
||||
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
||||
com.cloud.kicc.common.feign.KiccFeignAutoConfiguration=\ |
||||
com.cloud.kicc.admin.api.feign.RemoteDictService,\ |
||||
com.cloud.kicc.admin.api.feign.RemoteLogService,\ |
||||
com.cloud.kicc.admin.api.feign.RemoteTokenService,\ |
||||
com.cloud.kicc.admin.api.feign.RemoteUserService |
||||
com.cloud.kicc.system.api.feign.RemoteDictService,\ |
||||
com.cloud.kicc.system.api.feign.RemoteLogService,\ |
||||
com.cloud.kicc.system.api.feign.RemoteTokenService,\ |
||||
com.cloud.kicc.system.api.feign.RemoteUserService |
||||
|
||||
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
FROM moxm/java:1.8-full |
||||
|
||||
RUN mkdir -p /kicc-common-biz |
||||
|
||||
WORKDIR /kicc-common-biz |
||||
|
||||
ARG JAR_FILE=target/kicc-common-biz.jar |
||||
|
||||
COPY ${JAR_FILE} app.jar |
||||
|
||||
EXPOSE 4000 |
||||
|
||||
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom" |
||||
|
||||
CMD sleep 60; java -jar app.jar $JAVA_OPTS |
||||
@ -0,0 +1,72 @@
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-platform-biz</artifactId> |
||||
<version>1.0.0</version> |
||||
</parent> |
||||
|
||||
<artifactId>kicc-common-biz</artifactId> |
||||
<packaging>jar</packaging> |
||||
|
||||
<description>kicc 通用业务模块</description> |
||||
|
||||
<dependencies> |
||||
<!--common api模块--> |
||||
<dependency> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-common-api</artifactId> |
||||
</dependency> |
||||
<!--安全模块--> |
||||
<dependency> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-common-security</artifactId> |
||||
</dependency> |
||||
<!--日志处理--> |
||||
<dependency> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-common-log</artifactId> |
||||
</dependency> |
||||
<!--接口文档--> |
||||
<dependency> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-common-swagger</artifactId> |
||||
</dependency> |
||||
<!--注册中心客户端--> |
||||
<dependency> |
||||
<groupId>com.alibaba.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
||||
</dependency> |
||||
<!--配置中心客户端--> |
||||
<dependency> |
||||
<groupId>com.alibaba.cloud</groupId> |
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> |
||||
</dependency> |
||||
<!--undertow容器--> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-undertow</artifactId> |
||||
</dependency> |
||||
<!--模拟测试--> |
||||
<dependency> |
||||
<groupId>com.cloud</groupId> |
||||
<artifactId>kicc-common-mock</artifactId> |
||||
</dependency> |
||||
</dependencies> |
||||
|
||||
<build> |
||||
<plugins> |
||||
<plugin> |
||||
<groupId>io.fabric8</groupId> |
||||
<artifactId>docker-maven-plugin</artifactId> |
||||
</plugin> |
||||
<plugin> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-maven-plugin</artifactId> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
|
||||
</project> |
||||
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
package com.cloud.kicc.commonbiz; |
||||
|
||||
import com.cloud.kicc.common.core.annotation.EnableKiccJacksonAutoConvert; |
||||
import com.cloud.kicc.common.feign.annotation.EnableKiccFeignClients; |
||||
import com.cloud.kicc.common.security.annotation.EnableKiccResourceServer; |
||||
import com.cloud.kicc.common.swagger.annotation.EnableKiccSwagger2; |
||||
import org.springframework.boot.SpringApplication; |
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
|
||||
/** |
||||
*<p> |
||||
* 通用业务模块 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/17 |
||||
*/ |
||||
@EnableKiccSwagger2 |
||||
@EnableKiccResourceServer |
||||
@EnableKiccFeignClients |
||||
@SpringBootApplication |
||||
@EnableKiccJacksonAutoConvert |
||||
public class KiccCommonApplication { |
||||
|
||||
public static void main(String[] args) { |
||||
SpringApplication.run(KiccCommonApplication.class, args); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
server: |
||||
port: 5000 |
||||
|
||||
spring: |
||||
application: |
||||
name: @artifactId@ |
||||
cloud: |
||||
nacos: |
||||
discovery: |
||||
server-addr: ${NACOS_HOST:kicc-register}:${NACOS_PORT:8848} |
||||
namespace: @profiles.namespace@ |
||||
config: |
||||
server-addr: ${spring.cloud.nacos.discovery.server-addr} |
||||
file-extension: yml |
||||
namespace: @profiles.namespace@ |
||||
shared-configs: |
||||
- application.${spring.cloud.nacos.config.file-extension} |
||||
@ -0,0 +1,57 @@
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!--基础日志配置,工程继承可以进行替换--> |
||||
<configuration debug="false" scan="false"> |
||||
<springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/> |
||||
<property name="log.path" value="logs/${spring.application.name}"/> |
||||
<!-- 彩色日志格式 --> |
||||
<property name="CONSOLE_LOG_PATTERN" |
||||
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
||||
<!-- 彩色日志依赖的渲染类 --> |
||||
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> |
||||
<conversionRule conversionWord="wex" |
||||
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> |
||||
<conversionRule conversionWord="wEx" |
||||
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/> |
||||
<!-- 控制台日志输出 --> |
||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> |
||||
<encoder> |
||||
<pattern>${CONSOLE_LOG_PATTERN}</pattern> |
||||
</encoder> |
||||
</appender> |
||||
|
||||
<!-- 日志文件调试输出 --> |
||||
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||
<file>${log.path}/debug.log</file> |
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
||||
<fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> |
||||
<maxFileSize>50MB</maxFileSize> |
||||
<maxHistory>30</maxHistory> |
||||
</rollingPolicy> |
||||
<encoder> |
||||
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern> |
||||
</encoder> |
||||
</appender> |
||||
|
||||
<!-- 日志文件错误输出 --> |
||||
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||
<file>${log.path}/error.log</file> |
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
||||
<fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> |
||||
<maxFileSize>50MB</maxFileSize> |
||||
<maxHistory>30</maxHistory> |
||||
</rollingPolicy> |
||||
<encoder> |
||||
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern> |
||||
</encoder> |
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
||||
<level>ERROR</level> |
||||
</filter> |
||||
</appender> |
||||
|
||||
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 --> |
||||
<root level="INFO"> |
||||
<appender-ref ref="console"/> |
||||
<appender-ref ref="debug"/> |
||||
<appender-ref ref="error"/> |
||||
</root> |
||||
</configuration> |
||||
@ -1,153 +0,0 @@
@@ -1,153 +0,0 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.cloud.kicc.admin.api.dto.MenuDTO; |
||||
import com.cloud.kicc.admin.api.entity.Menu; |
||||
import com.cloud.kicc.admin.api.entity.RoleMenu; |
||||
import com.cloud.kicc.admin.api.vo.MenuVo; |
||||
import com.cloud.kicc.admin.api.vo.ResultVo; |
||||
import com.cloud.kicc.admin.service.MenuService; |
||||
import com.cloud.kicc.admin.service.RoleMenuService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.core.util.tree.ForestNodeMerger; |
||||
import com.cloud.kicc.common.log.annotation.SysLog; |
||||
import com.cloud.kicc.common.security.util.SecurityUtils; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.security.access.prepost.PreAuthorize; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.Comparator; |
||||
import java.util.HashSet; |
||||
import java.util.List; |
||||
import java.util.Set; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
*<p> |
||||
* 菜单信息 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/24 |
||||
*/ |
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping(AppConstants.APP_SYSTEM + "/menu") |
||||
public class MenuController { |
||||
|
||||
private final MenuService menuService; |
||||
private final RoleMenuService roleMenuService; |
||||
|
||||
private QueryWrapper<Menu> getQueryWrapper(Menu menu) { |
||||
return new QueryWrapper<Menu>() |
||||
.like(StrUtil.isNotBlank(menu.getName()), "name", menu.getName()) |
||||
.eq(StrUtil.isNotBlank(menu.getStatus()), "status", menu.getStatus()) |
||||
.orderByAsc("sort"); |
||||
} |
||||
|
||||
@GetMapping("/list") |
||||
@PreAuthorize("@pms.hasPermission('menu_view')") |
||||
public R list(Menu menu) { |
||||
List<Menu> menuList = menuService.list(getQueryWrapper(menu)); |
||||
List<MenuVo> treeList = menuService.buildMenus(menuService.buildTree(menuList, "0")); |
||||
return R.ok(treeList, treeList.size()); |
||||
} |
||||
|
||||
@GetMapping("/{id:\\w+}") |
||||
public R getById(@PathVariable String id) { |
||||
return R.ok(menuService.getById(id)); |
||||
} |
||||
|
||||
@SysLog("菜单新增") |
||||
@PostMapping("/save") |
||||
@PreAuthorize("@pms.hasPermission('menu_add')") |
||||
public R save(@RequestBody Menu menu) { |
||||
menuService.save(menu); |
||||
return R.ok(); |
||||
} |
||||
|
||||
@SysLog("菜单修改") |
||||
@PutMapping("/update") |
||||
@PreAuthorize("@pms.hasPermission('menu_edit')") |
||||
public R update(@RequestBody Menu menu) { |
||||
menuService.updateById(menu); |
||||
return R.ok(); |
||||
} |
||||
|
||||
@SysLog("菜单删除") |
||||
@DeleteMapping("/remove/{id:\\w+}") |
||||
@PreAuthorize("@pms.hasPermission('menu_del')") |
||||
public R remove(@PathVariable String id) { |
||||
if (menuService.count(new QueryWrapper<Menu>().eq("parent_id", id)) > 0) { |
||||
return R.error("存在子菜单,不允许删除"); |
||||
} |
||||
if (roleMenuService.count(new QueryWrapper<RoleMenu>().eq("menu_id", id)) > 0) { |
||||
return R.error("菜单已分配,不允许删除"); |
||||
} |
||||
menuService.removeById(id); |
||||
return R.ok(); |
||||
} |
||||
|
||||
@SysLog("菜单状态更改") |
||||
@GetMapping("/changeStatus") |
||||
@PreAuthorize("@pms.hasPermission('menu_edit')") |
||||
public R changeStatus(Menu menu) { |
||||
menuService.updateById(menu); |
||||
return R.ok(); |
||||
} |
||||
|
||||
/** |
||||
* 获取当前用户菜单信息 |
||||
* |
||||
* @return 菜单信息 |
||||
*/ |
||||
@GetMapping("/menus") |
||||
public R menus() { |
||||
Set<Menu> menuSet = new HashSet<>(); |
||||
SecurityUtils.getRoles().forEach(roleId -> menuSet.addAll(menuService.selectMenuListByRoleId(roleId))); |
||||
List<Menu> menuList = menuSet.stream().sorted(Comparator.comparingInt(Menu::getSort)).collect(Collectors.toList()); |
||||
return R.ok(menuService.buildMenus(menuService.buildTree(menuList, "0"))); |
||||
} |
||||
|
||||
/** |
||||
* 加载所有菜单列表树 |
||||
*/ |
||||
@GetMapping("/menuTree") |
||||
@ResponseBody |
||||
public R menuTree() { |
||||
List<Menu> menuList = menuService.list(new QueryWrapper<Menu>().eq("status", "0").orderByAsc("sort")); |
||||
return R.ok(menuList); |
||||
} |
||||
|
||||
/** |
||||
* todo: menus ? 重复的方法? 后面需要删除一个 |
||||
* 加载角色菜单列表树 |
||||
*/ |
||||
@GetMapping("/tree/{roleId:\\w+}") |
||||
public R roleMenuTree(@PathVariable String roleId) { |
||||
return R.ok().setData(menuService.selectTreeMenusByRoleId(roleId)); |
||||
} |
||||
|
||||
/** |
||||
* 菜单分级列表,用于前端下拉框使用 |
||||
* |
||||
* @return Result |
||||
*/ |
||||
@GetMapping("/grade") |
||||
public R grade() { |
||||
LambdaQueryWrapper<Menu> lsm = Wrappers.<Menu>query().lambda().orderByAsc(Menu::getSort); |
||||
List<Menu> menus = menuService.list(lsm); |
||||
return R.ok().setData(ForestNodeMerger.merge( |
||||
menus.stream().map(menu -> MenuDTO.builder() |
||||
.id(menu.getId()) |
||||
.label(menu.getName()) |
||||
.parentId(menu.getParentId()).build()).collect(Collectors.toList()))); |
||||
} |
||||
|
||||
|
||||
} |
||||
@ -1,182 +0,0 @@
@@ -1,182 +0,0 @@
|
||||
package com.cloud.kicc.admin.service.impl; |
||||
|
||||
import cn.hutool.core.lang.tree.TreeUtil; |
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.cloud.kicc.admin.api.entity.Menu; |
||||
import com.cloud.kicc.admin.api.vo.MenuVo; |
||||
import com.cloud.kicc.admin.api.vo.MetaVo; |
||||
import com.cloud.kicc.admin.mapper.MenuMapper; |
||||
import com.cloud.kicc.admin.service.MenuService; |
||||
import com.cloud.kicc.common.core.util.tree.ForestNodeManager; |
||||
import com.cloud.kicc.common.core.util.tree.ForestNodeMerger; |
||||
import com.cloud.kicc.common.core.util.tree.INode; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.Iterator; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
*<p> |
||||
* 菜单权限表 服务实现类 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/24 |
||||
*/ |
||||
@Service |
||||
public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements MenuService { |
||||
|
||||
|
||||
|
||||
|
||||
/** |
||||
* 通过角色编号查询权限 |
||||
* |
||||
* @param roleId 角色ID |
||||
* @return 菜单列表 |
||||
*/ |
||||
@Override |
||||
public List<Menu> selectMenuListByRoleId(String roleId) { |
||||
return baseMapper.selectMenuListByRoleId(roleId); |
||||
} |
||||
|
||||
/** |
||||
* 通过角色编号查询权限小时 |
||||
* |
||||
* @param roleId 角色ID |
||||
* @return 菜单列表 |
||||
*/ |
||||
@Override |
||||
public List<String> selectPermsByRoleId(String roleId) { |
||||
return baseMapper.selectPermsByRoleId(roleId); |
||||
} |
||||
|
||||
/** |
||||
* 根据菜单ID查询信息 |
||||
* |
||||
* @param roleId 角色ID |
||||
* @return 菜单信息 |
||||
*/ |
||||
@Override |
||||
public List<MenuVo> selectTreeMenusByRoleId(String roleId) { |
||||
//1. 获取用户的菜单列表,待扩展
|
||||
List<Menu> menus = this.baseMapper.selectMenuListByRoleId(roleId); |
||||
//2. 生成菜单树
|
||||
return buildMenus(buildTree(menus, "0")); |
||||
} |
||||
|
||||
/** |
||||
* 构建前端路由所需要的菜单 |
||||
* |
||||
* @param menus 菜单列表 |
||||
* @return 路由列表 |
||||
*/ |
||||
@Override |
||||
public List<MenuVo> buildMenus(List<Menu> menus) { |
||||
List<MenuVo> menuVoList = menus.stream().map(menu -> { |
||||
MenuVo menuVo = new MenuVo(); |
||||
|
||||
menuVo.setId(menu.getId()); |
||||
menuVo.setParentId(menu.getParentId()); |
||||
menuVo.setKeepAlive(menu.getKeepAlive()); |
||||
menuVo.setPermission(menu.getPermission()); |
||||
menuVo.setIcon(menu.getIcon()); |
||||
menuVo.setTarget(menu.getTarget()); |
||||
menuVo.setSort(menu.getSort()); |
||||
menuVo.setName(menu.getName()); |
||||
menuVo.setType(menu.getType()); |
||||
menuVo.setCreateTime(menu.getCreateTime()); |
||||
menuVo.setStatus(menu.getStatus()); |
||||
if ("M".equals(menu.getType())) { |
||||
menuVo.setTypeName("目录"); |
||||
}else if ("C".equals(menu.getType())) { |
||||
menuVo.setTypeName("菜单"); |
||||
} else if ("F".equals(menu.getType())) { |
||||
menuVo.setTypeName("按钮"); |
||||
} |
||||
menuVo.setPath(menu.getPath()); |
||||
menuVo.setHidden("1".equals(menu.getStatus())); |
||||
menuVo.setComponent(menu.getComponent()); |
||||
menuVo.setMeta(MetaVo.builder().title(menu.getName()).icon(menu.getIcon()).keepAlive("0".equals(menu.getKeepAlive()) ? true : false).build()); |
||||
List<Menu> cMenus = menu.getChildren(); |
||||
if (cMenus != null && cMenus.size() > 0 && "M".equals(menu.getType())) { |
||||
menuVo.setAlwaysShow(true); |
||||
menuVo.setRedirect("noRedirect"); |
||||
menuVo.setChildren(buildMenus(cMenus)); |
||||
} else { |
||||
menuVo.setAlwaysShow(false); |
||||
} |
||||
return menuVo; |
||||
}).collect(Collectors.toList()); |
||||
return menuVoList; |
||||
} |
||||
|
||||
/** |
||||
* 构建树 |
||||
* |
||||
* @param list 分类表 |
||||
* @param parentId 传入的父节点ID |
||||
* @return String |
||||
*/ |
||||
@Override |
||||
public List<Menu> buildTree(List<Menu> list, String parentId) { |
||||
List<Menu> menuList = new ArrayList(); |
||||
for (Iterator<Menu> iterator = list.iterator(); iterator.hasNext(); ) { |
||||
Menu t = iterator.next(); |
||||
if (StrUtil.equals(t.getParentId(), parentId)) { |
||||
recursion(list, t); |
||||
menuList.add(t); |
||||
} |
||||
} |
||||
return menuList; |
||||
} |
||||
|
||||
/** |
||||
* 递归列表 |
||||
* |
||||
* @param list |
||||
* @param t |
||||
*/ |
||||
private void recursion(List<Menu> list, Menu t) { |
||||
// 得到子节点列表
|
||||
List<Menu> childList = getChildList(list, t); |
||||
t.setChildren(childList); |
||||
for (Menu tChild : childList) { |
||||
if (hasChild(list, tChild)) { |
||||
// 判断是否有子节点
|
||||
Iterator<Menu> it = childList.iterator(); |
||||
while (it.hasNext()) { |
||||
Menu n = it.next(); |
||||
recursion(list, n); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 判断是否有子节点 |
||||
*/ |
||||
private boolean hasChild(List<Menu> list, Menu t) { |
||||
return getChildList(list, t).size() > 0 ? true : false; |
||||
} |
||||
|
||||
/** |
||||
* 得到子节点列表 |
||||
*/ |
||||
private List<Menu> getChildList(List<Menu> list, Menu t) { |
||||
List<Menu> tlist = new ArrayList(); |
||||
Iterator<Menu> it = list.iterator(); |
||||
while (it.hasNext()) { |
||||
Menu n = it.next(); |
||||
if (StrUtil.equals(n.getParentId(), t.getId())) { |
||||
tlist.add(n); |
||||
} |
||||
} |
||||
return tlist; |
||||
} |
||||
|
||||
|
||||
} |
||||
@ -1,9 +1,9 @@
@@ -1,9 +1,9 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.cloud.kicc.admin.api.entity.Address; |
||||
import com.cloud.kicc.admin.service.AddressService; |
||||
import com.cloud.kicc.system.api.entity.Address; |
||||
import com.cloud.kicc.system.service.AddressService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import io.swagger.annotations.Api; |
||||
@ -1,9 +1,9 @@
@@ -1,9 +1,9 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.cloud.kicc.admin.api.entity.User; |
||||
import com.cloud.kicc.admin.service.AppService; |
||||
import com.cloud.kicc.admin.service.UserService; |
||||
import com.cloud.kicc.system.api.entity.User; |
||||
import com.cloud.kicc.system.service.AppService; |
||||
import com.cloud.kicc.system.service.UserService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.security.annotation.Inner; |
||||
@ -1,12 +1,12 @@
@@ -1,12 +1,12 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.cloud.kicc.admin.api.entity.Config; |
||||
import com.cloud.kicc.admin.service.ConfigService; |
||||
import com.cloud.kicc.system.api.entity.Config; |
||||
import com.cloud.kicc.system.service.ConfigService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.core.constant.CacheConstants; |
||||
@ -1,14 +1,14 @@
@@ -1,14 +1,14 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.cloud.kicc.admin.api.entity.Dept; |
||||
import com.cloud.kicc.admin.api.entity.RoleDept; |
||||
import com.cloud.kicc.admin.api.entity.User; |
||||
import com.cloud.kicc.admin.api.vo.ResultVo; |
||||
import com.cloud.kicc.admin.service.DeptService; |
||||
import com.cloud.kicc.admin.service.RoleDeptService; |
||||
import com.cloud.kicc.admin.service.UserService; |
||||
import com.cloud.kicc.system.api.entity.Dept; |
||||
import com.cloud.kicc.system.api.entity.RoleDept; |
||||
import com.cloud.kicc.system.api.entity.User; |
||||
import com.cloud.kicc.system.api.vo.ResultVo; |
||||
import com.cloud.kicc.system.service.DeptService; |
||||
import com.cloud.kicc.system.service.RoleDeptService; |
||||
import com.cloud.kicc.system.service.UserService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.log.annotation.SysLog; |
||||
@ -1,13 +1,13 @@
@@ -1,13 +1,13 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.cloud.kicc.admin.api.entity.DictData; |
||||
import com.cloud.kicc.admin.api.feign.RemoteDictService; |
||||
import com.cloud.kicc.admin.service.DictDataService; |
||||
import com.cloud.kicc.system.api.entity.DictData; |
||||
import com.cloud.kicc.system.api.feign.RemoteDictService; |
||||
import com.cloud.kicc.system.service.DictDataService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.core.constant.CacheConstants; |
||||
@ -1,11 +1,11 @@
@@ -1,11 +1,11 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.io.IoUtil; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.cloud.kicc.admin.api.entity.File; |
||||
import com.cloud.kicc.admin.service.FileService; |
||||
import com.cloud.kicc.system.api.entity.File; |
||||
import com.cloud.kicc.system.service.FileService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.log.annotation.SysLog; |
||||
@ -1,9 +1,9 @@
@@ -1,9 +1,9 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.cloud.kicc.admin.api.entity.Hospital; |
||||
import com.cloud.kicc.admin.service.HospitalService; |
||||
import com.cloud.kicc.system.api.entity.Hospital; |
||||
import com.cloud.kicc.system.service.HospitalService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import io.swagger.annotations.Api; |
||||
@ -0,0 +1,103 @@
@@ -0,0 +1,103 @@
|
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.cloud.kicc.system.api.entity.Menu; |
||||
import com.cloud.kicc.system.api.entity.RoleMenu; |
||||
import com.cloud.kicc.system.service.MenuService; |
||||
import com.cloud.kicc.system.service.RoleMenuService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.log.annotation.SysLog; |
||||
import com.cloud.kicc.common.security.util.SecurityUtils; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import lombok.AllArgsConstructor; |
||||
import org.springframework.security.access.prepost.PreAuthorize; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.Comparator; |
||||
import java.util.HashSet; |
||||
import java.util.List; |
||||
import java.util.Set; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
*<p> |
||||
* 菜单信息 |
||||
*</p> |
||||
* |
||||
* @Author: entfrm开发团队-王翔 |
||||
* @Date: 2022/2/24 |
||||
*/ |
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping(AppConstants.APP_SYSTEM + "/menu") |
||||
public class MenuController { |
||||
|
||||
private final MenuService menuService; |
||||
private final RoleMenuService roleMenuService; |
||||
|
||||
private LambdaQueryWrapper<Menu> getQueryWrapper(Menu menu) { |
||||
return new LambdaQueryWrapper<Menu>() |
||||
.like(StrUtil.isNotBlank(menu.getName()), Menu::getName, menu.getName()) |
||||
.eq(StrUtil.isNotBlank(menu.getHideMenu()), Menu::getHideMenu, menu.getHideMenu()) |
||||
.orderByAsc(Menu::getSort); |
||||
} |
||||
|
||||
/** |
||||
* 获取当前用户菜单路由信息 |
||||
* 前端需要根据路由的数据生成菜单 |
||||
* @return 前端路由数据 |
||||
*/ |
||||
@GetMapping("/menuRoute") |
||||
@ApiOperation(value = "路由菜单树", notes = "前端需要根据路由的数据生成菜单") |
||||
public R menuRoute() { |
||||
Set<Menu> menuSet = new HashSet(); |
||||
SecurityUtils.getRoles().forEach(roleId -> menuSet.addAll(menuService.selectMenuListByRoleId(roleId))); |
||||
List<Menu> menuList = menuSet.stream().sorted(Comparator.comparingInt(Menu::getSort)).collect(Collectors.toList()); |
||||
return R.ok(menuService.buildMenuRoute(menuService.buildMenuTree(menuList, "0"))); |
||||
} |
||||
|
||||
@GetMapping("/list") |
||||
@PreAuthorize("@pms.hasPermission('menu_view')") |
||||
public R list(Menu menu) { |
||||
List<Menu> menuList = menuService.list(getQueryWrapper(menu)); |
||||
return R.ok(menuList, menuList.size()); |
||||
} |
||||
|
||||
@GetMapping("/{id:\\w+}") |
||||
public R getById(@PathVariable String id) { |
||||
return R.ok(menuService.getById(id)); |
||||
} |
||||
|
||||
@SysLog("菜单新增") |
||||
@PostMapping("/save") |
||||
@PreAuthorize("@pms.hasPermission('menu_add')") |
||||
public R save(@RequestBody Menu menu) { |
||||
menuService.save(menu); |
||||
return R.ok(); |
||||
} |
||||
|
||||
@SysLog("菜单修改") |
||||
@PutMapping("/update") |
||||
@PreAuthorize("@pms.hasPermission('menu_edit')") |
||||
public R update(@RequestBody Menu menu) { |
||||
menuService.updateById(menu); |
||||
return R.ok(); |
||||
} |
||||
|
||||
@SysLog("菜单删除") |
||||
@DeleteMapping("/remove/{id:\\w+}") |
||||
@PreAuthorize("@pms.hasPermission('menu_del')") |
||||
public R remove(@PathVariable String id) { |
||||
if (menuService.count(new LambdaQueryWrapper<Menu>().eq(Menu::getParentId, id)) > 0) { |
||||
return R.error("存在子菜单,不允许删除"); |
||||
} |
||||
if (roleMenuService.count(new LambdaQueryWrapper<RoleMenu>().eq(RoleMenu::getMenuId, id)) > 0) { |
||||
return R.error("菜单已分配,不允许删除"); |
||||
} |
||||
menuService.removeById(id); |
||||
return R.ok(); |
||||
} |
||||
|
||||
} |
||||
@ -1,10 +1,10 @@
@@ -1,10 +1,10 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.cloud.kicc.admin.api.entity.OauthClientDetails; |
||||
import com.cloud.kicc.admin.service.OauthClientDetailsService; |
||||
import com.cloud.kicc.system.api.entity.OauthClientDetails; |
||||
import com.cloud.kicc.system.service.OauthClientDetailsService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.log.annotation.SysLog; |
||||
@ -1,11 +1,11 @@
@@ -1,11 +1,11 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.cloud.kicc.admin.api.entity.OperLog; |
||||
import com.cloud.kicc.admin.service.OperLogService; |
||||
import com.cloud.kicc.system.api.entity.OperLog; |
||||
import com.cloud.kicc.system.service.OperLogService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.log.annotation.SysLog; |
||||
@ -1,9 +1,9 @@
@@ -1,9 +1,9 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.cloud.kicc.admin.api.entity.ProjectManager; |
||||
import com.cloud.kicc.admin.service.ProjectManagerService; |
||||
import com.cloud.kicc.system.api.entity.ProjectManager; |
||||
import com.cloud.kicc.system.service.ProjectManagerService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import io.swagger.annotations.Api; |
||||
@ -1,11 +1,11 @@
@@ -1,11 +1,11 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import cn.hutool.core.util.StrUtil; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.cloud.kicc.admin.api.entity.Shortcut; |
||||
import com.cloud.kicc.admin.service.ShortcutService; |
||||
import com.cloud.kicc.system.api.entity.Shortcut; |
||||
import com.cloud.kicc.system.service.ShortcutService; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.log.annotation.SysLog; |
||||
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
||||
package com.cloud.kicc.admin.controller; |
||||
package com.cloud.kicc.system.controller; |
||||
|
||||
import com.cloud.kicc.admin.api.feign.RemoteTokenService; |
||||
import com.cloud.kicc.system.api.feign.RemoteTokenService; |
||||
import com.cloud.kicc.common.core.constant.AppConstants; |
||||
import com.cloud.kicc.common.core.constant.SecurityConstants; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Address; |
||||
import com.cloud.kicc.system.api.entity.Address; |
||||
/** |
||||
* @Author: TangSheng |
||||
* @Description: |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Config; |
||||
import com.cloud.kicc.system.api.entity.Config; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Dept; |
||||
import com.cloud.kicc.system.api.entity.Dept; |
||||
|
||||
import java.util.List; |
||||
|
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.DictData; |
||||
import com.cloud.kicc.system.api.entity.DictData; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Dict; |
||||
import com.cloud.kicc.system.api.entity.Dict; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.File; |
||||
import com.cloud.kicc.system.api.entity.File; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Hospital; |
||||
import com.cloud.kicc.system.api.entity.Hospital; |
||||
|
||||
/** |
||||
* @Author: TangSheng |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Menu; |
||||
import com.cloud.kicc.system.api.entity.Menu; |
||||
|
||||
import java.util.List; |
||||
|
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.OauthClientDetails; |
||||
import com.cloud.kicc.system.api.entity.OauthClientDetails; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.OperLog; |
||||
import com.cloud.kicc.system.api.entity.OperLog; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,11 +1,7 @@
@@ -1,11 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.ProjectManager; |
||||
import org.apache.ibatis.annotations.Param; |
||||
import org.apache.ibatis.annotations.Select; |
||||
|
||||
import java.util.List; |
||||
import com.cloud.kicc.system.api.entity.ProjectManager; |
||||
|
||||
/** |
||||
* @Author: TangSheng |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.RoleDept; |
||||
import com.cloud.kicc.system.api.entity.RoleDept; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Role; |
||||
import com.cloud.kicc.system.api.entity.Role; |
||||
|
||||
import java.util.List; |
||||
|
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.RoleMenu; |
||||
import com.cloud.kicc.system.api.entity.RoleMenu; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Shortcut; |
||||
import com.cloud.kicc.system.api.entity.Shortcut; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,8 +1,8 @@
@@ -1,8 +1,8 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.Dept; |
||||
import com.cloud.kicc.admin.api.entity.User; |
||||
import com.cloud.kicc.system.api.entity.Dept; |
||||
import com.cloud.kicc.system.api.entity.User; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.mapper; |
||||
package com.cloud.kicc.system.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.cloud.kicc.admin.api.entity.UserRole; |
||||
import com.cloud.kicc.system.api.entity.UserRole; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.service; |
||||
package com.cloud.kicc.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.cloud.kicc.admin.api.entity.Address; |
||||
import com.cloud.kicc.system.api.entity.Address; |
||||
|
||||
/** |
||||
* @Author: TangSheng |
||||
@ -1,4 +1,4 @@
@@ -1,4 +1,4 @@
|
||||
package com.cloud.kicc.admin.service; |
||||
package com.cloud.kicc.system.service; |
||||
|
||||
import com.cloud.kicc.common.core.api.R; |
||||
|
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.service; |
||||
package com.cloud.kicc.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.cloud.kicc.admin.api.entity.Config; |
||||
import com.cloud.kicc.system.api.entity.Config; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.service; |
||||
package com.cloud.kicc.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.cloud.kicc.admin.api.entity.Dept; |
||||
import com.cloud.kicc.system.api.entity.Dept; |
||||
|
||||
import java.util.List; |
||||
|
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.service; |
||||
package com.cloud.kicc.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.cloud.kicc.admin.api.entity.DictData; |
||||
import com.cloud.kicc.system.api.entity.DictData; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.service; |
||||
package com.cloud.kicc.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.cloud.kicc.admin.api.entity.Dict; |
||||
import com.cloud.kicc.system.api.entity.Dict; |
||||
|
||||
/** |
||||
*<p> |
||||
@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
|
||||
package com.cloud.kicc.admin.service; |
||||
package com.cloud.kicc.system.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.cloud.kicc.admin.api.entity.File; |
||||
import com.cloud.kicc.system.api.entity.File; |
||||
import com.cloud.kicc.common.core.api.R; |
||||
import org.springframework.web.multipart.MultipartFile; |
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue