From 110e45d8c9747b8d45468fff6fb925f8c1341aa5 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期三, 26 四月 2023 17:21:33 +0800
Subject: [PATCH] delete old files

---
 /dev/null |  284 --------------------------------------------------------
 1 files changed, 0 insertions(+), 284 deletions(-)

diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index e1fd273..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
deleted file mode 100644
index e69de29..0000000
--- a/README.md
+++ /dev/null
diff --git a/hrt-api/hrt-api-system/pom.xml b/hrt-api/hrt-api-system/pom.xml
deleted file mode 100644
index 74ecb1b..0000000
--- a/hrt-api/hrt-api-system/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-api</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-api-system</artifactId>
-
-    <description>
-        hrt-api-system系统接口模块
-    </description>
-
-    <dependencies>
-		
-        <!-- hrt Common Core-->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-core</artifactId>
-        </dependency>
-
-        <!--lombok的依赖,为了优化实体类,可以不去实现实体类的set()、get()-->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <optional>true</optional>
-        </dependency>
-        
-    </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteFileService.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteFileService.java
deleted file mode 100644
index c301093..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteFileService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.hrt.system.api;
-
-import com.hrt.system.api.factory.RemoteFileFallbackFactory;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestPart;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.common.core.constant.ServiceNameConstants;
-import com.hrt.common.core.domain.R;
-import com.hrt.system.api.domain.SysFile;
-
-/**
- * 文件服务
- * 
- * @author jqs
- */
-@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class)
-public interface RemoteFileService
-{
-    /**
-     * 上传文件
-     *
-     * @param file 文件信息
-     * @return 结果
-     */
-    @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
-    public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteLogService.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteLogService.java
deleted file mode 100644
index 1d5670f..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteLogService.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.hrt.system.api;
-
-import com.hrt.system.api.domain.SysLogininfor;
-import com.hrt.system.api.domain.SysOperLog;
-import com.hrt.system.api.factory.RemoteLogFallbackFactory;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.constant.ServiceNameConstants;
-import com.hrt.common.core.domain.R;
-
-/**
- * 日志服务
- * 
- * @author jqs
- */
-@FeignClient(contextId = "remoteLogService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteLogFallbackFactory.class)
-public interface RemoteLogService
-{
-    /**
-     * 保存系统日志
-     *
-     * @param sysOperLog 日志实体
-     * @param source 请求来源
-     * @return 结果
-     */
-    @PostMapping("/operlog")
-    public R<Boolean> saveLog(@RequestBody SysOperLog sysOperLog, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception;
-
-    /**
-     * 保存访问记录
-     *
-     * @param sysLogininfor 访问实体
-     * @param source 请求来源
-     * @return 结果
-     */
-    @PostMapping("/logininfor")
-    public R<Boolean> saveLogininfor(@RequestBody SysLogininfor sysLogininfor, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteUserService.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteUserService.java
deleted file mode 100644
index 793035c..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/RemoteUserService.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.api;
-
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.api.factory.RemoteUserFallbackFactory;
-import com.hrt.system.api.model.AppMiniLoginDto;
-import com.hrt.system.api.model.AppMiniLoginVo;
-import com.hrt.system.api.model.LoginUser;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.constant.ServiceNameConstants;
-import com.hrt.common.core.domain.R;
-
-/**
- * 用户服务
- * 
- * @author jqs
- */
-@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
-public interface RemoteUserService
-{
-    /**
-     * 通过用户名查询用户信息
-     *
-     * @param username 用户名
-     * @param source 请求来源
-     * @return 结果
-     */
-    @GetMapping("/user/info/{username}")
-    public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
-
-    /**
-     * 注册用户信息
-     *
-     * @param sysUser 用户信息
-     * @param source 请求来源
-     * @return 结果
-     */
-    @PostMapping("/user/register")
-    public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
-
-
-    /**
-     * 小程序登录
-     * @param appMiniLoginDto
-     * @return
-     */
-    @PostMapping("/user/miniLogin")
-    public R<AppMiniLoginVo> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto);
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDept.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDept.java
deleted file mode 100644
index 018d543..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDept.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package com.hrt.system.api.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-import javax.validation.constraints.Email;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 部门表 sys_dept
- * 
- * @author jqs
- */
-public class SysDept extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 部门ID */
-    private Long deptId;
-
-    /** 父部门ID */
-    private Long parentId;
-
-    /** 祖级列表 */
-    private String ancestors;
-
-    /** 部门名称 */
-    private String deptName;
-
-    /** 显示顺序 */
-    private Integer orderNum;
-
-    /** 负责人 */
-    private String leader;
-
-    /** 联系电话 */
-    private String phone;
-
-    /** 邮箱 */
-    private String email;
-
-    /** 部门状态:0正常,1停用 */
-    private String status;
-
-    /** 删除标志(0代表存在 2代表删除) */
-    private String delFlag;
-
-    /** 父部门名称 */
-    private String parentName;
-    
-    /** 子部门 */
-    private List<SysDept> children = new ArrayList<SysDept>();
-
-    public Long getDeptId()
-    {
-        return deptId;
-    }
-
-    public void setDeptId(Long deptId)
-    {
-        this.deptId = deptId;
-    }
-
-    public Long getParentId()
-    {
-        return parentId;
-    }
-
-    public void setParentId(Long parentId)
-    {
-        this.parentId = parentId;
-    }
-
-    public String getAncestors()
-    {
-        return ancestors;
-    }
-
-    public void setAncestors(String ancestors)
-    {
-        this.ancestors = ancestors;
-    }
-
-    @NotBlank(message = "部门名称不能为空")
-    @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")
-    public String getDeptName()
-    {
-        return deptName;
-    }
-
-    public void setDeptName(String deptName)
-    {
-        this.deptName = deptName;
-    }
-
-    @NotNull(message = "显示顺序不能为空")
-    public Integer getOrderNum()
-    {
-        return orderNum;
-    }
-
-    public void setOrderNum(Integer orderNum)
-    {
-        this.orderNum = orderNum;
-    }
-
-    public String getLeader()
-    {
-        return leader;
-    }
-
-    public void setLeader(String leader)
-    {
-        this.leader = leader;
-    }
-
-    @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
-    public String getPhone()
-    {
-        return phone;
-    }
-
-    public void setPhone(String phone)
-    {
-        this.phone = phone;
-    }
-
-    @Email(message = "邮箱格式不正确")
-    @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
-    public String getEmail()
-    {
-        return email;
-    }
-
-    public void setEmail(String email)
-    {
-        this.email = email;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    public String getDelFlag()
-    {
-        return delFlag;
-    }
-
-    public void setDelFlag(String delFlag)
-    {
-        this.delFlag = delFlag;
-    }
-
-    public String getParentName()
-    {
-        return parentName;
-    }
-
-    public void setParentName(String parentName)
-    {
-        this.parentName = parentName;
-    }
-
-    public List<SysDept> getChildren()
-    {
-        return children;
-    }
-
-    public void setChildren(List<SysDept> children)
-    {
-        this.children = children;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("deptId", getDeptId())
-            .append("parentId", getParentId())
-            .append("ancestors", getAncestors())
-            .append("deptName", getDeptName())
-            .append("orderNum", getOrderNum())
-            .append("leader", getLeader())
-            .append("phone", getPhone())
-            .append("email", getEmail())
-            .append("status", getStatus())
-            .append("delFlag", getDelFlag())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .toString();
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictData.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictData.java
deleted file mode 100644
index 15ce0b6..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictData.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package com.hrt.system.api.domain;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 字典数据表 sys_dict_data
- * 
- * @author jqs
- */
-public class SysDictData extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 字典编码 */
-    @Excel(name = "字典编码", cellType = ColumnType.NUMERIC)
-    private Long dictCode;
-
-    /** 字典排序 */
-    @Excel(name = "字典排序", cellType = ColumnType.NUMERIC)
-    private Long dictSort;
-
-    /** 字典标签 */
-    @Excel(name = "字典标签")
-    private String dictLabel;
-
-    /** 字典键值 */
-    @Excel(name = "字典键值")
-    private String dictValue;
-
-    /** 字典类型 */
-    @Excel(name = "字典类型")
-    private String dictType;
-
-    /** 样式属性(其他样式扩展) */
-    private String cssClass;
-
-    /** 表格字典样式 */
-    private String listClass;
-
-    /** 是否默认(Y是 N否) */
-    @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
-    private String isDefault;
-
-    /** 状态(0正常 1停用) */
-    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
-    private String status;
-
-    public Long getDictCode()
-    {
-        return dictCode;
-    }
-
-    public void setDictCode(Long dictCode)
-    {
-        this.dictCode = dictCode;
-    }
-
-    public Long getDictSort()
-    {
-        return dictSort;
-    }
-
-    public void setDictSort(Long dictSort)
-    {
-        this.dictSort = dictSort;
-    }
-
-    @NotBlank(message = "字典标签不能为空")
-    @Size(min = 0, max = 100, message = "字典标签长度不能超过100个字符")
-    public String getDictLabel()
-    {
-        return dictLabel;
-    }
-
-    public void setDictLabel(String dictLabel)
-    {
-        this.dictLabel = dictLabel;
-    }
-
-    @NotBlank(message = "字典键值不能为空")
-    @Size(min = 0, max = 100, message = "字典键值长度不能超过100个字符")
-    public String getDictValue()
-    {
-        return dictValue;
-    }
-
-    public void setDictValue(String dictValue)
-    {
-        this.dictValue = dictValue;
-    }
-
-    @NotBlank(message = "字典类型不能为空")
-    @Size(min = 0, max = 100, message = "字典类型长度不能超过100个字符")
-    public String getDictType()
-    {
-        return dictType;
-    }
-
-    public void setDictType(String dictType)
-    {
-        this.dictType = dictType;
-    }
-
-    @Size(min = 0, max = 100, message = "样式属性长度不能超过100个字符")
-    public String getCssClass()
-    {
-        return cssClass;
-    }
-
-    public void setCssClass(String cssClass)
-    {
-        this.cssClass = cssClass;
-    }
-
-    public String getListClass()
-    {
-        return listClass;
-    }
-
-    public void setListClass(String listClass)
-    {
-        this.listClass = listClass;
-    }
-
-    public boolean getDefault()
-    {
-        return UserConstants.YES.equals(this.isDefault);
-    }
-
-    public String getIsDefault()
-    {
-        return isDefault;
-    }
-
-    public void setIsDefault(String isDefault)
-    {
-        this.isDefault = isDefault;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-    
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("dictCode", getDictCode())
-            .append("dictSort", getDictSort())
-            .append("dictLabel", getDictLabel())
-            .append("dictValue", getDictValue())
-            .append("dictType", getDictType())
-            .append("cssClass", getCssClass())
-            .append("listClass", getListClass())
-            .append("isDefault", getIsDefault())
-            .append("status", getStatus())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictType.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictType.java
deleted file mode 100644
index 9719545..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysDictType.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.hrt.system.api.domain;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 字典类型表 sys_dict_type
- * 
- * @author jqs
- */
-public class SysDictType extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 字典主键 */
-    @Excel(name = "字典主键", cellType = ColumnType.NUMERIC)
-    private Long dictId;
-
-    /** 字典名称 */
-    @Excel(name = "字典名称")
-    private String dictName;
-
-    /** 字典类型 */
-    @Excel(name = "字典类型")
-    private String dictType;
-
-    /** 状态(0正常 1停用) */
-    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
-    private String status;
-
-    public Long getDictId()
-    {
-        return dictId;
-    }
-
-    public void setDictId(Long dictId)
-    {
-        this.dictId = dictId;
-    }
-
-    @NotBlank(message = "字典名称不能为空")
-    @Size(min = 0, max = 100, message = "字典类型名称长度不能超过100个字符")
-    public String getDictName()
-    {
-        return dictName;
-    }
-
-    public void setDictName(String dictName)
-    {
-        this.dictName = dictName;
-    }
-
-    @NotBlank(message = "字典类型不能为空")
-    @Size(min = 0, max = 100, message = "字典类型类型长度不能超过100个字符")
-    @Pattern(regexp = "^[a-z][a-z0-9_]*$", message = "字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)")
-    public String getDictType()
-    {
-        return dictType;
-    }
-
-    public void setDictType(String dictType)
-    {
-        this.dictType = dictType;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-    
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("dictId", getDictId())
-            .append("dictName", getDictName())
-            .append("dictType", getDictType())
-            .append("status", getStatus())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysFile.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysFile.java
deleted file mode 100644
index 8b63952..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysFile.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hrt.system.api.domain;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-/**
- * 文件信息
- * 
- * @author jqs
- */
-public class SysFile
-{
-    /**
-     * 文件名称
-     */
-    private String name;
-
-    /**
-     * 文件地址
-     */
-    private String url;
-
-    public String getName()
-    {
-        return name;
-    }
-
-    public void setName(String name)
-    {
-        this.name = name;
-    }
-
-    public String getUrl()
-    {
-        return url;
-    }
-
-    public void setUrl(String url)
-    {
-        this.url = url;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("name", getName())
-            .append("url", getUrl())
-            .toString();
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysLogininfor.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysLogininfor.java
deleted file mode 100644
index 1d572a8..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysLogininfor.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.hrt.system.api.domain;
-
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 系统访问记录表 sys_logininfor
- * 
- * @author jqs
- */
-public class SysLogininfor extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** ID */
-    @Excel(name = "序号", cellType = ColumnType.NUMERIC)
-    private Long infoId;
-
-    /** 用户账号 */
-    @Excel(name = "用户账号")
-    private String userName;
-
-    /** 状态 0成功 1失败 */
-    @Excel(name = "状态", readConverterExp = "0=成功,1=失败")
-    private String status;
-
-    /** 地址 */
-    @Excel(name = "地址")
-    private String ipaddr;
-
-    /** 描述 */
-    @Excel(name = "描述")
-    private String msg;
-
-    /** 访问时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
-    private Date accessTime;
-
-    public Long getInfoId()
-    {
-        return infoId;
-    }
-
-    public void setInfoId(Long infoId)
-    {
-        this.infoId = infoId;
-    }
-
-    public String getUserName()
-    {
-        return userName;
-    }
-
-    public void setUserName(String userName)
-    {
-        this.userName = userName;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    public String getIpaddr()
-    {
-        return ipaddr;
-    }
-
-    public void setIpaddr(String ipaddr)
-    {
-        this.ipaddr = ipaddr;
-    }
-
-    public String getMsg()
-    {
-        return msg;
-    }
-
-    public void setMsg(String msg)
-    {
-        this.msg = msg;
-    }
-
-    public Date getAccessTime()
-    {
-        return accessTime;
-    }
-
-    public void setAccessTime(Date accessTime)
-    {
-        this.accessTime = accessTime;
-    }
-}
\ No newline at end of file
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysOperLog.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysOperLog.java
deleted file mode 100644
index 47e3bc3..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysOperLog.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package com.hrt.system.api.domain;
-
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 操作日志记录表 oper_log
- * 
- * @author jqs
- */
-public class SysOperLog extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 日志主键 */
-    @Excel(name = "操作序号", cellType = ColumnType.NUMERIC)
-    private Long operId;
-
-    /** 操作模块 */
-    @Excel(name = "操作模块")
-    private String title;
-
-    /** 业务类型(0其它 1新增 2修改 3删除) */
-    @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
-    private Integer businessType;
-
-    /** 业务类型数组 */
-    private Integer[] businessTypes;
-
-    /** 请求方法 */
-    @Excel(name = "请求方法")
-    private String method;
-
-    /** 请求方式 */
-    @Excel(name = "请求方式")
-    private String requestMethod;
-
-    /** 操作类别(0其它 1后台用户 2手机端用户) */
-    @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
-    private Integer operatorType;
-
-    /** 操作人员 */
-    @Excel(name = "操作人员")
-    private String operName;
-
-    /** 部门名称 */
-    @Excel(name = "部门名称")
-    private String deptName;
-
-    /** 请求url */
-    @Excel(name = "请求地址")
-    private String operUrl;
-
-    /** 操作地址 */
-    @Excel(name = "操作地址")
-    private String operIp;
-
-    /** 请求参数 */
-    @Excel(name = "请求参数")
-    private String operParam;
-
-    /** 返回参数 */
-    @Excel(name = "返回参数")
-    private String jsonResult;
-
-    /** 操作状态(0正常 1异常) */
-    @Excel(name = "状态", readConverterExp = "0=正常,1=异常")
-    private Integer status;
-
-    /** 错误消息 */
-    @Excel(name = "错误消息")
-    private String errorMsg;
-
-    /** 操作时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
-    private Date operTime;
-
-    /** 消耗时间 */
-    @Excel(name = "消耗时间", suffix = "毫秒")
-    private Long costTime;
-
-    public Long getOperId()
-    {
-        return operId;
-    }
-
-    public void setOperId(Long operId)
-    {
-        this.operId = operId;
-    }
-
-    public String getTitle()
-    {
-        return title;
-    }
-
-    public void setTitle(String title)
-    {
-        this.title = title;
-    }
-
-    public Integer getBusinessType()
-    {
-        return businessType;
-    }
-
-    public void setBusinessType(Integer businessType)
-    {
-        this.businessType = businessType;
-    }
-
-    public Integer[] getBusinessTypes()
-    {
-        return businessTypes;
-    }
-
-    public void setBusinessTypes(Integer[] businessTypes)
-    {
-        this.businessTypes = businessTypes;
-    }
-
-    public String getMethod()
-    {
-        return method;
-    }
-
-    public void setMethod(String method)
-    {
-        this.method = method;
-    }
-
-    public String getRequestMethod()
-    {
-        return requestMethod;
-    }
-
-    public void setRequestMethod(String requestMethod)
-    {
-        this.requestMethod = requestMethod;
-    }
-
-    public Integer getOperatorType()
-    {
-        return operatorType;
-    }
-
-    public void setOperatorType(Integer operatorType)
-    {
-        this.operatorType = operatorType;
-    }
-
-    public String getOperName()
-    {
-        return operName;
-    }
-
-    public void setOperName(String operName)
-    {
-        this.operName = operName;
-    }
-
-    public String getDeptName()
-    {
-        return deptName;
-    }
-
-    public void setDeptName(String deptName)
-    {
-        this.deptName = deptName;
-    }
-
-    public String getOperUrl()
-    {
-        return operUrl;
-    }
-
-    public void setOperUrl(String operUrl)
-    {
-        this.operUrl = operUrl;
-    }
-
-    public String getOperIp()
-    {
-        return operIp;
-    }
-
-    public void setOperIp(String operIp)
-    {
-        this.operIp = operIp;
-    }
-
-    public String getOperParam()
-    {
-        return operParam;
-    }
-
-    public void setOperParam(String operParam)
-    {
-        this.operParam = operParam;
-    }
-
-    public String getJsonResult()
-    {
-        return jsonResult;
-    }
-
-    public void setJsonResult(String jsonResult)
-    {
-        this.jsonResult = jsonResult;
-    }
-
-    public Integer getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(Integer status)
-    {
-        this.status = status;
-    }
-
-    public String getErrorMsg()
-    {
-        return errorMsg;
-    }
-
-    public void setErrorMsg(String errorMsg)
-    {
-        this.errorMsg = errorMsg;
-    }
-
-    public Date getOperTime()
-    {
-        return operTime;
-    }
-
-    public void setOperTime(Date operTime)
-    {
-        this.operTime = operTime;
-    }
-
-    public Long getCostTime()
-    {
-        return costTime;
-    }
-
-    public void setCostTime(Long costTime)
-    {
-        this.costTime = costTime;
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysRole.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysRole.java
deleted file mode 100644
index cf2864c..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysRole.java
+++ /dev/null
@@ -1,241 +0,0 @@
-package com.hrt.system.api.domain;
-
-import java.util.Set;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 角色表 sys_role
- * 
- * @author jqs
- */
-public class SysRole extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 角色ID */
-    @Excel(name = "角色序号", cellType = ColumnType.NUMERIC)
-    private Long roleId;
-
-    /** 角色名称 */
-    @Excel(name = "角色名称")
-    private String roleName;
-
-    /** 角色权限 */
-    @Excel(name = "角色权限")
-    private String roleKey;
-
-    /** 角色排序 */
-    @Excel(name = "角色排序")
-    private Integer roleSort;
-
-    /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */
-    @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
-    private String dataScope;
-
-    /** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */
-    private boolean menuCheckStrictly;
-
-    /** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */
-    private boolean deptCheckStrictly;
-
-    /** 角色状态(0正常 1停用) */
-    @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
-    private String status;
-
-    /** 删除标志(0代表存在 2代表删除) */
-    private String delFlag;
-
-    /** 用户是否存在此角色标识 默认不存在 */
-    private boolean flag = false;
-
-    /** 菜单组 */
-    private Long[] menuIds;
-
-    /** 部门组(数据权限) */
-    private Long[] deptIds;
-
-    /** 角色菜单权限 */
-    private Set<String> permissions;
-
-    public SysRole()
-    {
-
-    }
-
-    public SysRole(Long roleId)
-    {
-        this.roleId = roleId;
-    }
-
-    public Long getRoleId()
-    {
-        return roleId;
-    }
-
-    public void setRoleId(Long roleId)
-    {
-        this.roleId = roleId;
-    }
-
-    public boolean isAdmin()
-    {
-        return isAdmin(this.roleId);
-    }
-
-    public static boolean isAdmin(Long roleId)
-    {
-        return roleId != null && 1L == roleId;
-    }
-
-    @NotBlank(message = "角色名称不能为空")
-    @Size(min = 0, max = 30, message = "角色名称长度不能超过30个字符")
-    public String getRoleName()
-    {
-        return roleName;
-    }
-
-    public void setRoleName(String roleName)
-    {
-        this.roleName = roleName;
-    }
-
-    @NotBlank(message = "权限字符不能为空")
-    @Size(min = 0, max = 100, message = "权限字符长度不能超过100个字符")
-    public String getRoleKey()
-    {
-        return roleKey;
-    }
-
-    public void setRoleKey(String roleKey)
-    {
-        this.roleKey = roleKey;
-    }
-
-    @NotNull(message = "显示顺序不能为空")
-    public Integer getRoleSort()
-    {
-        return roleSort;
-    }
-
-    public void setRoleSort(Integer roleSort)
-    {
-        this.roleSort = roleSort;
-    }
-
-    public String getDataScope()
-    {
-        return dataScope;
-    }
-
-    public void setDataScope(String dataScope)
-    {
-        this.dataScope = dataScope;
-    }
-
-    public boolean isMenuCheckStrictly()
-    {
-        return menuCheckStrictly;
-    }
-
-    public void setMenuCheckStrictly(boolean menuCheckStrictly)
-    {
-        this.menuCheckStrictly = menuCheckStrictly;
-    }
-
-    public boolean isDeptCheckStrictly()
-    {
-        return deptCheckStrictly;
-    }
-
-    public void setDeptCheckStrictly(boolean deptCheckStrictly)
-    {
-        this.deptCheckStrictly = deptCheckStrictly;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    public String getDelFlag()
-    {
-        return delFlag;
-    }
-
-    public void setDelFlag(String delFlag)
-    {
-        this.delFlag = delFlag;
-    }
-
-    public boolean isFlag()
-    {
-        return flag;
-    }
-
-    public void setFlag(boolean flag)
-    {
-        this.flag = flag;
-    }
-
-    public Long[] getMenuIds()
-    {
-        return menuIds;
-    }
-
-    public void setMenuIds(Long[] menuIds)
-    {
-        this.menuIds = menuIds;
-    }
-
-    public Long[] getDeptIds()
-    {
-        return deptIds;
-    }
-
-    public void setDeptIds(Long[] deptIds)
-    {
-        this.deptIds = deptIds;
-    }
-
-    public Set<String> getPermissions()
-    {
-        return permissions;
-    }
-
-    public void setPermissions(Set<String> permissions)
-    {
-        this.permissions = permissions;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("roleId", getRoleId())
-            .append("roleName", getRoleName())
-            .append("roleKey", getRoleKey())
-            .append("roleSort", getRoleSort())
-            .append("dataScope", getDataScope())
-            .append("menuCheckStrictly", isMenuCheckStrictly())
-            .append("deptCheckStrictly", isDeptCheckStrictly())
-            .append("status", getStatus())
-            .append("delFlag", getDelFlag())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysUser.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysUser.java
deleted file mode 100644
index 728443e..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/domain/SysUser.java
+++ /dev/null
@@ -1,323 +0,0 @@
-package com.hrt.system.api.domain;
-
-import java.util.Date;
-import java.util.List;
-import javax.validation.constraints.*;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.annotation.Excel.Type;
-import com.hrt.common.core.annotation.Excels;
-import com.hrt.common.core.web.domain.BaseEntity;
-import com.hrt.common.core.xss.Xss;
-
-/**
- * 用户对象 sys_user
- * 
- * @author jqs
- */
-public class SysUser extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 用户ID */
-    @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
-    private Long userId;
-
-    /** 部门ID */
-    @Excel(name = "部门编号", type = Type.IMPORT)
-    private Long deptId;
-
-    /** 用户账号 */
-    @Excel(name = "登录名称")
-    private String userName;
-
-    /** 用户昵称 */
-    @Excel(name = "用户名称")
-    private String nickName;
-
-    /** 用户邮箱 */
-    @Excel(name = "用户邮箱")
-    private String email;
-
-    /** 手机号码 */
-    @Excel(name = "手机号码")
-    private String phonenumber;
-
-    /** 用户性别 */
-    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
-    private String sex;
-
-    /** 用户头像 */
-    private String avatar;
-
-    /** 密码 */
-    private String password;
-
-    /** 帐号状态(0正常 1停用) */
-    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
-    private String status;
-
-    /** 删除标志(0代表存在 2代表删除) */
-    private String delFlag;
-
-    /** 最后登录IP */
-    @Excel(name = "最后登录IP", type = Type.EXPORT)
-    private String loginIp;
-
-    /** 最后登录时间 */
-    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
-    private Date loginDate;
-
-    /** 部门对象 */
-    @Excels({
-        @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
-        @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
-    })
-    private SysDept dept;
-
-    /** 角色对象 */
-    private List<SysRole> roles;
-
-    /** 角色组 */
-    private Long[] roleIds;
-
-    /** 岗位组 */
-    private Long[] postIds;
-
-    /** 角色ID */
-    private Long roleId;
-
-    public SysUser()
-    {
-
-    }
-
-    public SysUser(Long userId)
-    {
-        this.userId = userId;
-    }
-
-    public Long getUserId()
-    {
-        return userId;
-    }
-
-    public void setUserId(Long userId)
-    {
-        this.userId = userId;
-    }
-
-    public boolean isAdmin()
-    {
-        return isAdmin(this.userId);
-    }
-
-    public static boolean isAdmin(Long userId)
-    {
-        return userId != null && 1L == userId;
-    }
-
-    public Long getDeptId()
-    {
-        return deptId;
-    }
-
-    public void setDeptId(Long deptId)
-    {
-        this.deptId = deptId;
-    }
-
-    @Xss(message = "用户昵称不能包含脚本字符")
-    @Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
-    public String getNickName()
-    {
-        return nickName;
-    }
-
-    public void setNickName(String nickName)
-    {
-        this.nickName = nickName;
-    }
-
-    @Xss(message = "用户账号不能包含脚本字符")
-    @NotBlank(message = "用户账号不能为空")
-    @Size(min = 0, max = 30, message = "用户账号长度不能超过30个字符")
-    public String getUserName()
-    {
-        return userName;
-    }
-
-    public void setUserName(String userName)
-    {
-        this.userName = userName;
-    }
-
-    @Email(message = "邮箱格式不正确")
-    @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
-    public String getEmail()
-    {
-        return email;
-    }
-
-    public void setEmail(String email)
-    {
-        this.email = email;
-    }
-
-    @Size(min = 0, max = 11, message = "手机号码长度不能超过11个字符")
-    public String getPhonenumber()
-    {
-        return phonenumber;
-    }
-
-    public void setPhonenumber(String phonenumber)
-    {
-        this.phonenumber = phonenumber;
-    }
-
-    public String getSex()
-    {
-        return sex;
-    }
-
-    public void setSex(String sex)
-    {
-        this.sex = sex;
-    }
-
-    public String getAvatar()
-    {
-        return avatar;
-    }
-
-    public void setAvatar(String avatar)
-    {
-        this.avatar = avatar;
-    }
-
-    public String getPassword()
-    {
-        return password;
-    }
-
-    public void setPassword(String password)
-    {
-        this.password = password;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    public String getDelFlag()
-    {
-        return delFlag;
-    }
-
-    public void setDelFlag(String delFlag)
-    {
-        this.delFlag = delFlag;
-    }
-
-    public String getLoginIp()
-    {
-        return loginIp;
-    }
-
-    public void setLoginIp(String loginIp)
-    {
-        this.loginIp = loginIp;
-    }
-
-    public Date getLoginDate()
-    {
-        return loginDate;
-    }
-
-    public void setLoginDate(Date loginDate)
-    {
-        this.loginDate = loginDate;
-    }
-
-    public SysDept getDept()
-    {
-        return dept;
-    }
-
-    public void setDept(SysDept dept)
-    {
-        this.dept = dept;
-    }
-
-    public List<SysRole> getRoles()
-    {
-        return roles;
-    }
-
-    public void setRoles(List<SysRole> roles)
-    {
-        this.roles = roles;
-    }
-
-    public Long[] getRoleIds()
-    {
-        return roleIds;
-    }
-
-    public void setRoleIds(Long[] roleIds)
-    {
-        this.roleIds = roleIds;
-    }
-
-    public Long[] getPostIds()
-    {
-        return postIds;
-    }
-
-    public void setPostIds(Long[] postIds)
-    {
-        this.postIds = postIds;
-    }
-
-    public Long getRoleId()
-    {
-        return roleId;
-    }
-
-    public void setRoleId(Long roleId)
-    {
-        this.roleId = roleId;
-    }
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("userId", getUserId())
-            .append("deptId", getDeptId())
-            .append("userName", getUserName())
-            .append("nickName", getNickName())
-            .append("email", getEmail())
-            .append("phonenumber", getPhonenumber())
-            .append("sex", getSex())
-            .append("avatar", getAvatar())
-            .append("password", getPassword())
-            .append("status", getStatus())
-            .append("delFlag", getDelFlag())
-            .append("loginIp", getLoginIp())
-            .append("loginDate", getLoginDate())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .append("dept", getDept())
-            .toString();
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteFileFallbackFactory.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteFileFallbackFactory.java
deleted file mode 100644
index 58f6343..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteFileFallbackFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.hrt.system.api.factory;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.openfeign.FallbackFactory;
-import org.springframework.stereotype.Component;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.common.core.domain.R;
-import com.hrt.system.api.RemoteFileService;
-import com.hrt.system.api.domain.SysFile;
-
-/**
- * 文件服务降级处理
- * 
- * @author jqs
- */
-@Component
-public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileService>
-{
-    private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class);
-
-    @Override
-    public RemoteFileService create(Throwable throwable)
-    {
-        log.error("文件服务调用失败:{}", throwable.getMessage());
-        return new RemoteFileService()
-        {
-            @Override
-            public R<SysFile> upload(MultipartFile file)
-            {
-                return R.fail("上传文件失败:" + throwable.getMessage());
-            }
-        };
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteLogFallbackFactory.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteLogFallbackFactory.java
deleted file mode 100644
index df62a20..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteLogFallbackFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.hrt.system.api.factory;
-
-import com.hrt.system.api.domain.SysLogininfor;
-import com.hrt.system.api.domain.SysOperLog;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.openfeign.FallbackFactory;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.domain.R;
-import com.hrt.system.api.RemoteLogService;
-
-/**
- * 日志服务降级处理
- * 
- * @author jqs
- */
-@Component
-public class RemoteLogFallbackFactory implements FallbackFactory<RemoteLogService>
-{
-    private static final Logger log = LoggerFactory.getLogger(RemoteLogFallbackFactory.class);
-
-    @Override
-    public RemoteLogService create(Throwable throwable)
-    {
-        log.error("日志服务调用失败:{}", throwable.getMessage());
-        return new RemoteLogService()
-        {
-            @Override
-            public R<Boolean> saveLog(SysOperLog sysOperLog, String source)
-            {
-                return null;
-            }
-
-            @Override
-            public R<Boolean> saveLogininfor(SysLogininfor sysLogininfor, String source)
-            {
-                return null;
-            }
-        };
-
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteUserFallbackFactory.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteUserFallbackFactory.java
deleted file mode 100644
index 3c68339..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/factory/RemoteUserFallbackFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hrt.system.api.factory;
-
-import com.hrt.system.api.model.AppMiniLoginDto;
-import com.hrt.system.api.model.AppMiniLoginVo;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.openfeign.FallbackFactory;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.domain.R;
-import com.hrt.system.api.RemoteUserService;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * 用户服务降级处理
- * 
- * @author jqs
- */
-@Component
-public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserService>
-{
-    private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class);
-
-    @Override
-    public RemoteUserService create(Throwable throwable)
-    {
-        log.error("用户服务调用失败:{}", throwable.getMessage());
-        return new RemoteUserService()
-        {
-            @Override
-            public R<LoginUser> getUserInfo(String username, String source)
-            {
-                return R.fail("获取用户失败:" + throwable.getMessage());
-            }
-
-            @Override
-            public R<Boolean> registerUserInfo(SysUser sysUser, String source)
-            {
-                return R.fail("注册用户失败:" + throwable.getMessage());
-            }
-
-            @Override
-            public R<AppMiniLoginVo> miniLogin(AppMiniLoginDto appMiniLoginDto)
-            {
-                return R.fail("登录用户失败:" + throwable.getMessage());
-            }
-        };
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginDto.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginDto.java
deleted file mode 100644
index afe4842..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.system.api.model;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppGetUnionid
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-@Data
-public class AppMiniLoginDto {
-
-    @ApiModelProperty(value = "code")
-    private String code;
-
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginVo.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginVo.java
deleted file mode 100644
index 63d7fcb..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/AppMiniLoginVo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.hrt.system.api.model;
-
-import com.hrt.system.api.domain.SysUser;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppGetUnionid
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-@Data
-public class AppMiniLoginVo {
-
-    @ApiModelProperty(value = "小程序openid")
-    private String miniOpenid;
-
-    @ApiModelProperty(value = "微信unionid")
-    private String wxUnionid;
-
-    @ApiModelProperty(value = "微信sessionKey")
-    private String sessionKey;
-
-    @ApiModelProperty(value = "用户信息")
-    private SysUser sysUser;
-}
diff --git a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/LoginUser.java b/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/LoginUser.java
deleted file mode 100644
index e601900..0000000
--- a/hrt-api/hrt-api-system/src/main/java/com/hrt/system/api/model/LoginUser.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package com.hrt.system.api.model;
-
-import java.io.Serializable;
-import java.util.Set;
-import com.hrt.system.api.domain.SysUser;
-
-/**
- * 用户信息
- *
- * @author jqs
- */
-public class LoginUser implements Serializable
-{
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 用户唯一标识
-     */
-    private String token;
-
-    /**
-     * 用户名id
-     */
-    private Long userid;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-    /**
-     * 登录时间
-     */
-    private Long loginTime;
-
-    /**
-     * 过期时间
-     */
-    private Long expireTime;
-
-    /**
-     * 登录IP地址
-     */
-    private String ipaddr;
-
-    /**
-     * 权限列表
-     */
-    private Set<String> permissions;
-
-    /**
-     * 角色列表
-     */
-    private Set<String> roles;
-
-    /**
-     * 用户信息
-     */
-    private SysUser sysUser;
-
-    public String getToken()
-    {
-        return token;
-    }
-
-    public void setToken(String token)
-    {
-        this.token = token;
-    }
-
-    public Long getUserid()
-    {
-        return userid;
-    }
-
-    public void setUserid(Long userid)
-    {
-        this.userid = userid;
-    }
-
-    public String getUsername()
-    {
-        return username;
-    }
-
-    public void setUsername(String username)
-    {
-        this.username = username;
-    }
-
-    public Long getLoginTime()
-    {
-        return loginTime;
-    }
-
-    public void setLoginTime(Long loginTime)
-    {
-        this.loginTime = loginTime;
-    }
-
-    public Long getExpireTime()
-    {
-        return expireTime;
-    }
-
-    public void setExpireTime(Long expireTime)
-    {
-        this.expireTime = expireTime;
-    }
-
-    public String getIpaddr()
-    {
-        return ipaddr;
-    }
-
-    public void setIpaddr(String ipaddr)
-    {
-        this.ipaddr = ipaddr;
-    }
-
-    public Set<String> getPermissions()
-    {
-        return permissions;
-    }
-
-    public void setPermissions(Set<String> permissions)
-    {
-        this.permissions = permissions;
-    }
-
-    public Set<String> getRoles()
-    {
-        return roles;
-    }
-
-    public void setRoles(Set<String> roles)
-    {
-        this.roles = roles;
-    }
-
-    public SysUser getSysUser()
-    {
-        return sysUser;
-    }
-
-    public void setSysUser(SysUser sysUser)
-    {
-        this.sysUser = sysUser;
-    }
-}
diff --git a/hrt-api/hrt-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-api/hrt-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 428fe78..0000000
--- a/hrt-api/hrt-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,3 +0,0 @@
-com.hrt.system.api.factory.RemoteUserFallbackFactory
-com.hrt.system.api.factory.RemoteLogFallbackFactory
-com.hrt.system.api.factory.RemoteFileFallbackFactory
diff --git a/hrt-api/pom.xml b/hrt-api/pom.xml
deleted file mode 100644
index 73b7699..0000000
--- a/hrt-api/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <modules>
-        <module>hrt-api-system</module>
-    </modules>
-
-    <artifactId>hrt-api</artifactId>
-    <packaging>pom</packaging>
-
-    <description>
-        hrt-api系统接口
-    </description>
-
-</project>
diff --git a/hrt-auth/pom.xml b/hrt-auth/pom.xml
deleted file mode 100644
index a0165b4..0000000
--- a/hrt-auth/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-auth</artifactId>
-	
-    <description>
-        hrt-auth认证授权中心
-    </description>
-    
-    <dependencies>
-        
-        <!-- SpringCloud Alibaba Nacos -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Nacos Config -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Sentinel -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
-        </dependency>
-		
-        <!-- SpringBoot Web -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        
-        <!-- SpringBoot Actuator -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-		
-        <!-- hrt Common Security-->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-security</artifactId>
-        </dependency>
-        
-    </dependencies>
-	
-    <build>
-        <finalName>${project.artifactId}</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-   
-</project>
diff --git a/hrt-auth/src/main/java/com/hrt/auth/HrtAuthApplication.java b/hrt-auth/src/main/java/com/hrt/auth/HrtAuthApplication.java
deleted file mode 100644
index 7704e46..0000000
--- a/hrt-auth/src/main/java/com/hrt/auth/HrtAuthApplication.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.auth;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import com.hrt.common.security.annotation.EnableRyFeignClients;
-
-/**
- * 认证授权中心
- * 
- * @author jqs
- */
-@EnableRyFeignClients
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
-public class HrtAuthApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(HrtAuthApplication.class, args);
-        System.out.println("认证授权中心启动成功");
-    }
-}
diff --git a/hrt-auth/src/main/java/com/hrt/auth/controller/TokenController.java b/hrt-auth/src/main/java/com/hrt/auth/controller/TokenController.java
deleted file mode 100644
index 6d30277..0000000
--- a/hrt-auth/src/main/java/com/hrt/auth/controller/TokenController.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.hrt.auth.controller;
-
-import javax.servlet.http.HttpServletRequest;
-
-import com.hrt.system.api.model.AppMiniLoginDto;
-import com.hrt.system.api.model.AppMiniLoginVo;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.auth.form.LoginBody;
-import com.hrt.auth.form.RegisterBody;
-import com.hrt.auth.service.SysLoginService;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.core.utils.JwtUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.security.auth.AuthUtil;
-import com.hrt.common.security.service.TokenService;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * token 控制
- * 
- * @author jqs
- */
-@RestController
-public class TokenController
-{
-    @Autowired
-    private TokenService tokenService;
-
-    @Autowired
-    private SysLoginService sysLoginService;
-
-    @ApiOperation("系统登录")
-    @PostMapping("login")
-    public R<?> login(@RequestBody LoginBody form)
-    {
-        // 用户登录
-        LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword());
-        // 获取登录token
-        return R.ok(tokenService.createToken(userInfo));
-    }
-
-    @ApiOperation("小程序登录")
-    @PostMapping("miniLogin")
-    public R<?> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto)
-    {
-        // 小程序用户登录
-        AppMiniLoginVo appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto);
-        // 获取登录token
-        return R.ok(tokenService.createMiniToken(appMiniLoginVo));
-    }
-
-    @DeleteMapping("logout")
-    public R<?> logout(HttpServletRequest request)
-    {
-        String token = SecurityUtils.getToken(request);
-        if (StringUtils.isNotEmpty(token))
-        {
-            String username = JwtUtils.getUserName(token);
-            // 删除用户缓存记录
-            AuthUtil.logoutByToken(token);
-            // 记录用户退出日志
-            sysLoginService.logout(username);
-        }
-        return R.ok();
-    }
-
-    @PostMapping("refresh")
-    public R<?> refresh(HttpServletRequest request)
-    {
-        LoginUser loginUser = tokenService.getLoginUser(request);
-        if (StringUtils.isNotNull(loginUser))
-        {
-            // 刷新令牌有效期
-            tokenService.refreshToken(loginUser);
-            return R.ok();
-        }
-        return R.ok();
-    }
-
-    @PostMapping("register")
-    public R<?> register(@RequestBody RegisterBody registerBody)
-    {
-        // 用户注册
-        sysLoginService.register(registerBody.getUsername(), registerBody.getPassword());
-        return R.ok();
-    }
-
-
-}
diff --git a/hrt-auth/src/main/java/com/hrt/auth/form/LoginBody.java b/hrt-auth/src/main/java/com/hrt/auth/form/LoginBody.java
deleted file mode 100644
index b4bcf35..0000000
--- a/hrt-auth/src/main/java/com/hrt/auth/form/LoginBody.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.hrt.auth.form;
-
-/**
- * 用户登录对象
- * 
- * @author jqs
- */
-public class LoginBody
-{
-    /**
-     * 用户名
-     */
-    private String username;
-
-    /**
-     * 用户密码
-     */
-    private String password;
-
-    public String getUsername()
-    {
-        return username;
-    }
-
-    public void setUsername(String username)
-    {
-        this.username = username;
-    }
-
-    public String getPassword()
-    {
-        return password;
-    }
-
-    public void setPassword(String password)
-    {
-        this.password = password;
-    }
-}
diff --git a/hrt-auth/src/main/java/com/hrt/auth/form/RegisterBody.java b/hrt-auth/src/main/java/com/hrt/auth/form/RegisterBody.java
deleted file mode 100644
index 5e729b5..0000000
--- a/hrt-auth/src/main/java/com/hrt/auth/form/RegisterBody.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.hrt.auth.form;
-
-/**
- * 用户注册对象
- * 
- * @author jqs
- */
-public class RegisterBody extends LoginBody
-{
-
-}
diff --git a/hrt-auth/src/main/java/com/hrt/auth/service/SysLoginService.java b/hrt-auth/src/main/java/com/hrt/auth/service/SysLoginService.java
deleted file mode 100644
index dd7ea08..0000000
--- a/hrt-auth/src/main/java/com/hrt/auth/service/SysLoginService.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package com.hrt.auth.service;
-
-import com.hrt.system.api.model.AppMiniLoginDto;
-import com.hrt.system.api.model.AppMiniLoginVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.core.enums.UserStatus;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.ip.IpUtils;
-import com.hrt.common.redis.service.RedisService;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.RemoteUserService;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * 登录校验方法
- * 
- * @author jqs
- */
-@Component
-public class SysLoginService
-{
-    @Autowired
-    private RemoteUserService remoteUserService;
-
-    @Autowired
-    private SysPasswordService passwordService;
-
-    @Autowired
-    private SysRecordLogService recordLogService;
-
-    @Autowired
-    private RedisService redisService;
-
-    /**
-     * 登录
-     */
-    public LoginUser login(String username, String password)
-    {
-        // 用户名或密码为空 错误
-        if (StringUtils.isAnyBlank(username, password))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写");
-            throw new ServiceException("用户/密码必须填写");
-        }
-        // 密码如果不在指定范围内 错误
-        if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
-                || password.length() > UserConstants.PASSWORD_MAX_LENGTH)
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户密码不在指定范围");
-            throw new ServiceException("用户密码不在指定范围");
-        }
-        // 用户名不在指定范围内 错误
-        if (username.length() < UserConstants.USERNAME_MIN_LENGTH
-                || username.length() > UserConstants.USERNAME_MAX_LENGTH)
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户名不在指定范围");
-            throw new ServiceException("用户名不在指定范围");
-        }
-        // IP黑名单校验
-        String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST));
-        if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr()))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "很遗憾,访问IP已被列入系统黑名单");
-            throw new ServiceException("很遗憾,访问IP已被列入系统黑名单");
-        }
-        // 查询用户信息
-        R<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER);
-
-        if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData()))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在");
-            throw new ServiceException("登录用户:" + username + " 不存在");
-        }
-
-        if (R.FAIL == userResult.getCode())
-        {
-            throw new ServiceException(userResult.getMsg());
-        }
-        
-        LoginUser userInfo = userResult.getData();
-        SysUser user = userResult.getData().getSysUser();
-        if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除");
-            throw new ServiceException("对不起,您的账号:" + username + " 已被删除");
-        }
-        if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员");
-            throw new ServiceException("对不起,您的账号:" + username + " 已停用");
-        }
-        passwordService.validate(user, password);
-        recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功");
-        return userInfo;
-    }
-
-    /**
-     * 登录
-     */
-    public AppMiniLoginVo miniLogin(AppMiniLoginDto appMiniLoginDto)
-    {
-        // 查询用户信息
-        R<AppMiniLoginVo> userResult = remoteUserService.miniLogin(appMiniLoginDto);
-        if (R.FAIL == userResult.getCode())
-        {
-            throw new ServiceException(userResult.getMsg());
-        }
-        AppMiniLoginVo userInfo = userResult.getData();
-        SysUser user = userResult.getData().getSysUser();
-        String username = user.getUserName();
-        // IP黑名单校验
-        String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST));
-        if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr()))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "很遗憾,访问IP已被列入系统黑名单");
-            throw new ServiceException("很遗憾,访问IP已被列入系统黑名单");
-        }
-        if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除");
-            throw new ServiceException("对不起,您的账号:" + username + " 已被删除");
-        }
-        if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
-        {
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员");
-            throw new ServiceException("对不起,您的账号:" + username + " 已停用");
-        }
-        recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功");
-        return userInfo;
-    }
-
-    public void logout(String loginName)
-    {
-        recordLogService.recordLogininfor(loginName, Constants.LOGOUT, "退出成功");
-    }
-
-    /**
-     * 注册
-     */
-    public void register(String username, String password)
-    {
-        // 用户名或密码为空 错误
-        if (StringUtils.isAnyBlank(username, password))
-        {
-            throw new ServiceException("用户/密码必须填写");
-        }
-        if (username.length() < UserConstants.USERNAME_MIN_LENGTH
-                || username.length() > UserConstants.USERNAME_MAX_LENGTH)
-        {
-            throw new ServiceException("账户长度必须在2到20个字符之间");
-        }
-        if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
-                || password.length() > UserConstants.PASSWORD_MAX_LENGTH)
-        {
-            throw new ServiceException("密码长度必须在5到20个字符之间");
-        }
-
-        // 注册用户信息
-        SysUser sysUser = new SysUser();
-        sysUser.setUserName(username);
-        sysUser.setNickName(username);
-        sysUser.setPassword(SecurityUtils.encryptPassword(password));
-        R<?> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER);
-
-        if (R.FAIL == registerResult.getCode())
-        {
-            throw new ServiceException(registerResult.getMsg());
-        }
-        recordLogService.recordLogininfor(username, Constants.REGISTER, "注册成功");
-    }
-}
diff --git a/hrt-auth/src/main/java/com/hrt/auth/service/SysPasswordService.java b/hrt-auth/src/main/java/com/hrt/auth/service/SysPasswordService.java
deleted file mode 100644
index 9036727..0000000
--- a/hrt-auth/src/main/java/com/hrt/auth/service/SysPasswordService.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package com.hrt.auth.service;
-
-import java.util.concurrent.TimeUnit;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.redis.service.RedisService;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysUser;
-
-/**
- * 登录密码方法
- * 
- * @author jqs
- */
-@Component
-public class SysPasswordService
-{
-    @Autowired
-    private RedisService redisService;
-
-    private int maxRetryCount = CacheConstants.PASSWORD_MAX_RETRY_COUNT;
-
-    private Long lockTime = CacheConstants.PASSWORD_LOCK_TIME;
-
-    @Autowired
-    private SysRecordLogService recordLogService;
-
-    /**
-     * 登录账户密码错误次数缓存键名
-     * 
-     * @param username 用户名
-     * @return 缓存键key
-     */
-    private String getCacheKey(String username)
-    {
-        return CacheConstants.PWD_ERR_CNT_KEY + username;
-    }
-
-    public void validate(SysUser user, String password)
-    {
-        String username = user.getUserName();
-
-        Integer retryCount = redisService.getCacheObject(getCacheKey(username));
-
-        if (retryCount == null)
-        {
-            retryCount = 0;
-        }
-
-        if (retryCount >= Integer.valueOf(maxRetryCount).intValue())
-        {
-            String errMsg = String.format("密码输入错误%s次,帐户锁定%s分钟", maxRetryCount, lockTime);
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL,errMsg);
-            throw new ServiceException(errMsg);
-        }
-
-        if (!matches(user, password))
-        {
-            retryCount = retryCount + 1;
-            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, String.format("密码输入错误%s次", retryCount));
-            redisService.setCacheObject(getCacheKey(username), retryCount, lockTime, TimeUnit.MINUTES);
-            throw new ServiceException("用户不存在/密码错误");
-        }
-        else
-        {
-            clearLoginRecordCache(username);
-        }
-    }
-
-    public boolean matches(SysUser user, String rawPassword)
-    {
-        return SecurityUtils.matchesPassword(rawPassword, user.getPassword());
-    }
-
-    public void clearLoginRecordCache(String loginName)
-    {
-        if (redisService.hasKey(getCacheKey(loginName)))
-        {
-            redisService.deleteObject(getCacheKey(loginName));
-        }
-    }
-}
diff --git a/hrt-auth/src/main/java/com/hrt/auth/service/SysRecordLogService.java b/hrt-auth/src/main/java/com/hrt/auth/service/SysRecordLogService.java
deleted file mode 100644
index 0e12665..0000000
--- a/hrt-auth/src/main/java/com/hrt/auth/service/SysRecordLogService.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.hrt.auth.service;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.ip.IpUtils;
-import com.hrt.system.api.RemoteLogService;
-import com.hrt.system.api.domain.SysLogininfor;
-
-/**
- * 记录日志方法
- * 
- * @author jqs
- */
-@Component
-public class SysRecordLogService
-{
-    @Autowired
-    private RemoteLogService remoteLogService;
-
-    /**
-     * 记录登录信息
-     * 
-     * @param username 用户名
-     * @param status 状态
-     * @param message 消息内容
-     * @return
-     */
-    public void recordLogininfor(String username, String status, String message)
-    {
-        SysLogininfor logininfor = new SysLogininfor();
-        logininfor.setUserName(username);
-        logininfor.setIpaddr(IpUtils.getIpAddr());
-        logininfor.setMsg(message);
-        // 日志状态
-        if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER))
-        {
-            logininfor.setStatus(Constants.LOGIN_SUCCESS_STATUS);
-        }
-        else if (Constants.LOGIN_FAIL.equals(status))
-        {
-            logininfor.setStatus(Constants.LOGIN_FAIL_STATUS);
-        }
-        remoteLogService.saveLogininfor(logininfor, SecurityConstants.INNER);
-    }
-}
diff --git a/hrt-auth/src/main/resources/banner.txt b/hrt-auth/src/main/resources/banner.txt
deleted file mode 100644
index 97c5c27..0000000
--- a/hrt-auth/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Spring Boot Version: ${spring-boot.version}
-Spring Application Name: ${spring.application.name}
-                            _                        _    _     
-                           (_)                      | |  | |    
- _ __  _   _   ___   _   _  _  ______   __ _  _   _ | |_ | |__  
-| '__|| | | | / _ \ | | | || ||______| / _` || | | || __|| '_ \ 
-| |   | |_| || (_) || |_| || |        | (_| || |_| || |_ | | | |
-|_|    \__,_| \___/  \__, ||_|         \__,_| \__,_| \__||_| |_|
-                      __/ |                                     
-                     |___/                                      
\ No newline at end of file
diff --git a/hrt-auth/src/main/resources/bootstrap.yml b/hrt-auth/src/main/resources/bootstrap.yml
deleted file mode 100644
index 3a5c8c9..0000000
--- a/hrt-auth/src/main/resources/bootstrap.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Tomcat
-server: 
-  port: 9200
-
-# Spring
-spring: 
-  application:
-    # 应用名称
-    name: hrt-auth
-  profiles:
-    # 环境配置
-    active: dev
-  cloud:
-    nacos:
-      discovery:
-        # 服务注册地址
-        server-addr: 47.109.78.184:5000
-      config:
-        # 配置中心地址
-        server-addr: 47.109.78.184:5000
-        # 配置文件格式
-        file-extension: yml
-        # 共享配置
-        shared-configs:
-          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
-        group: haiheng
diff --git a/hrt-auth/src/main/resources/logback.xml b/hrt-auth/src/main/resources/logback.xml
deleted file mode 100644
index 4060fd3..0000000
--- a/hrt-auth/src/main/resources/logback.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <!-- 日志存放路径 -->
-	<property name="log.path" value="logs/hrt-auth" />
-   <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
-
-    <!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
-
-    <!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-	</appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-			<!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 系统模块日志级别控制  -->
-	<logger name="com.hrt" level="info" />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
-
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/pom.xml b/hrt-common/hrt-common-core/pom.xml
deleted file mode 100644
index 234ef72..0000000
--- a/hrt-common/hrt-common-core/pom.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hrt-common-core</artifactId>
-    
-    <description>
-        hrt-common-core核心模块
-    </description>
-
-    <dependencies>
-
-        <!-- SpringCloud Openfeign -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-openfeign</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Loadbalancer -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
-        </dependency>
-
-        <!-- Spring Context Support -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-        </dependency>
-
-        <!-- Spring Web -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-        </dependency>
-
-        <!-- Transmittable ThreadLocal -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>transmittable-thread-local</artifactId>
-        </dependency>
-
-        <!-- Pagehelper -->
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper-spring-boot-starter</artifactId>
-        </dependency>
-
-        <!-- Hibernate Validator -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-validation</artifactId>
-        </dependency>
-
-        <!-- Jackson -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-        </dependency>
-
-        <!-- Alibaba Fastjson -->
-        <dependency>
-            <groupId>com.alibaba.fastjson2</groupId>
-            <artifactId>fastjson2</artifactId>
-        </dependency>
-
-        <!-- Jwt -->
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt</artifactId>
-        </dependency>
-
-        <!-- Jaxb -->
-        <dependency>
-            <groupId>javax.xml.bind</groupId>
-            <artifactId>jaxb-api</artifactId>
-        </dependency>
-
-        <!-- Apache Lang3 -->
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-        </dependency>
-
-        <!-- Commons Io -->
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-        </dependency>
-
-        <!-- excel工具 -->
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-        </dependency>
-
-        <!-- Java Servlet -->
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-        </dependency>
-
-        <!-- Swagger -->
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-        </dependency>
-
-    </dependencies>
-
-</project>
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excel.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excel.java
deleted file mode 100644
index f7c0675..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excel.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package com.hrt.common.core.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.math.BigDecimal;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.IndexedColors;
-import com.hrt.common.core.utils.poi.ExcelHandlerAdapter;
-
-/**
- * 自定义导出Excel数据注解
- * 
- * @author jqs
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.FIELD)
-public @interface Excel
-{
-    /**
-     * 导出时在excel中排序
-     */
-    public int sort() default Integer.MAX_VALUE;
-
-    /**
-     * 导出到Excel中的名字.
-     */
-    public String name() default "";
-
-    /**
-     * 日期格式, 如: yyyy-MM-dd
-     */
-    public String dateFormat() default "";
-
-    /**
-     * 读取内容转表达式 (如: 0=男,1=女,2=未知)
-     */
-    public String readConverterExp() default "";
-
-    /**
-     * 分隔符,读取字符串组内容
-     */
-    public String separator() default ",";
-
-    /**
-     * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
-     */
-    public int scale() default -1;
-
-    /**
-     * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
-     */
-    public int roundingMode() default BigDecimal.ROUND_HALF_EVEN;
-
-    /**
-     * 导出时在excel中每个列的高度 单位为字符
-     */
-    public double height() default 14;
-
-    /**
-     * 导出时在excel中每个列的宽 单位为字符
-     */
-    public double width() default 16;
-
-    /**
-     * 文字后缀,如% 90 变成90%
-     */
-    public String suffix() default "";
-
-    /**
-     * 当值为空时,字段的默认值
-     */
-    public String defaultValue() default "";
-
-    /**
-     * 提示信息
-     */
-    public String prompt() default "";
-
-    /**
-     * 设置只能选择不能输入的列内容.
-     */
-    public String[] combo() default {};
-
-    /**
-     * 是否需要纵向合并单元格,应对需求:含有list集合单元格)
-     */
-    public boolean needMerge() default false;
-
-    /**
-     * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
-     */
-    public boolean isExport() default true;
-
-    /**
-     * 另一个类中的属性名称,支持多级获取,以小数点隔开
-     */
-    public String targetAttr() default "";
-
-    /**
-     * 是否自动统计数据,在最后追加一行统计数据总和
-     */
-    public boolean isStatistics() default false;
-
-    /**
-     * 导出类型(0数字 1字符串)
-     */
-    public ColumnType cellType() default ColumnType.STRING;
-
-    /**
-     * 导出列头背景色
-     */
-    public IndexedColors headerBackgroundColor() default IndexedColors.GREY_50_PERCENT;
-
-    /**
-     * 导出列头字体颜色
-     */
-    public IndexedColors headerColor() default IndexedColors.WHITE;
-
-    /**
-     * 导出单元格背景色
-     */
-    public IndexedColors backgroundColor() default IndexedColors.WHITE;
-
-    /**
-     * 导出单元格字体颜色
-     */
-    public IndexedColors color() default IndexedColors.BLACK;
-
-    /**
-     * 导出字段对齐方式
-     */
-    public HorizontalAlignment align() default HorizontalAlignment.CENTER;
-
-    /**
-     * 自定义数据处理器
-     */
-    public Class<?> handler() default ExcelHandlerAdapter.class;
-
-    /**
-     * 自定义数据处理器参数
-     */
-    public String[] args() default {};
-
-    /**
-     * 字段类型(0:导出导入;1:仅导出;2:仅导入)
-     */
-    Type type() default Type.ALL;
-
-    public enum Type
-    {
-        ALL(0), EXPORT(1), IMPORT(2);
-        private final int value;
-
-        Type(int value)
-        {
-            this.value = value;
-        }
-
-        public int value()
-        {
-            return this.value;
-        }
-    }
-
-    public enum ColumnType
-    {
-        NUMERIC(0), STRING(1), IMAGE(2);
-        private final int value;
-
-        ColumnType(int value)
-        {
-            this.value = value;
-        }
-
-        public int value()
-        {
-            return this.value;
-        }
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excels.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excels.java
deleted file mode 100644
index b748426..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/annotation/Excels.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.hrt.common.core.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Excel注解集
- * 
- * @author jqs
- */
-@Target(ElementType.FIELD)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Excels
-{
-    Excel[] value();
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/CacheConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/CacheConstants.java
deleted file mode 100644
index 032135f..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/CacheConstants.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 缓存常量信息
- * 
- * @author jqs
- */
-public class CacheConstants
-{
-    /**
-     * 缓存有效期,默认720(分钟)
-     */
-    public final static long EXPIRATION = 720;
-
-    /**
-     * 缓存刷新时间,默认120(分钟)
-     */
-    public final static long REFRESH_TIME = 120;
-
-    /**
-     * 密码最大错误次数
-     */
-    public final static int PASSWORD_MAX_RETRY_COUNT = 5;
-
-    /**
-     * 密码锁定时间,默认10(分钟)
-     */
-    public final static long PASSWORD_LOCK_TIME = 10;
-
-    /**
-     * 权限缓存前缀
-     */
-    public final static String LOGIN_TOKEN_KEY = "login_tokens:";
-
-    /**
-     * 验证码 redis key
-     */
-    public static final String CAPTCHA_CODE_KEY = "captcha_codes:";
-
-    /**
-     * 参数管理 cache key
-     */
-    public static final String SYS_CONFIG_KEY = "sys_config:";
-
-    /**
-     * 字典管理 cache key
-     */
-    public static final String SYS_DICT_KEY = "sys_dict:";
-
-    /**
-     * 登录账户密码错误次数 redis key
-     */
-    public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
-
-    /**
-     * 登录IP黑名单 cache key
-     */
-    public static final String SYS_LOGIN_BLACKIPLIST = SYS_CONFIG_KEY + "sys.login.blackIPList";
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/Constants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/Constants.java
deleted file mode 100644
index 499c167..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/Constants.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 通用常量信息
- * 
- * @author jqs
- */
-public class Constants
-{
-    /**
-     * UTF-8 字符集
-     */
-    public static final String UTF8 = "UTF-8";
-
-    /**
-     * GBK 字符集
-     */
-    public static final String GBK = "GBK";
-
-    /**
-     * www主域
-     */
-    public static final String WWW = "www.";
-
-    /**
-     * RMI 远程方法调用
-     */
-    public static final String LOOKUP_RMI = "rmi:";
-
-    /**
-     * LDAP 远程方法调用
-     */
-    public static final String LOOKUP_LDAP = "ldap:";
-
-    /**
-     * LDAPS 远程方法调用
-     */
-    public static final String LOOKUP_LDAPS = "ldaps:";
-
-    /**
-     * http请求
-     */
-    public static final String HTTP = "http://";
-
-    /**
-     * https请求
-     */
-    public static final String HTTPS = "https://";
-
-    /**
-     * 成功标记
-     */
-    public static final Integer SUCCESS = 200;
-
-    /**
-     * 失败标记
-     */
-    public static final Integer FAIL = 500;
-
-    /**
-     * 登录成功状态
-     */
-    public static final String LOGIN_SUCCESS_STATUS = "0";
-
-    /**
-     * 登录失败状态
-     */
-    public static final String LOGIN_FAIL_STATUS = "1";
-
-    /**
-     * 登录成功
-     */
-    public static final String LOGIN_SUCCESS = "Success";
-
-    /**
-     * 注销
-     */
-    public static final String LOGOUT = "Logout";
-
-    /**
-     * 注册
-     */
-    public static final String REGISTER = "Register";
-
-    /**
-     * 登录失败
-     */
-    public static final String LOGIN_FAIL = "Error";
-
-    /**
-     * 当前记录起始索引
-     */
-    public static final String PAGE_NUM = "pageNum";
-
-    /**
-     * 每页显示记录数
-     */
-    public static final String PAGE_SIZE = "pageSize";
-
-    /**
-     * 排序列
-     */
-    public static final String ORDER_BY_COLUMN = "orderByColumn";
-
-    /**
-     * 排序的方向 "desc" 或者 "asc".
-     */
-    public static final String IS_ASC = "isAsc";
-
-    /**
-     * 验证码有效期(分钟)
-     */
-    public static final long CAPTCHA_EXPIRATION = 2;
-
-    /**
-     * 资源映射路径 前缀
-     */
-    public static final String RESOURCE_PREFIX = "/profile";
-
-    /**
-     * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)
-     */
-    public static final String[] JOB_WHITELIST_STR = { "com.hrt" };
-
-    /**
-     * 定时任务违规的字符
-     */
-    public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
-            "org.springframework", "org.apache", "com.hrt.common.core.utils.file" };
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/GenConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/GenConstants.java
deleted file mode 100644
index 25b2982..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/GenConstants.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 代码生成通用常量
- * 
- * @author jqs
- */
-public class GenConstants
-{
-    /** 单表(增删改查) */
-    public static final String TPL_CRUD = "crud";
-
-    /** 树表(增删改查) */
-    public static final String TPL_TREE = "tree";
-
-    /** 主子表(增删改查) */
-    public static final String TPL_SUB = "sub";
-
-    /** 树编码字段 */
-    public static final String TREE_CODE = "treeCode";
-
-    /** 树父编码字段 */
-    public static final String TREE_PARENT_CODE = "treeParentCode";
-
-    /** 树名称字段 */
-    public static final String TREE_NAME = "treeName";
-
-    /** 上级菜单ID字段 */
-    public static final String PARENT_MENU_ID = "parentMenuId";
-
-    /** 上级菜单名称字段 */
-    public static final String PARENT_MENU_NAME = "parentMenuName";
-
-    /** 数据库字符串类型 */
-    public static final String[] COLUMNTYPE_STR = { "char", "varchar", "nvarchar", "varchar2" };
-
-    /** 数据库文本类型 */
-    public static final String[] COLUMNTYPE_TEXT = { "tinytext", "text", "mediumtext", "longtext" };
-
-    /** 数据库时间类型 */
-    public static final String[] COLUMNTYPE_TIME = { "datetime", "time", "date", "timestamp" };
-
-    /** 数据库数字类型 */
-    public static final String[] COLUMNTYPE_NUMBER = { "tinyint", "smallint", "mediumint", "int", "number", "integer",
-            "bigint", "float", "double", "decimal" };
-
-    /** 页面不需要编辑字段 */
-    public static final String[] COLUMNNAME_NOT_EDIT = { "id", "create_by", "create_time", "del_flag" };
-
-    /** 页面不需要显示的列表字段 */
-    public static final String[] COLUMNNAME_NOT_LIST = { "id", "create_by", "create_time", "del_flag", "update_by",
-            "update_time" };
-
-    /** 页面不需要查询字段 */
-    public static final String[] COLUMNNAME_NOT_QUERY = { "id", "create_by", "create_time", "del_flag", "update_by",
-            "update_time", "remark" };
-
-    /** Entity基类字段 */
-    public static final String[] BASE_ENTITY = { "createBy", "createTime", "updateBy", "updateTime", "remark" };
-
-    /** Tree基类字段 */
-    public static final String[] TREE_ENTITY = { "parentName", "parentId", "orderNum", "ancestors" };
-
-    /** 文本框 */
-    public static final String HTML_INPUT = "input";
-
-    /** 文本域 */
-    public static final String HTML_TEXTAREA = "textarea";
-
-    /** 下拉框 */
-    public static final String HTML_SELECT = "select";
-
-    /** 单选框 */
-    public static final String HTML_RADIO = "radio";
-
-    /** 复选框 */
-    public static final String HTML_CHECKBOX = "checkbox";
-
-    /** 日期控件 */
-    public static final String HTML_DATETIME = "datetime";
-
-    /** 图片上传控件 */
-    public static final String HTML_IMAGE_UPLOAD = "imageUpload";
-
-    /** 文件上传控件 */
-    public static final String HTML_FILE_UPLOAD = "fileUpload";
-
-    /** 富文本控件 */
-    public static final String HTML_EDITOR = "editor";
-
-    /** 字符串类型 */
-    public static final String TYPE_STRING = "String";
-
-    /** 整型 */
-    public static final String TYPE_INTEGER = "Integer";
-
-    /** 长整型 */
-    public static final String TYPE_LONG = "Long";
-
-    /** 浮点型 */
-    public static final String TYPE_DOUBLE = "Double";
-
-    /** 高精度计算类型 */
-    public static final String TYPE_BIGDECIMAL = "BigDecimal";
-
-    /** 时间类型 */
-    public static final String TYPE_DATE = "Date";
-
-    /** 模糊查询 */
-    public static final String QUERY_LIKE = "LIKE";
-
-    /** 相等查询 */
-    public static final String QUERY_EQ = "EQ";
-
-    /** 需要 */
-    public static final String REQUIRE = "1";
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/HttpStatus.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/HttpStatus.java
deleted file mode 100644
index bd8ae09..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/HttpStatus.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 返回状态码
- * 
- * @author jqs
- */
-public class HttpStatus
-{
-    /**
-     * 操作成功
-     */
-    public static final int SUCCESS = 200;
-
-    /**
-     * 对象创建成功
-     */
-    public static final int CREATED = 201;
-
-    /**
-     * 请求已经被接受
-     */
-    public static final int ACCEPTED = 202;
-
-    /**
-     * 操作已经执行成功,但是没有返回数据
-     */
-    public static final int NO_CONTENT = 204;
-
-    /**
-     * 资源已被移除
-     */
-    public static final int MOVED_PERM = 301;
-
-    /**
-     * 重定向
-     */
-    public static final int SEE_OTHER = 303;
-
-    /**
-     * 资源没有被修改
-     */
-    public static final int NOT_MODIFIED = 304;
-
-    /**
-     * 参数列表错误(缺少,格式不匹配)
-     */
-    public static final int BAD_REQUEST = 400;
-
-    /**
-     * 未授权
-     */
-    public static final int UNAUTHORIZED = 401;
-
-    /**
-     * 访问受限,授权过期
-     */
-    public static final int FORBIDDEN = 403;
-
-    /**
-     * 资源,服务未找到
-     */
-    public static final int NOT_FOUND = 404;
-
-    /**
-     * 不允许的http方法
-     */
-    public static final int BAD_METHOD = 405;
-
-    /**
-     * 资源冲突,或者资源被锁
-     */
-    public static final int CONFLICT = 409;
-
-    /**
-     * 不支持的数据,媒体类型
-     */
-    public static final int UNSUPPORTED_TYPE = 415;
-
-    /**
-     * 系统内部错误
-     */
-    public static final int ERROR = 500;
-
-    /**
-     * 接口未实现
-     */
-    public static final int NOT_IMPLEMENTED = 501;
-
-    /**
-     * 系统警告消息
-     */
-    public static final int WARN = 601;
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ScheduleConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ScheduleConstants.java
deleted file mode 100644
index 4ebe223..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ScheduleConstants.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 任务调度通用常量
- * 
- * @author jqs
- */
-public class ScheduleConstants
-{
-    public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME";
-
-    /** 执行目标key */
-    public static final String TASK_PROPERTIES = "TASK_PROPERTIES";
-
-    /** 默认 */
-    public static final String MISFIRE_DEFAULT = "0";
-
-    /** 立即触发执行 */
-    public static final String MISFIRE_IGNORE_MISFIRES = "1";
-
-    /** 触发一次执行 */
-    public static final String MISFIRE_FIRE_AND_PROCEED = "2";
-
-    /** 不触发立即执行 */
-    public static final String MISFIRE_DO_NOTHING = "3";
-
-    public enum Status
-    {
-        /**
-         * 正常
-         */
-        NORMAL("0"),
-        /**
-         * 暂停
-         */
-        PAUSE("1");
-
-        private String value;
-
-        private Status(String value)
-        {
-            this.value = value;
-        }
-
-        public String getValue()
-        {
-            return value;
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/SecurityConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/SecurityConstants.java
deleted file mode 100644
index 93040d3..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/SecurityConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 权限相关通用常量
- * 
- * @author jqs
- */
-public class SecurityConstants
-{
-    /**
-     * 用户ID字段
-     */
-    public static final String DETAILS_USER_ID = "user_id";
-
-    /**
-     * 用户名字段
-     */
-    public static final String DETAILS_USERNAME = "username";
-
-    /**
-     * 授权信息字段
-     */
-    public static final String AUTHORIZATION_HEADER = "authorization";
-
-    /**
-     * 请求来源
-     */
-    public static final String FROM_SOURCE = "from-source";
-
-    /**
-     * 内部请求
-     */
-    public static final String INNER = "inner";
-
-    /**
-     * 用户标识
-     */
-    public static final String USER_KEY = "user_key";
-
-    /**
-     * 登录用户
-     */
-    public static final String LOGIN_USER = "login_user";
-
-    /**
-     * 角色权限
-     */
-    public static final String ROLE_PERMISSION = "role_permission";
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ServiceNameConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ServiceNameConstants.java
deleted file mode 100644
index b34254f..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/ServiceNameConstants.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 服务名称
- * 
- * @author jqs
- */
-public class ServiceNameConstants
-{
-    /**
-     * 认证服务的serviceid
-     */
-    public static final String AUTH_SERVICE = "hrt-auth";
-
-    /**
-     * 系统模块的serviceid
-     */
-    public static final String SYSTEM_SERVICE = "hrt-system";
-
-    /**
-     * 文件服务的serviceid
-     */
-    public static final String FILE_SERVICE = "hrt-file";
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/TokenConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/TokenConstants.java
deleted file mode 100644
index 4bd4eed..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/TokenConstants.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * Token的Key常量
- * 
- * @author jqs
- */
-public class TokenConstants
-{
-    /**
-     * 令牌自定义标识
-     */
-    public static final String AUTHENTICATION = "Authorization";
-
-    /**
-     * 令牌前缀
-     */
-    public static final String PREFIX = "Bearer ";
-
-    /**
-     * 令牌秘钥
-     */
-    public final static String SECRET = "abcdefghijklmnopqrstuvwxyz";
-
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/UserConstants.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/UserConstants.java
deleted file mode 100644
index 2b9bdf4..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/constant/UserConstants.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.hrt.common.core.constant;
-
-/**
- * 用户常量信息
- * 
- * @author jqs
- */
-public class UserConstants
-{
-    /**
-     * 平台内系统用户的唯一标志
-     */
-    public static final String SYS_USER = "SYS_USER";
-
-    /** 正常状态 */
-    public static final String NORMAL = "0";
-
-    /** 异常状态 */
-    public static final String EXCEPTION = "1";
-
-    /** 用户封禁状态 */
-    public static final String USER_DISABLE = "1";
-
-    /** 角色封禁状态 */
-    public static final String ROLE_DISABLE = "1";
-
-    /** 部门正常状态 */
-    public static final String DEPT_NORMAL = "0";
-
-    /** 部门停用状态 */
-    public static final String DEPT_DISABLE = "1";
-
-    /** 字典正常状态 */
-    public static final String DICT_NORMAL = "0";
-
-    /** 是否为系统默认(是) */
-    public static final String YES = "Y";
-
-    /** 是否菜单外链(是) */
-    public static final String YES_FRAME = "0";
-
-    /** 是否菜单外链(否) */
-    public static final String NO_FRAME = "1";
-
-    /** 菜单类型(目录) */
-    public static final String TYPE_DIR = "M";
-
-    /** 菜单类型(菜单) */
-    public static final String TYPE_MENU = "C";
-
-    /** 菜单类型(按钮) */
-    public static final String TYPE_BUTTON = "F";
-
-    /** Layout组件标识 */
-    public final static String LAYOUT = "Layout";
-
-    /** ParentView组件标识 */
-    public final static String PARENT_VIEW = "ParentView";
-
-    /** InnerLink组件标识 */
-    public final static String INNER_LINK = "InnerLink";
-
-    /** 校验是否唯一的返回标识 */
-    public final static boolean UNIQUE = true;
-    public final static boolean NOT_UNIQUE = false;
-
-    /**
-     * 用户名长度限制
-     */
-    public static final int USERNAME_MIN_LENGTH = 2;
-
-    public static final int USERNAME_MAX_LENGTH = 20;
-
-    /**
-     * 密码长度限制
-     */
-    public static final int PASSWORD_MIN_LENGTH = 5;
-
-    public static final int PASSWORD_MAX_LENGTH = 20;
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/context/SecurityContextHolder.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/context/SecurityContextHolder.java
deleted file mode 100644
index c17105c..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/context/SecurityContextHolder.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.hrt.common.core.context;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import com.alibaba.ttl.TransmittableThreadLocal;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 获取当前线程变量中的 用户id、用户名称、Token等信息 
- * 注意: 必须在网关通过请求头的方法传入,同时在HeaderInterceptor拦截器设置值。 否则这里无法获取
- *
- * @author jqs
- */
-public class SecurityContextHolder
-{
-    private static final TransmittableThreadLocal<Map<String, Object>> THREAD_LOCAL = new TransmittableThreadLocal<>();
-
-    public static void set(String key, Object value)
-    {
-        Map<String, Object> map = getLocalMap();
-        map.put(key, value == null ? StringUtils.EMPTY : value);
-    }
-
-    public static String get(String key)
-    {
-        Map<String, Object> map = getLocalMap();
-        return Convert.toStr(map.getOrDefault(key, StringUtils.EMPTY));
-    }
-
-    public static <T> T get(String key, Class<T> clazz)
-    {
-        Map<String, Object> map = getLocalMap();
-        return StringUtils.cast(map.getOrDefault(key, null));
-    }
-
-    public static Map<String, Object> getLocalMap()
-    {
-        Map<String, Object> map = THREAD_LOCAL.get();
-        if (map == null)
-        {
-            map = new ConcurrentHashMap<String, Object>();
-            THREAD_LOCAL.set(map);
-        }
-        return map;
-    }
-
-    public static void setLocalMap(Map<String, Object> threadLocalMap)
-    {
-        THREAD_LOCAL.set(threadLocalMap);
-    }
-
-    public static Long getUserId()
-    {
-        return Convert.toLong(get(SecurityConstants.DETAILS_USER_ID), 0L);
-    }
-
-    public static void setUserId(String account)
-    {
-        set(SecurityConstants.DETAILS_USER_ID, account);
-    }
-
-    public static String getUserName()
-    {
-        return get(SecurityConstants.DETAILS_USERNAME);
-    }
-
-    public static void setUserName(String username)
-    {
-        set(SecurityConstants.DETAILS_USERNAME, username);
-    }
-
-    public static String getUserKey()
-    {
-        return get(SecurityConstants.USER_KEY);
-    }
-
-    public static void setUserKey(String userKey)
-    {
-        set(SecurityConstants.USER_KEY, userKey);
-    }
-
-    public static String getPermission()
-    {
-        return get(SecurityConstants.ROLE_PERMISSION);
-    }
-
-    public static void setPermission(String permissions)
-    {
-        set(SecurityConstants.ROLE_PERMISSION, permissions);
-    }
-
-    public static void remove()
-    {
-        THREAD_LOCAL.remove();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/domain/R.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/domain/R.java
deleted file mode 100644
index 71d8fb5..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/domain/R.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package com.hrt.common.core.domain;
-
-import java.io.Serializable;
-import com.hrt.common.core.constant.Constants;
-
-/**
- * 响应信息主体
- *
- * @author jqs
- */
-public class R<T> implements Serializable
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 成功 */
-    public static final int SUCCESS = Constants.SUCCESS;
-
-    /** 失败 */
-    public static final int FAIL = Constants.FAIL;
-
-    private int code;
-
-    private String msg;
-
-    private T data;
-
-    public static <T> R<T> ok()
-    {
-        return restResult(null, SUCCESS, null);
-    }
-
-    public static <T> R<T> ok(T data)
-    {
-        return restResult(data, SUCCESS, null);
-    }
-
-    public static <T> R<T> ok(T data, String msg)
-    {
-        return restResult(data, SUCCESS, msg);
-    }
-
-    public static <T> R<T> fail()
-    {
-        return restResult(null, FAIL, null);
-    }
-
-    public static <T> R<T> fail(String msg)
-    {
-        return restResult(null, FAIL, msg);
-    }
-
-    public static <T> R<T> fail(T data)
-    {
-        return restResult(data, FAIL, null);
-    }
-
-    public static <T> R<T> fail(T data, String msg)
-    {
-        return restResult(data, FAIL, msg);
-    }
-
-    public static <T> R<T> fail(int code, String msg)
-    {
-        return restResult(null, code, msg);
-    }
-
-    private static <T> R<T> restResult(T data, int code, String msg)
-    {
-        R<T> apiResult = new R<>();
-        apiResult.setCode(code);
-        apiResult.setData(data);
-        apiResult.setMsg(msg);
-        return apiResult;
-    }
-
-    public int getCode()
-    {
-        return code;
-    }
-
-    public void setCode(int code)
-    {
-        this.code = code;
-    }
-
-    public String getMsg()
-    {
-        return msg;
-    }
-
-    public void setMsg(String msg)
-    {
-        this.msg = msg;
-    }
-
-    public T getData()
-    {
-        return data;
-    }
-
-    public void setData(T data)
-    {
-        this.data = data;
-    }
-
-    public static <T> Boolean isError(R<T> ret)
-    {
-        return !isSuccess(ret);
-    }
-
-    public static <T> Boolean isSuccess(R<T> ret)
-    {
-        return R.SUCCESS == ret.getCode();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/enums/UserStatus.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/enums/UserStatus.java
deleted file mode 100644
index 5c87233..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/enums/UserStatus.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hrt.common.core.enums;
-
-/**
- * 用户状态
- * 
- * @author jqs
- */
-public enum UserStatus
-{
-    OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除");
-
-    private final String code;
-    private final String info;
-
-    UserStatus(String code, String info)
-    {
-        this.code = code;
-        this.info = info;
-    }
-
-    public String getCode()
-    {
-        return code;
-    }
-
-    public String getInfo()
-    {
-        return info;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CaptchaException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CaptchaException.java
deleted file mode 100644
index 7a7823a..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CaptchaException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 验证码错误异常类
- * 
- * @author jqs
- */
-public class CaptchaException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public CaptchaException(String msg)
-    {
-        super(msg);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CheckedException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CheckedException.java
deleted file mode 100644
index a8f464e..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/CheckedException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 检查异常
- * 
- * @author jqs
- */
-public class CheckedException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public CheckedException(String message)
-    {
-        super(message);
-    }
-
-    public CheckedException(Throwable cause)
-    {
-        super(cause);
-    }
-
-    public CheckedException(String message, Throwable cause)
-    {
-        super(message, cause);
-    }
-
-    public CheckedException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)
-    {
-        super(message, cause, enableSuppression, writableStackTrace);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/DemoModeException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/DemoModeException.java
deleted file mode 100644
index 1f3a726..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/DemoModeException.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 演示模式异常
- * 
- * @author jqs
- */
-public class DemoModeException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public DemoModeException()
-    {
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/GlobalException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/GlobalException.java
deleted file mode 100644
index 4ec0641..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/GlobalException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 全局异常
- * 
- * @author jqs
- */
-public class GlobalException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 错误提示
-     */
-    private String message;
-
-    /**
-     * 错误明细,内部调试错误
-     *
-     * 和 {@link CommonResult#getDetailMessage()} 一致的设计
-     */
-    private String detailMessage;
-
-    /**
-     * 空构造方法,避免反序列化问题
-     */
-    public GlobalException()
-    {
-    }
-
-    public GlobalException(String message)
-    {
-        this.message = message;
-    }
-
-    public String getDetailMessage()
-    {
-        return detailMessage;
-    }
-
-    public GlobalException setDetailMessage(String detailMessage)
-    {
-        this.detailMessage = detailMessage;
-        return this;
-    }
-
-    @Override
-    public String getMessage()
-    {
-        return message;
-    }
-
-    public GlobalException setMessage(String message)
-    {
-        this.message = message;
-        return this;
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/InnerAuthException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/InnerAuthException.java
deleted file mode 100644
index 40848ef..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/InnerAuthException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 内部认证异常
- * 
- * @author jqs
- */
-public class InnerAuthException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public InnerAuthException(String message)
-    {
-        super(message);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/PreAuthorizeException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/PreAuthorizeException.java
deleted file mode 100644
index 3795c0b..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/PreAuthorizeException.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 权限异常
- * 
- * @author jqs
- */
-public class PreAuthorizeException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public PreAuthorizeException()
-    {
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/ServiceException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/ServiceException.java
deleted file mode 100644
index fdab109..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/ServiceException.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 业务异常
- * 
- * @author jqs
- */
-public final class ServiceException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 错误码
-     */
-    private Integer code;
-
-    /**
-     * 错误提示
-     */
-    private String message;
-
-    /**
-     * 错误明细,内部调试错误
-     *
-     * 和 {@link CommonResult#getDetailMessage()} 一致的设计
-     */
-    private String detailMessage;
-
-    /**
-     * 空构造方法,避免反序列化问题
-     */
-    public ServiceException()
-    {
-    }
-
-    public ServiceException(String message)
-    {
-        this.message = message;
-    }
-
-    public ServiceException(String message, Integer code)
-    {
-        this.message = message;
-        this.code = code;
-    }
-
-    public String getDetailMessage()
-    {
-        return detailMessage;
-    }
-
-    @Override
-    public String getMessage()
-    {
-        return message;
-    }
-
-    public Integer getCode()
-    {
-        return code;
-    }
-
-    public ServiceException setMessage(String message)
-    {
-        this.message = message;
-        return this;
-    }
-
-    public ServiceException setDetailMessage(String detailMessage)
-    {
-        this.detailMessage = detailMessage;
-        return this;
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/UtilException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/UtilException.java
deleted file mode 100644
index 5907444..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/UtilException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hrt.common.core.exception;
-
-/**
- * 工具类异常
- * 
- * @author jqs
- */
-public class UtilException extends RuntimeException
-{
-    private static final long serialVersionUID = 8247610319171014183L;
-
-    public UtilException(Throwable e)
-    {
-        super(e.getMessage(), e);
-    }
-
-    public UtilException(String message)
-    {
-        super(message);
-    }
-
-    public UtilException(String message, Throwable throwable)
-    {
-        super(message, throwable);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotLoginException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotLoginException.java
deleted file mode 100644
index d2f52ac..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotLoginException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.common.core.exception.auth;
-
-/**
- * 未能通过的登录认证异常
- * 
- * @author jqs
- */
-public class NotLoginException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public NotLoginException(String message)
-    {
-        super(message);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotPermissionException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotPermissionException.java
deleted file mode 100644
index 58b7bdf..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotPermissionException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.common.core.exception.auth;
-
-import org.apache.commons.lang3.StringUtils;
-
-/**
- * 未能通过的权限认证异常
- * 
- * @author jqs
- */
-public class NotPermissionException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public NotPermissionException(String permission)
-    {
-        super(permission);
-    }
-
-    public NotPermissionException(String[] permissions)
-    {
-        super(StringUtils.join(permissions, ","));
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotRoleException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotRoleException.java
deleted file mode 100644
index cb56d33..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/auth/NotRoleException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.common.core.exception.auth;
-
-import org.apache.commons.lang3.StringUtils;
-
-/**
- * 未能通过的角色认证异常
- * 
- * @author jqs
- */
-public class NotRoleException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    public NotRoleException(String role)
-    {
-        super(role);
-    }
-
-    public NotRoleException(String[] roles)
-    {
-        super(StringUtils.join(roles, ","));
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/base/BaseException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/base/BaseException.java
deleted file mode 100644
index f5f72b0..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/base/BaseException.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.hrt.common.core.exception.base;
-
-/**
- * 基础异常
- * 
- * @author jqs
- */
-public class BaseException extends RuntimeException
-{
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 所属模块
-     */
-    private String module;
-
-    /**
-     * 错误码
-     */
-    private String code;
-
-    /**
-     * 错误码对应的参数
-     */
-    private Object[] args;
-
-    /**
-     * 错误消息
-     */
-    private String defaultMessage;
-
-    public BaseException(String module, String code, Object[] args, String defaultMessage)
-    {
-        this.module = module;
-        this.code = code;
-        this.args = args;
-        this.defaultMessage = defaultMessage;
-    }
-
-    public BaseException(String module, String code, Object[] args)
-    {
-        this(module, code, args, null);
-    }
-
-    public BaseException(String module, String defaultMessage)
-    {
-        this(module, null, null, defaultMessage);
-    }
-
-    public BaseException(String code, Object[] args)
-    {
-        this(null, code, args, null);
-    }
-
-    public BaseException(String defaultMessage)
-    {
-        this(null, null, null, defaultMessage);
-    }
-
-    public String getModule()
-    {
-        return module;
-    }
-
-    public String getCode()
-    {
-        return code;
-    }
-
-    public Object[] getArgs()
-    {
-        return args;
-    }
-
-    public String getDefaultMessage()
-    {
-        return defaultMessage;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileException.java
deleted file mode 100644
index 8a6af8d..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileException.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.common.core.exception.file;
-
-import com.hrt.common.core.exception.base.BaseException;
-
-/**
- * 文件信息异常类
- * 
- * @author jqs
- */
-public class FileException extends BaseException
-{
-    private static final long serialVersionUID = 1L;
-
-    public FileException(String code, Object[] args, String msg)
-    {
-        super("file", code, args, msg);
-    }
-
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileNameLengthLimitExceededException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileNameLengthLimitExceededException.java
deleted file mode 100644
index d15bae2..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileNameLengthLimitExceededException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.common.core.exception.file;
-
-/**
- * 文件名称超长限制异常类
- * 
- * @author jqs
- */
-public class FileNameLengthLimitExceededException extends FileException
-{
-    private static final long serialVersionUID = 1L;
-
-    public FileNameLengthLimitExceededException(int defaultFileNameLength)
-    {
-        super("upload.filename.exceed.length", new Object[] { defaultFileNameLength }, "the filename is too long");
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileSizeLimitExceededException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileSizeLimitExceededException.java
deleted file mode 100644
index d90a0a4..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileSizeLimitExceededException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.common.core.exception.file;
-
-/**
- * 文件名大小限制异常类
- * 
- * @author jqs
- */
-public class FileSizeLimitExceededException extends FileException
-{
-    private static final long serialVersionUID = 1L;
-
-    public FileSizeLimitExceededException(long defaultMaxSize)
-    {
-        super("upload.exceed.maxSize", new Object[] { defaultMaxSize }, "the filesize is too large");
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileUploadException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileUploadException.java
deleted file mode 100644
index ab749a5..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/FileUploadException.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.hrt.common.core.exception.file;
-
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
-/**
- * 文件上传异常类
- * 
- * @author jqs
- */
-public class FileUploadException extends Exception
-{
-
-    private static final long serialVersionUID = 1L;
-
-    private final Throwable cause;
-
-    public FileUploadException()
-    {
-        this(null, null);
-    }
-
-    public FileUploadException(final String msg)
-    {
-        this(msg, null);
-    }
-
-    public FileUploadException(String msg, Throwable cause)
-    {
-        super(msg);
-        this.cause = cause;
-    }
-
-    @Override
-    public void printStackTrace(PrintStream stream)
-    {
-        super.printStackTrace(stream);
-        if (cause != null)
-        {
-            stream.println("Caused by:");
-            cause.printStackTrace(stream);
-        }
-    }
-
-    @Override
-    public void printStackTrace(PrintWriter writer)
-    {
-        super.printStackTrace(writer);
-        if (cause != null)
-        {
-            writer.println("Caused by:");
-            cause.printStackTrace(writer);
-        }
-    }
-
-    @Override
-    public Throwable getCause()
-    {
-        return cause;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/InvalidExtensionException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/InvalidExtensionException.java
deleted file mode 100644
index a273e6b..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/file/InvalidExtensionException.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.hrt.common.core.exception.file;
-
-import java.util.Arrays;
-
-/**
- * 文件上传 误异常类
- * 
- * @author jqs
- */
-public class InvalidExtensionException extends FileUploadException
-{
-    private static final long serialVersionUID = 1L;
-
-    private String[] allowedExtension;
-    private String extension;
-    private String filename;
-
-    public InvalidExtensionException(String[] allowedExtension, String extension, String filename)
-    {
-        super("filename : [" + filename + "], extension : [" + extension + "], allowed extension : [" + Arrays.toString(allowedExtension) + "]");
-        this.allowedExtension = allowedExtension;
-        this.extension = extension;
-        this.filename = filename;
-    }
-
-    public String[] getAllowedExtension()
-    {
-        return allowedExtension;
-    }
-
-    public String getExtension()
-    {
-        return extension;
-    }
-
-    public String getFilename()
-    {
-        return filename;
-    }
-
-    public static class InvalidImageExtensionException extends InvalidExtensionException
-    {
-        private static final long serialVersionUID = 1L;
-
-        public InvalidImageExtensionException(String[] allowedExtension, String extension, String filename)
-        {
-            super(allowedExtension, extension, filename);
-        }
-    }
-
-    public static class InvalidFlashExtensionException extends InvalidExtensionException
-    {
-        private static final long serialVersionUID = 1L;
-
-        public InvalidFlashExtensionException(String[] allowedExtension, String extension, String filename)
-        {
-            super(allowedExtension, extension, filename);
-        }
-    }
-
-    public static class InvalidMediaExtensionException extends InvalidExtensionException
-    {
-        private static final long serialVersionUID = 1L;
-
-        public InvalidMediaExtensionException(String[] allowedExtension, String extension, String filename)
-        {
-            super(allowedExtension, extension, filename);
-        }
-    }
-    
-    public static class InvalidVideoExtensionException extends InvalidExtensionException
-    {
-        private static final long serialVersionUID = 1L;
-
-        public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename)
-        {
-            super(allowedExtension, extension, filename);
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/job/TaskException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/job/TaskException.java
deleted file mode 100644
index 986c245..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/job/TaskException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.hrt.common.core.exception.job;
-
-/**
- * 计划策略异常
- * 
- * @author jqs
- */
-public class TaskException extends Exception
-{
-    private static final long serialVersionUID = 1L;
-
-    private Code code;
-
-    public TaskException(String msg, Code code)
-    {
-        this(msg, code, null);
-    }
-
-    public TaskException(String msg, Code code, Exception nestedEx)
-    {
-        super(msg, nestedEx);
-        this.code = code;
-    }
-
-    public Code getCode()
-    {
-        return code;
-    }
-
-    public enum Code
-    {
-        TASK_EXISTS, NO_TASK_EXISTS, TASK_ALREADY_STARTED, UNKNOWN, CONFIG_ERROR, TASK_NODE_NOT_AVAILABLE
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/CaptchaExpireException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/CaptchaExpireException.java
deleted file mode 100644
index c2427f6..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/CaptchaExpireException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.common.core.exception.user;
-
-/**
- * 验证码失效异常类
- * 
- * @author jqs
- */
-public class CaptchaExpireException extends UserException
-{
-    private static final long serialVersionUID = 1L;
-
-    public CaptchaExpireException()
-    {
-        super("user.jcaptcha.expire", null);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserException.java
deleted file mode 100644
index 0b67827..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserException.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.hrt.common.core.exception.user;
-
-import com.hrt.common.core.exception.base.BaseException;
-
-/**
- * 用户信息异常类
- * 
- * @author jqs
- */
-public class UserException extends BaseException
-{
-    private static final long serialVersionUID = 1L;
-
-    public UserException(String code, Object[] args)
-    {
-        super("user", code, args, null);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserPasswordNotMatchException.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserPasswordNotMatchException.java
deleted file mode 100644
index ef8fd78..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/exception/user/UserPasswordNotMatchException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.common.core.exception.user;
-
-/**
- * 用户密码不正确或不符合规范异常类
- * 
- * @author jqs
- */
-public class UserPasswordNotMatchException extends UserException
-{
-    private static final long serialVersionUID = 1L;
-
-    public UserPasswordNotMatchException()
-    {
-        super("user.password.not.match", null);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/CharsetKit.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/CharsetKit.java
deleted file mode 100644
index b3f5b17..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/CharsetKit.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.hrt.common.core.text;
-
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 字符集工具类
- * 
- * @author jqs
- */
-public class CharsetKit
-{
-    /** ISO-8859-1 */
-    public static final String ISO_8859_1 = "ISO-8859-1";
-    /** UTF-8 */
-    public static final String UTF_8 = "UTF-8";
-    /** GBK */
-    public static final String GBK = "GBK";
-
-    /** ISO-8859-1 */
-    public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1);
-    /** UTF-8 */
-    public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8);
-    /** GBK */
-    public static final Charset CHARSET_GBK = Charset.forName(GBK);
-
-    /**
-     * 转换为Charset对象
-     * 
-     * @param charset 字符集,为空则返回默认字符集
-     * @return Charset
-     */
-    public static Charset charset(String charset)
-    {
-        return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset);
-    }
-
-    /**
-     * 转换字符串的字符集编码
-     * 
-     * @param source 字符串
-     * @param srcCharset 源字符集,默认ISO-8859-1
-     * @param destCharset 目标字符集,默认UTF-8
-     * @return 转换后的字符集
-     */
-    public static String convert(String source, String srcCharset, String destCharset)
-    {
-        return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset));
-    }
-
-    /**
-     * 转换字符串的字符集编码
-     * 
-     * @param source 字符串
-     * @param srcCharset 源字符集,默认ISO-8859-1
-     * @param destCharset 目标字符集,默认UTF-8
-     * @return 转换后的字符集
-     */
-    public static String convert(String source, Charset srcCharset, Charset destCharset)
-    {
-        if (null == srcCharset)
-        {
-            srcCharset = StandardCharsets.ISO_8859_1;
-        }
-
-        if (null == destCharset)
-        {
-            destCharset = StandardCharsets.UTF_8;
-        }
-
-        if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset))
-        {
-            return source;
-        }
-        return new String(source.getBytes(srcCharset), destCharset);
-    }
-
-    /**
-     * @return 系统字符集编码
-     */
-    public static String systemCharset()
-    {
-        return Charset.defaultCharset().name();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/Convert.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/Convert.java
deleted file mode 100644
index 8c0f6d0..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/Convert.java
+++ /dev/null
@@ -1,1006 +0,0 @@
-package com.hrt.common.core.text;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
-import java.text.NumberFormat;
-import java.util.Set;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 类型转换器
- * 
- * @author jqs
- */
-public class Convert
-{
-    /**
-     * 转换为字符串<br>
-     * 如果给定的值为null,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static String toStr(Object value, String defaultValue)
-    {
-        if (null == value)
-        {
-            return defaultValue;
-        }
-        if (value instanceof String)
-        {
-            return (String) value;
-        }
-        return value.toString();
-    }
-
-    /**
-     * 转换为字符串<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static String toStr(Object value)
-    {
-        return toStr(value, null);
-    }
-
-    /**
-     * 转换为字符<br>
-     * 如果给定的值为null,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Character toChar(Object value, Character defaultValue)
-    {
-        if (null == value)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Character)
-        {
-            return (Character) value;
-        }
-
-        final String valueStr = toStr(value, null);
-        return StringUtils.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0);
-    }
-
-    /**
-     * 转换为字符<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Character toChar(Object value)
-    {
-        return toChar(value, null);
-    }
-
-    /**
-     * 转换为byte<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Byte toByte(Object value, Byte defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Byte)
-        {
-            return (Byte) value;
-        }
-        if (value instanceof Number)
-        {
-            return ((Number) value).byteValue();
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return Byte.parseByte(valueStr);
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为byte<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Byte toByte(Object value)
-    {
-        return toByte(value, null);
-    }
-
-    /**
-     * 转换为Short<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Short toShort(Object value, Short defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Short)
-        {
-            return (Short) value;
-        }
-        if (value instanceof Number)
-        {
-            return ((Number) value).shortValue();
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return Short.parseShort(valueStr.trim());
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为Short<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Short toShort(Object value)
-    {
-        return toShort(value, null);
-    }
-
-    /**
-     * 转换为Number<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Number toNumber(Object value, Number defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Number)
-        {
-            return (Number) value;
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return NumberFormat.getInstance().parse(valueStr);
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为Number<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Number toNumber(Object value)
-    {
-        return toNumber(value, null);
-    }
-
-    /**
-     * 转换为int<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Integer toInt(Object value, Integer defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Integer)
-        {
-            return (Integer) value;
-        }
-        if (value instanceof Number)
-        {
-            return ((Number) value).intValue();
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return Integer.parseInt(valueStr.trim());
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为int<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Integer toInt(Object value)
-    {
-        return toInt(value, null);
-    }
-
-    /**
-     * 转换为Integer数组<br>
-     * 
-     * @param str 被转换的值
-     * @return 结果
-     */
-    public static Integer[] toIntArray(String str)
-    {
-        return toIntArray(",", str);
-    }
-
-    /**
-     * 转换为Long数组<br>
-     * 
-     * @param str 被转换的值
-     * @return 结果
-     */
-    public static Long[] toLongArray(String str)
-    {
-        return toLongArray(",", str);
-    }
-
-    /**
-     * 转换为Integer数组<br>
-     * 
-     * @param split 分隔符
-     * @param str 被转换的值
-     * @return 结果
-     */
-    public static Integer[] toIntArray(String split, String str)
-    {
-        if (StringUtils.isEmpty(str))
-        {
-            return new Integer[] {};
-        }
-        String[] arr = str.split(split);
-        final Integer[] ints = new Integer[arr.length];
-        for (int i = 0; i < arr.length; i++)
-        {
-            final Integer v = toInt(arr[i], 0);
-            ints[i] = v;
-        }
-        return ints;
-    }
-
-    /**
-     * 转换为Long数组<br>
-     * 
-     * @param split 分隔符
-     * @param str 被转换的值
-     * @return 结果
-     */
-    public static Long[] toLongArray(String split, String str)
-    {
-        if (StringUtils.isEmpty(str))
-        {
-            return new Long[] {};
-        }
-        String[] arr = str.split(split);
-        final Long[] longs = new Long[arr.length];
-        for (int i = 0; i < arr.length; i++)
-        {
-            final Long v = toLong(arr[i], null);
-            longs[i] = v;
-        }
-        return longs;
-    }
-
-    /**
-     * 转换为String数组<br>
-     * 
-     * @param str 被转换的值
-     * @return 结果
-     */
-    public static String[] toStrArray(String str)
-    {
-        return toStrArray(",", str);
-    }
-
-    /**
-     * 转换为String数组<br>
-     * 
-     * @param split 分隔符
-     * @param str 被转换的值
-     * @return 结果
-     */
-    public static String[] toStrArray(String split, String str)
-    {
-        return str.split(split);
-    }
-
-    /**
-     * 转换为long<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Long toLong(Object value, Long defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Long)
-        {
-            return (Long) value;
-        }
-        if (value instanceof Number)
-        {
-            return ((Number) value).longValue();
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            // 支持科学计数法
-            return new BigDecimal(valueStr.trim()).longValue();
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为long<br>
-     * 如果给定的值为<code>null</code>,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Long toLong(Object value)
-    {
-        return toLong(value, null);
-    }
-
-    /**
-     * 转换为double<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Double toDouble(Object value, Double defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Double)
-        {
-            return (Double) value;
-        }
-        if (value instanceof Number)
-        {
-            return ((Number) value).doubleValue();
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            // 支持科学计数法
-            return new BigDecimal(valueStr.trim()).doubleValue();
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为double<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Double toDouble(Object value)
-    {
-        return toDouble(value, null);
-    }
-
-    /**
-     * 转换为Float<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Float toFloat(Object value, Float defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Float)
-        {
-            return (Float) value;
-        }
-        if (value instanceof Number)
-        {
-            return ((Number) value).floatValue();
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return Float.parseFloat(valueStr.trim());
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为Float<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Float toFloat(Object value)
-    {
-        return toFloat(value, null);
-    }
-
-    /**
-     * 转换为boolean<br>
-     * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static Boolean toBool(Object value, Boolean defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof Boolean)
-        {
-            return (Boolean) value;
-        }
-        String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        valueStr = valueStr.trim().toLowerCase();
-        switch (valueStr)
-        {
-            case "true":
-            case "yes":
-            case "ok":
-            case "1":
-                return true;
-            case "false":
-            case "no":
-            case "0":
-                return false;
-            default:
-                return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为boolean<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static Boolean toBool(Object value)
-    {
-        return toBool(value, null);
-    }
-
-    /**
-     * 转换为Enum对象<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 
-     * @param clazz Enum的Class
-     * @param value 值
-     * @param defaultValue 默认值
-     * @return Enum
-     */
-    public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value, E defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (clazz.isAssignableFrom(value.getClass()))
-        {
-            @SuppressWarnings("unchecked")
-            E myE = (E) value;
-            return myE;
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return Enum.valueOf(clazz, valueStr);
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为Enum对象<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
-     * 
-     * @param clazz Enum的Class
-     * @param value 值
-     * @return Enum
-     */
-    public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value)
-    {
-        return toEnum(clazz, value, null);
-    }
-
-    /**
-     * 转换为BigInteger<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static BigInteger toBigInteger(Object value, BigInteger defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof BigInteger)
-        {
-            return (BigInteger) value;
-        }
-        if (value instanceof Long)
-        {
-            return BigInteger.valueOf((Long) value);
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return new BigInteger(valueStr);
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为BigInteger<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<code>null</code><br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static BigInteger toBigInteger(Object value)
-    {
-        return toBigInteger(value, null);
-    }
-
-    /**
-     * 转换为BigDecimal<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @param defaultValue 转换错误时的默认值
-     * @return 结果
-     */
-    public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue)
-    {
-        if (value == null)
-        {
-            return defaultValue;
-        }
-        if (value instanceof BigDecimal)
-        {
-            return (BigDecimal) value;
-        }
-        if (value instanceof Long)
-        {
-            return new BigDecimal((Long) value);
-        }
-        if (value instanceof Double)
-        {
-            return BigDecimal.valueOf((Double) value);
-        }
-        if (value instanceof Integer)
-        {
-            return new BigDecimal((Integer) value);
-        }
-        final String valueStr = toStr(value, null);
-        if (StringUtils.isEmpty(valueStr))
-        {
-            return defaultValue;
-        }
-        try
-        {
-            return new BigDecimal(valueStr);
-        }
-        catch (Exception e)
-        {
-            return defaultValue;
-        }
-    }
-
-    /**
-     * 转换为BigDecimal<br>
-     * 如果给定的值为空,或者转换失败,返回默认值<br>
-     * 转换失败不会报错
-     * 
-     * @param value 被转换的值
-     * @return 结果
-     */
-    public static BigDecimal toBigDecimal(Object value)
-    {
-        return toBigDecimal(value, null);
-    }
-
-    /**
-     * 将对象转为字符串<br>
-     * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法
-     * 
-     * @param obj 对象
-     * @return 字符串
-     */
-    public static String utf8Str(Object obj)
-    {
-        return str(obj, CharsetKit.CHARSET_UTF_8);
-    }
-
-    /**
-     * 将对象转为字符串<br>
-     * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法
-     * 
-     * @param obj 对象
-     * @param charsetName 字符集
-     * @return 字符串
-     */
-    public static String str(Object obj, String charsetName)
-    {
-        return str(obj, Charset.forName(charsetName));
-    }
-
-    /**
-     * 将对象转为字符串<br>
-     * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法
-     * 
-     * @param obj 对象
-     * @param charset 字符集
-     * @return 字符串
-     */
-    public static String str(Object obj, Charset charset)
-    {
-        if (null == obj)
-        {
-            return null;
-        }
-
-        if (obj instanceof String)
-        {
-            return (String) obj;
-        }
-        else if (obj instanceof byte[] || obj instanceof Byte[])
-        {
-            if (obj instanceof byte[])
-            {
-                return str((byte[]) obj, charset);
-            }
-            else
-            {
-                Byte[] bytes = (Byte[]) obj;
-                int length = bytes.length;
-                byte[] dest = new byte[length];
-                for (int i = 0; i < length; i++)
-                {
-                    dest[i] = bytes[i];
-                }
-                return str(dest, charset);
-            }
-        }
-        else if (obj instanceof ByteBuffer)
-        {
-            return str((ByteBuffer) obj, charset);
-        }
-        return obj.toString();
-    }
-
-    /**
-     * 将byte数组转为字符串
-     * 
-     * @param bytes byte数组
-     * @param charset 字符集
-     * @return 字符串
-     */
-    public static String str(byte[] bytes, String charset)
-    {
-        return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset));
-    }
-
-    /**
-     * 解码字节码
-     * 
-     * @param data 字符串
-     * @param charset 字符集,如果此字段为空,则解码的结果取决于平台
-     * @return 解码后的字符串
-     */
-    public static String str(byte[] data, Charset charset)
-    {
-        if (data == null)
-        {
-            return null;
-        }
-
-        if (null == charset)
-        {
-            return new String(data);
-        }
-        return new String(data, charset);
-    }
-
-    /**
-     * 将编码的byteBuffer数据转换为字符串
-     * 
-     * @param data 数据
-     * @param charset 字符集,如果为空使用当前系统字符集
-     * @return 字符串
-     */
-    public static String str(ByteBuffer data, String charset)
-    {
-        if (data == null)
-        {
-            return null;
-        }
-
-        return str(data, Charset.forName(charset));
-    }
-
-    /**
-     * 将编码的byteBuffer数据转换为字符串
-     * 
-     * @param data 数据
-     * @param charset 字符集,如果为空使用当前系统字符集
-     * @return 字符串
-     */
-    public static String str(ByteBuffer data, Charset charset)
-    {
-        if (null == charset)
-        {
-            charset = Charset.defaultCharset();
-        }
-        return charset.decode(data).toString();
-    }
-
-    // ----------------------------------------------------------------------- 全角半角转换
-    /**
-     * 半角转全角
-     * 
-     * @param input String.
-     * @return 全角字符串.
-     */
-    public static String toSBC(String input)
-    {
-        return toSBC(input, null);
-    }
-
-    /**
-     * 半角转全角
-     * 
-     * @param input String
-     * @param notConvertSet 不替换的字符集合
-     * @return 全角字符串.
-     */
-    public static String toSBC(String input, Set<Character> notConvertSet)
-    {
-        char[] c = input.toCharArray();
-        for (int i = 0; i < c.length; i++)
-        {
-            if (null != notConvertSet && notConvertSet.contains(c[i]))
-            {
-                // 跳过不替换的字符
-                continue;
-            }
-
-            if (c[i] == ' ')
-            {
-                c[i] = '\u3000';
-            }
-            else if (c[i] < '\177')
-            {
-                c[i] = (char) (c[i] + 65248);
-
-            }
-        }
-        return new String(c);
-    }
-
-    /**
-     * 全角转半角
-     * 
-     * @param input String.
-     * @return 半角字符串
-     */
-    public static String toDBC(String input)
-    {
-        return toDBC(input, null);
-    }
-
-    /**
-     * 替换全角为半角
-     * 
-     * @param text 文本
-     * @param notConvertSet 不替换的字符集合
-     * @return 替换后的字符
-     */
-    public static String toDBC(String text, Set<Character> notConvertSet)
-    {
-        char[] c = text.toCharArray();
-        for (int i = 0; i < c.length; i++)
-        {
-            if (null != notConvertSet && notConvertSet.contains(c[i]))
-            {
-                // 跳过不替换的字符
-                continue;
-            }
-
-            if (c[i] == '\u3000')
-            {
-                c[i] = ' ';
-            }
-            else if (c[i] > '\uFF00' && c[i] < '\uFF5F')
-            {
-                c[i] = (char) (c[i] - 65248);
-            }
-        }
-        return new String(c);
-    }
-
-    /**
-     * 数字金额大写转换 先写个完整的然后将如零拾替换成零
-     * 
-     * @param n 数字
-     * @return 中文大写数字
-     */
-    public static String digitUppercase(double n)
-    {
-        String[] fraction = { "角", "分" };
-        String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
-        String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } };
-
-        String head = n < 0 ? "负" : "";
-        n = Math.abs(n);
-
-        String s = "";
-        for (int i = 0; i < fraction.length; i++)
-        {
-            s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", "");
-        }
-        if (s.length() < 1)
-        {
-            s = "整";
-        }
-        int integerPart = (int) Math.floor(n);
-
-        for (int i = 0; i < unit[0].length && integerPart > 0; i++)
-        {
-            String p = "";
-            for (int j = 0; j < unit[1].length && n > 0; j++)
-            {
-                p = digit[integerPart % 10] + unit[1][j] + p;
-                integerPart = integerPart / 10;
-            }
-            s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s;
-        }
-        return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/StrFormatter.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/StrFormatter.java
deleted file mode 100644
index ef95a1b..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/text/StrFormatter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.hrt.common.core.text;
-
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 字符串格式化
- * 
- * @author jqs
- */
-public class StrFormatter
-{
-    public static final String EMPTY_JSON = "{}";
-    public static final char C_BACKSLASH = '\\';
-    public static final char C_DELIM_START = '{';
-    public static final char C_DELIM_END = '}';
-
-    /**
-     * 格式化字符串<br>
-     * 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
-     * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br>
-     * 例:<br>
-     * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
-     * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
-     * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
-     * 
-     * @param strPattern 字符串模板
-     * @param argArray 参数列表
-     * @return 结果
-     */
-    public static String format(final String strPattern, final Object... argArray)
-    {
-        if (StringUtils.isEmpty(strPattern) || StringUtils.isEmpty(argArray))
-        {
-            return strPattern;
-        }
-        final int strPatternLength = strPattern.length();
-
-        // 初始化定义好的长度以获得更好的性能
-        StringBuilder sbuf = new StringBuilder(strPatternLength + 50);
-
-        int handledPosition = 0;
-        int delimIndex;// 占位符所在位置
-        for (int argIndex = 0; argIndex < argArray.length; argIndex++)
-        {
-            delimIndex = strPattern.indexOf(EMPTY_JSON, handledPosition);
-            if (delimIndex == -1)
-            {
-                if (handledPosition == 0)
-                {
-                    return strPattern;
-                }
-                else
-                { // 字符串模板剩余部分不再包含占位符,加入剩余部分后返回结果
-                    sbuf.append(strPattern, handledPosition, strPatternLength);
-                    return sbuf.toString();
-                }
-            }
-            else
-            {
-                if (delimIndex > 0 && strPattern.charAt(delimIndex - 1) == C_BACKSLASH)
-                {
-                    if (delimIndex > 1 && strPattern.charAt(delimIndex - 2) == C_BACKSLASH)
-                    {
-                        // 转义符之前还有一个转义符,占位符依旧有效
-                        sbuf.append(strPattern, handledPosition, delimIndex - 1);
-                        sbuf.append(Convert.utf8Str(argArray[argIndex]));
-                        handledPosition = delimIndex + 2;
-                    }
-                    else
-                    {
-                        // 占位符被转义
-                        argIndex--;
-                        sbuf.append(strPattern, handledPosition, delimIndex - 1);
-                        sbuf.append(C_DELIM_START);
-                        handledPosition = delimIndex + 1;
-                    }
-                }
-                else
-                {
-                    // 正常占位符
-                    sbuf.append(strPattern, handledPosition, delimIndex);
-                    sbuf.append(Convert.utf8Str(argArray[argIndex]));
-                    handledPosition = delimIndex + 2;
-                }
-            }
-        }
-        // 加入最后一个占位符后所有的字符
-        sbuf.append(strPattern, handledPosition, strPattern.length());
-
-        return sbuf.toString();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/DateUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/DateUtils.java
deleted file mode 100644
index 9bb7300..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/DateUtils.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package com.hrt.common.core.utils;
-
-import java.lang.management.ManagementFactory;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.util.Date;
-import org.apache.commons.lang3.time.DateFormatUtils;
-
-/**
- * 时间工具类
- *
- * @author jqs
- */
-public class DateUtils extends org.apache.commons.lang3.time.DateUtils
-{
-    public static String YYYY = "yyyy";
-
-    public static String YYYY_MM = "yyyy-MM";
-
-    public static String YYYY_MM_DD = "yyyy-MM-dd";
-
-    public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
-
-    public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
-
-    private static String[] parsePatterns = {
-            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
-            "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
-            "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
-
-    /**
-     * 获取当前Date型日期
-     *
-     * @return Date() 当前日期
-     */
-    public static Date getNowDate()
-    {
-        return new Date();
-    }
-
-    /**
-     * 获取当前日期, 默认格式为yyyy-MM-dd
-     *
-     * @return String
-     */
-    public static String getDate()
-    {
-        return dateTimeNow(YYYY_MM_DD);
-    }
-
-    public static final String getTime()
-    {
-        return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
-    }
-
-    public static final String dateTimeNow()
-    {
-        return dateTimeNow(YYYYMMDDHHMMSS);
-    }
-
-    public static final String dateTimeNow(final String format)
-    {
-        return parseDateToStr(format, new Date());
-    }
-
-    public static final String dateTime(final Date date)
-    {
-        return parseDateToStr(YYYY_MM_DD, date);
-    }
-
-    public static final String parseDateToStr(final String format, final Date date)
-    {
-        return new SimpleDateFormat(format).format(date);
-    }
-
-    public static final Date dateTime(final String format, final String ts)
-    {
-        try
-        {
-            return new SimpleDateFormat(format).parse(ts);
-        }
-        catch (ParseException e)
-        {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * 日期路径 即年/月/日 如2018/08/08
-     */
-    public static final String datePath()
-    {
-        Date now = new Date();
-        return DateFormatUtils.format(now, "yyyy/MM/dd");
-    }
-
-    /**
-     * 日期路径 即年/月/日 如20180808
-     */
-    public static final String dateTime()
-    {
-        Date now = new Date();
-        return DateFormatUtils.format(now, "yyyyMMdd");
-    }
-
-    /**
-     * 日期型字符串转化为日期 格式
-     */
-    public static Date parseDate(Object str)
-    {
-        if (str == null)
-        {
-            return null;
-        }
-        try
-        {
-            return parseDate(str.toString(), parsePatterns);
-        }
-        catch (ParseException e)
-        {
-            return null;
-        }
-    }
-
-    /**
-     * 获取服务器启动时间
-     */
-    public static Date getServerStartDate()
-    {
-        long time = ManagementFactory.getRuntimeMXBean().getStartTime();
-        return new Date(time);
-    }
-
-    /**
-     * 计算时间差
-     *
-     * @param endTime 最后时间
-     * @param startTime 开始时间
-     * @return 时间差(天/小时/分钟)
-     */
-    public static String timeDistance(Date endDate, Date startTime)
-    {
-        long nd = 1000 * 24 * 60 * 60;
-        long nh = 1000 * 60 * 60;
-        long nm = 1000 * 60;
-        // long ns = 1000;
-        // 获得两个时间的毫秒时间差异
-        long diff = endDate.getTime() - startTime.getTime();
-        // 计算差多少天
-        long day = diff / nd;
-        // 计算差多少小时
-        long hour = diff % nd / nh;
-        // 计算差多少分钟
-        long min = diff % nd % nh / nm;
-        // 计算差多少秒//输出结果
-        // long sec = diff % nd % nh % nm / ns;
-        return day + "天" + hour + "小时" + min + "分钟";
-    }
-
-    /**
-     * 增加 LocalDateTime ==> Date
-     */
-    public static Date toDate(LocalDateTime temporalAccessor)
-    {
-        ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault());
-        return Date.from(zdt.toInstant());
-    }
-
-    /**
-     * 增加 LocalDate ==> Date
-     */
-    public static Date toDate(LocalDate temporalAccessor)
-    {
-        LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0));
-        ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
-        return Date.from(zdt.toInstant());
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ExceptionUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ExceptionUtil.java
deleted file mode 100644
index 447950a..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ExceptionUtil.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.hrt.common.core.utils;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import org.apache.commons.lang3.exception.ExceptionUtils;
-
-/**
- * 错误信息处理类。
- *
- * @author jqs
- */
-public class ExceptionUtil
-{
-    /**
-     * 获取exception的详细错误信息。
-     */
-    public static String getExceptionMessage(Throwable e)
-    {
-        StringWriter sw = new StringWriter();
-        e.printStackTrace(new PrintWriter(sw, true));
-        return sw.toString();
-    }
-
-    public static String getRootErrorMessage(Exception e)
-    {
-        Throwable root = ExceptionUtils.getRootCause(e);
-        root = (root == null ? e : root);
-        if (root == null)
-        {
-            return "";
-        }
-        String msg = root.getMessage();
-        if (msg == null)
-        {
-            return "null";
-        }
-        return StringUtils.defaultString(msg);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/JwtUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/JwtUtils.java
deleted file mode 100644
index 3a38890..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/JwtUtils.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.hrt.common.core.utils;
-
-import java.util.Map;
-
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.constant.TokenConstants;
-import com.hrt.common.core.text.Convert;
-import io.jsonwebtoken.Claims;
-import io.jsonwebtoken.Jwts;
-import io.jsonwebtoken.SignatureAlgorithm;
-
-/**
- * Jwt工具类
- *
- * @author jqs
- */
-public class JwtUtils
-{
-    public static String secret = TokenConstants.SECRET;
-
-    /**
-     * 从数据声明生成令牌
-     *
-     * @param claims 数据声明
-     * @return 令牌
-     */
-    public static String createToken(Map<String, Object> claims)
-    {
-        String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact();
-        return token;
-    }
-
-    /**
-     * 从令牌中获取数据声明
-     *
-     * @param token 令牌
-     * @return 数据声明
-     */
-    public static Claims parseToken(String token)
-    {
-        return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();
-    }
-
-    /**
-     * 根据令牌获取用户标识
-     * 
-     * @param token 令牌
-     * @return 用户ID
-     */
-    public static String getUserKey(String token)
-    {
-        Claims claims = parseToken(token);
-        return getValue(claims, SecurityConstants.USER_KEY);
-    }
-
-    /**
-     * 根据令牌获取用户标识
-     * 
-     * @param claims 身份信息
-     * @return 用户ID
-     */
-    public static String getUserKey(Claims claims)
-    {
-        return getValue(claims, SecurityConstants.USER_KEY);
-    }
-
-    /**
-     * 根据令牌获取用户ID
-     * 
-     * @param token 令牌
-     * @return 用户ID
-     */
-    public static String getUserId(String token)
-    {
-        Claims claims = parseToken(token);
-        return getValue(claims, SecurityConstants.DETAILS_USER_ID);
-    }
-
-    /**
-     * 根据身份信息获取用户ID
-     * 
-     * @param claims 身份信息
-     * @return 用户ID
-     */
-    public static String getUserId(Claims claims)
-    {
-        return getValue(claims, SecurityConstants.DETAILS_USER_ID);
-    }
-
-    /**
-     * 根据令牌获取用户名
-     * 
-     * @param token 令牌
-     * @return 用户名
-     */
-    public static String getUserName(String token)
-    {
-        Claims claims = parseToken(token);
-        return getValue(claims, SecurityConstants.DETAILS_USERNAME);
-    }
-
-    /**
-     * 根据身份信息获取用户名
-     * 
-     * @param claims 身份信息
-     * @return 用户名
-     */
-    public static String getUserName(Claims claims)
-    {
-        return getValue(claims, SecurityConstants.DETAILS_USERNAME);
-    }
-
-    /**
-     * 根据身份信息获取键值
-     * 
-     * @param claims 身份信息
-     * @param key 键
-     * @return 值
-     */
-    public static String getValue(Claims claims, String key)
-    {
-        return Convert.toStr(claims.get(key), "");
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/PageUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/PageUtils.java
deleted file mode 100644
index 4dc955b..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/PageUtils.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.hrt.common.core.utils;
-
-import com.github.pagehelper.PageHelper;
-import com.hrt.common.core.web.page.PageDomain;
-import com.hrt.common.core.web.page.TableSupport;
-import com.hrt.common.core.utils.sql.SqlUtil;
-
-/**
- * 分页工具类
- * 
- * @author jqs
- */
-public class PageUtils extends PageHelper
-{
-    /**
-     * 设置请求分页数据
-     */
-    public static void startPage()
-    {
-        PageDomain pageDomain = TableSupport.buildPageRequest();
-        Integer pageNum = pageDomain.getPageNum();
-        Integer pageSize = pageDomain.getPageSize();
-        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
-        Boolean reasonable = pageDomain.getReasonable();
-        PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
-    }
-
-    /**
-     * 清理分页的线程变量
-     */
-    public static void clearPage()
-    {
-        PageHelper.clearPage();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ServletUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ServletUtils.java
deleted file mode 100644
index c8578a9..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ServletUtils.java
+++ /dev/null
@@ -1,334 +0,0 @@
-package com.hrt.common.core.utils;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.core.text.Convert;
-import org.springframework.core.io.buffer.DataBuffer;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.server.reactive.ServerHttpResponse;
-import org.springframework.util.LinkedCaseInsensitiveMap;
-import org.springframework.web.context.request.RequestAttributes;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-import com.alibaba.fastjson2.JSON;
-import reactor.core.publisher.Mono;
-
-/**
- * 客户端工具类
- * 
- * @author jqs
- */
-public class ServletUtils
-{
-    /**
-     * 获取String参数
-     */
-    public static String getParameter(String name)
-    {
-        return getRequest().getParameter(name);
-    }
-
-    /**
-     * 获取String参数
-     */
-    public static String getParameter(String name, String defaultValue)
-    {
-        return Convert.toStr(getRequest().getParameter(name), defaultValue);
-    }
-
-    /**
-     * 获取Integer参数
-     */
-    public static Integer getParameterToInt(String name)
-    {
-        return Convert.toInt(getRequest().getParameter(name));
-    }
-
-    /**
-     * 获取Integer参数
-     */
-    public static Integer getParameterToInt(String name, Integer defaultValue)
-    {
-        return Convert.toInt(getRequest().getParameter(name), defaultValue);
-    }
-
-    /**
-     * 获取Boolean参数
-     */
-    public static Boolean getParameterToBool(String name)
-    {
-        return Convert.toBool(getRequest().getParameter(name));
-    }
-
-    /**
-     * 获取Boolean参数
-     */
-    public static Boolean getParameterToBool(String name, Boolean defaultValue)
-    {
-        return Convert.toBool(getRequest().getParameter(name), defaultValue);
-    }
-
-    /**
-     * 获得所有请求参数
-     *
-     * @param request 请求对象{@link ServletRequest}
-     * @return Map
-     */
-    public static Map<String, String[]> getParams(ServletRequest request)
-    {
-        final Map<String, String[]> map = request.getParameterMap();
-        return Collections.unmodifiableMap(map);
-    }
-
-    /**
-     * 获得所有请求参数
-     *
-     * @param request 请求对象{@link ServletRequest}
-     * @return Map
-     */
-    public static Map<String, String> getParamMap(ServletRequest request)
-    {
-        Map<String, String> params = new HashMap<>();
-        for (Map.Entry<String, String[]> entry : getParams(request).entrySet())
-        {
-            params.put(entry.getKey(), StringUtils.join(entry.getValue(), ","));
-        }
-        return params;
-    }
-
-    /**
-     * 获取request
-     */
-    public static HttpServletRequest getRequest()
-    {
-        try
-        {
-            return getRequestAttributes().getRequest();
-        }
-        catch (Exception e)
-        {
-            return null;
-        }
-    }
-
-    /**
-     * 获取response
-     */
-    public static HttpServletResponse getResponse()
-    {
-        try
-        {
-            return getRequestAttributes().getResponse();
-        }
-        catch (Exception e)
-        {
-            return null;
-        }
-    }
-
-    /**
-     * 获取session
-     */
-    public static HttpSession getSession()
-    {
-        return getRequest().getSession();
-    }
-
-    public static ServletRequestAttributes getRequestAttributes()
-    {
-        try
-        {
-            RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
-            return (ServletRequestAttributes) attributes;
-        }
-        catch (Exception e)
-        {
-            return null;
-        }
-    }
-
-    public static String getHeader(HttpServletRequest request, String name)
-    {
-        String value = request.getHeader(name);
-        if (StringUtils.isEmpty(value))
-        {
-            return StringUtils.EMPTY;
-        }
-        return urlDecode(value);
-    }
-
-    public static Map<String, String> getHeaders(HttpServletRequest request)
-    {
-        Map<String, String> map = new LinkedCaseInsensitiveMap<>();
-        Enumeration<String> enumeration = request.getHeaderNames();
-        if (enumeration != null)
-        {
-            while (enumeration.hasMoreElements())
-            {
-                String key = enumeration.nextElement();
-                String value = request.getHeader(key);
-                map.put(key, value);
-            }
-        }
-        return map;
-    }
-
-    /**
-     * 将字符串渲染到客户端
-     * 
-     * @param response 渲染对象
-     * @param string 待渲染的字符串
-     */
-    public static void renderString(HttpServletResponse response, String string)
-    {
-        try
-        {
-            response.setStatus(200);
-            response.setContentType("application/json");
-            response.setCharacterEncoding("utf-8");
-            response.getWriter().print(string);
-        }
-        catch (IOException e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 是否是Ajax异步请求
-     * 
-     * @param request
-     */
-    public static boolean isAjaxRequest(HttpServletRequest request)
-    {
-        String accept = request.getHeader("accept");
-        if (accept != null && accept.contains("application/json"))
-        {
-            return true;
-        }
-
-        String xRequestedWith = request.getHeader("X-Requested-With");
-        if (xRequestedWith != null && xRequestedWith.contains("XMLHttpRequest"))
-        {
-            return true;
-        }
-
-        String uri = request.getRequestURI();
-        if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml"))
-        {
-            return true;
-        }
-
-        String ajax = request.getParameter("__ajax");
-        return StringUtils.inStringIgnoreCase(ajax, "json", "xml");
-    }
-
-    /**
-     * 内容编码
-     * 
-     * @param str 内容
-     * @return 编码后的内容
-     */
-    public static String urlEncode(String str)
-    {
-        try
-        {
-            return URLEncoder.encode(str, Constants.UTF8);
-        }
-        catch (UnsupportedEncodingException e)
-        {
-            return StringUtils.EMPTY;
-        }
-    }
-
-    /**
-     * 内容解码
-     * 
-     * @param str 内容
-     * @return 解码后的内容
-     */
-    public static String urlDecode(String str)
-    {
-        try
-        {
-            return URLDecoder.decode(str, Constants.UTF8);
-        }
-        catch (UnsupportedEncodingException e)
-        {
-            return StringUtils.EMPTY;
-        }
-    }
-
-    /**
-     * 设置webflux模型响应
-     *
-     * @param response ServerHttpResponse
-     * @param value 响应内容
-     * @return Mono<Void>
-     */
-    public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, Object value)
-    {
-        return webFluxResponseWriter(response, HttpStatus.OK, value, R.FAIL);
-    }
-
-    /**
-     * 设置webflux模型响应
-     *
-     * @param response ServerHttpResponse
-     * @param code 响应状态码
-     * @param value 响应内容
-     * @return Mono<Void>
-     */
-    public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, Object value, int code)
-    {
-        return webFluxResponseWriter(response, HttpStatus.OK, value, code);
-    }
-
-    /**
-     * 设置webflux模型响应
-     *
-     * @param response ServerHttpResponse
-     * @param status http状态码
-     * @param code 响应状态码
-     * @param value 响应内容
-     * @return Mono<Void>
-     */
-    public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, HttpStatus status, Object value, int code)
-    {
-        return webFluxResponseWriter(response, MediaType.APPLICATION_JSON_VALUE, status, value, code);
-    }
-
-    /**
-     * 设置webflux模型响应
-     *
-     * @param response ServerHttpResponse
-     * @param contentType content-type
-     * @param status http状态码
-     * @param code 响应状态码
-     * @param value 响应内容
-     * @return Mono<Void>
-     */
-    public static Mono<Void> webFluxResponseWriter(ServerHttpResponse response, String contentType, HttpStatus status, Object value, int code)
-    {
-        response.setStatusCode(status);
-        response.getHeaders().add(HttpHeaders.CONTENT_TYPE, contentType);
-        R<?> result = R.fail(code, value.toString());
-        DataBuffer dataBuffer = response.bufferFactory().wrap(JSON.toJSONString(result).getBytes());
-        return response.writeWith(Mono.just(dataBuffer));
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/SpringUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/SpringUtils.java
deleted file mode 100644
index d4fbfb3..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/SpringUtils.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.hrt.common.core.utils;
-
-import org.springframework.aop.framework.AopContext;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
-import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-import org.springframework.stereotype.Component;
-
-/**
- * spring工具类 方便在非spring管理环境中获取bean
- * 
- * @author jqs
- */
-@Component
-public final class SpringUtils implements BeanFactoryPostProcessor
-{
-    /** Spring应用上下文环境 */
-    private static ConfigurableListableBeanFactory beanFactory;
-
-    @Override
-    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
-    {
-        SpringUtils.beanFactory = beanFactory;
-    }
-
-    /**
-     * 获取对象
-     *
-     * @param name
-     * @return Object 一个以所给名字注册的bean的实例
-     * @throws org.springframework.beans.BeansException
-     *
-     */
-    @SuppressWarnings("unchecked")
-    public static <T> T getBean(String name) throws BeansException
-    {
-        return (T) beanFactory.getBean(name);
-    }
-
-    /**
-     * 获取类型为requiredType的对象
-     *
-     * @param clz
-     * @return
-     * @throws org.springframework.beans.BeansException
-     *
-     */
-    public static <T> T getBean(Class<T> clz) throws BeansException
-    {
-        T result = (T) beanFactory.getBean(clz);
-        return result;
-    }
-
-    /**
-     * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true
-     *
-     * @param name
-     * @return boolean
-     */
-    public static boolean containsBean(String name)
-    {
-        return beanFactory.containsBean(name);
-    }
-
-    /**
-     * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)
-     *
-     * @param name
-     * @return boolean
-     * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException
-     *
-     */
-    public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException
-    {
-        return beanFactory.isSingleton(name);
-    }
-
-    /**
-     * @param name
-     * @return Class 注册对象的类型
-     * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException
-     *
-     */
-    public static Class<?> getType(String name) throws NoSuchBeanDefinitionException
-    {
-        return beanFactory.getType(name);
-    }
-
-    /**
-     * 如果给定的bean名字在bean定义中有别名,则返回这些别名
-     *
-     * @param name
-     * @return
-     * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException
-     *
-     */
-    public static String[] getAliases(String name) throws NoSuchBeanDefinitionException
-    {
-        return beanFactory.getAliases(name);
-    }
-
-    /**
-     * 获取aop代理对象
-     * 
-     * @param invoker
-     * @return
-     */
-    @SuppressWarnings("unchecked")
-    public static <T> T getAopProxy(T invoker)
-    {
-        return (T) AopContext.currentProxy();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/StringUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/StringUtils.java
deleted file mode 100644
index 8cef3d2..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/StringUtils.java
+++ /dev/null
@@ -1,562 +0,0 @@
-package com.hrt.common.core.utils;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.text.StrFormatter;
-import org.springframework.util.AntPathMatcher;
-
-/**
- * 字符串工具类
- * 
- * @author jqs
- */
-public class StringUtils extends org.apache.commons.lang3.StringUtils
-{
-    /** 空字符串 */
-    private static final String NULLSTR = "";
-
-    /** 下划线 */
-    private static final char SEPARATOR = '_';
-
-    /**
-     * 获取参数不为空值
-     * 
-     * @param value defaultValue 要判断的value
-     * @return value 返回值
-     */
-    public static <T> T nvl(T value, T defaultValue)
-    {
-        return value != null ? value : defaultValue;
-    }
-
-    /**
-     * * 判断一个Collection是否为空, 包含List,Set,Queue
-     * 
-     * @param coll 要判断的Collection
-     * @return true:为空 false:非空
-     */
-    public static boolean isEmpty(Collection<?> coll)
-    {
-        return isNull(coll) || coll.isEmpty();
-    }
-
-    /**
-     * * 判断一个Collection是否非空,包含List,Set,Queue
-     * 
-     * @param coll 要判断的Collection
-     * @return true:非空 false:空
-     */
-    public static boolean isNotEmpty(Collection<?> coll)
-    {
-        return !isEmpty(coll);
-    }
-
-    /**
-     * * 判断一个对象数组是否为空
-     * 
-     * @param objects 要判断的对象数组
-     ** @return true:为空 false:非空
-     */
-    public static boolean isEmpty(Object[] objects)
-    {
-        return isNull(objects) || (objects.length == 0);
-    }
-
-    /**
-     * * 判断一个对象数组是否非空
-     * 
-     * @param objects 要判断的对象数组
-     * @return true:非空 false:空
-     */
-    public static boolean isNotEmpty(Object[] objects)
-    {
-        return !isEmpty(objects);
-    }
-
-    /**
-     * * 判断一个Map是否为空
-     * 
-     * @param map 要判断的Map
-     * @return true:为空 false:非空
-     */
-    public static boolean isEmpty(Map<?, ?> map)
-    {
-        return isNull(map) || map.isEmpty();
-    }
-
-    /**
-     * * 判断一个Map是否为空
-     * 
-     * @param map 要判断的Map
-     * @return true:非空 false:空
-     */
-    public static boolean isNotEmpty(Map<?, ?> map)
-    {
-        return !isEmpty(map);
-    }
-
-    /**
-     * * 判断一个字符串是否为空串
-     * 
-     * @param str String
-     * @return true:为空 false:非空
-     */
-    public static boolean isEmpty(String str)
-    {
-        return isNull(str) || NULLSTR.equals(str.trim());
-    }
-
-    /**
-     * * 判断一个字符串是否为非空串
-     * 
-     * @param str String
-     * @return true:非空串 false:空串
-     */
-    public static boolean isNotEmpty(String str)
-    {
-        return !isEmpty(str);
-    }
-
-    /**
-     * * 判断一个对象是否为空
-     * 
-     * @param object Object
-     * @return true:为空 false:非空
-     */
-    public static boolean isNull(Object object)
-    {
-        return object == null;
-    }
-
-    /**
-     * * 判断一个对象是否非空
-     * 
-     * @param object Object
-     * @return true:非空 false:空
-     */
-    public static boolean isNotNull(Object object)
-    {
-        return !isNull(object);
-    }
-
-    /**
-     * * 判断一个对象是否是数组类型(Java基本型别的数组)
-     * 
-     * @param object 对象
-     * @return true:是数组 false:不是数组
-     */
-    public static boolean isArray(Object object)
-    {
-        return isNotNull(object) && object.getClass().isArray();
-    }
-
-    /**
-     * 去空格
-     */
-    public static String trim(String str)
-    {
-        return (str == null ? "" : str.trim());
-    }
-
-    /**
-     * 截取字符串
-     * 
-     * @param str 字符串
-     * @param start 开始
-     * @return 结果
-     */
-    public static String substring(final String str, int start)
-    {
-        if (str == null)
-        {
-            return NULLSTR;
-        }
-
-        if (start < 0)
-        {
-            start = str.length() + start;
-        }
-
-        if (start < 0)
-        {
-            start = 0;
-        }
-        if (start > str.length())
-        {
-            return NULLSTR;
-        }
-
-        return str.substring(start);
-    }
-
-    /**
-     * 截取字符串
-     * 
-     * @param str 字符串
-     * @param start 开始
-     * @param end 结束
-     * @return 结果
-     */
-    public static String substring(final String str, int start, int end)
-    {
-        if (str == null)
-        {
-            return NULLSTR;
-        }
-
-        if (end < 0)
-        {
-            end = str.length() + end;
-        }
-        if (start < 0)
-        {
-            start = str.length() + start;
-        }
-
-        if (end > str.length())
-        {
-            end = str.length();
-        }
-
-        if (start > end)
-        {
-            return NULLSTR;
-        }
-
-        if (start < 0)
-        {
-            start = 0;
-        }
-        if (end < 0)
-        {
-            end = 0;
-        }
-
-        return str.substring(start, end);
-    }
-
-    /**
-     * 判断是否为空,并且不是空白字符
-     * 
-     * @param str 要判断的value
-     * @return 结果
-     */
-    public static boolean hasText(String str)
-    {
-        return (str != null && !str.isEmpty() && containsText(str));
-    }
-
-    private static boolean containsText(CharSequence str)
-    {
-        int strLen = str.length();
-        for (int i = 0; i < strLen; i++)
-        {
-            if (!Character.isWhitespace(str.charAt(i)))
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 格式化文本, {} 表示占位符<br>
-     * 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
-     * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br>
-     * 例:<br>
-     * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
-     * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
-     * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
-     * 
-     * @param template 文本模板,被替换的部分用 {} 表示
-     * @param params 参数值
-     * @return 格式化后的文本
-     */
-    public static String format(String template, Object... params)
-    {
-        if (isEmpty(params) || isEmpty(template))
-        {
-            return template;
-        }
-        return StrFormatter.format(template, params);
-    }
-
-    /**
-     * 是否为http(s)://开头
-     * 
-     * @param link 链接
-     * @return 结果
-     */
-    public static boolean ishttp(String link)
-    {
-        return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS);
-    }
-
-    /**
-     * 判断给定的collection列表中是否包含数组array 判断给定的数组array中是否包含给定的元素value
-     *
-     * @param collection 给定的集合
-     * @param array 给定的数组
-     * @return boolean 结果
-     */
-    public static boolean containsAny(Collection<String> collection, String... array)
-    {
-        if (isEmpty(collection) || isEmpty(array))
-        {
-            return false;
-        }
-        else
-        {
-            for (String str : array)
-            {
-                if (collection.contains(str))
-                {
-                    return true;
-                }
-            }
-            return false;
-        }
-    }
-
-    /**
-     * 驼峰转下划线命名
-     */
-    public static String toUnderScoreCase(String str)
-    {
-        if (str == null)
-        {
-            return null;
-        }
-        StringBuilder sb = new StringBuilder();
-        // 前置字符是否大写
-        boolean preCharIsUpperCase = true;
-        // 当前字符是否大写
-        boolean curreCharIsUpperCase = true;
-        // 下一字符是否大写
-        boolean nexteCharIsUpperCase = true;
-        for (int i = 0; i < str.length(); i++)
-        {
-            char c = str.charAt(i);
-            if (i > 0)
-            {
-                preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1));
-            }
-            else
-            {
-                preCharIsUpperCase = false;
-            }
-
-            curreCharIsUpperCase = Character.isUpperCase(c);
-
-            if (i < (str.length() - 1))
-            {
-                nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1));
-            }
-
-            if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase)
-            {
-                sb.append(SEPARATOR);
-            }
-            else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase)
-            {
-                sb.append(SEPARATOR);
-            }
-            sb.append(Character.toLowerCase(c));
-        }
-
-        return sb.toString();
-    }
-
-    /**
-     * 是否包含字符串
-     * 
-     * @param str 验证字符串
-     * @param strs 字符串组
-     * @return 包含返回true
-     */
-    public static boolean inStringIgnoreCase(String str, String... strs)
-    {
-        if (str != null && strs != null)
-        {
-            for (String s : strs)
-            {
-                if (str.equalsIgnoreCase(trim(s)))
-                {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
-     * 
-     * @param name 转换前的下划线大写方式命名的字符串
-     * @return 转换后的驼峰式命名的字符串
-     */
-    public static String convertToCamelCase(String name)
-    {
-        StringBuilder result = new StringBuilder();
-        // 快速检查
-        if (name == null || name.isEmpty())
-        {
-            // 没必要转换
-            return "";
-        }
-        else if (!name.contains("_"))
-        {
-            // 不含下划线,仅将首字母大写
-            return name.substring(0, 1).toUpperCase() + name.substring(1);
-        }
-        // 用下划线将原始字符串分割
-        String[] camels = name.split("_");
-        for (String camel : camels)
-        {
-            // 跳过原始字符串中开头、结尾的下换线或双重下划线
-            if (camel.isEmpty())
-            {
-                continue;
-            }
-            // 首字母大写
-            result.append(camel.substring(0, 1).toUpperCase());
-            result.append(camel.substring(1).toLowerCase());
-        }
-        return result.toString();
-    }
-
-    /**
-     * 驼峰式命名法
-     * 例如:user_name->userName
-     */
-    public static String toCamelCase(String s)
-    {
-        if (s == null)
-        {
-            return null;
-        }
-        if (s.indexOf(SEPARATOR) == -1)
-        {
-            return s;
-        }
-        s = s.toLowerCase();
-        StringBuilder sb = new StringBuilder(s.length());
-        boolean upperCase = false;
-        for (int i = 0; i < s.length(); i++)
-        {
-            char c = s.charAt(i);
-
-            if (c == SEPARATOR)
-            {
-                upperCase = true;
-            }
-            else if (upperCase)
-            {
-                sb.append(Character.toUpperCase(c));
-                upperCase = false;
-            }
-            else
-            {
-                sb.append(c);
-            }
-        }
-        return sb.toString();
-    }
-
-    /**
-     * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串
-     * 
-     * @param str 指定字符串
-     * @param strs 需要检查的字符串数组
-     * @return 是否匹配
-     */
-    public static boolean matches(String str, List<String> strs)
-    {
-        if (isEmpty(str) || isEmpty(strs))
-        {
-            return false;
-        }
-        for (String pattern : strs)
-        {
-            if (isMatch(pattern, str))
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 判断url是否与规则配置: 
-     * ? 表示单个字符; 
-     * * 表示一层路径内的任意字符串,不可跨层级; 
-     * ** 表示任意层路径;
-     * 
-     * @param pattern 匹配规则
-     * @param url 需要匹配的url
-     * @return
-     */
-    public static boolean isMatch(String pattern, String url)
-    {
-        AntPathMatcher matcher = new AntPathMatcher();
-        return matcher.match(pattern, url);
-    }
-
-    @SuppressWarnings("unchecked")
-    public static <T> T cast(Object obj)
-    {
-        return (T) obj;
-    }
-
-    /**
-     * 数字左边补齐0,使之达到指定长度。注意,如果数字转换为字符串后,长度大于size,则只保留 最后size个字符。
-     * 
-     * @param num 数字对象
-     * @param size 字符串指定长度
-     * @return 返回数字的字符串格式,该字符串为指定长度。
-     */
-    public static final String padl(final Number num, final int size)
-    {
-        return padl(num.toString(), size, '0');
-    }
-
-    /**
-     * 字符串左补齐。如果原始字符串s长度大于size,则只保留最后size个字符。
-     * 
-     * @param s 原始字符串
-     * @param size 字符串指定长度
-     * @param c 用于补齐的字符
-     * @return 返回指定长度的字符串,由原字符串左补齐或截取得到。
-     */
-    public static final String padl(final String s, final int size, final char c)
-    {
-        final StringBuilder sb = new StringBuilder(size);
-        if (s != null)
-        {
-            final int len = s.length();
-            if (s.length() <= size)
-            {
-                for (int i = size - len; i > 0; i--)
-                {
-                    sb.append(c);
-                }
-                sb.append(s);
-            }
-            else
-            {
-                return s.substring(len - size, len);
-            }
-        }
-        else
-        {
-            for (int i = size; i > 0; i--)
-            {
-                sb.append(c);
-            }
-        }
-        return sb.toString();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanUtils.java
deleted file mode 100644
index 502be23..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanUtils.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package com.hrt.common.core.utils.bean;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Bean 工具类
- * 
- * @author jqs
- */
-public class BeanUtils extends org.springframework.beans.BeanUtils
-{
-    /** Bean方法名中属性名开始的下标 */
-    private static final int BEAN_METHOD_PROP_INDEX = 3;
-
-    /** * 匹配getter方法的正则表达式 */
-    private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)");
-
-    /** * 匹配setter方法的正则表达式 */
-    private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)");
-
-    /**
-     * Bean属性复制工具方法。
-     * 
-     * @param dest 目标对象
-     * @param src 源对象
-     */
-    public static void copyBeanProp(Object dest, Object src)
-    {
-        try
-        {
-            copyProperties(src, dest);
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 获取对象的setter方法。
-     * 
-     * @param obj 对象
-     * @return 对象的setter方法列表
-     */
-    public static List<Method> getSetterMethods(Object obj)
-    {
-        // setter方法列表
-        List<Method> setterMethods = new ArrayList<Method>();
-
-        // 获取所有方法
-        Method[] methods = obj.getClass().getMethods();
-
-        // 查找setter方法
-
-        for (Method method : methods)
-        {
-            Matcher m = SET_PATTERN.matcher(method.getName());
-            if (m.matches() && (method.getParameterTypes().length == 1))
-            {
-                setterMethods.add(method);
-            }
-        }
-        // 返回setter方法列表
-        return setterMethods;
-    }
-
-    /**
-     * 获取对象的getter方法。
-     * 
-     * @param obj 对象
-     * @return 对象的getter方法列表
-     */
-
-    public static List<Method> getGetterMethods(Object obj)
-    {
-        // getter方法列表
-        List<Method> getterMethods = new ArrayList<Method>();
-        // 获取所有方法
-        Method[] methods = obj.getClass().getMethods();
-        // 查找getter方法
-        for (Method method : methods)
-        {
-            Matcher m = GET_PATTERN.matcher(method.getName());
-            if (m.matches() && (method.getParameterTypes().length == 0))
-            {
-                getterMethods.add(method);
-            }
-        }
-        // 返回getter方法列表
-        return getterMethods;
-    }
-
-    /**
-     * 检查Bean方法名中的属性名是否相等。<br>
-     * 如getName()和setName()属性名一样,getName()和setAge()属性名不一样。
-     * 
-     * @param m1 方法名1
-     * @param m2 方法名2
-     * @return 属性名一样返回true,否则返回false
-     */
-
-    public static boolean isMethodPropEquals(String m1, String m2)
-    {
-        return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX));
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanValidators.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanValidators.java
deleted file mode 100644
index 5428e0f..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/bean/BeanValidators.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.common.core.utils.bean;
-
-import java.util.Set;
-import javax.validation.ConstraintViolation;
-import javax.validation.ConstraintViolationException;
-import javax.validation.Validator;
-
-/**
- * bean对象属性验证
- * 
- * @author jqs
- */
-public class BeanValidators
-{
-    public static void validateWithException(Validator validator, Object object, Class<?>... groups)
-            throws ConstraintViolationException
-    {
-        Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
-        if (!constraintViolations.isEmpty())
-        {
-            throw new ConstraintViolationException(constraintViolations);
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileTypeUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileTypeUtils.java
deleted file mode 100644
index 15dfcf1..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileTypeUtils.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.hrt.common.core.utils.file;
-
-import java.io.File;
-import java.util.Objects;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * 文件类型工具类
- *
- * @author jqs
- */
-public class FileTypeUtils
-{
-    /**
-     * 获取文件类型
-     * <p>
-     * 例如: hrt.txt, 返回: txt
-     * 
-     * @param file 文件名
-     * @return 后缀(不含".")
-     */
-    public static String getFileType(File file)
-    {
-        if (null == file)
-        {
-            return StringUtils.EMPTY;
-        }
-        return getFileType(file.getName());
-    }
-
-    /**
-     * 获取文件类型
-     * <p>
-     * 例如: hrt.txt, 返回: txt
-     *
-     * @param fileName 文件名
-     * @return 后缀(不含".")
-     */
-    public static String getFileType(String fileName)
-    {
-        int separatorIndex = fileName.lastIndexOf(".");
-        if (separatorIndex < 0)
-        {
-            return "";
-        }
-        return fileName.substring(separatorIndex + 1).toLowerCase();
-    }
-
-    /**
-     * 获取文件名的后缀
-     * 
-     * @param file 表单文件
-     * @return 后缀名
-     */
-    public static final String getExtension(MultipartFile file)
-    {
-        String extension = FilenameUtils.getExtension(file.getOriginalFilename());
-        if (StringUtils.isEmpty(extension))
-        {
-            extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType()));
-        }
-        return extension;
-    }
-
-    /**
-     * 获取文件类型
-     * 
-     * @param photoByte 文件字节码
-     * @return 后缀(不含".")
-     */
-    public static String getFileExtendName(byte[] photoByte)
-    {
-        String strFileExtendName = "JPG";
-        if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56)
-                && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97))
-        {
-            strFileExtendName = "GIF";
-        }
-        else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70))
-        {
-            strFileExtendName = "JPG";
-        }
-        else if ((photoByte[0] == 66) && (photoByte[1] == 77))
-        {
-            strFileExtendName = "BMP";
-        }
-        else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71))
-        {
-            strFileExtendName = "PNG";
-        }
-        return strFileExtendName;
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileUtils.java
deleted file mode 100644
index eeeb908..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/FileUtils.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package com.hrt.common.core.utils.file;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.common.core.utils.StringUtils;
-import org.apache.commons.lang3.ArrayUtils;
-
-/**
- * 文件处理工具类
- * 
- * @author jqs
- */
-public class FileUtils
-{
-    /** 字符常量:斜杠 {@code '/'} */
-    public static final char SLASH = '/';
-
-    /** 字符常量:反斜杠 {@code '\\'} */
-    public static final char BACKSLASH = '\\';
-
-    public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+";
-
-    /**
-     * 输出指定文件的byte数组
-     * 
-     * @param filePath 文件路径
-     * @param os 输出流
-     * @return
-     */
-    public static void writeBytes(String filePath, OutputStream os) throws IOException
-    {
-        FileInputStream fis = null;
-        try
-        {
-            File file = new File(filePath);
-            if (!file.exists())
-            {
-                throw new FileNotFoundException(filePath);
-            }
-            fis = new FileInputStream(file);
-            byte[] b = new byte[1024];
-            int length;
-            while ((length = fis.read(b)) > 0)
-            {
-                os.write(b, 0, length);
-            }
-        }
-        catch (IOException e)
-        {
-            throw e;
-        }
-        finally
-        {
-            if (os != null)
-            {
-                try
-                {
-                    os.close();
-                }
-                catch (IOException e1)
-                {
-                    e1.printStackTrace();
-                }
-            }
-            if (fis != null)
-            {
-                try
-                {
-                    fis.close();
-                }
-                catch (IOException e1)
-                {
-                    e1.printStackTrace();
-                }
-            }
-        }
-    }
-
-    /**
-     * 删除文件
-     * 
-     * @param filePath 文件
-     * @return
-     */
-    public static boolean deleteFile(String filePath)
-    {
-        boolean flag = false;
-        File file = new File(filePath);
-        // 路径为文件且不为空则进行删除
-        if (file.isFile() && file.exists())
-        {
-            flag = file.delete();
-        }
-        return flag;
-    }
-
-    /**
-     * 文件名称验证
-     * 
-     * @param filename 文件名称
-     * @return true 正常 false 非法
-     */
-    public static boolean isValidFilename(String filename)
-    {
-        return filename.matches(FILENAME_PATTERN);
-    }
-
-    /**
-     * 检查文件是否可下载
-     * 
-     * @param resource 需要下载的文件
-     * @return true 正常 false 非法
-     */
-    public static boolean checkAllowDownload(String resource)
-    {
-        // 禁止目录上跳级别
-        if (StringUtils.contains(resource, ".."))
-        {
-            return false;
-        }
-
-        // 检查允许下载的文件规则
-        if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource)))
-        {
-            return true;
-        }
-
-        // 不在允许下载的文件规则
-        return false;
-    }
-
-    /**
-     * 下载文件名重新编码
-     * 
-     * @param request 请求对象
-     * @param fileName 文件名
-     * @return 编码后的文件名
-     */
-    public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException
-    {
-        final String agent = request.getHeader("USER-AGENT");
-        String filename = fileName;
-        if (agent.contains("MSIE"))
-        {
-            // IE浏览器
-            filename = URLEncoder.encode(filename, "utf-8");
-            filename = filename.replace("+", " ");
-        }
-        else if (agent.contains("Firefox"))
-        {
-            // 火狐浏览器
-            filename = new String(fileName.getBytes(), "ISO8859-1");
-        }
-        else if (agent.contains("Chrome"))
-        {
-            // google浏览器
-            filename = URLEncoder.encode(filename, "utf-8");
-        }
-        else
-        {
-            // 其它浏览器
-            filename = URLEncoder.encode(filename, "utf-8");
-        }
-        return filename;
-    }
-
-    /**
-     * 返回文件名
-     *
-     * @param filePath 文件
-     * @return 文件名
-     */
-    public static String getName(String filePath)
-    {
-        if (null == filePath)
-        {
-            return null;
-        }
-        int len = filePath.length();
-        if (0 == len)
-        {
-            return filePath;
-        }
-        if (isFileSeparator(filePath.charAt(len - 1)))
-        {
-            // 以分隔符结尾的去掉结尾分隔符
-            len--;
-        }
-
-        int begin = 0;
-        char c;
-        for (int i = len - 1; i > -1; i--)
-        {
-            c = filePath.charAt(i);
-            if (isFileSeparator(c))
-            {
-                // 查找最后一个路径分隔符(/或者\)
-                begin = i + 1;
-                break;
-            }
-        }
-
-        return filePath.substring(begin, len);
-    }
-
-    /**
-     * 是否为Windows或者Linux(Unix)文件分隔符<br>
-     * Windows平台下分隔符为\,Linux(Unix)为/
-     *
-     * @param c 字符
-     * @return 是否为Windows或者Linux(Unix)文件分隔符
-     */
-    public static boolean isFileSeparator(char c)
-    {
-        return SLASH == c || BACKSLASH == c;
-    }
-
-    /**
-     * 下载文件名重新编码
-     *
-     * @param response 响应对象
-     * @param realFileName 真实文件名
-     * @return
-     */
-    public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException
-    {
-        String percentEncodedFileName = percentEncode(realFileName);
-
-        StringBuilder contentDispositionValue = new StringBuilder();
-        contentDispositionValue.append("attachment; filename=")
-                .append(percentEncodedFileName)
-                .append(";")
-                .append("filename*=")
-                .append("utf-8''")
-                .append(percentEncodedFileName);
-
-        response.setHeader("Content-disposition", contentDispositionValue.toString());
-        response.setHeader("download-filename", percentEncodedFileName);
-    }
-
-    /**
-     * 百分号编码工具方法
-     *
-     * @param s 需要百分号编码的字符串
-     * @return 百分号编码后的字符串
-     */
-    public static String percentEncode(String s) throws UnsupportedEncodingException
-    {
-        String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString());
-        return encode.replaceAll("\\+", "%20");
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/ImageUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/ImageUtils.java
deleted file mode 100644
index 181cee4..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/ImageUtils.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.hrt.common.core.utils.file;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Arrays;
-import org.apache.poi.util.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * 图片处理工具类
- *
- * @author jqs
- */
-public class ImageUtils
-{
-    private static final Logger log = LoggerFactory.getLogger(ImageUtils.class);
-
-    public static byte[] getImage(String imagePath)
-    {
-        InputStream is = getFile(imagePath);
-        try
-        {
-            return IOUtils.toByteArray(is);
-        }
-        catch (Exception e)
-        {
-            log.error("图片加载异常 {}", e);
-            return null;
-        }
-        finally
-        {
-            IOUtils.closeQuietly(is);
-        }
-    }
-
-    public static InputStream getFile(String imagePath)
-    {
-        try
-        {
-            byte[] result = readFile(imagePath);
-            result = Arrays.copyOf(result, result.length);
-            return new ByteArrayInputStream(result);
-        }
-        catch (Exception e)
-        {
-            log.error("获取图片异常 {}", e);
-        }
-        return null;
-    }
-
-    /**
-     * 读取文件为字节数据
-     * 
-     * @param url 地址
-     * @return 字节数据
-     */
-    public static byte[] readFile(String url)
-    {
-        InputStream in = null;
-        try
-        {
-            // 网络地址
-            URL urlObj = new URL(url);
-            URLConnection urlConnection = urlObj.openConnection();
-            urlConnection.setConnectTimeout(30 * 1000);
-            urlConnection.setReadTimeout(60 * 1000);
-            urlConnection.setDoInput(true);
-            in = urlConnection.getInputStream();
-            return IOUtils.toByteArray(in);
-        }
-        catch (Exception e)
-        {
-            log.error("访问文件异常 {}", e);
-            return null;
-        }
-        finally
-        {
-            IOUtils.closeQuietly(in);
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/MimeTypeUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/MimeTypeUtils.java
deleted file mode 100644
index 8d52a72..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/file/MimeTypeUtils.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hrt.common.core.utils.file;
-
-/**
- * 媒体类型工具类
- * 
- * @author jqs
- */
-public class MimeTypeUtils
-{
-    public static final String IMAGE_PNG = "image/png";
-
-    public static final String IMAGE_JPG = "image/jpg";
-
-    public static final String IMAGE_JPEG = "image/jpeg";
-
-    public static final String IMAGE_BMP = "image/bmp";
-
-    public static final String IMAGE_GIF = "image/gif";
-
-    public static final String[] IMAGE_EXTENSION = { "bmp", "gif", "jpg", "jpeg", "png" };
-
-    public static final String[] FLASH_EXTENSION = { "swf", "flv" };
-
-    public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg",
-            "asf", "rm", "rmvb" };
-
-    public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" };
-
-    public static final String[] DEFAULT_ALLOWED_EXTENSION = {
-            // 图片
-            "bmp", "gif", "jpg", "jpeg", "png",
-            // word excel powerpoint
-            "doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt",
-            // 压缩文件
-            "rar", "zip", "gz", "bz2",
-            // 视频格式
-            "mp4", "avi", "rmvb",
-            // pdf
-            "pdf" };
-
-    public static String getExtension(String prefix)
-    {
-        switch (prefix)
-        {
-            case IMAGE_PNG:
-                return "png";
-            case IMAGE_JPG:
-                return "jpg";
-            case IMAGE_JPEG:
-                return "jpeg";
-            case IMAGE_BMP:
-                return "bmp";
-            case IMAGE_GIF:
-                return "gif";
-            default:
-                return "";
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/EscapeUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/EscapeUtil.java
deleted file mode 100644
index e1d1200..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/EscapeUtil.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package com.hrt.common.core.utils.html;
-
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 转义和反转义工具类
- * 
- * @author jqs
- */
-public class EscapeUtil
-{
-    public static final String RE_HTML_MARK = "(<[^<]*?>)|(<[\\s]*?/[^<]*?>)|(<[^<]*?/[\\s]*?>)";
-
-    private static final char[][] TEXT = new char[64][];
-
-    static
-    {
-        for (int i = 0; i < 64; i++)
-        {
-            TEXT[i] = new char[] { (char) i };
-        }
-
-        // special HTML characters
-        TEXT['\''] = "&#039;".toCharArray(); // 单引号
-        TEXT['"'] = "&#34;".toCharArray(); // 双引号
-        TEXT['&'] = "&#38;".toCharArray(); // &符
-        TEXT['<'] = "&#60;".toCharArray(); // 小于号
-        TEXT['>'] = "&#62;".toCharArray(); // 大于号
-    }
-
-    /**
-     * 转义文本中的HTML字符为安全的字符
-     * 
-     * @param text 被转义的文本
-     * @return 转义后的文本
-     */
-    public static String escape(String text)
-    {
-        return encode(text);
-    }
-
-    /**
-     * 还原被转义的HTML特殊字符
-     * 
-     * @param content 包含转义符的HTML内容
-     * @return 转换后的字符串
-     */
-    public static String unescape(String content)
-    {
-        return decode(content);
-    }
-
-    /**
-     * 清除所有HTML标签,但是不删除标签内的内容
-     * 
-     * @param content 文本
-     * @return 清除标签后的文本
-     */
-    public static String clean(String content)
-    {
-        return new HTMLFilter().filter(content);
-    }
-
-    /**
-     * Escape编码
-     * 
-     * @param text 被编码的文本
-     * @return 编码后的字符
-     */
-    private static String encode(String text)
-    {
-        if (StringUtils.isEmpty(text))
-        {
-            return StringUtils.EMPTY;
-        }
-
-        final StringBuilder tmp = new StringBuilder(text.length() * 6);
-        char c;
-        for (int i = 0; i < text.length(); i++)
-        {
-            c = text.charAt(i);
-            if (c < 256)
-            {
-                tmp.append("%");
-                if (c < 16)
-                {
-                    tmp.append("0");
-                }
-                tmp.append(Integer.toString(c, 16));
-            }
-            else
-            {
-                tmp.append("%u");
-                if (c <= 0xfff)
-                {
-                    // issue#I49JU8@Gitee
-                    tmp.append("0");
-                }
-                tmp.append(Integer.toString(c, 16));
-            }
-        }
-        return tmp.toString();
-    }
-
-    /**
-     * Escape解码
-     * 
-     * @param content 被转义的内容
-     * @return 解码后的字符串
-     */
-    public static String decode(String content)
-    {
-        if (StringUtils.isEmpty(content))
-        {
-            return content;
-        }
-
-        StringBuilder tmp = new StringBuilder(content.length());
-        int lastPos = 0, pos = 0;
-        char ch;
-        while (lastPos < content.length())
-        {
-            pos = content.indexOf("%", lastPos);
-            if (pos == lastPos)
-            {
-                if (content.charAt(pos + 1) == 'u')
-                {
-                    ch = (char) Integer.parseInt(content.substring(pos + 2, pos + 6), 16);
-                    tmp.append(ch);
-                    lastPos = pos + 6;
-                }
-                else
-                {
-                    ch = (char) Integer.parseInt(content.substring(pos + 1, pos + 3), 16);
-                    tmp.append(ch);
-                    lastPos = pos + 3;
-                }
-            }
-            else
-            {
-                if (pos == -1)
-                {
-                    tmp.append(content.substring(lastPos));
-                    lastPos = content.length();
-                }
-                else
-                {
-                    tmp.append(content.substring(lastPos, pos));
-                    lastPos = pos;
-                }
-            }
-        }
-        return tmp.toString();
-    }
-
-    public static void main(String[] args)
-    {
-        String html = "<script>alert(1);</script>";
-        String escape = EscapeUtil.escape(html);
-        // String html = "<scr<script>ipt>alert(\"XSS\")</scr<script>ipt>";
-        // String html = "<123";
-        // String html = "123>";
-        System.out.println("clean: " + EscapeUtil.clean(html));
-        System.out.println("escape: " + escape);
-        System.out.println("unescape: " + EscapeUtil.unescape(escape));
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/HTMLFilter.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/HTMLFilter.java
deleted file mode 100644
index 893f15c..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/html/HTMLFilter.java
+++ /dev/null
@@ -1,570 +0,0 @@
-package com.hrt.common.core.utils.html;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * HTML过滤器,用于去除XSS漏洞隐患。
- *
- * @author jqs
- */
-public final class HTMLFilter
-{
-    /**
-     * regex flag union representing /si modifiers in php
-     **/
-    private static final int REGEX_FLAGS_SI = Pattern.CASE_INSENSITIVE | Pattern.DOTALL;
-    private static final Pattern P_COMMENTS = Pattern.compile("<!--(.*?)-->", Pattern.DOTALL);
-    private static final Pattern P_COMMENT = Pattern.compile("^!--(.*)--$", REGEX_FLAGS_SI);
-    private static final Pattern P_TAGS = Pattern.compile("<(.*?)>", Pattern.DOTALL);
-    private static final Pattern P_END_TAG = Pattern.compile("^/([a-z0-9]+)", REGEX_FLAGS_SI);
-    private static final Pattern P_START_TAG = Pattern.compile("^([a-z0-9]+)(.*?)(/?)$", REGEX_FLAGS_SI);
-    private static final Pattern P_QUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)=([\"'])(.*?)\\2", REGEX_FLAGS_SI);
-    private static final Pattern P_UNQUOTED_ATTRIBUTES = Pattern.compile("([a-z0-9]+)(=)([^\"\\s']+)", REGEX_FLAGS_SI);
-    private static final Pattern P_PROTOCOL = Pattern.compile("^([^:]+):", REGEX_FLAGS_SI);
-    private static final Pattern P_ENTITY = Pattern.compile("&#(\\d+);?");
-    private static final Pattern P_ENTITY_UNICODE = Pattern.compile("&#x([0-9a-f]+);?");
-    private static final Pattern P_ENCODE = Pattern.compile("%([0-9a-f]{2});?");
-    private static final Pattern P_VALID_ENTITIES = Pattern.compile("&([^&;]*)(?=(;|&|$))");
-    private static final Pattern P_VALID_QUOTES = Pattern.compile("(>|^)([^<]+?)(<|$)", Pattern.DOTALL);
-    private static final Pattern P_END_ARROW = Pattern.compile("^>");
-    private static final Pattern P_BODY_TO_END = Pattern.compile("<([^>]*?)(?=<|$)");
-    private static final Pattern P_XML_CONTENT = Pattern.compile("(^|>)([^<]*?)(?=>)");
-    private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)");
-    private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)");
-    private static final Pattern P_AMP = Pattern.compile("&");
-    private static final Pattern P_QUOTE = Pattern.compile("\"");
-    private static final Pattern P_LEFT_ARROW = Pattern.compile("<");
-    private static final Pattern P_RIGHT_ARROW = Pattern.compile(">");
-    private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>");
-
-    // @xxx could grow large... maybe use sesat's ReferenceMap
-    private static final ConcurrentMap<String, Pattern> P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>();
-    private static final ConcurrentMap<String, Pattern> P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>();
-
-    /**
-     * set of allowed html elements, along with allowed attributes for each element
-     **/
-    private final Map<String, List<String>> vAllowed;
-    /**
-     * counts of open tags for each (allowable) html element
-     **/
-    private final Map<String, Integer> vTagCounts = new HashMap<>();
-
-    /**
-     * html elements which must always be self-closing (e.g. "<img />")
-     **/
-    private final String[] vSelfClosingTags;
-    /**
-     * html elements which must always have separate opening and closing tags (e.g. "<b></b>")
-     **/
-    private final String[] vNeedClosingTags;
-    /**
-     * set of disallowed html elements
-     **/
-    private final String[] vDisallowed;
-    /**
-     * attributes which should be checked for valid protocols
-     **/
-    private final String[] vProtocolAtts;
-    /**
-     * allowed protocols
-     **/
-    private final String[] vAllowedProtocols;
-    /**
-     * tags which should be removed if they contain no content (e.g. "<b></b>" or "<b />")
-     **/
-    private final String[] vRemoveBlanks;
-    /**
-     * entities allowed within html markup
-     **/
-    private final String[] vAllowedEntities;
-    /**
-     * flag determining whether comments are allowed in input String.
-     */
-    private final boolean stripComment;
-    private final boolean encodeQuotes;
-    /**
-     * flag determining whether to try to make tags when presented with "unbalanced" angle brackets (e.g. "<b text </b>"
-     * becomes "<b> text </b>"). If set to false, unbalanced angle brackets will be html escaped.
-     */
-    private final boolean alwaysMakeTags;
-
-    /**
-     * Default constructor.
-     */
-    public HTMLFilter()
-    {
-        vAllowed = new HashMap<>();
-
-        final ArrayList<String> a_atts = new ArrayList<>();
-        a_atts.add("href");
-        a_atts.add("target");
-        vAllowed.put("a", a_atts);
-
-        final ArrayList<String> img_atts = new ArrayList<>();
-        img_atts.add("src");
-        img_atts.add("width");
-        img_atts.add("height");
-        img_atts.add("alt");
-        vAllowed.put("img", img_atts);
-
-        final ArrayList<String> no_atts = new ArrayList<>();
-        vAllowed.put("b", no_atts);
-        vAllowed.put("strong", no_atts);
-        vAllowed.put("i", no_atts);
-        vAllowed.put("em", no_atts);
-
-        vSelfClosingTags = new String[] { "img" };
-        vNeedClosingTags = new String[] { "a", "b", "strong", "i", "em" };
-        vDisallowed = new String[] {};
-        vAllowedProtocols = new String[] { "http", "mailto", "https" }; // no ftp.
-        vProtocolAtts = new String[] { "src", "href" };
-        vRemoveBlanks = new String[] { "a", "b", "strong", "i", "em" };
-        vAllowedEntities = new String[] { "amp", "gt", "lt", "quot" };
-        stripComment = true;
-        encodeQuotes = true;
-        alwaysMakeTags = false;
-    }
-
-    /**
-     * Map-parameter configurable constructor.
-     *
-     * @param conf map containing configuration. keys match field names.
-     */
-    @SuppressWarnings("unchecked")
-    public HTMLFilter(final Map<String, Object> conf)
-    {
-
-        assert conf.containsKey("vAllowed") : "configuration requires vAllowed";
-        assert conf.containsKey("vSelfClosingTags") : "configuration requires vSelfClosingTags";
-        assert conf.containsKey("vNeedClosingTags") : "configuration requires vNeedClosingTags";
-        assert conf.containsKey("vDisallowed") : "configuration requires vDisallowed";
-        assert conf.containsKey("vAllowedProtocols") : "configuration requires vAllowedProtocols";
-        assert conf.containsKey("vProtocolAtts") : "configuration requires vProtocolAtts";
-        assert conf.containsKey("vRemoveBlanks") : "configuration requires vRemoveBlanks";
-        assert conf.containsKey("vAllowedEntities") : "configuration requires vAllowedEntities";
-
-        vAllowed = Collections.unmodifiableMap((HashMap<String, List<String>>) conf.get("vAllowed"));
-        vSelfClosingTags = (String[]) conf.get("vSelfClosingTags");
-        vNeedClosingTags = (String[]) conf.get("vNeedClosingTags");
-        vDisallowed = (String[]) conf.get("vDisallowed");
-        vAllowedProtocols = (String[]) conf.get("vAllowedProtocols");
-        vProtocolAtts = (String[]) conf.get("vProtocolAtts");
-        vRemoveBlanks = (String[]) conf.get("vRemoveBlanks");
-        vAllowedEntities = (String[]) conf.get("vAllowedEntities");
-        stripComment = conf.containsKey("stripComment") ? (Boolean) conf.get("stripComment") : true;
-        encodeQuotes = conf.containsKey("encodeQuotes") ? (Boolean) conf.get("encodeQuotes") : true;
-        alwaysMakeTags = conf.containsKey("alwaysMakeTags") ? (Boolean) conf.get("alwaysMakeTags") : true;
-    }
-
-    private void reset()
-    {
-        vTagCounts.clear();
-    }
-
-    // ---------------------------------------------------------------
-    // my versions of some PHP library functions
-    public static String chr(final int decimal)
-    {
-        return String.valueOf((char) decimal);
-    }
-
-    public static String htmlSpecialChars(final String s)
-    {
-        String result = s;
-        result = regexReplace(P_AMP, "&amp;", result);
-        result = regexReplace(P_QUOTE, "&quot;", result);
-        result = regexReplace(P_LEFT_ARROW, "&lt;", result);
-        result = regexReplace(P_RIGHT_ARROW, "&gt;", result);
-        return result;
-    }
-
-    // ---------------------------------------------------------------
-
-    /**
-     * given a user submitted input String, filter out any invalid or restricted html.
-     *
-     * @param input text (i.e. submitted by a user) than may contain html
-     * @return "clean" version of input, with only valid, whitelisted html elements allowed
-     */
-    public String filter(final String input)
-    {
-        reset();
-        String s = input;
-
-        s = escapeComments(s);
-
-        s = balanceHTML(s);
-
-        s = checkTags(s);
-
-        s = processRemoveBlanks(s);
-
-        // s = validateEntities(s);
-
-        return s;
-    }
-
-    public boolean isAlwaysMakeTags()
-    {
-        return alwaysMakeTags;
-    }
-
-    public boolean isStripComments()
-    {
-        return stripComment;
-    }
-
-    private String escapeComments(final String s)
-    {
-        final Matcher m = P_COMMENTS.matcher(s);
-        final StringBuffer buf = new StringBuffer();
-        if (m.find())
-        {
-            final String match = m.group(1); // (.*?)
-            m.appendReplacement(buf, Matcher.quoteReplacement("<!--" + htmlSpecialChars(match) + "-->"));
-        }
-        m.appendTail(buf);
-
-        return buf.toString();
-    }
-
-    private String balanceHTML(String s)
-    {
-        if (alwaysMakeTags)
-        {
-            //
-            // try and form html
-            //
-            s = regexReplace(P_END_ARROW, "", s);
-            // 不追加结束标签
-            s = regexReplace(P_BODY_TO_END, "<$1>", s);
-            s = regexReplace(P_XML_CONTENT, "$1<$2", s);
-
-        }
-        else
-        {
-            //
-            // escape stray brackets
-            //
-            s = regexReplace(P_STRAY_LEFT_ARROW, "&lt;$1", s);
-            s = regexReplace(P_STRAY_RIGHT_ARROW, "$1$2&gt;<", s);
-
-            //
-            // the last regexp causes '<>' entities to appear
-            // (we need to do a lookahead assertion so that the last bracket can
-            // be used in the next pass of the regexp)
-            //
-            s = regexReplace(P_BOTH_ARROWS, "", s);
-        }
-
-        return s;
-    }
-
-    private String checkTags(String s)
-    {
-        Matcher m = P_TAGS.matcher(s);
-
-        final StringBuffer buf = new StringBuffer();
-        while (m.find())
-        {
-            String replaceStr = m.group(1);
-            replaceStr = processTag(replaceStr);
-            m.appendReplacement(buf, Matcher.quoteReplacement(replaceStr));
-        }
-        m.appendTail(buf);
-
-        // these get tallied in processTag
-        // (remember to reset before subsequent calls to filter method)
-        final StringBuilder sBuilder = new StringBuilder(buf.toString());
-        for (String key : vTagCounts.keySet())
-        {
-            for (int ii = 0; ii < vTagCounts.get(key); ii++)
-            {
-                sBuilder.append("</").append(key).append(">");
-            }
-        }
-        s = sBuilder.toString();
-
-        return s;
-    }
-
-    private String processRemoveBlanks(final String s)
-    {
-        String result = s;
-        for (String tag : vRemoveBlanks)
-        {
-            if (!P_REMOVE_PAIR_BLANKS.containsKey(tag))
-            {
-                P_REMOVE_PAIR_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?></" + tag + ">"));
-            }
-            result = regexReplace(P_REMOVE_PAIR_BLANKS.get(tag), "", result);
-            if (!P_REMOVE_SELF_BLANKS.containsKey(tag))
-            {
-                P_REMOVE_SELF_BLANKS.putIfAbsent(tag, Pattern.compile("<" + tag + "(\\s[^>]*)?/>"));
-            }
-            result = regexReplace(P_REMOVE_SELF_BLANKS.get(tag), "", result);
-        }
-
-        return result;
-    }
-
-    private static String regexReplace(final Pattern regex_pattern, final String replacement, final String s)
-    {
-        Matcher m = regex_pattern.matcher(s);
-        return m.replaceAll(replacement);
-    }
-
-    private String processTag(final String s)
-    {
-        // ending tags
-        Matcher m = P_END_TAG.matcher(s);
-        if (m.find())
-        {
-            final String name = m.group(1).toLowerCase();
-            if (allowed(name))
-            {
-                if (!inArray(name, vSelfClosingTags))
-                {
-                    if (vTagCounts.containsKey(name))
-                    {
-                        vTagCounts.put(name, vTagCounts.get(name) - 1);
-                        return "</" + name + ">";
-                    }
-                }
-            }
-        }
-
-        // starting tags
-        m = P_START_TAG.matcher(s);
-        if (m.find())
-        {
-            final String name = m.group(1).toLowerCase();
-            final String body = m.group(2);
-            String ending = m.group(3);
-
-            // debug( "in a starting tag, name='" + name + "'; body='" + body + "'; ending='" + ending + "'" );
-            if (allowed(name))
-            {
-                final StringBuilder params = new StringBuilder();
-
-                final Matcher m2 = P_QUOTED_ATTRIBUTES.matcher(body);
-                final Matcher m3 = P_UNQUOTED_ATTRIBUTES.matcher(body);
-                final List<String> paramNames = new ArrayList<>();
-                final List<String> paramValues = new ArrayList<>();
-                while (m2.find())
-                {
-                    paramNames.add(m2.group(1)); // ([a-z0-9]+)
-                    paramValues.add(m2.group(3)); // (.*?)
-                }
-                while (m3.find())
-                {
-                    paramNames.add(m3.group(1)); // ([a-z0-9]+)
-                    paramValues.add(m3.group(3)); // ([^\"\\s']+)
-                }
-
-                String paramName, paramValue;
-                for (int ii = 0; ii < paramNames.size(); ii++)
-                {
-                    paramName = paramNames.get(ii).toLowerCase();
-                    paramValue = paramValues.get(ii);
-
-                    // debug( "paramName='" + paramName + "'" );
-                    // debug( "paramValue='" + paramValue + "'" );
-                    // debug( "allowed? " + vAllowed.get( name ).contains( paramName ) );
-
-                    if (allowedAttribute(name, paramName))
-                    {
-                        if (inArray(paramName, vProtocolAtts))
-                        {
-                            paramValue = processParamProtocol(paramValue);
-                        }
-                        params.append(' ').append(paramName).append("=\\\"").append(paramValue).append("\\\"");
-                    }
-                }
-
-                if (inArray(name, vSelfClosingTags))
-                {
-                    ending = " /";
-                }
-
-                if (inArray(name, vNeedClosingTags))
-                {
-                    ending = "";
-                }
-
-                if (ending == null || ending.length() < 1)
-                {
-                    if (vTagCounts.containsKey(name))
-                    {
-                        vTagCounts.put(name, vTagCounts.get(name) + 1);
-                    }
-                    else
-                    {
-                        vTagCounts.put(name, 1);
-                    }
-                }
-                else
-                {
-                    ending = " /";
-                }
-                return "<" + name + params + ending + ">";
-            }
-            else
-            {
-                return "";
-            }
-        }
-
-        // comments
-        m = P_COMMENT.matcher(s);
-        if (!stripComment && m.find())
-        {
-            return "<" + m.group() + ">";
-        }
-
-        return "";
-    }
-
-    private String processParamProtocol(String s)
-    {
-        s = decodeEntities(s);
-        final Matcher m = P_PROTOCOL.matcher(s);
-        if (m.find())
-        {
-            final String protocol = m.group(1);
-            if (!inArray(protocol, vAllowedProtocols))
-            {
-                // bad protocol, turn into local anchor link instead
-                s = "#" + s.substring(protocol.length() + 1);
-                if (s.startsWith("#//"))
-                {
-                    s = "#" + s.substring(3);
-                }
-            }
-        }
-
-        return s;
-    }
-
-    private String decodeEntities(String s)
-    {
-        StringBuffer buf = new StringBuffer();
-
-        Matcher m = P_ENTITY.matcher(s);
-        while (m.find())
-        {
-            final String match = m.group(1);
-            final int decimal = Integer.decode(match).intValue();
-            m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
-        }
-        m.appendTail(buf);
-        s = buf.toString();
-
-        buf = new StringBuffer();
-        m = P_ENTITY_UNICODE.matcher(s);
-        while (m.find())
-        {
-            final String match = m.group(1);
-            final int decimal = Integer.valueOf(match, 16).intValue();
-            m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
-        }
-        m.appendTail(buf);
-        s = buf.toString();
-
-        buf = new StringBuffer();
-        m = P_ENCODE.matcher(s);
-        while (m.find())
-        {
-            final String match = m.group(1);
-            final int decimal = Integer.valueOf(match, 16).intValue();
-            m.appendReplacement(buf, Matcher.quoteReplacement(chr(decimal)));
-        }
-        m.appendTail(buf);
-        s = buf.toString();
-
-        s = validateEntities(s);
-        return s;
-    }
-
-    private String validateEntities(final String s)
-    {
-        StringBuffer buf = new StringBuffer();
-
-        // validate entities throughout the string
-        Matcher m = P_VALID_ENTITIES.matcher(s);
-        while (m.find())
-        {
-            final String one = m.group(1); // ([^&;]*)
-            final String two = m.group(2); // (?=(;|&|$))
-            m.appendReplacement(buf, Matcher.quoteReplacement(checkEntity(one, two)));
-        }
-        m.appendTail(buf);
-
-        return encodeQuotes(buf.toString());
-    }
-
-    private String encodeQuotes(final String s)
-    {
-        if (encodeQuotes)
-        {
-            StringBuffer buf = new StringBuffer();
-            Matcher m = P_VALID_QUOTES.matcher(s);
-            while (m.find())
-            {
-                final String one = m.group(1); // (>|^)
-                final String two = m.group(2); // ([^<]+?)
-                final String three = m.group(3); // (<|$)
-                // 不替换双引号为&quot;,防止json格式无效 regexReplace(P_QUOTE, "&quot;", two)
-                m.appendReplacement(buf, Matcher.quoteReplacement(one + two + three));
-            }
-            m.appendTail(buf);
-            return buf.toString();
-        }
-        else
-        {
-            return s;
-        }
-    }
-
-    private String checkEntity(final String preamble, final String term)
-    {
-
-        return ";".equals(term) && isValidEntity(preamble) ? '&' + preamble : "&amp;" + preamble;
-    }
-
-    private boolean isValidEntity(final String entity)
-    {
-        return inArray(entity, vAllowedEntities);
-    }
-
-    private static boolean inArray(final String s, final String[] array)
-    {
-        for (String item : array)
-        {
-            if (item != null && item.equals(s))
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private boolean allowed(final String name)
-    {
-        return (vAllowed.isEmpty() || vAllowed.containsKey(name)) && !inArray(name, vDisallowed);
-    }
-
-    private boolean allowedAttribute(final String name, final String paramName)
-    {
-        return allowed(name) && (vAllowed.isEmpty() || vAllowed.get(name).contains(paramName));
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ip/IpUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ip/IpUtils.java
deleted file mode 100644
index f403148..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/ip/IpUtils.java
+++ /dev/null
@@ -1,383 +0,0 @@
-package com.hrt.common.core.utils.ip;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import javax.servlet.http.HttpServletRequest;
-
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 获取IP方法
- * 
- * @author jqs
- */
-public class IpUtils
-{
-    public final static String REGX_0_255 = "(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)";
-    // 匹配 ip
-    public final static String REGX_IP = "((" + REGX_0_255 + "\\.){3}" + REGX_0_255 + ")";
-    public final static String REGX_IP_WILDCARD = "(((\\*\\.){3}\\*)|(" + REGX_0_255 + "(\\.\\*){3})|(" + REGX_0_255 + "\\." + REGX_0_255 + ")(\\.\\*){2}" + "|((" + REGX_0_255 + "\\.){3}\\*))";
-    // 匹配网段
-    public final static String REGX_IP_SEG = "(" + REGX_IP + "\\-" + REGX_IP + ")";
-
-    /**
-     * 获取客户端IP
-     * 
-     * @return IP地址
-     */
-    public static String getIpAddr()
-    {
-        return getIpAddr(ServletUtils.getRequest());
-    }
-
-    /**
-     * 获取客户端IP
-     * 
-     * @param request 请求对象
-     * @return IP地址
-     */
-    public static String getIpAddr(HttpServletRequest request)
-    {
-        if (request == null)
-        {
-            return "unknown";
-        }
-        String ip = request.getHeader("x-forwarded-for");
-        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
-        {
-            ip = request.getHeader("Proxy-Client-IP");
-        }
-        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
-        {
-            ip = request.getHeader("X-Forwarded-For");
-        }
-        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
-        {
-            ip = request.getHeader("WL-Proxy-Client-IP");
-        }
-        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
-        {
-            ip = request.getHeader("X-Real-IP");
-        }
-
-        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
-        {
-            ip = request.getRemoteAddr();
-        }
-
-        return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip);
-    }
-
-    /**
-     * 检查是否为内部IP地址
-     * 
-     * @param ip IP地址
-     * @return 结果
-     */
-    public static boolean internalIp(String ip)
-    {
-        byte[] addr = textToNumericFormatV4(ip);
-        return internalIp(addr) || "127.0.0.1".equals(ip);
-    }
-
-    /**
-     * 检查是否为内部IP地址
-     * 
-     * @param addr byte地址
-     * @return 结果
-     */
-    private static boolean internalIp(byte[] addr)
-    {
-        if (StringUtils.isNull(addr) || addr.length < 2)
-        {
-            return true;
-        }
-        final byte b0 = addr[0];
-        final byte b1 = addr[1];
-        // 10.x.x.x/8
-        final byte SECTION_1 = 0x0A;
-        // 172.16.x.x/12
-        final byte SECTION_2 = (byte) 0xAC;
-        final byte SECTION_3 = (byte) 0x10;
-        final byte SECTION_4 = (byte) 0x1F;
-        // 192.168.x.x/16
-        final byte SECTION_5 = (byte) 0xC0;
-        final byte SECTION_6 = (byte) 0xA8;
-        switch (b0)
-        {
-            case SECTION_1:
-                return true;
-            case SECTION_2:
-                if (b1 >= SECTION_3 && b1 <= SECTION_4)
-                {
-                    return true;
-                }
-            case SECTION_5:
-                switch (b1)
-                {
-                    case SECTION_6:
-                        return true;
-                }
-            default:
-                return false;
-        }
-    }
-
-    /**
-     * 将IPv4地址转换成字节
-     * 
-     * @param text IPv4地址
-     * @return byte 字节
-     */
-    public static byte[] textToNumericFormatV4(String text)
-    {
-        if (text.length() == 0)
-        {
-            return null;
-        }
-
-        byte[] bytes = new byte[4];
-        String[] elements = text.split("\\.", -1);
-        try
-        {
-            long l;
-            int i;
-            switch (elements.length)
-            {
-                case 1:
-                    l = Long.parseLong(elements[0]);
-                    if ((l < 0L) || (l > 4294967295L))
-                    {
-                        return null;
-                    }
-                    bytes[0] = (byte) (int) (l >> 24 & 0xFF);
-                    bytes[1] = (byte) (int) ((l & 0xFFFFFF) >> 16 & 0xFF);
-                    bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF);
-                    bytes[3] = (byte) (int) (l & 0xFF);
-                    break;
-                case 2:
-                    l = Integer.parseInt(elements[0]);
-                    if ((l < 0L) || (l > 255L))
-                    {
-                        return null;
-                    }
-                    bytes[0] = (byte) (int) (l & 0xFF);
-                    l = Integer.parseInt(elements[1]);
-                    if ((l < 0L) || (l > 16777215L))
-                    {
-                        return null;
-                    }
-                    bytes[1] = (byte) (int) (l >> 16 & 0xFF);
-                    bytes[2] = (byte) (int) ((l & 0xFFFF) >> 8 & 0xFF);
-                    bytes[3] = (byte) (int) (l & 0xFF);
-                    break;
-                case 3:
-                    for (i = 0; i < 2; ++i)
-                    {
-                        l = Integer.parseInt(elements[i]);
-                        if ((l < 0L) || (l > 255L))
-                        {
-                            return null;
-                        }
-                        bytes[i] = (byte) (int) (l & 0xFF);
-                    }
-                    l = Integer.parseInt(elements[2]);
-                    if ((l < 0L) || (l > 65535L))
-                    {
-                        return null;
-                    }
-                    bytes[2] = (byte) (int) (l >> 8 & 0xFF);
-                    bytes[3] = (byte) (int) (l & 0xFF);
-                    break;
-                case 4:
-                    for (i = 0; i < 4; ++i)
-                    {
-                        l = Integer.parseInt(elements[i]);
-                        if ((l < 0L) || (l > 255L))
-                        {
-                            return null;
-                        }
-                        bytes[i] = (byte) (int) (l & 0xFF);
-                    }
-                    break;
-                default:
-                    return null;
-            }
-        }
-        catch (NumberFormatException e)
-        {
-            return null;
-        }
-        return bytes;
-    }
-
-    /**
-     * 获取IP地址
-     * 
-     * @return 本地IP地址
-     */
-    public static String getHostIp()
-    {
-        try
-        {
-            return InetAddress.getLocalHost().getHostAddress();
-        }
-        catch (UnknownHostException e)
-        {
-        }
-        return "127.0.0.1";
-    }
-
-    /**
-     * 获取主机名
-     * 
-     * @return 本地主机名
-     */
-    public static String getHostName()
-    {
-        try
-        {
-            return InetAddress.getLocalHost().getHostName();
-        }
-        catch (UnknownHostException e)
-        {
-        }
-        return "未知";
-    }
-
-    /**
-     * 从多级反向代理中获得第一个非unknown IP地址
-     *
-     * @param ip 获得的IP地址
-     * @return 第一个非unknown IP地址
-     */
-    public static String getMultistageReverseProxyIp(String ip)
-    {
-        // 多级反向代理检测
-        if (ip != null && ip.indexOf(",") > 0)
-        {
-            final String[] ips = ip.trim().split(",");
-            for (String subIp : ips)
-            {
-                if (false == isUnknown(subIp))
-                {
-                    ip = subIp;
-                    break;
-                }
-            }
-        }
-        return StringUtils.substring(ip, 0, 255);
-    }
-
-    /**
-     * 检测给定字符串是否为未知,多用于检测HTTP请求相关
-     *
-     * @param checkString 被检测的字符串
-     * @return 是否未知
-     */
-    public static boolean isUnknown(String checkString)
-    {
-        return StringUtils.isBlank(checkString) || "unknown".equalsIgnoreCase(checkString);
-    }
-
-    /**
-     * 是否为IP
-     */
-    public static boolean isIP(String ip)
-    {
-        return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP);
-    }
-
-    /**
-     * 是否为IP,或 *为间隔的通配符地址
-     */
-    public static boolean isIpWildCard(String ip)
-    {
-        return StringUtils.isNotBlank(ip) && ip.matches(REGX_IP_WILDCARD);
-    }
-
-    /**
-     * 检测参数是否在ip通配符里
-     */
-    public static boolean ipIsInWildCardNoCheck(String ipWildCard, String ip)
-    {
-        String[] s1 = ipWildCard.split("\\.");
-        String[] s2 = ip.split("\\.");
-        boolean isMatchedSeg = true;
-        for (int i = 0; i < s1.length && !s1[i].equals("*"); i++)
-        {
-            if (!s1[i].equals(s2[i]))
-            {
-                isMatchedSeg = false;
-                break;
-            }
-        }
-        return isMatchedSeg;
-    }
-
-    /**
-     * 是否为特定格式如:“10.10.10.1-10.10.10.99”的ip段字符串
-     */
-    public static boolean isIPSegment(String ipSeg)
-    {
-        return StringUtils.isNotBlank(ipSeg) && ipSeg.matches(REGX_IP_SEG);
-    }
-
-    /**
-     * 判断ip是否在指定网段中
-     */
-    public static boolean ipIsInNetNoCheck(String iparea, String ip)
-    {
-        int idx = iparea.indexOf('-');
-        String[] sips = iparea.substring(0, idx).split("\\.");
-        String[] sipe = iparea.substring(idx + 1).split("\\.");
-        String[] sipt = ip.split("\\.");
-        long ips = 0L, ipe = 0L, ipt = 0L;
-        for (int i = 0; i < 4; ++i)
-        {
-            ips = ips << 8 | Integer.parseInt(sips[i]);
-            ipe = ipe << 8 | Integer.parseInt(sipe[i]);
-            ipt = ipt << 8 | Integer.parseInt(sipt[i]);
-        }
-        if (ips > ipe)
-        {
-            long t = ips;
-            ips = ipe;
-            ipe = t;
-        }
-        return ips <= ipt && ipt <= ipe;
-    }
-
-    /**
-     * 校验ip是否符合过滤串规则
-     * 
-     * @param filter 过滤IP列表,支持后缀'*'通配,支持网段如:`10.10.10.1-10.10.10.99`
-     * @param ip 校验IP地址
-     * @return boolean 结果
-     */
-    public static boolean isMatchedIp(String filter, String ip)
-    {
-        if (StringUtils.isEmpty(filter) || StringUtils.isEmpty(ip))
-        {
-            return false;
-        }
-        String[] ips = filter.split(";");
-        for (String iStr : ips)
-        {
-            if (isIP(iStr) && iStr.equals(ip))
-            {
-                return true;
-            }
-            else if (isIpWildCard(iStr) && ipIsInWildCardNoCheck(iStr, ip))
-            {
-                return true;
-            }
-            else if (isIPSegment(iStr) && ipIsInNetNoCheck(iStr, ip))
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelHandlerAdapter.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelHandlerAdapter.java
deleted file mode 100644
index a53f1c0..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelHandlerAdapter.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.common.core.utils.poi;
-
-/**
- * Excel数据格式处理适配器
- * 
- * @author jqs
- */
-public interface ExcelHandlerAdapter
-{
-    /**
-     * 格式化
-     * 
-     * @param value 单元格数据值
-     * @param args excel注解args参数组
-     *
-     * @return 处理后的值
-     */
-    Object format(Object value, String[] args);
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelUtil.java
deleted file mode 100644
index 567b959..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/poi/ExcelUtil.java
+++ /dev/null
@@ -1,1486 +0,0 @@
-package com.hrt.common.core.utils.poi;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excels;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.DateUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.reflect.ReflectUtils;
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.RegExUtils;
-import org.apache.commons.lang3.reflect.FieldUtils;
-import org.apache.poi.ss.usermodel.BorderStyle;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.CellType;
-import org.apache.poi.ss.usermodel.ClientAnchor;
-import org.apache.poi.ss.usermodel.DataValidation;
-import org.apache.poi.ss.usermodel.DataValidationConstraint;
-import org.apache.poi.ss.usermodel.DataValidationHelper;
-import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.ss.usermodel.Drawing;
-import org.apache.poi.ss.usermodel.FillPatternType;
-import org.apache.poi.ss.usermodel.Font;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.IndexedColors;
-import org.apache.poi.ss.usermodel.Name;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.VerticalAlignment;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.ss.usermodel.WorkbookFactory;
-import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.ss.util.CellRangeAddressList;
-import org.apache.poi.util.IOUtils;
-import org.apache.poi.xssf.streaming.SXSSFWorkbook;
-import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
-import org.apache.poi.xssf.usermodel.XSSFDataValidation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.hrt.common.core.utils.file.FileTypeUtils;
-import com.hrt.common.core.utils.file.ImageUtils;
-
-/**
- * Excel相关处理
- *
- * @author jqs
- */
-public class ExcelUtil<T>
-{
-    private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class);
-
-    public static final String FORMULA_REGEX_STR = "=|-|\\+|@";
-
-    public static final String[] FORMULA_STR = { "=", "-", "+", "@" };
-
-    /**
-     * Excel sheet最大行数,默认65536
-     */
-    public static final int sheetSize = 65536;
-
-    /**
-     * 工作表名称
-     */
-    private String sheetName;
-
-    /**
-     * 导出类型(EXPORT:导出数据;IMPORT:导入模板)
-     */
-    private Excel.Type type;
-
-    /**
-     * 工作薄对象
-     */
-    private Workbook wb;
-
-    /**
-     * 工作表对象
-     */
-    private Sheet sheet;
-
-    /**
-     * 样式列表
-     */
-    private Map<String, CellStyle> styles;
-
-    /**
-     * 导入导出数据列表
-     */
-    private List<T> list;
-
-    /**
-     * 注解列表
-     */
-    private List<Object[]> fields;
-
-    /**
-     * 当前行号
-     */
-    private int rownum;
-
-    /**
-     * 标题
-     */
-    private String title;
-
-    /**
-     * 最大高度
-     */
-    private short maxHeight;
-
-    /**
-     * 合并后最后行数
-     */
-    private int subMergedLastRowNum = 0;
-
-    /**
-     * 合并后开始行数
-     */
-    private int subMergedFirstRowNum = 1;
-
-    /**
-     * 对象的子列表方法
-     */
-    private Method subMethod;
-
-    /**
-     * 对象的子列表属性
-     */
-    private List<Field> subFields;
-
-    /**
-     * 统计列表
-     */
-    private Map<Integer, Double> statistics = new HashMap<Integer, Double>();
-
-    /**
-     * 数字格式
-     */
-    private static final DecimalFormat DOUBLE_FORMAT = new DecimalFormat("######0.00");
-
-    /**
-     * 实体对象
-     */
-    public Class<T> clazz;
-
-    /**
-     * 需要排除列属性
-     */
-    public String[] excludeFields;
-
-    public ExcelUtil(Class<T> clazz)
-    {
-        this.clazz = clazz;
-    }
-
-    /**
-     * 隐藏Excel中列属性
-     *
-     * @param fields 列属性名 示例[单个"name"/多个"id","name"]
-     * @throws Exception
-     */
-    public void hideColumn(String... fields)
-    {
-        this.excludeFields = fields;
-    }
-
-    public void init(List<T> list, String sheetName, String title, Excel.Type type)
-    {
-        if (list == null)
-        {
-            list = new ArrayList<T>();
-        }
-        this.list = list;
-        this.sheetName = sheetName;
-        this.type = type;
-        this.title = title;
-        createExcelField();
-        createWorkbook();
-        createTitle();
-        createSubHead();
-    }
-
-    /**
-     * 创建excel第一行标题
-     */
-    public void createTitle()
-    {
-        if (StringUtils.isNotEmpty(title))
-        {
-            subMergedFirstRowNum++;
-            subMergedLastRowNum++;
-            int titleLastCol = this.fields.size() - 1;
-            if (isSubList())
-            {
-                titleLastCol = titleLastCol + subFields.size() - 1;
-            }
-            Row titleRow = sheet.createRow(rownum == 0 ? rownum++ : 0);
-            titleRow.setHeightInPoints(30);
-            Cell titleCell = titleRow.createCell(0);
-            titleCell.setCellStyle(styles.get("title"));
-            titleCell.setCellValue(title);
-            sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(), titleRow.getRowNum(), titleRow.getRowNum(), titleLastCol));
-        }
-    }
-
-    /**
-     * 创建对象的子列表名称
-     */
-    public void createSubHead()
-    {
-        if (isSubList())
-        {
-            subMergedFirstRowNum++;
-            subMergedLastRowNum++;
-            Row subRow = sheet.createRow(rownum);
-            int excelNum = 0;
-            for (Object[] objects : fields)
-            {
-                Excel attr = (Excel) objects[1];
-                Cell headCell1 = subRow.createCell(excelNum);
-                headCell1.setCellValue(attr.name());
-                headCell1.setCellStyle(styles.get(StringUtils.format("header_{}_{}", attr.headerColor(), attr.headerBackgroundColor())));
-                excelNum++;
-            }
-            int headFirstRow = excelNum - 1;
-            int headLastRow = headFirstRow + subFields.size() - 1;
-            if (headLastRow > headFirstRow)
-            {
-                sheet.addMergedRegion(new CellRangeAddress(rownum, rownum, headFirstRow, headLastRow));
-            }
-            rownum++;
-        }
-    }
-
-    /**
-     * 对excel表单默认第一个索引名转换成list
-     * 
-     * @param is 输入流
-     * @return 转换后集合
-     */
-    public List<T> importExcel(InputStream is) throws Exception
-    {
-        return importExcel(is, 0);
-    }
-
-    /**
-     * 对excel表单默认第一个索引名转换成list
-     * 
-     * @param is 输入流
-     * @param titleNum 标题占用行数
-     * @return 转换后集合
-     */
-    public List<T> importExcel(InputStream is, int titleNum) throws Exception
-    {
-        return importExcel(StringUtils.EMPTY, is, titleNum);
-    }
-
-    /**
-     * 对excel表单指定表格索引名转换成list
-     * 
-     * @param sheetName 表格索引名
-     * @param titleNum 标题占用行数
-     * @param is 输入流
-     * @return 转换后集合
-     */
-    public List<T> importExcel(String sheetName, InputStream is, int titleNum) throws Exception
-    {
-        this.type = Excel.Type.IMPORT;
-        this.wb = WorkbookFactory.create(is);
-        List<T> list = new ArrayList<T>();
-        // 如果指定sheet名,则取指定sheet中的内容 否则默认指向第1个sheet
-        Sheet sheet = StringUtils.isNotEmpty(sheetName) ? wb.getSheet(sheetName) : wb.getSheetAt(0);
-        if (sheet == null)
-        {
-            throw new IOException("文件sheet不存在");
-        }
-
-        // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1
-        int rows = sheet.getLastRowNum();
-
-        if (rows > 0)
-        {
-            // 定义一个map用于存放excel列的序号和field.
-            Map<String, Integer> cellMap = new HashMap<String, Integer>();
-            // 获取表头
-            Row heard = sheet.getRow(titleNum);
-            for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++)
-            {
-                Cell cell = heard.getCell(i);
-                if (StringUtils.isNotNull(cell))
-                {
-                    String value = this.getCellValue(heard, i).toString();
-                    cellMap.put(value, i);
-                }
-                else
-                {
-                    cellMap.put(null, i);
-                }
-            }
-            // 有数据时才处理 得到类的所有field.
-            List<Object[]> fields = this.getFields();
-            Map<Integer, Object[]> fieldsMap = new HashMap<Integer, Object[]>();
-            for (Object[] objects : fields)
-            {
-                Excel attr = (Excel) objects[1];
-                Integer column = cellMap.get(attr.name());
-                if (column != null)
-                {
-                    fieldsMap.put(column, objects);
-                }
-            }
-            for (int i = titleNum + 1; i <= rows; i++)
-            {
-                // 从第2行开始取数据,默认第一行是表头.
-                Row row = sheet.getRow(i);
-                // 判断当前行是否是空行
-                if (isRowEmpty(row))
-                {
-                    continue;
-                }
-                T entity = null;
-                for (Map.Entry<Integer, Object[]> entry : fieldsMap.entrySet())
-                {
-                    Object val = this.getCellValue(row, entry.getKey());
-
-                    // 如果不存在实例则新建.
-                    entity = (entity == null ? clazz.newInstance() : entity);
-                    // 从map中得到对应列的field.
-                    Field field = (Field) entry.getValue()[0];
-                    Excel attr = (Excel) entry.getValue()[1];
-                    // 取得类型,并根据对象类型设置值.
-                    Class<?> fieldType = field.getType();
-                    if (String.class == fieldType)
-                    {
-                        String s = Convert.toStr(val);
-                        if (StringUtils.endsWith(s, ".0"))
-                        {
-                            val = StringUtils.substringBefore(s, ".0");
-                        }
-                        else
-                        {
-                            String dateFormat = field.getAnnotation(Excel.class).dateFormat();
-                            if (StringUtils.isNotEmpty(dateFormat))
-                            {
-                                val = parseDateToStr(dateFormat, val);
-                            }
-                            else
-                            {
-                                val = Convert.toStr(val);
-                            }
-                        }
-                    }
-                    else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val)))
-                    {
-                        val = Convert.toInt(val);
-                    }
-                    else if ((Long.TYPE == fieldType || Long.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val)))
-                    {
-                        val = Convert.toLong(val);
-                    }
-                    else if (Double.TYPE == fieldType || Double.class == fieldType)
-                    {
-                        val = Convert.toDouble(val);
-                    }
-                    else if (Float.TYPE == fieldType || Float.class == fieldType)
-                    {
-                        val = Convert.toFloat(val);
-                    }
-                    else if (BigDecimal.class == fieldType)
-                    {
-                        val = Convert.toBigDecimal(val);
-                    }
-                    else if (Date.class == fieldType)
-                    {
-                        if (val instanceof String)
-                        {
-                            val = DateUtils.parseDate(val);
-                        }
-                        else if (val instanceof Double)
-                        {
-                            val = DateUtil.getJavaDate((Double) val);
-                        }
-                    }
-                    else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
-                    {
-                        val = Convert.toBool(val, false);
-                    }
-                    if (StringUtils.isNotNull(fieldType))
-                    {
-                        String propertyName = field.getName();
-                        if (StringUtils.isNotEmpty(attr.targetAttr()))
-                        {
-                            propertyName = field.getName() + "." + attr.targetAttr();
-                        }
-                        else if (StringUtils.isNotEmpty(attr.readConverterExp()))
-                        {
-                            val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator());
-                        }
-                        else if (!attr.handler().equals(ExcelHandlerAdapter.class))
-                        {
-                            val = dataFormatHandlerAdapter(val, attr);
-                        }
-                        ReflectUtils.invokeSetter(entity, propertyName, val);
-                    }
-                }
-                list.add(entity);
-            }
-        }
-        return list;
-    }
-
-    /**
-     * 对list数据源将其里面的数据导入到excel表单
-     *
-     * @param response 返回数据
-     * @param list 导出数据集合
-     * @param sheetName 工作表的名称
-     * @return 结果
-     */
-    public void exportExcel(HttpServletResponse response, List<T> list, String sheetName)
-    {
-        exportExcel(response, list, sheetName, StringUtils.EMPTY);
-    }
-
-    /**
-     * 对list数据源将其里面的数据导入到excel表单
-     *
-     * @param response 返回数据
-     * @param list 导出数据集合
-     * @param sheetName 工作表的名称
-     * @param title 标题
-     * @return 结果
-     */
-    public void exportExcel(HttpServletResponse response, List<T> list, String sheetName, String title)
-    {
-        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-        response.setCharacterEncoding("utf-8");
-        this.init(list, sheetName, title, Excel.Type.EXPORT);
-        exportExcel(response);
-    }
-
-    /**
-     * 对list数据源将其里面的数据导入到excel表单
-     *
-     * @param sheetName 工作表的名称
-     * @return 结果
-     */
-    public void importTemplateExcel(HttpServletResponse response, String sheetName)
-    {
-        importTemplateExcel(response, sheetName, StringUtils.EMPTY);
-    }
-
-    /**
-     * 对list数据源将其里面的数据导入到excel表单
-     *
-     * @param sheetName 工作表的名称
-     * @param title 标题
-     * @return 结果
-     */
-    public void importTemplateExcel(HttpServletResponse response, String sheetName, String title)
-    {
-        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-        response.setCharacterEncoding("utf-8");
-        this.init(null, sheetName, title, Excel.Type.IMPORT);
-        exportExcel(response);
-    }
-
-    /**
-     * 对list数据源将其里面的数据导入到excel表单
-     * 
-     * @return 结果
-     */
-    public void exportExcel(HttpServletResponse response)
-    {
-        try
-        {
-            writeSheet();
-            wb.write(response.getOutputStream());
-        }
-        catch (Exception e)
-        {
-            log.error("导出Excel异常{}", e.getMessage());
-        }
-        finally
-        {
-            IOUtils.closeQuietly(wb);
-        }
-    }
-
-    /**
-     * 创建写入数据到Sheet
-     */
-    public void writeSheet()
-    {
-        // 取出一共有多少个sheet.
-        int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / sheetSize));
-        for (int index = 0; index < sheetNo; index++)
-        {
-            createSheet(sheetNo, index);
-
-            // 产生一行
-            Row row = sheet.createRow(rownum);
-            int column = 0;
-            // 写入各个字段的列头名称
-            for (Object[] os : fields)
-            {
-                Field field = (Field) os[0];
-                Excel excel = (Excel) os[1];
-                if (Collection.class.isAssignableFrom(field.getType()))
-                {
-                    for (Field subField : subFields)
-                    {
-                        Excel subExcel = subField.getAnnotation(Excel.class);
-                        this.createHeadCell(subExcel, row, column++);
-                    }
-                }
-                else
-                {
-                    this.createHeadCell(excel, row, column++);
-                }
-            }
-            if (Excel.Type.EXPORT.equals(type))
-            {
-                fillExcelData(index, row);
-                addStatisticsRow();
-            }
-        }
-    }
-
-    /**
-     * 填充excel数据
-     * 
-     * @param index 序号
-     * @param row 单元格行
-     */
-    @SuppressWarnings("unchecked")
-    public void fillExcelData(int index, Row row)
-    {
-        int startNo = index * sheetSize;
-        int endNo = Math.min(startNo + sheetSize, list.size());
-        int rowNo = (1 + rownum) - startNo;
-        for (int i = startNo; i < endNo; i++)
-        {
-            rowNo = isSubList() ? (i > 1 ? rowNo + 1 : rowNo + i) : i + 1 + rownum - startNo;
-            row = sheet.createRow(rowNo);
-            // 得到导出对象.
-            T vo = (T) list.get(i);
-            Collection<?> subList = null;
-            if (isSubList())
-            {
-                if (isSubListValue(vo))
-                {
-                    subList = getListCellValue(vo);
-                    subMergedLastRowNum = subMergedLastRowNum + subList.size();
-                }
-                else
-                {
-                    subMergedFirstRowNum++;
-                    subMergedLastRowNum++;
-                }
-            }
-            int column = 0;
-            for (Object[] os : fields)
-            {
-                Field field = (Field) os[0];
-                Excel excel = (Excel) os[1];
-                if (Collection.class.isAssignableFrom(field.getType()) && StringUtils.isNotNull(subList))
-                {
-                    boolean subFirst = false;
-                    for (Object obj : subList)
-                    {
-                        if (subFirst)
-                        {
-                            rowNo++;
-                            row = sheet.createRow(rowNo);
-                        }
-                        List<Field> subFields = FieldUtils.getFieldsListWithAnnotation(obj.getClass(), Excel.class);
-                        int subIndex = 0;
-                        for (Field subField : subFields)
-                        {
-                            if (subField.isAnnotationPresent(Excel.class))
-                            {
-                                subField.setAccessible(true);
-                                Excel attr = subField.getAnnotation(Excel.class);
-                                this.addCell(attr, row, (T) obj, subField, column + subIndex);
-                            }
-                            subIndex++;
-                        }
-                        subFirst = true;
-                    }
-                    this.subMergedFirstRowNum = this.subMergedFirstRowNum + subList.size();
-                }
-                else
-                {
-                    this.addCell(excel, row, vo, field, column++);
-                }
-            }
-        }
-    }
-
-    /**
-     * 创建表格样式
-     * 
-     * @param wb 工作薄对象
-     * @return 样式列表
-     */
-    private Map<String, CellStyle> createStyles(Workbook wb)
-    {
-        // 写入各条记录,每条记录对应excel表中的一行
-        Map<String, CellStyle> styles = new HashMap<String, CellStyle>();
-        CellStyle style = wb.createCellStyle();
-        style.setAlignment(HorizontalAlignment.CENTER);
-        style.setVerticalAlignment(VerticalAlignment.CENTER);
-        Font titleFont = wb.createFont();
-        titleFont.setFontName("Arial");
-        titleFont.setFontHeightInPoints((short) 16);
-        titleFont.setBold(true);
-        style.setFont(titleFont);
-        styles.put("title", style);
-
-        style = wb.createCellStyle();
-        style.setAlignment(HorizontalAlignment.CENTER);
-        style.setVerticalAlignment(VerticalAlignment.CENTER);
-        style.setBorderRight(BorderStyle.THIN);
-        style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-        style.setBorderLeft(BorderStyle.THIN);
-        style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-        style.setBorderTop(BorderStyle.THIN);
-        style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-        style.setBorderBottom(BorderStyle.THIN);
-        style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-        Font dataFont = wb.createFont();
-        dataFont.setFontName("Arial");
-        dataFont.setFontHeightInPoints((short) 10);
-        style.setFont(dataFont);
-        styles.put("data", style);
-
-        style = wb.createCellStyle();
-        style.setAlignment(HorizontalAlignment.CENTER);
-        style.setVerticalAlignment(VerticalAlignment.CENTER);
-        Font totalFont = wb.createFont();
-        totalFont.setFontName("Arial");
-        totalFont.setFontHeightInPoints((short) 10);
-        style.setFont(totalFont);
-        styles.put("total", style);
-
-        styles.putAll(annotationHeaderStyles(wb, styles));
-
-        styles.putAll(annotationDataStyles(wb));
-
-        return styles;
-    }
-
-    /**
-     * 根据Excel注解创建表格头样式
-     * 
-     * @param wb 工作薄对象
-     * @return 自定义样式列表
-     */
-    private Map<String, CellStyle> annotationHeaderStyles(Workbook wb, Map<String, CellStyle> styles)
-    {
-        Map<String, CellStyle> headerStyles = new HashMap<String, CellStyle>();
-        for (Object[] os : fields)
-        {
-            Excel excel = (Excel) os[1];
-            String key = StringUtils.format("header_{}_{}", excel.headerColor(), excel.headerBackgroundColor());
-            if (!headerStyles.containsKey(key))
-            {
-                CellStyle style = wb.createCellStyle();
-                style.cloneStyleFrom(styles.get("data"));
-                style.setAlignment(HorizontalAlignment.CENTER);
-                style.setVerticalAlignment(VerticalAlignment.CENTER);
-                style.setFillForegroundColor(excel.headerBackgroundColor().index);
-                style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
-                Font headerFont = wb.createFont();
-                headerFont.setFontName("Arial");
-                headerFont.setFontHeightInPoints((short) 10);
-                headerFont.setBold(true);
-                headerFont.setColor(excel.headerColor().index);
-                style.setFont(headerFont);
-                headerStyles.put(key, style);
-            }
-        }
-        return headerStyles;
-    }
-
-    /**
-     * 根据Excel注解创建表格列样式
-     * 
-     * @param wb 工作薄对象
-     * @return 自定义样式列表
-     */
-    private Map<String, CellStyle> annotationDataStyles(Workbook wb)
-    {
-        Map<String, CellStyle> styles = new HashMap<String, CellStyle>();
-        for (Object[] os : fields)
-        {
-            Excel excel = (Excel) os[1];
-            String key = StringUtils.format("data_{}_{}_{}", excel.align(), excel.color(), excel.backgroundColor());
-            if (!styles.containsKey(key))
-            {
-                CellStyle style = wb.createCellStyle();
-                style.setAlignment(excel.align());
-                style.setVerticalAlignment(VerticalAlignment.CENTER);
-                style.setBorderRight(BorderStyle.THIN);
-                style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-                style.setBorderLeft(BorderStyle.THIN);
-                style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-                style.setBorderTop(BorderStyle.THIN);
-                style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-                style.setBorderBottom(BorderStyle.THIN);
-                style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
-                style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
-                style.setFillForegroundColor(excel.backgroundColor().getIndex());
-                Font dataFont = wb.createFont();
-                dataFont.setFontName("Arial");
-                dataFont.setFontHeightInPoints((short) 10);
-                dataFont.setColor(excel.color().index);
-                style.setFont(dataFont);
-                styles.put(key, style);
-            }
-        }
-        return styles;
-    }
-
-    /**
-     * 创建单元格
-     */
-    public Cell createHeadCell(Excel attr, Row row, int column)
-    {
-        // 创建列
-        Cell cell = row.createCell(column);
-        // 写入列信息
-        cell.setCellValue(attr.name());
-        setDataValidation(attr, row, column);
-        cell.setCellStyle(styles.get(StringUtils.format("header_{}_{}", attr.headerColor(), attr.headerBackgroundColor())));
-        if (isSubList())
-        {
-            // 填充默认样式,防止合并单元格样式失效
-            sheet.setDefaultColumnStyle(column, styles.get(StringUtils.format("data_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor())));
-            if (attr.needMerge())
-            {
-                sheet.addMergedRegion(new CellRangeAddress(rownum - 1, rownum, column, column));
-            }
-        }
-        return cell;
-    }
-
-    /**
-     * 设置单元格信息
-     * 
-     * @param value 单元格值
-     * @param attr 注解相关
-     * @param cell 单元格信息
-     */
-    public void setCellVo(Object value, Excel attr, Cell cell)
-    {
-        if (Excel.ColumnType.STRING == attr.cellType())
-        {
-            String cellValue = Convert.toStr(value);
-            // 对于任何以表达式触发字符 =-+@开头的单元格,直接使用tab字符作为前缀,防止CSV注入。
-            if (StringUtils.startsWithAny(cellValue, FORMULA_STR))
-            {
-                cellValue = RegExUtils.replaceFirst(cellValue, FORMULA_REGEX_STR, "\t$0");
-            }
-            if (value instanceof Collection && StringUtils.equals("[]", cellValue))
-            {
-                cellValue = StringUtils.EMPTY;
-            }
-            cell.setCellValue(StringUtils.isNull(cellValue) ? attr.defaultValue() : cellValue + attr.suffix());
-        }
-        else if (Excel.ColumnType.NUMERIC == attr.cellType())
-        {
-            if (StringUtils.isNotNull(value))
-            {
-                cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
-            }
-        }
-        else if (Excel.ColumnType.IMAGE == attr.cellType())
-        {
-            ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), cell.getRow().getRowNum() + 1);
-            String imagePath = Convert.toStr(value);
-            if (StringUtils.isNotEmpty(imagePath))
-            {
-                byte[] data = ImageUtils.getImage(imagePath);
-                getDrawingPatriarch(cell.getSheet()).createPicture(anchor,
-                        cell.getSheet().getWorkbook().addPicture(data, getImageType(data)));
-            }
-        }
-    }
-
-    /**
-     * 获取画布
-     */
-    public static Drawing<?> getDrawingPatriarch(Sheet sheet)
-    {
-        if (sheet.getDrawingPatriarch() == null)
-        {
-            sheet.createDrawingPatriarch();
-        }
-        return sheet.getDrawingPatriarch();
-    }
-
-    /**
-     * 获取图片类型,设置图片插入类型
-     */
-    public int getImageType(byte[] value)
-    {
-        String type = FileTypeUtils.getFileExtendName(value);
-        if ("JPG".equalsIgnoreCase(type))
-        {
-            return Workbook.PICTURE_TYPE_JPEG;
-        }
-        else if ("PNG".equalsIgnoreCase(type))
-        {
-            return Workbook.PICTURE_TYPE_PNG;
-        }
-        return Workbook.PICTURE_TYPE_JPEG;
-    }
-
-    /**
-     * 创建表格样式
-     */
-    public void setDataValidation(Excel attr, Row row, int column)
-    {
-        if (attr.name().indexOf("注:") >= 0)
-        {
-            sheet.setColumnWidth(column, 6000);
-        }
-        else
-        {
-            // 设置列宽
-            sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256));
-        }
-        if (StringUtils.isNotEmpty(attr.prompt()) || attr.combo().length > 0)
-        {
-            if (attr.combo().length > 15 || StringUtils.join(attr.combo()).length() > 255)
-            {
-                // 如果下拉数大于15或字符串长度大于255,则使用一个新sheet存储,避免生成的模板下拉值获取不到
-                setXSSFValidationWithHidden(sheet, attr.combo(), attr.prompt(), 1, 100, column, column);
-            }
-            else
-            {
-                // 提示信息或只能选择不能输入的列内容.
-                setPromptOrValidation(sheet, attr.combo(), attr.prompt(), 1, 100, column, column);
-            }
-        }
-    }
-
-    /**
-     * 添加单元格
-     */
-    public Cell addCell(Excel attr, Row row, T vo, Field field, int column)
-    {
-        Cell cell = null;
-        try
-        {
-            // 设置行高
-            row.setHeight(maxHeight);
-            // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.
-            if (attr.isExport())
-            {
-                // 创建cell
-                cell = row.createCell(column);
-                if (isSubListValue(vo) && getListCellValue(vo).size() > 1 && attr.needMerge())
-                {
-                    CellRangeAddress cellAddress = new CellRangeAddress(subMergedFirstRowNum, subMergedLastRowNum, column, column);
-                    sheet.addMergedRegion(cellAddress);
-                }
-                cell.setCellStyle(styles.get(StringUtils.format("data_{}_{}_{}", attr.align(), attr.color(), attr.backgroundColor())));
-
-                // 用于读取对象中的属性
-                Object value = getTargetValue(vo, field, attr);
-                String dateFormat = attr.dateFormat();
-                String readConverterExp = attr.readConverterExp();
-                String separator = attr.separator();
-                if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value))
-                {
-                    cell.setCellValue(parseDateToStr(dateFormat, value));
-                }
-                else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value))
-                {
-                    cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator));
-                }
-                else if (value instanceof BigDecimal && -1 != attr.scale())
-                {
-                    cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).doubleValue());
-                }
-                else if (!attr.handler().equals(ExcelHandlerAdapter.class))
-                {
-                    cell.setCellValue(dataFormatHandlerAdapter(value, attr));
-                }
-                else
-                {
-                    // 设置列类型
-                    setCellVo(value, attr, cell);
-                }
-                addStatisticsData(column, Convert.toStr(value), attr);
-            }
-        }
-        catch (Exception e)
-        {
-            log.error("导出Excel失败{}", e);
-        }
-        return cell;
-    }
-
-    /**
-     * 设置 POI XSSFSheet 单元格提示或选择框
-     * 
-     * @param sheet 表单
-     * @param textlist 下拉框显示的内容
-     * @param promptContent 提示内容
-     * @param firstRow 开始行
-     * @param endRow 结束行
-     * @param firstCol 开始列
-     * @param endCol 结束列
-     */
-    public void setPromptOrValidation(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow,
-            int firstCol, int endCol)
-    {
-        DataValidationHelper helper = sheet.getDataValidationHelper();
-        DataValidationConstraint constraint = textlist.length > 0 ? helper.createExplicitListConstraint(textlist) : helper.createCustomConstraint("DD1");
-        CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
-        DataValidation dataValidation = helper.createValidation(constraint, regions);
-        if (StringUtils.isNotEmpty(promptContent))
-        {
-            // 如果设置了提示信息则鼠标放上去提示
-            dataValidation.createPromptBox("", promptContent);
-            dataValidation.setShowPromptBox(true);
-        }
-        // 处理Excel兼容性问题
-        if (dataValidation instanceof XSSFDataValidation)
-        {
-            dataValidation.setSuppressDropDownArrow(true);
-            dataValidation.setShowErrorBox(true);
-        }
-        else
-        {
-            dataValidation.setSuppressDropDownArrow(false);
-        }
-        sheet.addValidationData(dataValidation);
-    }
-
-    /**
-     * 设置某些列的值只能输入预制的数据,显示下拉框(兼容超出一定数量的下拉框).
-     * 
-     * @param sheet 要设置的sheet.
-     * @param textlist 下拉框显示的内容
-     * @param promptContent 提示内容
-     * @param firstRow 开始行
-     * @param endRow 结束行
-     * @param firstCol 开始列
-     * @param endCol 结束列
-     */
-    public void setXSSFValidationWithHidden(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow, int firstCol, int endCol)
-    {
-        String hideSheetName = "combo_" + firstCol + "_" + endCol;
-        Sheet hideSheet = wb.createSheet(hideSheetName); // 用于存储 下拉菜单数据
-        for (int i = 0; i < textlist.length; i++)
-        {
-            hideSheet.createRow(i).createCell(0).setCellValue(textlist[i]);
-        }
-        // 创建名称,可被其他单元格引用
-        Name name = wb.createName();
-        name.setNameName(hideSheetName + "_data");
-        name.setRefersToFormula(hideSheetName + "!$A$1:$A$" + textlist.length);
-        DataValidationHelper helper = sheet.getDataValidationHelper();
-        // 加载下拉列表内容
-        DataValidationConstraint constraint = helper.createFormulaListConstraint(hideSheetName + "_data");
-        // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
-        CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
-        // 数据有效性对象
-        DataValidation dataValidation = helper.createValidation(constraint, regions);
-        if (StringUtils.isNotEmpty(promptContent))
-        {
-            // 如果设置了提示信息则鼠标放上去提示
-            dataValidation.createPromptBox("", promptContent);
-            dataValidation.setShowPromptBox(true);
-        }
-        // 处理Excel兼容性问题
-        if (dataValidation instanceof XSSFDataValidation)
-        {
-            dataValidation.setSuppressDropDownArrow(true);
-            dataValidation.setShowErrorBox(true);
-        }
-        else
-        {
-            dataValidation.setSuppressDropDownArrow(false);
-        }
-
-        sheet.addValidationData(dataValidation);
-        // 设置hiddenSheet隐藏
-        wb.setSheetHidden(wb.getSheetIndex(hideSheet), true);
-    }
-
-    /**
-     * 解析导出值 0=男,1=女,2=未知
-     *
-     * @param propertyValue 参数值
-     * @param converterExp 翻译注解
-     * @param separator 分隔符
-     * @return 解析后值
-     */
-    public static String convertByExp(String propertyValue, String converterExp, String separator)
-    {
-        StringBuilder propertyString = new StringBuilder();
-        String[] convertSource = converterExp.split(",");
-        for (String item : convertSource)
-        {
-            String[] itemArray = item.split("=");
-            if (StringUtils.containsAny(propertyValue, separator))
-            {
-                for (String value : propertyValue.split(separator))
-                {
-                    if (itemArray[0].equals(value))
-                    {
-                        propertyString.append(itemArray[1] + separator);
-                        break;
-                    }
-                }
-            }
-            else
-            {
-                if (itemArray[0].equals(propertyValue))
-                {
-                    return itemArray[1];
-                }
-            }
-        }
-        return StringUtils.stripEnd(propertyString.toString(), separator);
-    }
-
-    /**
-     * 反向解析值 男=0,女=1,未知=2
-     * 
-     * @param propertyValue 参数值
-     * @param converterExp 翻译注解
-     * @param separator 分隔符
-     * @return 解析后值
-     */
-    public static String reverseByExp(String propertyValue, String converterExp, String separator)
-    {
-        StringBuilder propertyString = new StringBuilder();
-        String[] convertSource = converterExp.split(",");
-        for (String item : convertSource)
-        {
-            String[] itemArray = item.split("=");
-            if (StringUtils.containsAny(propertyValue, separator))
-            {
-                for (String value : propertyValue.split(separator))
-                {
-                    if (itemArray[1].equals(value))
-                    {
-                        propertyString.append(itemArray[0] + separator);
-                        break;
-                    }
-                }
-            }
-            else
-            {
-                if (itemArray[1].equals(propertyValue))
-                {
-                    return itemArray[0];
-                }
-            }
-        }
-        return StringUtils.stripEnd(propertyString.toString(), separator);
-    }
-
-    /**
-     * 数据处理器
-     *
-     * @param value 数据值
-     * @param excel 数据注解
-     * @return
-     */
-    public String dataFormatHandlerAdapter(Object value, Excel excel)
-    {
-        try
-        {
-            Object instance = excel.handler().newInstance();
-            Method formatMethod = excel.handler().getMethod("format", new Class[] { Object.class, String[].class });
-            value = formatMethod.invoke(instance, value, excel.args());
-        }
-        catch (Exception e)
-        {
-            log.error("不能格式化数据 " + excel.handler(), e.getMessage());
-        }
-        return Convert.toStr(value);
-    }
-
-    /**
-     * 合计统计信息
-     */
-    private void addStatisticsData(Integer index, String text, Excel entity)
-    {
-        if (entity != null && entity.isStatistics())
-        {
-            Double temp = 0D;
-            if (!statistics.containsKey(index))
-            {
-                statistics.put(index, temp);
-            }
-            try
-            {
-                temp = Double.valueOf(text);
-            }
-            catch (NumberFormatException e)
-            {
-            }
-            statistics.put(index, statistics.get(index) + temp);
-        }
-    }
-
-    /**
-     * 创建统计行
-     */
-    public void addStatisticsRow()
-    {
-        if (statistics.size() > 0)
-        {
-            Row row = sheet.createRow(sheet.getLastRowNum() + 1);
-            Set<Integer> keys = statistics.keySet();
-            Cell cell = row.createCell(0);
-            cell.setCellStyle(styles.get("total"));
-            cell.setCellValue("合计");
-
-            for (Integer key : keys)
-            {
-                cell = row.createCell(key);
-                cell.setCellStyle(styles.get("total"));
-                cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key)));
-            }
-            statistics.clear();
-        }
-    }
-
-    /**
-     * 获取bean中的属性值
-     *
-     * @param vo 实体对象
-     * @param field 字段
-     * @param excel 注解
-     * @return 最终的属性值
-     * @throws Exception
-     */
-    private Object getTargetValue(T vo, Field field, Excel excel) throws Exception
-    {
-        Object o = field.get(vo);
-        if (StringUtils.isNotEmpty(excel.targetAttr()))
-        {
-            String target = excel.targetAttr();
-            if (target.contains("."))
-            {
-                String[] targets = target.split("[.]");
-                for (String name : targets)
-                {
-                    o = getValue(o, name);
-                }
-            }
-            else
-            {
-                o = getValue(o, target);
-            }
-        }
-        return o;
-    }
-
-    /**
-     * 以类的属性的get方法方法形式获取值
-     *
-     * @param o
-     * @param name
-     * @return value
-     * @throws Exception
-     */
-    private Object getValue(Object o, String name) throws Exception
-    {
-        if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name))
-        {
-            Class<?> clazz = o.getClass();
-            Field field = clazz.getDeclaredField(name);
-            field.setAccessible(true);
-            o = field.get(o);
-        }
-        return o;
-    }
-
-    /**
-     * 得到所有定义字段
-     */
-    private void createExcelField()
-    {
-        this.fields = getFields();
-        this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList());
-        this.maxHeight = getRowHeight();
-    }
-
-    /**
-     * 获取字段注解信息
-     */
-    public List<Object[]> getFields()
-    {
-        List<Object[]> fields = new ArrayList<Object[]>();
-        List<Field> tempFields = new ArrayList<>();
-        tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields()));
-        tempFields.addAll(Arrays.asList(clazz.getDeclaredFields()));
-        for (Field field : tempFields)
-        {
-            if (!ArrayUtils.contains(this.excludeFields, field.getName()))
-            {
-                // 单注解
-                if (field.isAnnotationPresent(Excel.class))
-                {
-                    Excel attr = field.getAnnotation(Excel.class);
-                    if (attr != null && (attr.type() == Excel.Type.ALL || attr.type() == type))
-                    {
-                        field.setAccessible(true);
-                        fields.add(new Object[] { field, attr });
-                    }
-                    if (Collection.class.isAssignableFrom(field.getType()))
-                    {
-                        subMethod = getSubMethod(field.getName(), clazz);
-                        ParameterizedType pt = (ParameterizedType) field.getGenericType();
-                        Class<?> subClass = (Class<?>) pt.getActualTypeArguments()[0];
-                        this.subFields = FieldUtils.getFieldsListWithAnnotation(subClass, Excel.class);
-                    }
-                }
-
-                // 多注解
-                if (field.isAnnotationPresent(Excels.class))
-                {
-                    Excels attrs = field.getAnnotation(Excels.class);
-                    Excel[] excels = attrs.value();
-                    for (Excel attr : excels)
-                    {
-                        if (!ArrayUtils.contains(this.excludeFields, field.getName() + "." + attr.targetAttr())
-                                && (attr != null && (attr.type() == Excel.Type.ALL || attr.type() == type)))
-                        {
-                            field.setAccessible(true);
-                            fields.add(new Object[] { field, attr });
-                        }
-                    }
-                }
-            }
-        }
-        return fields;
-    }
-
-    /**
-     * 根据注解获取最大行高
-     */
-    public short getRowHeight()
-    {
-        double maxHeight = 0;
-        for (Object[] os : this.fields)
-        {
-            Excel excel = (Excel) os[1];
-            maxHeight = Math.max(maxHeight, excel.height());
-        }
-        return (short) (maxHeight * 20);
-    }
-
-    /**
-     * 创建一个工作簿
-     */
-    public void createWorkbook()
-    {
-        this.wb = new SXSSFWorkbook(500);
-        this.sheet = wb.createSheet();
-        wb.setSheetName(0, sheetName);
-        this.styles = createStyles(wb);
-    }
-
-    /**
-     * 创建工作表
-     * 
-     * @param sheetNo sheet数量
-     * @param index 序号
-     */
-    public void createSheet(int sheetNo, int index)
-    {
-        // 设置工作表的名称.
-        if (sheetNo > 1 && index > 0)
-        {
-            this.sheet = wb.createSheet();
-            this.createTitle();
-            wb.setSheetName(index, sheetName + index);
-        }
-    }
-
-    /**
-     * 获取单元格值
-     * 
-     * @param row 获取的行
-     * @param column 获取单元格列号
-     * @return 单元格值
-     */
-    public Object getCellValue(Row row, int column)
-    {
-        if (row == null)
-        {
-            return row;
-        }
-        Object val = "";
-        try
-        {
-            Cell cell = row.getCell(column);
-            if (StringUtils.isNotNull(cell))
-            {
-                if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA)
-                {
-                    val = cell.getNumericCellValue();
-                    if (DateUtil.isCellDateFormatted(cell))
-                    {
-                        val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换
-                    }
-                    else
-                    {
-                        if ((Double) val % 1 != 0)
-                        {
-                            val = new BigDecimal(val.toString());
-                        }
-                        else
-                        {
-                            val = new DecimalFormat("0").format(val);
-                        }
-                    }
-                }
-                else if (cell.getCellType() == CellType.STRING)
-                {
-                    val = cell.getStringCellValue();
-                }
-                else if (cell.getCellType() == CellType.BOOLEAN)
-                {
-                    val = cell.getBooleanCellValue();
-                }
-                else if (cell.getCellType() == CellType.ERROR)
-                {
-                    val = cell.getErrorCellValue();
-                }
-
-            }
-        }
-        catch (Exception e)
-        {
-            return val;
-        }
-        return val;
-    }
-
-    /**
-     * 判断是否是空行
-     * 
-     * @param row 判断的行
-     * @return
-     */
-    private boolean isRowEmpty(Row row)
-    {
-        if (row == null)
-        {
-            return true;
-        }
-        for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++)
-        {
-            Cell cell = row.getCell(i);
-            if (cell != null && cell.getCellType() != CellType.BLANK)
-            {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * 格式化不同类型的日期对象
-     * 
-     * @param dateFormat 日期格式
-     * @param val 被格式化的日期对象
-     * @return 格式化后的日期字符
-     */
-    public String parseDateToStr(String dateFormat, Object val)
-    {
-        if (val == null)
-        {
-            return "";
-        }
-        String str;
-        if (val instanceof Date)
-        {
-            str = DateUtils.parseDateToStr(dateFormat, (Date) val);
-        }
-        else if (val instanceof LocalDateTime)
-        {
-            str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val));
-        }
-        else if (val instanceof LocalDate)
-        {
-            str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val));
-        }
-        else
-        {
-            str = val.toString();
-        }
-        return str;
-    }
-
-    /**
-     * 是否有对象的子列表
-     */
-    public boolean isSubList()
-    {
-        return StringUtils.isNotNull(subFields) && subFields.size() > 0;
-    }
-
-    /**
-     * 是否有对象的子列表,集合不为空
-     */
-    public boolean isSubListValue(T vo)
-    {
-        return StringUtils.isNotNull(subFields) && subFields.size() > 0 && StringUtils.isNotNull(getListCellValue(vo)) && getListCellValue(vo).size() > 0;
-    }
-
-    /**
-     * 获取集合的值
-     */
-    public Collection<?> getListCellValue(Object obj)
-    {
-        Object value;
-        try
-        {
-            value = subMethod.invoke(obj, new Object[] {});
-        }
-        catch (Exception e)
-        {
-            return new ArrayList<Object>();
-        }
-        return (Collection<?>) value;
-    }
-
-    /**
-     * 获取对象的子列表方法
-     * 
-     * @param name 名称
-     * @param pojoClass 类对象
-     * @return 子列表方法
-     */
-    public Method getSubMethod(String name, Class<?> pojoClass)
-    {
-        StringBuffer getMethodName = new StringBuffer("get");
-        getMethodName.append(name.substring(0, 1).toUpperCase());
-        getMethodName.append(name.substring(1));
-        Method method = null;
-        try
-        {
-            method = pojoClass.getMethod(getMethodName.toString(), new Class[] {});
-        }
-        catch (Exception e)
-        {
-            log.error("获取对象异常{}", e.getMessage());
-        }
-        return method;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/reflect/ReflectUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/reflect/ReflectUtils.java
deleted file mode 100644
index aa9596b..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/reflect/ReflectUtils.java
+++ /dev/null
@@ -1,410 +0,0 @@
-package com.hrt.common.core.utils.reflect;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.Date;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.Validate;
-import org.apache.poi.ss.usermodel.DateUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.DateUtils;
-
-/**
- * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
- * 
- * @author jqs
- */
-@SuppressWarnings("rawtypes")
-public class ReflectUtils
-{
-    private static final String SETTER_PREFIX = "set";
-
-    private static final String GETTER_PREFIX = "get";
-
-    private static final String CGLIB_CLASS_SEPARATOR = "$$";
-
-    private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class);
-
-    /**
-     * 调用Getter方法.
-     * 支持多级,如:对象名.对象名.方法
-     */
-    @SuppressWarnings("unchecked")
-    public static <E> E invokeGetter(Object obj, String propertyName)
-    {
-        Object object = obj;
-        for (String name : StringUtils.split(propertyName, "."))
-        {
-            String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name);
-            object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {});
-        }
-        return (E) object;
-    }
-
-    /**
-     * 调用Setter方法, 仅匹配方法名。
-     * 支持多级,如:对象名.对象名.方法
-     */
-    public static <E> void invokeSetter(Object obj, String propertyName, E value)
-    {
-        Object object = obj;
-        String[] names = StringUtils.split(propertyName, ".");
-        for (int i = 0; i < names.length; i++)
-        {
-            if (i < names.length - 1)
-            {
-                String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]);
-                object = invokeMethod(object, getterMethodName, new Class[] {}, new Object[] {});
-            }
-            else
-            {
-                String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]);
-                invokeMethodByName(object, setterMethodName, new Object[] { value });
-            }
-        }
-    }
-
-    /**
-     * 直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.
-     */
-    @SuppressWarnings("unchecked")
-    public static <E> E getFieldValue(final Object obj, final String fieldName)
-    {
-        Field field = getAccessibleField(obj, fieldName);
-        if (field == null)
-        {
-            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
-            return null;
-        }
-        E result = null;
-        try
-        {
-            result = (E) field.get(obj);
-        }
-        catch (IllegalAccessException e)
-        {
-            logger.error("不可能抛出的异常{}", e.getMessage());
-        }
-        return result;
-    }
-
-    /**
-     * 直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数.
-     */
-    public static <E> void setFieldValue(final Object obj, final String fieldName, final E value)
-    {
-        Field field = getAccessibleField(obj, fieldName);
-        if (field == null)
-        {
-            // throw new IllegalArgumentException("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
-            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + fieldName + "] 字段 ");
-            return;
-        }
-        try
-        {
-            field.set(obj, value);
-        }
-        catch (IllegalAccessException e)
-        {
-            logger.error("不可能抛出的异常: {}", e.getMessage());
-        }
-    }
-
-    /**
-     * 直接调用对象方法, 无视private/protected修饰符.
-     * 用于一次性调用的情况,否则应使用getAccessibleMethod()函数获得Method后反复调用.
-     * 同时匹配方法名+参数类型,
-     */
-    @SuppressWarnings("unchecked")
-    public static <E> E invokeMethod(final Object obj, final String methodName, final Class<?>[] parameterTypes,
-            final Object[] args)
-    {
-        if (obj == null || methodName == null)
-        {
-            return null;
-        }
-        Method method = getAccessibleMethod(obj, methodName, parameterTypes);
-        if (method == null)
-        {
-            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
-            return null;
-        }
-        try
-        {
-            return (E) method.invoke(obj, args);
-        }
-        catch (Exception e)
-        {
-            String msg = "method: " + method + ", obj: " + obj + ", args: " + args + "";
-            throw convertReflectionExceptionToUnchecked(msg, e);
-        }
-    }
-
-    /**
-     * 直接调用对象方法, 无视private/protected修饰符,
-     * 用于一次性调用的情况,否则应使用getAccessibleMethodByName()函数获得Method后反复调用.
-     * 只匹配函数名,如果有多个同名函数调用第一个。
-     */
-    @SuppressWarnings("unchecked")
-    public static <E> E invokeMethodByName(final Object obj, final String methodName, final Object[] args)
-    {
-        Method method = getAccessibleMethodByName(obj, methodName, args.length);
-        if (method == null)
-        {
-            // 如果为空不报错,直接返回空。
-            logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
-            return null;
-        }
-        try
-        {
-            // 类型转换(将参数数据类型转换为目标方法参数类型)
-            Class<?>[] cs = method.getParameterTypes();
-            for (int i = 0; i < cs.length; i++)
-            {
-                if (args[i] != null && !args[i].getClass().equals(cs[i]))
-                {
-                    if (cs[i] == String.class)
-                    {
-                        args[i] = Convert.toStr(args[i]);
-                        if (StringUtils.endsWith((String) args[i], ".0"))
-                        {
-                            args[i] = StringUtils.substringBefore((String) args[i], ".0");
-                        }
-                    }
-                    else if (cs[i] == Integer.class)
-                    {
-                        args[i] = Convert.toInt(args[i]);
-                    }
-                    else if (cs[i] == Long.class)
-                    {
-                        args[i] = Convert.toLong(args[i]);
-                    }
-                    else if (cs[i] == Double.class)
-                    {
-                        args[i] = Convert.toDouble(args[i]);
-                    }
-                    else if (cs[i] == Float.class)
-                    {
-                        args[i] = Convert.toFloat(args[i]);
-                    }
-                    else if (cs[i] == Date.class)
-                    {
-                        if (args[i] instanceof String)
-                        {
-                            args[i] = DateUtils.parseDate(args[i]);
-                        }
-                        else
-                        {
-                            args[i] = DateUtil.getJavaDate((Double) args[i]);
-                        }
-                    }
-                    else if (cs[i] == boolean.class || cs[i] == Boolean.class)
-                    {
-                        args[i] = Convert.toBool(args[i]);
-                    }
-                }
-            }
-            return (E) method.invoke(obj, args);
-        }
-        catch (Exception e)
-        {
-            String msg = "method: " + method + ", obj: " + obj + ", args: " + args + "";
-            throw convertReflectionExceptionToUnchecked(msg, e);
-        }
-    }
-
-    /**
-     * 循环向上转型, 获取对象的DeclaredField, 并强制设置为可访问.
-     * 如向上转型到Object仍无法找到, 返回null.
-     */
-    public static Field getAccessibleField(final Object obj, final String fieldName)
-    {
-        // 为空不报错。直接返回 null
-        if (obj == null)
-        {
-            return null;
-        }
-        Validate.notBlank(fieldName, "fieldName can't be blank");
-        for (Class<?> superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass())
-        {
-            try
-            {
-                Field field = superClass.getDeclaredField(fieldName);
-                makeAccessible(field);
-                return field;
-            }
-            catch (NoSuchFieldException e)
-            {
-                continue;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问.
-     * 如向上转型到Object仍无法找到, 返回null.
-     * 匹配函数名+参数类型。
-     * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args)
-     */
-    public static Method getAccessibleMethod(final Object obj, final String methodName,
-            final Class<?>... parameterTypes)
-    {
-        // 为空不报错。直接返回 null
-        if (obj == null)
-        {
-            return null;
-        }
-        Validate.notBlank(methodName, "methodName can't be blank");
-        for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass())
-        {
-            try
-            {
-                Method method = searchType.getDeclaredMethod(methodName, parameterTypes);
-                makeAccessible(method);
-                return method;
-            }
-            catch (NoSuchMethodException e)
-            {
-                continue;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问.
-     * 如向上转型到Object仍无法找到, 返回null.
-     * 只匹配函数名。
-     * 用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args)
-     */
-    public static Method getAccessibleMethodByName(final Object obj, final String methodName, int argsNum)
-    {
-        // 为空不报错。直接返回 null
-        if (obj == null)
-        {
-            return null;
-        }
-        Validate.notBlank(methodName, "methodName can't be blank");
-        for (Class<?> searchType = obj.getClass(); searchType != Object.class; searchType = searchType.getSuperclass())
-        {
-            Method[] methods = searchType.getDeclaredMethods();
-            for (Method method : methods)
-            {
-                if (method.getName().equals(methodName) && method.getParameterTypes().length == argsNum)
-                {
-                    makeAccessible(method);
-                    return method;
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 改变private/protected的方法为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。
-     */
-    public static void makeAccessible(Method method)
-    {
-        if ((!Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers()))
-                && !method.isAccessible())
-        {
-            method.setAccessible(true);
-        }
-    }
-
-    /**
-     * 改变private/protected的成员变量为public,尽量不调用实际改动的语句,避免JDK的SecurityManager抱怨。
-     */
-    public static void makeAccessible(Field field)
-    {
-        if ((!Modifier.isPublic(field.getModifiers()) || !Modifier.isPublic(field.getDeclaringClass().getModifiers())
-                || Modifier.isFinal(field.getModifiers())) && !field.isAccessible())
-        {
-            field.setAccessible(true);
-        }
-    }
-
-    /**
-     * 通过反射, 获得Class定义中声明的泛型参数的类型, 注意泛型必须定义在父类处
-     * 如无法找到, 返回Object.class.
-     */
-    @SuppressWarnings("unchecked")
-    public static <T> Class<T> getClassGenricType(final Class clazz)
-    {
-        return getClassGenricType(clazz, 0);
-    }
-
-    /**
-     * 通过反射, 获得Class定义中声明的父类的泛型参数的类型.
-     * 如无法找到, 返回Object.class.
-     */
-    public static Class getClassGenricType(final Class clazz, final int index)
-    {
-        Type genType = clazz.getGenericSuperclass();
-
-        if (!(genType instanceof ParameterizedType))
-        {
-            logger.debug(clazz.getSimpleName() + "'s superclass not ParameterizedType");
-            return Object.class;
-        }
-
-        Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
-
-        if (index >= params.length || index < 0)
-        {
-            logger.debug("Index: " + index + ", Size of " + clazz.getSimpleName() + "'s Parameterized Type: "
-                    + params.length);
-            return Object.class;
-        }
-        if (!(params[index] instanceof Class))
-        {
-            logger.debug(clazz.getSimpleName() + " not set the actual class on superclass generic parameter");
-            return Object.class;
-        }
-
-        return (Class) params[index];
-    }
-
-    public static Class<?> getUserClass(Object instance)
-    {
-        if (instance == null)
-        {
-            throw new RuntimeException("Instance must not be null");
-        }
-        Class clazz = instance.getClass();
-        if (clazz != null && clazz.getName().contains(CGLIB_CLASS_SEPARATOR))
-        {
-            Class<?> superClass = clazz.getSuperclass();
-            if (superClass != null && !Object.class.equals(superClass))
-            {
-                return superClass;
-            }
-        }
-        return clazz;
-
-    }
-
-    /**
-     * 将反射时的checked exception转换为unchecked exception.
-     */
-    public static RuntimeException convertReflectionExceptionToUnchecked(String msg, Exception e)
-    {
-        if (e instanceof IllegalAccessException || e instanceof IllegalArgumentException
-                || e instanceof NoSuchMethodException)
-        {
-            return new IllegalArgumentException(msg, e);
-        }
-        else if (e instanceof InvocationTargetException)
-        {
-            return new RuntimeException(msg, ((InvocationTargetException) e).getTargetException());
-        }
-        return new RuntimeException(msg, e);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sign/Base64.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sign/Base64.java
deleted file mode 100644
index 6550805..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sign/Base64.java
+++ /dev/null
@@ -1,291 +0,0 @@
-package com.hrt.common.core.utils.sign;
-
-/**
- * Base64工具类
- * 
- * @author jqs
- */
-public final class Base64
-{
-    static private final int     BASELENGTH           = 128;
-    static private final int     LOOKUPLENGTH         = 64;
-    static private final int     TWENTYFOURBITGROUP   = 24;
-    static private final int     EIGHTBIT             = 8;
-    static private final int     SIXTEENBIT           = 16;
-    static private final int     FOURBYTE             = 4;
-    static private final int     SIGN                 = -128;
-    static private final char    PAD                  = '=';
-    static final private byte[]  base64Alphabet       = new byte[BASELENGTH];
-    static final private char[]  lookUpBase64Alphabet = new char[LOOKUPLENGTH];
-
-    static
-    {
-        for (int i = 0; i < BASELENGTH; ++i)
-        {
-            base64Alphabet[i] = -1;
-        }
-        for (int i = 'Z'; i >= 'A'; i--)
-        {
-            base64Alphabet[i] = (byte) (i - 'A');
-        }
-        for (int i = 'z'; i >= 'a'; i--)
-        {
-            base64Alphabet[i] = (byte) (i - 'a' + 26);
-        }
-
-        for (int i = '9'; i >= '0'; i--)
-        {
-            base64Alphabet[i] = (byte) (i - '0' + 52);
-        }
-
-        base64Alphabet['+'] = 62;
-        base64Alphabet['/'] = 63;
-
-        for (int i = 0; i <= 25; i++)
-        {
-            lookUpBase64Alphabet[i] = (char) ('A' + i);
-        }
-
-        for (int i = 26, j = 0; i <= 51; i++, j++)
-        {
-            lookUpBase64Alphabet[i] = (char) ('a' + j);
-        }
-
-        for (int i = 52, j = 0; i <= 61; i++, j++)
-        {
-            lookUpBase64Alphabet[i] = (char) ('0' + j);
-        }
-        lookUpBase64Alphabet[62] = (char) '+';
-        lookUpBase64Alphabet[63] = (char) '/';
-    }
-
-    private static boolean isWhiteSpace(char octect)
-    {
-        return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9);
-    }
-
-    private static boolean isPad(char octect)
-    {
-        return (octect == PAD);
-    }
-
-    private static boolean isData(char octect)
-    {
-        return (octect < BASELENGTH && base64Alphabet[octect] != -1);
-    }
-
-    /**
-     * Encodes hex octects into Base64
-     *
-     * @param binaryData Array containing binaryData
-     * @return Encoded Base64 array
-     */
-    public static String encode(byte[] binaryData)
-    {
-        if (binaryData == null)
-        {
-            return null;
-        }
-
-        int lengthDataBits = binaryData.length * EIGHTBIT;
-        if (lengthDataBits == 0)
-        {
-            return "";
-        }
-
-        int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP;
-        int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP;
-        int numberQuartet = fewerThan24bits != 0 ? numberTriplets + 1 : numberTriplets;
-        char encodedData[] = null;
-
-        encodedData = new char[numberQuartet * 4];
-
-        byte k = 0, l = 0, b1 = 0, b2 = 0, b3 = 0;
-
-        int encodedIndex = 0;
-        int dataIndex = 0;
-
-        for (int i = 0; i < numberTriplets; i++)
-        {
-            b1 = binaryData[dataIndex++];
-            b2 = binaryData[dataIndex++];
-            b3 = binaryData[dataIndex++];
-
-            l = (byte) (b2 & 0x0f);
-            k = (byte) (b1 & 0x03);
-
-            byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
-            byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
-            byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc);
-
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)];
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[(l << 2) | val3];
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[b3 & 0x3f];
-        }
-
-        // form integral number of 6-bit groups
-        if (fewerThan24bits == EIGHTBIT)
-        {
-            b1 = binaryData[dataIndex];
-            k = (byte) (b1 & 0x03);
-            byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[k << 4];
-            encodedData[encodedIndex++] = PAD;
-            encodedData[encodedIndex++] = PAD;
-        }
-        else if (fewerThan24bits == SIXTEENBIT)
-        {
-            b1 = binaryData[dataIndex];
-            b2 = binaryData[dataIndex + 1];
-            l = (byte) (b2 & 0x0f);
-            k = (byte) (b1 & 0x03);
-
-            byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
-            byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
-
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)];
-            encodedData[encodedIndex++] = lookUpBase64Alphabet[l << 2];
-            encodedData[encodedIndex++] = PAD;
-        }
-        return new String(encodedData);
-    }
-
-    /**
-     * Decodes Base64 data into octects
-     *
-     * @param encoded string containing Base64 data
-     * @return Array containind decoded data.
-     */
-    public static byte[] decode(String encoded)
-    {
-        if (encoded == null)
-        {
-            return null;
-        }
-
-        char[] base64Data = encoded.toCharArray();
-        // remove white spaces
-        int len = removeWhiteSpace(base64Data);
-
-        if (len % FOURBYTE != 0)
-        {
-            return null;// should be divisible by four
-        }
-
-        int numberQuadruple = (len / FOURBYTE);
-
-        if (numberQuadruple == 0)
-        {
-            return new byte[0];
-        }
-
-        byte decodedData[] = null;
-        byte b1 = 0, b2 = 0, b3 = 0, b4 = 0;
-        char d1 = 0, d2 = 0, d3 = 0, d4 = 0;
-
-        int i = 0;
-        int encodedIndex = 0;
-        int dataIndex = 0;
-        decodedData = new byte[(numberQuadruple) * 3];
-
-        for (; i < numberQuadruple - 1; i++)
-        {
-
-            if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++]))
-                    || !isData((d3 = base64Data[dataIndex++])) || !isData((d4 = base64Data[dataIndex++])))
-            {
-                return null;
-            } // if found "no data" just return null
-
-            b1 = base64Alphabet[d1];
-            b2 = base64Alphabet[d2];
-            b3 = base64Alphabet[d3];
-            b4 = base64Alphabet[d4];
-
-            decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
-            decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
-            decodedData[encodedIndex++] = (byte) (b3 << 6 | b4);
-        }
-
-        if (!isData((d1 = base64Data[dataIndex++])) || !isData((d2 = base64Data[dataIndex++])))
-        {
-            return null;// if found "no data" just return null
-        }
-
-        b1 = base64Alphabet[d1];
-        b2 = base64Alphabet[d2];
-
-        d3 = base64Data[dataIndex++];
-        d4 = base64Data[dataIndex++];
-        if (!isData((d3)) || !isData((d4)))
-        {// Check if they are PAD characters
-            if (isPad(d3) && isPad(d4))
-            {
-                if ((b2 & 0xf) != 0)// last 4 bits should be zero
-                {
-                    return null;
-                }
-                byte[] tmp = new byte[i * 3 + 1];
-                System.arraycopy(decodedData, 0, tmp, 0, i * 3);
-                tmp[encodedIndex] = (byte) (b1 << 2 | b2 >> 4);
-                return tmp;
-            }
-            else if (!isPad(d3) && isPad(d4))
-            {
-                b3 = base64Alphabet[d3];
-                if ((b3 & 0x3) != 0)// last 2 bits should be zero
-                {
-                    return null;
-                }
-                byte[] tmp = new byte[i * 3 + 2];
-                System.arraycopy(decodedData, 0, tmp, 0, i * 3);
-                tmp[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
-                tmp[encodedIndex] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
-                return tmp;
-            }
-            else
-            {
-                return null;
-            }
-        }
-        else
-        { // No PAD e.g 3cQl
-            b3 = base64Alphabet[d3];
-            b4 = base64Alphabet[d4];
-            decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
-            decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
-            decodedData[encodedIndex++] = (byte) (b3 << 6 | b4);
-
-        }
-        return decodedData;
-    }
-
-    /**
-     * remove WhiteSpace from MIME containing encoded Base64 data.
-     *
-     * @param data the byte array of base64 data (with WS)
-     * @return the new length
-     */
-    private static int removeWhiteSpace(char[] data)
-    {
-        if (data == null)
-        {
-            return 0;
-        }
-
-        // count characters that's not whitespace
-        int newSize = 0;
-        int len = data.length;
-        for (int i = 0; i < len; i++)
-        {
-            if (!isWhiteSpace(data[i]))
-            {
-                data[newSize++] = data[i];
-            }
-        }
-        return newSize;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sql/SqlUtil.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sql/SqlUtil.java
deleted file mode 100644
index 3f4c06d..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/sql/SqlUtil.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.hrt.common.core.utils.sql;
-
-import com.hrt.common.core.exception.UtilException;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * sql操作工具类
- * 
- * @author jqs
- */
-public class SqlUtil
-{
-    /**
-     * 定义常用的 sql关键字
-     */
-    public static String SQL_REGEX = "and |extractvalue|updatexml|exec |insert |select |delete |update |drop |count |chr |mid |master |truncate |char |declare |or |+|user()";
-
-    /**
-     * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序)
-     */
-    public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+";
-
-    /**
-     * 检查字符,防止注入绕过
-     */
-    public static String escapeOrderBySql(String value)
-    {
-        if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value))
-        {
-            throw new UtilException("参数不符合规范,不能进行查询");
-        }
-        return value;
-    }
-
-    /**
-     * 验证 order by 语法是否符合规范
-     */
-    public static boolean isValidOrderBySql(String value)
-    {
-        return value.matches(SQL_PATTERN);
-    }
-
-    /**
-     * SQL关键字检查
-     */
-    public static void filterKeyword(String value)
-    {
-        if (StringUtils.isEmpty(value))
-        {
-            return;
-        }
-        String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|");
-        for (String sqlKeyword : sqlKeywords)
-        {
-            if (StringUtils.indexOfIgnoreCase(value, sqlKeyword) > -1)
-            {
-                throw new UtilException("参数存在SQL注入风险");
-            }
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/IdUtils.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/IdUtils.java
deleted file mode 100644
index f5b8477..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/IdUtils.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hrt.common.core.utils.uuid;
-
-/**
- * ID生成器工具类
- * 
- * @author jqs
- */
-public class IdUtils
-{
-    /**
-     * 获取随机UUID
-     * 
-     * @return 随机UUID
-     */
-    public static String randomUUID()
-    {
-        return UUID.randomUUID().toString();
-    }
-
-    /**
-     * 简化的UUID,去掉了横线
-     * 
-     * @return 简化的UUID,去掉了横线
-     */
-    public static String simpleUUID()
-    {
-        return UUID.randomUUID().toString(true);
-    }
-
-    /**
-     * 获取随机UUID,使用性能更好的ThreadLocalRandom生成UUID
-     * 
-     * @return 随机UUID
-     */
-    public static String fastUUID()
-    {
-        return UUID.fastUUID().toString();
-    }
-
-    /**
-     * 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID
-     * 
-     * @return 简化的UUID,去掉了横线
-     */
-    public static String fastSimpleUUID()
-    {
-        return UUID.fastUUID().toString(true);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/Seq.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/Seq.java
deleted file mode 100644
index 5b2c4e0..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/Seq.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.hrt.common.core.utils.uuid;
-
-import java.util.concurrent.atomic.AtomicInteger;
-import com.hrt.common.core.utils.DateUtils;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * @author jqs 序列生成类
- */
-public class Seq
-{
-    // 通用序列类型
-    public static final String commSeqType = "COMMON";
-
-    // 上传序列类型
-    public static final String uploadSeqType = "UPLOAD";
-
-    // 通用接口序列数
-    private static AtomicInteger commSeq = new AtomicInteger(1);
-
-    // 上传接口序列数
-    private static AtomicInteger uploadSeq = new AtomicInteger(1);
-
-    // 机器标识
-    private static final String machineCode = "A";
-
-    /**
-     * 获取通用序列号
-     * 
-     * @return 序列值
-     */
-    public static String getId()
-    {
-        return getId(commSeqType);
-    }
-    
-    /**
-     * 默认16位序列号 yyMMddHHmmss + 一位机器标识 + 3长度循环递增字符串
-     * 
-     * @return 序列值
-     */
-    public static String getId(String type)
-    {
-        AtomicInteger atomicInt = commSeq;
-        if (uploadSeqType.equals(type))
-        {
-            atomicInt = uploadSeq;
-        }
-        return getId(atomicInt, 3);
-    }
-
-    /**
-     * 通用接口序列号 yyMMddHHmmss + 一位机器标识 + length长度循环递增字符串
-     * 
-     * @param atomicInt 序列数
-     * @param length 数值长度
-     * @return 序列值
-     */
-    public static String getId(AtomicInteger atomicInt, int length)
-    {
-        String result = DateUtils.dateTimeNow();
-        result += machineCode;
-        result += getSeq(atomicInt, length);
-        return result;
-    }
-
-    /**
-     * 序列循环递增字符串[1, 10 的 (length)幂次方), 用0左补齐length位数
-     * 
-     * @return 序列值
-     */
-    private synchronized static String getSeq(AtomicInteger atomicInt, int length)
-    {
-        // 先取值再+1
-        int value = atomicInt.getAndIncrement();
-
-        // 如果更新后值>=10 的 (length)幂次方则重置为1
-        int maxSeq = (int) Math.pow(10, length);
-        if (atomicInt.get() >= maxSeq)
-        {
-            atomicInt.set(1);
-        }
-        // 转字符串,用0左补齐
-        return StringUtils.padl(value, length);
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/UUID.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/UUID.java
deleted file mode 100644
index 4db137a..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/utils/uuid/UUID.java
+++ /dev/null
@@ -1,484 +0,0 @@
-package com.hrt.common.core.utils.uuid;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-import java.util.Random;
-import java.util.concurrent.ThreadLocalRandom;
-import com.hrt.common.core.exception.UtilException;
-
-/**
- * 提供通用唯一识别码(universally unique identifier)(UUID)实现
- *
- * @author jqs
- */
-public final class UUID implements java.io.Serializable, Comparable<UUID>
-{
-    private static final long serialVersionUID = -1185015143654744140L;
-
-    /**
-     * SecureRandom 的单例
-     *
-     */
-    private static class Holder
-    {
-        static final SecureRandom numberGenerator = getSecureRandom();
-    }
-
-    /** 此UUID的最高64有效位 */
-    private final long mostSigBits;
-
-    /** 此UUID的最低64有效位 */
-    private final long leastSigBits;
-
-    /**
-     * 私有构造
-     * 
-     * @param data 数据
-     */
-    private UUID(byte[] data)
-    {
-        long msb = 0;
-        long lsb = 0;
-        assert data.length == 16 : "data must be 16 bytes in length";
-        for (int i = 0; i < 8; i++)
-        {
-            msb = (msb << 8) | (data[i] & 0xff);
-        }
-        for (int i = 8; i < 16; i++)
-        {
-            lsb = (lsb << 8) | (data[i] & 0xff);
-        }
-        this.mostSigBits = msb;
-        this.leastSigBits = lsb;
-    }
-
-    /**
-     * 使用指定的数据构造新的 UUID。
-     *
-     * @param mostSigBits 用于 {@code UUID} 的最高有效 64 位
-     * @param leastSigBits 用于 {@code UUID} 的最低有效 64 位
-     */
-    public UUID(long mostSigBits, long leastSigBits)
-    {
-        this.mostSigBits = mostSigBits;
-        this.leastSigBits = leastSigBits;
-    }
-
-    /**
-     * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。
-     * 
-     * @return 随机生成的 {@code UUID}
-     */
-    public static UUID fastUUID()
-    {
-        return randomUUID(false);
-    }
-
-    /**
-     * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。
-     * 
-     * @return 随机生成的 {@code UUID}
-     */
-    public static UUID randomUUID()
-    {
-        return randomUUID(true);
-    }
-
-    /**
-     * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。
-     * 
-     * @param isSecure 是否使用{@link SecureRandom}如果是可以获得更安全的随机码,否则可以得到更好的性能
-     * @return 随机生成的 {@code UUID}
-     */
-    public static UUID randomUUID(boolean isSecure)
-    {
-        final Random ng = isSecure ? Holder.numberGenerator : getRandom();
-
-        byte[] randomBytes = new byte[16];
-        ng.nextBytes(randomBytes);
-        randomBytes[6] &= 0x0f; /* clear version */
-        randomBytes[6] |= 0x40; /* set to version 4 */
-        randomBytes[8] &= 0x3f; /* clear variant */
-        randomBytes[8] |= 0x80; /* set to IETF variant */
-        return new UUID(randomBytes);
-    }
-
-    /**
-     * 根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。
-     *
-     * @param name 用于构造 UUID 的字节数组。
-     *
-     * @return 根据指定数组生成的 {@code UUID}
-     */
-    public static UUID nameUUIDFromBytes(byte[] name)
-    {
-        MessageDigest md;
-        try
-        {
-            md = MessageDigest.getInstance("MD5");
-        }
-        catch (NoSuchAlgorithmException nsae)
-        {
-            throw new InternalError("MD5 not supported");
-        }
-        byte[] md5Bytes = md.digest(name);
-        md5Bytes[6] &= 0x0f; /* clear version */
-        md5Bytes[6] |= 0x30; /* set to version 3 */
-        md5Bytes[8] &= 0x3f; /* clear variant */
-        md5Bytes[8] |= 0x80; /* set to IETF variant */
-        return new UUID(md5Bytes);
-    }
-
-    /**
-     * 根据 {@link #toString()} 方法中描述的字符串标准表示形式创建{@code UUID}。
-     *
-     * @param name 指定 {@code UUID} 字符串
-     * @return 具有指定值的 {@code UUID}
-     * @throws IllegalArgumentException 如果 name 与 {@link #toString} 中描述的字符串表示形式不符抛出此异常
-     *
-     */
-    public static UUID fromString(String name)
-    {
-        String[] components = name.split("-");
-        if (components.length != 5)
-        {
-            throw new IllegalArgumentException("Invalid UUID string: " + name);
-        }
-        for (int i = 0; i < 5; i++)
-        {
-            components[i] = "0x" + components[i];
-        }
-
-        long mostSigBits = Long.decode(components[0]).longValue();
-        mostSigBits <<= 16;
-        mostSigBits |= Long.decode(components[1]).longValue();
-        mostSigBits <<= 16;
-        mostSigBits |= Long.decode(components[2]).longValue();
-
-        long leastSigBits = Long.decode(components[3]).longValue();
-        leastSigBits <<= 48;
-        leastSigBits |= Long.decode(components[4]).longValue();
-
-        return new UUID(mostSigBits, leastSigBits);
-    }
-
-    /**
-     * 返回此 UUID 的 128 位值中的最低有效 64 位。
-     *
-     * @return 此 UUID 的 128 位值中的最低有效 64 位。
-     */
-    public long getLeastSignificantBits()
-    {
-        return leastSigBits;
-    }
-
-    /**
-     * 返回此 UUID 的 128 位值中的最高有效 64 位。
-     *
-     * @return 此 UUID 的 128 位值中最高有效 64 位。
-     */
-    public long getMostSignificantBits()
-    {
-        return mostSigBits;
-    }
-
-    /**
-     * 与此 {@code UUID} 相关联的版本号. 版本号描述此 {@code UUID} 是如何生成的。
-     * <p>
-     * 版本号具有以下含意:
-     * <ul>
-     * <li>1 基于时间的 UUID
-     * <li>2 DCE 安全 UUID
-     * <li>3 基于名称的 UUID
-     * <li>4 随机生成的 UUID
-     * </ul>
-     *
-     * @return 此 {@code UUID} 的版本号
-     */
-    public int version()
-    {
-        // Version is bits masked by 0x000000000000F000 in MS long
-        return (int) ((mostSigBits >> 12) & 0x0f);
-    }
-
-    /**
-     * 与此 {@code UUID} 相关联的变体号。变体号描述 {@code UUID} 的布局。
-     * <p>
-     * 变体号具有以下含意:
-     * <ul>
-     * <li>0 为 NCS 向后兼容保留
-     * <li>2 <a href="http://www.ietf.org/rfc/rfc4122.txt">IETF&nbsp;RFC&nbsp;4122</a>(Leach-Salz), 用于此类
-     * <li>6 保留,微软向后兼容
-     * <li>7 保留供以后定义使用
-     * </ul>
-     *
-     * @return 此 {@code UUID} 相关联的变体号
-     */
-    public int variant()
-    {
-        // This field is composed of a varying number of bits.
-        // 0 - - Reserved for NCS backward compatibility
-        // 1 0 - The IETF aka Leach-Salz variant (used by this class)
-        // 1 1 0 Reserved, Microsoft backward compatibility
-        // 1 1 1 Reserved for future definition.
-        return (int) ((leastSigBits >>> (64 - (leastSigBits >>> 62))) & (leastSigBits >> 63));
-    }
-
-    /**
-     * 与此 UUID 相关联的时间戳值。
-     *
-     * <p>
-     * 60 位的时间戳值根据此 {@code UUID} 的 time_low、time_mid 和 time_hi 字段构造。<br>
-     * 所得到的时间戳以 100 毫微秒为单位,从 UTC(通用协调时间) 1582 年 10 月 15 日零时开始。
-     *
-     * <p>
-     * 时间戳值仅在在基于时间的 UUID(其 version 类型为 1)中才有意义。<br>
-     * 如果此 {@code UUID} 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。
-     *
-     * @throws UnsupportedOperationException 如果此 {@code UUID} 不是 version 为 1 的 UUID。
-     */
-    public long timestamp() throws UnsupportedOperationException
-    {
-        checkTimeBase();
-        return (mostSigBits & 0x0FFFL) << 48//
-                | ((mostSigBits >> 16) & 0x0FFFFL) << 32//
-                | mostSigBits >>> 32;
-    }
-
-    /**
-     * 与此 UUID 相关联的时钟序列值。
-     *
-     * <p>
-     * 14 位的时钟序列值根据此 UUID 的 clock_seq 字段构造。clock_seq 字段用于保证在基于时间的 UUID 中的时间唯一性。
-     * <p>
-     * {@code clockSequence} 值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。 如果此 UUID 不是基于时间的 UUID,则此方法抛出
-     * UnsupportedOperationException。
-     *
-     * @return 此 {@code UUID} 的时钟序列
-     *
-     * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1
-     */
-    public int clockSequence() throws UnsupportedOperationException
-    {
-        checkTimeBase();
-        return (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48);
-    }
-
-    /**
-     * 与此 UUID 相关的节点值。
-     *
-     * <p>
-     * 48 位的节点值根据此 UUID 的 node 字段构造。此字段旨在用于保存机器的 IEEE 802 地址,该地址用于生成此 UUID 以保证空间唯一性。
-     * <p>
-     * 节点值仅在基于时间的 UUID(其 version 类型为 1)中才有意义。<br>
-     * 如果此 UUID 不是基于时间的 UUID,则此方法抛出 UnsupportedOperationException。
-     *
-     * @return 此 {@code UUID} 的节点值
-     *
-     * @throws UnsupportedOperationException 如果此 UUID 的 version 不为 1
-     */
-    public long node() throws UnsupportedOperationException
-    {
-        checkTimeBase();
-        return leastSigBits & 0x0000FFFFFFFFFFFFL;
-    }
-
-    /**
-     * 返回此{@code UUID} 的字符串表现形式。
-     *
-     * <p>
-     * UUID 的字符串表示形式由此 BNF 描述:
-     * 
-     * <pre>
-     * {@code
-     * UUID                   = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node>
-     * time_low               = 4*<hexOctet>
-     * time_mid               = 2*<hexOctet>
-     * time_high_and_version  = 2*<hexOctet>
-     * variant_and_sequence   = 2*<hexOctet>
-     * node                   = 6*<hexOctet>
-     * hexOctet               = <hexDigit><hexDigit>
-     * hexDigit               = [0-9a-fA-F]
-     * }
-     * </pre>
-     * 
-     * </blockquote>
-     *
-     * @return 此{@code UUID} 的字符串表现形式
-     * @see #toString(boolean)
-     */
-    @Override
-    public String toString()
-    {
-        return toString(false);
-    }
-
-    /**
-     * 返回此{@code UUID} 的字符串表现形式。
-     *
-     * <p>
-     * UUID 的字符串表示形式由此 BNF 描述:
-     * 
-     * <pre>
-     * {@code
-     * UUID                   = <time_low>-<time_mid>-<time_high_and_version>-<variant_and_sequence>-<node>
-     * time_low               = 4*<hexOctet>
-     * time_mid               = 2*<hexOctet>
-     * time_high_and_version  = 2*<hexOctet>
-     * variant_and_sequence   = 2*<hexOctet>
-     * node                   = 6*<hexOctet>
-     * hexOctet               = <hexDigit><hexDigit>
-     * hexDigit               = [0-9a-fA-F]
-     * }
-     * </pre>
-     * 
-     * </blockquote>
-     *
-     * @param isSimple 是否简单模式,简单模式为不带'-'的UUID字符串
-     * @return 此{@code UUID} 的字符串表现形式
-     */
-    public String toString(boolean isSimple)
-    {
-        final StringBuilder builder = new StringBuilder(isSimple ? 32 : 36);
-        // time_low
-        builder.append(digits(mostSigBits >> 32, 8));
-        if (false == isSimple)
-        {
-            builder.append('-');
-        }
-        // time_mid
-        builder.append(digits(mostSigBits >> 16, 4));
-        if (false == isSimple)
-        {
-            builder.append('-');
-        }
-        // time_high_and_version
-        builder.append(digits(mostSigBits, 4));
-        if (false == isSimple)
-        {
-            builder.append('-');
-        }
-        // variant_and_sequence
-        builder.append(digits(leastSigBits >> 48, 4));
-        if (false == isSimple)
-        {
-            builder.append('-');
-        }
-        // node
-        builder.append(digits(leastSigBits, 12));
-
-        return builder.toString();
-    }
-
-    /**
-     * 返回此 UUID 的哈希码。
-     *
-     * @return UUID 的哈希码值。
-     */
-    @Override
-    public int hashCode()
-    {
-        long hilo = mostSigBits ^ leastSigBits;
-        return ((int) (hilo >> 32)) ^ (int) hilo;
-    }
-
-    /**
-     * 将此对象与指定对象比较。
-     * <p>
-     * 当且仅当参数不为 {@code null}、而是一个 UUID 对象、具有与此 UUID 相同的 varriant、包含相同的值(每一位均相同)时,结果才为 {@code true}。
-     *
-     * @param obj 要与之比较的对象
-     *
-     * @return 如果对象相同,则返回 {@code true};否则返回 {@code false}
-     */
-    @Override
-    public boolean equals(Object obj)
-    {
-        if ((null == obj) || (obj.getClass() != UUID.class))
-        {
-            return false;
-        }
-        UUID id = (UUID) obj;
-        return (mostSigBits == id.mostSigBits && leastSigBits == id.leastSigBits);
-    }
-
-    // Comparison Operations
-
-    /**
-     * 将此 UUID 与指定的 UUID 比较。
-     *
-     * <p>
-     * 如果两个 UUID 不同,且第一个 UUID 的最高有效字段大于第二个 UUID 的对应字段,则第一个 UUID 大于第二个 UUID。
-     *
-     * @param val 与此 UUID 比较的 UUID
-     *
-     * @return 在此 UUID 小于、等于或大于 val 时,分别返回 -1、0 或 1。
-     *
-     */
-    @Override
-    public int compareTo(UUID val)
-    {
-        // The ordering is intentionally set up so that the UUIDs
-        // can simply be numerically compared as two numbers
-        return (this.mostSigBits < val.mostSigBits ? -1 : //
-                (this.mostSigBits > val.mostSigBits ? 1 : //
-                        (this.leastSigBits < val.leastSigBits ? -1 : //
-                                (this.leastSigBits > val.leastSigBits ? 1 : //
-                                        0))));
-    }
-
-    // -------------------------------------------------------------------------------------------------------------------
-    // Private method start
-    /**
-     * 返回指定数字对应的hex值
-     * 
-     * @param val 值
-     * @param digits 位
-     * @return 值
-     */
-    private static String digits(long val, int digits)
-    {
-        long hi = 1L << (digits * 4);
-        return Long.toHexString(hi | (val & (hi - 1))).substring(1);
-    }
-
-    /**
-     * 检查是否为time-based版本UUID
-     */
-    private void checkTimeBase()
-    {
-        if (version() != 1)
-        {
-            throw new UnsupportedOperationException("Not a time-based UUID");
-        }
-    }
-
-    /**
-     * 获取{@link SecureRandom},类提供加密的强随机数生成器 (RNG)
-     * 
-     * @return {@link SecureRandom}
-     */
-    public static SecureRandom getSecureRandom()
-    {
-        try
-        {
-            return SecureRandom.getInstance("SHA1PRNG");
-        }
-        catch (NoSuchAlgorithmException e)
-        {
-            throw new UtilException(e);
-        }
-    }
-
-    /**
-     * 获取随机数生成器对象<br>
-     * ThreadLocalRandom是JDK 7之后提供并发产生随机数,能够解决多个线程发生的竞争争夺。
-     * 
-     * @return {@link ThreadLocalRandom}
-     */
-    public static ThreadLocalRandom getRandom()
-    {
-        return ThreadLocalRandom.current();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/controller/BaseController.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/controller/BaseController.java
deleted file mode 100644
index 96e2af1..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/controller/BaseController.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package com.hrt.common.core.web.controller;
-
-import java.beans.PropertyEditorSupport;
-import java.util.Date;
-import java.util.List;
-
-import com.hrt.common.core.constant.HttpStatus;
-import com.hrt.common.core.web.domain.AjaxResult;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.InitBinder;
-import com.github.pagehelper.PageInfo;
-import com.hrt.common.core.utils.DateUtils;
-import com.hrt.common.core.utils.PageUtils;
-import com.hrt.common.core.web.page.TableDataInfo;
-
-/**
- * web层通用数据处理
- * 
- * @author jqs
- */
-public class BaseController
-{
-    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    /**
-     * 将前台传递过来的日期格式的字符串,自动转化为Date类型
-     */
-    @InitBinder
-    public void initBinder(WebDataBinder binder)
-    {
-        // Date 类型转换
-        binder.registerCustomEditor(Date.class, new PropertyEditorSupport()
-        {
-            @Override
-            public void setAsText(String text)
-            {
-                setValue(DateUtils.parseDate(text));
-            }
-        });
-    }
-
-    /**
-     * 设置请求分页数据
-     */
-    protected void startPage()
-    {
-        PageUtils.startPage();
-    }
-
-    /**
-     * 清理分页的线程变量
-     */
-    protected void clearPage()
-    {
-        PageUtils.clearPage();
-    }
-
-    /**
-     * 响应请求分页数据
-     */
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    protected TableDataInfo getDataTable(List<?> list)
-    {
-        TableDataInfo rspData = new TableDataInfo();
-        rspData.setCode(HttpStatus.SUCCESS);
-        rspData.setRows(list);
-        rspData.setMsg("查询成功");
-        rspData.setTotal(new PageInfo(list).getTotal());
-        return rspData;
-    }
-
-    /**
-     * 返回成功
-     */
-    public AjaxResult success()
-    {
-        return AjaxResult.success();
-    }
-
-    /**
-     * 返回成功消息
-     */
-    public AjaxResult success(String message)
-    {
-        return AjaxResult.success(message);
-    }
-
-    /**
-     * 返回成功消息
-     */
-    public AjaxResult success(Object data)
-    {
-        return AjaxResult.success(data);
-    }
-
-    /**
-     * 返回失败消息
-     */
-    public AjaxResult error()
-    {
-        return AjaxResult.error();
-    }
-
-    /**
-     * 返回失败消息
-     */
-    public AjaxResult error(String message)
-    {
-        return AjaxResult.error(message);
-    }
-
-    /**
-     * 返回警告消息
-     */
-    public AjaxResult warn(String message)
-    {
-        return AjaxResult.warn(message);
-    }
-
-    /**
-     * 响应返回结果
-     * 
-     * @param rows 影响行数
-     * @return 操作结果
-     */
-    protected AjaxResult toAjax(int rows)
-    {
-        return rows > 0 ? AjaxResult.success() : AjaxResult.error();
-    }
-
-    /**
-     * 响应返回结果
-     * 
-     * @param result 结果
-     * @return 操作结果
-     */
-    protected AjaxResult toAjax(boolean result)
-    {
-        return result ? success() : error();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/AjaxResult.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/AjaxResult.java
deleted file mode 100644
index ee78d4b..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/AjaxResult.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package com.hrt.common.core.web.domain;
-
-import java.util.HashMap;
-import java.util.Objects;
-
-import com.hrt.common.core.constant.HttpStatus;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 操作消息提醒
- * 
- * @author jqs
- */
-public class AjaxResult extends HashMap<String, Object>
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 状态码 */
-    public static final String CODE_TAG = "code";
-
-    /** 返回内容 */
-    public static final String MSG_TAG = "msg";
-
-    /** 数据对象 */
-    public static final String DATA_TAG = "data";
-
-    /**
-     * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
-     */
-    public AjaxResult()
-    {
-    }
-
-    /**
-     * 初始化一个新创建的 AjaxResult 对象
-     * 
-     * @param code 状态码
-     * @param msg 返回内容
-     */
-    public AjaxResult(int code, String msg)
-    {
-        super.put(CODE_TAG, code);
-        super.put(MSG_TAG, msg);
-    }
-
-    /**
-     * 初始化一个新创建的 AjaxResult 对象
-     * 
-     * @param code 状态码
-     * @param msg 返回内容
-     * @param data 数据对象
-     */
-    public AjaxResult(int code, String msg, Object data)
-    {
-        super.put(CODE_TAG, code);
-        super.put(MSG_TAG, msg);
-        if (StringUtils.isNotNull(data))
-        {
-            super.put(DATA_TAG, data);
-        }
-    }
-
-    /**
-     * 返回成功消息
-     * 
-     * @return 成功消息
-     */
-    public static AjaxResult success()
-    {
-        return AjaxResult.success("操作成功");
-    }
-
-    /**
-     * 返回成功数据
-     * 
-     * @return 成功消息
-     */
-    public static AjaxResult success(Object data)
-    {
-        return AjaxResult.success("操作成功", data);
-    }
-
-    /**
-     * 返回成功消息
-     * 
-     * @param msg 返回内容
-     * @return 成功消息
-     */
-    public static AjaxResult success(String msg)
-    {
-        return AjaxResult.success(msg, null);
-    }
-
-    /**
-     * 返回成功消息
-     * 
-     * @param msg 返回内容
-     * @param data 数据对象
-     * @return 成功消息
-     */
-    public static AjaxResult success(String msg, Object data)
-    {
-        return new AjaxResult(HttpStatus.SUCCESS, msg, data);
-    }
-
-    /**
-     * 返回警告消息
-     *
-     * @param msg 返回内容
-     * @return 警告消息
-     */
-    public static AjaxResult warn(String msg)
-    {
-        return AjaxResult.warn(msg, null);
-    }
-
-    /**
-     * 返回警告消息
-     *
-     * @param msg 返回内容
-     * @param data 数据对象
-     * @return 警告消息
-     */
-    public static AjaxResult warn(String msg, Object data)
-    {
-        return new AjaxResult(HttpStatus.WARN, msg, data);
-    }
-
-    /**
-     * 返回错误消息
-     * 
-     * @return 错误消息
-     */
-    public static AjaxResult error()
-    {
-        return AjaxResult.error("操作失败");
-    }
-
-    /**
-     * 返回错误消息
-     * 
-     * @param msg 返回内容
-     * @return 错误消息
-     */
-    public static AjaxResult error(String msg)
-    {
-        return AjaxResult.error(msg, null);
-    }
-
-    /**
-     * 返回错误消息
-     * 
-     * @param msg 返回内容
-     * @param data 数据对象
-     * @return 错误消息
-     */
-    public static AjaxResult error(String msg, Object data)
-    {
-        return new AjaxResult(HttpStatus.ERROR, msg, data);
-    }
-
-    /**
-     * 返回错误消息
-     * 
-     * @param code 状态码
-     * @param msg 返回内容
-     * @return 错误消息
-     */
-    public static AjaxResult error(int code, String msg)
-    {
-        return new AjaxResult(code, msg, null);
-    }
-
-    /**
-     * 是否为成功消息
-     *
-     * @return 结果
-     */
-    public boolean isSuccess()
-    {
-        return Objects.equals(HttpStatus.SUCCESS, this.get(CODE_TAG));
-    }
-
-    /**
-     * 是否为错误消息
-     *
-     * @return 结果
-     */
-    public boolean isError()
-    {
-        return !isSuccess();
-    }
-
-    /**
-     * 方便链式调用
-     *
-     * @param key
-     * @param value
-     * @return
-     */
-    @Override
-    public AjaxResult put(String key, Object value)
-    {
-        super.put(key, value);
-        return this;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/BaseEntity.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/BaseEntity.java
deleted file mode 100644
index 43c8279..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/BaseEntity.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package com.hrt.common.core.web.domain;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-/**
- * Entity基类
- * 
- * @author jqs
- */
-public class BaseEntity implements Serializable
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 搜索值 */
-    @JsonIgnore
-    private String searchValue;
-
-    /** 创建者 */
-    private String createBy;
-
-    /** 创建时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
-
-    /** 更新者 */
-    private String updateBy;
-
-    /** 更新时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date updateTime;
-
-    /** 备注 */
-    private String remark;
-
-    /** 请求参数 */
-    @JsonInclude(JsonInclude.Include.NON_EMPTY)
-    private Map<String, Object> params;
-
-    public String getSearchValue()
-    {
-        return searchValue;
-    }
-
-    public void setSearchValue(String searchValue)
-    {
-        this.searchValue = searchValue;
-    }
-
-    public String getCreateBy()
-    {
-        return createBy;
-    }
-
-    public void setCreateBy(String createBy)
-    {
-        this.createBy = createBy;
-    }
-
-    public Date getCreateTime()
-    {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime)
-    {
-        this.createTime = createTime;
-    }
-
-    public String getUpdateBy()
-    {
-        return updateBy;
-    }
-
-    public void setUpdateBy(String updateBy)
-    {
-        this.updateBy = updateBy;
-    }
-
-    public Date getUpdateTime()
-    {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime)
-    {
-        this.updateTime = updateTime;
-    }
-
-    public String getRemark()
-    {
-        return remark;
-    }
-
-    public void setRemark(String remark)
-    {
-        this.remark = remark;
-    }
-
-    public Map<String, Object> getParams()
-    {
-        if (params == null)
-        {
-            params = new HashMap<>();
-        }
-        return params;
-    }
-
-    public void setParams(Map<String, Object> params)
-    {
-        this.params = params;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/TreeEntity.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/TreeEntity.java
deleted file mode 100644
index 125dfdb..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/domain/TreeEntity.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.hrt.common.core.web.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Tree基类
- * 
- * @author jqs
- */
-public class TreeEntity extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 父菜单名称 */
-    private String parentName;
-
-    /** 父菜单ID */
-    private Long parentId;
-
-    /** 显示顺序 */
-    private Integer orderNum;
-
-    /** 祖级列表 */
-    private String ancestors;
-
-    /** 子部门 */
-    private List<?> children = new ArrayList<>();
-
-    public String getParentName()
-    {
-        return parentName;
-    }
-
-    public void setParentName(String parentName)
-    {
-        this.parentName = parentName;
-    }
-
-    public Long getParentId()
-    {
-        return parentId;
-    }
-
-    public void setParentId(Long parentId)
-    {
-        this.parentId = parentId;
-    }
-
-    public Integer getOrderNum()
-    {
-        return orderNum;
-    }
-
-    public void setOrderNum(Integer orderNum)
-    {
-        this.orderNum = orderNum;
-    }
-
-    public String getAncestors()
-    {
-        return ancestors;
-    }
-
-    public void setAncestors(String ancestors)
-    {
-        this.ancestors = ancestors;
-    }
-
-    public List<?> getChildren()
-    {
-        return children;
-    }
-
-    public void setChildren(List<?> children)
-    {
-        this.children = children;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/PageDomain.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/PageDomain.java
deleted file mode 100644
index 0b2e4b2..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/PageDomain.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.hrt.common.core.web.page;
-
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 分页数据
- * 
- * @author jqs
- */
-public class PageDomain
-{
-    /** 当前记录起始索引 */
-    private Integer pageNum;
-
-    /** 每页显示记录数 */
-    private Integer pageSize;
-
-    /** 排序列 */
-    private String orderByColumn;
-
-    /** 排序的方向desc或者asc */
-    private String isAsc = "asc";
-
-    /** 分页参数合理化 */
-    private Boolean reasonable = true;
-
-    public String getOrderBy()
-    {
-        if (StringUtils.isEmpty(orderByColumn))
-        {
-            return "";
-        }
-        return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc;
-    }
-
-    public Integer getPageNum()
-    {
-        return pageNum;
-    }
-
-    public void setPageNum(Integer pageNum)
-    {
-        this.pageNum = pageNum;
-    }
-
-    public Integer getPageSize()
-    {
-        return pageSize;
-    }
-
-    public void setPageSize(Integer pageSize)
-    {
-        this.pageSize = pageSize;
-    }
-
-    public String getOrderByColumn()
-    {
-        return orderByColumn;
-    }
-
-    public void setOrderByColumn(String orderByColumn)
-    {
-        this.orderByColumn = orderByColumn;
-    }
-
-    public String getIsAsc()
-    {
-        return isAsc;
-    }
-
-    public void setIsAsc(String isAsc)
-    {
-        if (StringUtils.isNotEmpty(isAsc))
-        {
-            // 兼容前端排序类型
-            if ("ascending".equals(isAsc))
-            {
-                isAsc = "asc";
-            }
-            else if ("descending".equals(isAsc))
-            {
-                isAsc = "desc";
-            }
-            this.isAsc = isAsc;
-        }
-    }
-
-    public Boolean getReasonable()
-    {
-        if (StringUtils.isNull(reasonable))
-        {
-            return Boolean.TRUE;
-        }
-        return reasonable;
-    }
-
-    public void setReasonable(Boolean reasonable)
-    {
-        this.reasonable = reasonable;
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableDataInfo.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableDataInfo.java
deleted file mode 100644
index 0013377..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableDataInfo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package com.hrt.common.core.web.page;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * 表格分页数据对象
- * 
- * @author jqs
- */
-public class TableDataInfo implements Serializable
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 总记录数 */
-    private long total;
-
-    /** 列表数据 */
-    private List<?> rows;
-
-    /** 消息状态码 */
-    private int code;
-
-    /** 消息内容 */
-    private String msg;
-
-    /**
-     * 表格数据对象
-     */
-    public TableDataInfo()
-    {
-    }
-
-    /**
-     * 分页
-     * 
-     * @param list 列表数据
-     * @param total 总记录数
-     */
-    public TableDataInfo(List<?> list, int total)
-    {
-        this.rows = list;
-        this.total = total;
-    }
-
-    public long getTotal()
-    {
-        return total;
-    }
-
-    public void setTotal(long total)
-    {
-        this.total = total;
-    }
-
-    public List<?> getRows()
-    {
-        return rows;
-    }
-
-    public void setRows(List<?> rows)
-    {
-        this.rows = rows;
-    }
-
-    public int getCode()
-    {
-        return code;
-    }
-
-    public void setCode(int code)
-    {
-        this.code = code;
-    }
-
-    public String getMsg()
-    {
-        return msg;
-    }
-
-    public void setMsg(String msg)
-    {
-        this.msg = msg;
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableSupport.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableSupport.java
deleted file mode 100644
index 46f779b..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/web/page/TableSupport.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.hrt.common.core.web.page;
-
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.ServletUtils;
-
-/**
- * 表格数据处理
- * 
- * @author jqs
- */
-public class TableSupport
-{
-    /**
-     * 当前记录起始索引
-     */
-    public static final String PAGE_NUM = "pageNum";
-
-    /**
-     * 每页显示记录数
-     */
-    public static final String PAGE_SIZE = "pageSize";
-
-    /**
-     * 排序列
-     */
-    public static final String ORDER_BY_COLUMN = "orderByColumn";
-
-    /**
-     * 排序的方向 "desc" 或者 "asc".
-     */
-    public static final String IS_ASC = "isAsc";
-
-    /**
-     * 分页参数合理化
-     */
-    public static final String REASONABLE = "reasonable";
-
-    /**
-     * 封装分页对象
-     */
-    public static PageDomain getPageDomain()
-    {
-        PageDomain pageDomain = new PageDomain();
-        pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1));
-        pageDomain.setPageSize(Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10));
-        pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN));
-        pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC));
-        pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE));
-        return pageDomain;
-    }
-
-    public static PageDomain buildPageRequest()
-    {
-        return getPageDomain();
-    }
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/Xss.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/Xss.java
deleted file mode 100644
index 87f32a5..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/Xss.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.hrt.common.core.xss;
-
-import javax.validation.Constraint;
-import javax.validation.Payload;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * 自定义xss校验注解
- * 
- * @author jqs
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER })
-@Constraint(validatedBy = { XssValidator.class })
-public @interface Xss
-{
-    String message()
-
-    default "不允许任何脚本运行";
-
-    Class<?>[] groups() default {};
-
-    Class<? extends Payload>[] payload() default {};
-}
diff --git a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/XssValidator.java b/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/XssValidator.java
deleted file mode 100644
index dd5fa34..0000000
--- a/hrt-common/hrt-common-core/src/main/java/com/hrt/common/core/xss/XssValidator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.hrt.common.core.xss;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 自定义xss校验注解实现
- * 
- * @author jqs
- */
-public class XssValidator implements ConstraintValidator<Xss, String>
-{
-    private static final String HTML_PATTERN = "<(\\S*?)[^>]*>.*?|<.*? />";
-
-    @Override
-    public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext)
-    {
-        if (StringUtils.isBlank(value))
-        {
-            return true;
-        }
-        return !containsHtml(value);
-    }
-
-    public static boolean containsHtml(String value)
-    {
-        Pattern pattern = Pattern.compile(HTML_PATTERN);
-        Matcher matcher = pattern.matcher(value);
-        return matcher.matches();
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index fec53b9..0000000
--- a/hrt-common/hrt-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1 +0,0 @@
-com.hrt.common.core.utils.SpringUtils
diff --git a/hrt-common/hrt-common-datascope/pom.xml b/hrt-common/hrt-common-datascope/pom.xml
deleted file mode 100644
index 7002462..0000000
--- a/hrt-common/hrt-common-datascope/pom.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-common-datascope</artifactId>
-	
-    <description>
-        hrt-common-datascope权限范围
-    </description>
-
-    <dependencies>
-		
-        <!-- hrt Common Security -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-security</artifactId>
-        </dependency>
-        
-    </dependencies>
-</project>
\ No newline at end of file
diff --git a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/annotation/DataScope.java b/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/annotation/DataScope.java
deleted file mode 100644
index 827fa66..0000000
--- a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/annotation/DataScope.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hrt.common.datascope.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * 数据权限过滤注解
- * 
- * @author jqs
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface DataScope
-{
-    /**
-     * 部门表的别名
-     */
-    public String deptAlias() default "";
-
-    /**
-     * 用户表的别名
-     */
-    public String userAlias() default "";
-
-    /**
-     * 权限字符(用于多个角色匹配符合要求的权限)默认根据权限注解@RequiresPermissions获取,多个权限用逗号分隔开来
-     */
-    public String permission() default "";
-}
diff --git a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/aspect/DataScopeAspect.java b/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/aspect/DataScopeAspect.java
deleted file mode 100644
index c5954b3..0000000
--- a/hrt-common/hrt-common-datascope/src/main/java/com/hrt/common/datascope/aspect/DataScopeAspect.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package com.hrt.common.datascope.aspect;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.context.SecurityContextHolder;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.domain.BaseEntity;
-import com.hrt.common.datascope.annotation.DataScope;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * 数据过滤处理
- * 
- * @author jqs
- */
-@Aspect
-@Component
-public class DataScopeAspect
-{
-    /**
-     * 全部数据权限
-     */
-    public static final String DATA_SCOPE_ALL = "1";
-
-    /**
-     * 自定数据权限
-     */
-    public static final String DATA_SCOPE_CUSTOM = "2";
-
-    /**
-     * 部门数据权限
-     */
-    public static final String DATA_SCOPE_DEPT = "3";
-
-    /**
-     * 部门及以下数据权限
-     */
-    public static final String DATA_SCOPE_DEPT_AND_CHILD = "4";
-
-    /**
-     * 仅本人数据权限
-     */
-    public static final String DATA_SCOPE_SELF = "5";
-
-    /**
-     * 数据权限过滤关键字
-     */
-    public static final String DATA_SCOPE = "dataScope";
-
-    @Before("@annotation(controllerDataScope)")
-    public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable
-    {
-        clearDataScope(point);
-        handleDataScope(point, controllerDataScope);
-    }
-
-    protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope)
-    {
-        // 获取当前的用户
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        if (StringUtils.isNotNull(loginUser))
-        {
-            SysUser currentUser = loginUser.getSysUser();
-            // 如果是超级管理员,则不过滤数据
-            if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin())
-            {
-                String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), SecurityContextHolder.getPermission());
-                dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
-                        controllerDataScope.userAlias(), permission);
-            }
-        }
-    }
-
-    /**
-     * 数据范围过滤
-     * 
-     * @param joinPoint 切点
-     * @param user 用户
-     * @param deptAlias 部门别名
-     * @param userAlias 用户别名
-     * @param permission 权限字符
-     */
-    public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias, String permission)
-    {
-        StringBuilder sqlString = new StringBuilder();
-        List<String> conditions = new ArrayList<String>();
-
-        for (SysRole role : user.getRoles())
-        {
-            String dataScope = role.getDataScope();
-            if (!DATA_SCOPE_CUSTOM.equals(dataScope) && conditions.contains(dataScope))
-            {
-                continue;
-            }
-            if (StringUtils.isNotEmpty(permission) && StringUtils.isNotEmpty(role.getPermissions())
-                    && !StringUtils.containsAny(role.getPermissions(), Convert.toStrArray(permission)))
-            {
-                continue;
-            }
-            if (DATA_SCOPE_ALL.equals(dataScope))
-            {
-                sqlString = new StringBuilder();
-                conditions.add(dataScope);
-                break;
-            }
-            else if (DATA_SCOPE_CUSTOM.equals(dataScope))
-            {
-                sqlString.append(StringUtils.format(
-                        " OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
-                        role.getRoleId()));
-            }
-            else if (DATA_SCOPE_DEPT.equals(dataScope))
-            {
-                sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId()));
-            }
-            else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope))
-            {
-                sqlString.append(StringUtils.format(
-                        " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )",
-                        deptAlias, user.getDeptId(), user.getDeptId()));
-            }
-            else if (DATA_SCOPE_SELF.equals(dataScope))
-            {
-                if (StringUtils.isNotBlank(userAlias))
-                {
-                    sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId()));
-                }
-                else
-                {
-                    // 数据权限为仅本人且没有userAlias别名不查询任何数据
-                    sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias));
-                }
-            }
-            conditions.add(dataScope);
-        }
-
-        // 多角色情况下,所有角色都不包含传递过来的权限字符,这个时候sqlString也会为空,所以要限制一下,不查询任何数据
-        if (StringUtils.isEmpty(conditions))
-        {
-            sqlString.append(StringUtils.format(" OR {}.dept_id = 0 ", deptAlias));
-        }
-
-        if (StringUtils.isNotBlank(sqlString.toString()))
-        {
-            Object params = joinPoint.getArgs()[0];
-            if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
-            {
-                BaseEntity baseEntity = (BaseEntity) params;
-                baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
-            }
-        }
-    }
-
-    /**
-     * 拼接权限sql前先清空params.dataScope参数防止注入
-     */
-    private void clearDataScope(final JoinPoint joinPoint)
-    {
-        Object params = joinPoint.getArgs()[0];
-        if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
-        {
-            BaseEntity baseEntity = (BaseEntity) params;
-            baseEntity.getParams().put(DATA_SCOPE, "");
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-datascope/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-datascope/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 1964910..0000000
--- a/hrt-common/hrt-common-datascope/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1 +0,0 @@
-com.hrt.common.datascope.aspect.DataScopeAspect
diff --git a/hrt-common/hrt-common-datasource/pom.xml b/hrt-common/hrt-common-datasource/pom.xml
deleted file mode 100644
index ce624ba..0000000
--- a/hrt-common/hrt-common-datasource/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-common-datasource</artifactId>
-
-    <description>
-        hrt-common-datasource多数据源
-    </description>
-
-    <dependencies>
-
-        <!-- Druid -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid-spring-boot-starter</artifactId>
-            <version>${druid.version}</version>
-        </dependency>
-
-        <!-- Dynamic DataSource -->
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
-            <version>${dynamic-ds.version}</version>
-        </dependency>
-
-    </dependencies>
-</project>
\ No newline at end of file
diff --git a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Master.java b/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Master.java
deleted file mode 100644
index 6c53d42..0000000
--- a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Master.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.common.datasource.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import com.baomidou.dynamic.datasource.annotation.DS;
-
-/**
- * 主库数据源
- * 
- * @author jqs
- */
-@Target({ ElementType.TYPE, ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@DS("master")
-public @interface Master
-{
-
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Slave.java b/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Slave.java
deleted file mode 100644
index 4110425..0000000
--- a/hrt-common/hrt-common-datasource/src/main/java/com/hrt/common/datasource/annotation/Slave.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.common.datasource.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import com.baomidou.dynamic.datasource.annotation.DS;
-
-/**
- * 从库数据源
- * 
- * @author jqs
- */
-@Target({ ElementType.TYPE, ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@DS("slave")
-public @interface Slave
-{
-
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-log/pom.xml b/hrt-common/hrt-common-log/pom.xml
deleted file mode 100644
index 0df0686..0000000
--- a/hrt-common/hrt-common-log/pom.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-common-log</artifactId>
-	
-    <description>
-        hrt-common-log日志记录
-    </description>
-
-    <dependencies>
-		
-        <!-- hrt Common Security -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-security</artifactId>
-        </dependency>
-        
-    </dependencies>
-</project>
\ No newline at end of file
diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/annotation/Log.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/annotation/Log.java
deleted file mode 100644
index 47f56d2..0000000
--- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/annotation/Log.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.hrt.common.log.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.log.enums.OperatorType;
-
-/**
- * 自定义操作日志记录注解
- * 
- * @author jqs
- *
- */
-@Target({ ElementType.PARAMETER, ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Log
-{
-    /**
-     * 模块
-     */
-    public String title() default "";
-
-    /**
-     * 功能
-     */
-    public BusinessType businessType() default BusinessType.OTHER;
-
-    /**
-     * 操作人类别
-     */
-    public OperatorType operatorType() default OperatorType.MANAGE;
-
-    /**
-     * 是否保存请求的参数
-     */
-    public boolean isSaveRequestData() default true;
-
-    /**
-     * 是否保存响应的参数
-     */
-    public boolean isSaveResponseData() default true;
-
-    /**
-     * 排除指定的请求参数
-     */
-    public String[] excludeParamNames() default {};
-}
diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/aspect/LogAspect.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/aspect/LogAspect.java
deleted file mode 100644
index 29e35dd..0000000
--- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/aspect/LogAspect.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package com.hrt.common.log.aspect;
-
-import java.util.Collection;
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang3.ArrayUtils;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.AfterReturning;
-import org.aspectj.lang.annotation.AfterThrowing;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.NamedThreadLocal;
-import org.springframework.http.HttpMethod;
-import org.springframework.stereotype.Component;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.multipart.MultipartFile;
-import com.alibaba.fastjson2.JSON;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.ip.IpUtils;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessStatus;
-import com.hrt.common.log.filter.PropertyPreExcludeFilter;
-import com.hrt.common.log.service.AsyncLogService;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysOperLog;
-
-/**
- * 操作日志记录处理
- * 
- * @author jqs
- */
-@Aspect
-@Component
-public class LogAspect
-{
-    private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
-
-    /** 排除敏感属性字段 */
-    public static final String[] EXCLUDE_PROPERTIES = { "password", "oldPassword", "newPassword", "confirmPassword" };
-
-    /** 计算操作消耗时间 */
-    private static final ThreadLocal<Long> TIME_THREADLOCAL = new NamedThreadLocal<Long>("Cost Time");
-
-    @Autowired
-    private AsyncLogService asyncLogService;
-
-    /**
-     * 处理请求前执行
-     */
-    @Before(value = "@annotation(controllerLog)")
-    public void boBefore(JoinPoint joinPoint, Log controllerLog)
-    {
-        TIME_THREADLOCAL.set(System.currentTimeMillis());
-    }
-
-    /**
-     * 处理完请求后执行
-     *
-     * @param joinPoint 切点
-     */
-    @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult")
-    public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult)
-    {
-        handleLog(joinPoint, controllerLog, null, jsonResult);
-    }
-
-    /**
-     * 拦截异常操作
-     * 
-     * @param joinPoint 切点
-     * @param e 异常
-     */
-    @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e")
-    public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e)
-    {
-        handleLog(joinPoint, controllerLog, e, null);
-    }
-
-    protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult)
-    {
-        try
-        {
-            // *========数据库日志=========*//
-            SysOperLog operLog = new SysOperLog();
-            operLog.setStatus(BusinessStatus.SUCCESS.ordinal());
-            // 请求的地址
-            String ip = IpUtils.getIpAddr();
-            operLog.setOperIp(ip);
-            operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255));
-            String username = SecurityUtils.getUsername();
-            if (StringUtils.isNotBlank(username))
-            {
-                operLog.setOperName(username);
-            }
-
-            if (e != null)
-            {
-                operLog.setStatus(BusinessStatus.FAIL.ordinal());
-                operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
-            }
-            // 设置方法名称
-            String className = joinPoint.getTarget().getClass().getName();
-            String methodName = joinPoint.getSignature().getName();
-            operLog.setMethod(className + "." + methodName + "()");
-            // 设置请求方式
-            operLog.setRequestMethod(ServletUtils.getRequest().getMethod());
-            // 处理设置注解上的参数
-            getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult);
-            // 设置消耗时间
-            operLog.setCostTime(System.currentTimeMillis() - TIME_THREADLOCAL.get());
-            // 保存数据库
-            asyncLogService.saveSysLog(operLog);
-        }
-        catch (Exception exp)
-        {
-            // 记录本地异常日志
-            log.error("异常信息:{}", exp.getMessage());
-            exp.printStackTrace();
-        }
-        finally
-        {
-            TIME_THREADLOCAL.remove();
-        }
-    }
-
-    /**
-     * 获取注解中对方法的描述信息 用于Controller层注解
-     * 
-     * @param log 日志
-     * @param operLog 操作日志
-     * @throws Exception
-     */
-    public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception
-    {
-        // 设置action动作
-        operLog.setBusinessType(log.businessType().ordinal());
-        // 设置标题
-        operLog.setTitle(log.title());
-        // 设置操作人类别
-        operLog.setOperatorType(log.operatorType().ordinal());
-        // 是否需要保存request,参数和值
-        if (log.isSaveRequestData())
-        {
-            // 获取参数的信息,传入到数据库中。
-            setRequestValue(joinPoint, operLog, log.excludeParamNames());
-        }
-        // 是否需要保存response,参数和值
-        if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult))
-        {
-            operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 2000));
-        }
-    }
-
-    /**
-     * 获取请求的参数,放到log中
-     * 
-     * @param operLog 操作日志
-     * @throws Exception 异常
-     */
-    private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog, String[] excludeParamNames) throws Exception
-    {
-        String requestMethod = operLog.getRequestMethod();
-        Map<?, ?> paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest());
-        if (StringUtils.isEmpty(paramsMap)
-                && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)))
-        {
-            String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames);
-            operLog.setOperParam(StringUtils.substring(params, 0, 2000));
-        }
-        else
-        {
-            operLog.setOperParam(StringUtils.substring(JSON.toJSONString(paramsMap, excludePropertyPreFilter(excludeParamNames)), 0, 2000));
-        }
-    }
-
-    /**
-     * 参数拼装
-     */
-    private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames)
-    {
-        String params = "";
-        if (paramsArray != null && paramsArray.length > 0)
-        {
-            for (Object o : paramsArray)
-            {
-                if (StringUtils.isNotNull(o) && !isFilterObject(o))
-                {
-                    try
-                    {
-                        String jsonObj = JSON.toJSONString(o, excludePropertyPreFilter(excludeParamNames));
-                        params += jsonObj.toString() + " ";
-                    }
-                    catch (Exception e)
-                    {
-                    }
-                }
-            }
-        }
-        return params.trim();
-    }
-
-    /**
-     * 忽略敏感属性
-     */
-    public PropertyPreExcludeFilter excludePropertyPreFilter(String[] excludeParamNames)
-    {
-        return new PropertyPreExcludeFilter().addExcludes(ArrayUtils.addAll(EXCLUDE_PROPERTIES, excludeParamNames));
-    }
-
-    /**
-     * 判断是否需要过滤的对象。
-     * 
-     * @param o 对象信息。
-     * @return 如果是需要过滤的对象,则返回true;否则返回false。
-     */
-    @SuppressWarnings("rawtypes")
-    public boolean isFilterObject(final Object o)
-    {
-        Class<?> clazz = o.getClass();
-        if (clazz.isArray())
-        {
-            return clazz.getComponentType().isAssignableFrom(MultipartFile.class);
-        }
-        else if (Collection.class.isAssignableFrom(clazz))
-        {
-            Collection collection = (Collection) o;
-            for (Object value : collection)
-            {
-                return value instanceof MultipartFile;
-            }
-        }
-        else if (Map.class.isAssignableFrom(clazz))
-        {
-            Map map = (Map) o;
-            for (Object value : map.entrySet())
-            {
-                Map.Entry entry = (Map.Entry) value;
-                return entry.getValue() instanceof MultipartFile;
-            }
-        }
-        return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse
-                || o instanceof BindingResult;
-    }
-}
diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessStatus.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessStatus.java
deleted file mode 100644
index e91c6cf..0000000
--- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessStatus.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.common.log.enums;
-
-/**
- * 操作状态
- * 
- * @author jqs
- *
- */
-public enum BusinessStatus
-{
-    /**
-     * 成功
-     */
-    SUCCESS,
-
-    /**
-     * 失败
-     */
-    FAIL,
-}
diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessType.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessType.java
deleted file mode 100644
index e677734..0000000
--- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/BusinessType.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hrt.common.log.enums;
-
-/**
- * 业务操作类型
- * 
- * @author jqs
- */
-public enum BusinessType
-{
-    /**
-     * 其它
-     */
-    OTHER,
-
-    /**
-     * 新增
-     */
-    INSERT,
-
-    /**
-     * 修改
-     */
-    UPDATE,
-
-    /**
-     * 删除
-     */
-    DELETE,
-
-    /**
-     * 授权
-     */
-    GRANT,
-
-    /**
-     * 导出
-     */
-    EXPORT,
-
-    /**
-     * 导入
-     */
-    IMPORT,
-
-    /**
-     * 强退
-     */
-    FORCE,
-
-    /**
-     * 生成代码
-     */
-    GENCODE,
-
-    /**
-     * 清空数据
-     */
-    CLEAN,
-}
diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/OperatorType.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/OperatorType.java
deleted file mode 100644
index 7452e78..0000000
--- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/enums/OperatorType.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.common.log.enums;
-
-/**
- * 操作人类别
- * 
- * @author jqs
- */
-public enum OperatorType
-{
-    /**
-     * 其它
-     */
-    OTHER,
-
-    /**
-     * 后台用户
-     */
-    MANAGE,
-
-    /**
-     * 手机端用户
-     */
-    MOBILE
-}
diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/filter/PropertyPreExcludeFilter.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/filter/PropertyPreExcludeFilter.java
deleted file mode 100644
index 13b3730..0000000
--- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/filter/PropertyPreExcludeFilter.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.common.log.filter;
-
-import com.alibaba.fastjson2.filter.SimplePropertyPreFilter;
-
-/**
- * 排除JSON敏感属性
- * 
- * @author jqs
- */
-public class PropertyPreExcludeFilter extends SimplePropertyPreFilter
-{
-    public PropertyPreExcludeFilter()
-    {
-    }
-
-    public PropertyPreExcludeFilter addExcludes(String... filters)
-    {
-        for (int i = 0; i < filters.length; i++)
-        {
-            this.getExcludes().add(filters[i]);
-        }
-        return this;
-    }
-}
diff --git a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/service/AsyncLogService.java b/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/service/AsyncLogService.java
deleted file mode 100644
index 8bc5909..0000000
--- a/hrt-common/hrt-common-log/src/main/java/com/hrt/common/log/service/AsyncLogService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.hrt.common.log.service;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.stereotype.Service;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.system.api.RemoteLogService;
-import com.hrt.system.api.domain.SysOperLog;
-
-/**
- * 异步调用日志服务
- * 
- * @author jqs
- */
-@Service
-public class AsyncLogService
-{
-    @Autowired
-    private RemoteLogService remoteLogService;
-
-    /**
-     * 保存系统日志记录
-     */
-    @Async
-    public void saveSysLog(SysOperLog sysOperLog) throws Exception
-    {
-        remoteLogService.saveLog(sysOperLog, SecurityConstants.INNER);
-    }
-}
diff --git a/hrt-common/hrt-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index a459e3e..0000000
--- a/hrt-common/hrt-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,2 +0,0 @@
-com.hrt.common.log.service.AsyncLogService
-com.hrt.common.log.aspect.LogAspect
diff --git a/hrt-common/hrt-common-redis/pom.xml b/hrt-common/hrt-common-redis/pom.xml
deleted file mode 100644
index 959984c..0000000
--- a/hrt-common/hrt-common-redis/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-common-redis</artifactId>
-	
-    <description>
-        hrt-common-redis缓存服务
-    </description>
-
-    <dependencies>
-		
-        <!-- SpringBoot Boot Redis -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-redis</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Core-->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-core</artifactId>
-        </dependency>
-        
-    </dependencies>
-</project>
\ No newline at end of file
diff --git a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/FastJson2JsonRedisSerializer.java b/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/FastJson2JsonRedisSerializer.java
deleted file mode 100644
index bc3c142..0000000
--- a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/FastJson2JsonRedisSerializer.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hrt.common.redis.configure;
-
-import java.nio.charset.Charset;
-import org.springframework.data.redis.serializer.RedisSerializer;
-import org.springframework.data.redis.serializer.SerializationException;
-import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONReader;
-import com.alibaba.fastjson2.JSONWriter;
-
-/**
- * Redis使用FastJson序列化
- * 
- * @author jqs
- */
-public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T>
-{
-    public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
-
-    private Class<T> clazz;
-
-
-    public FastJson2JsonRedisSerializer(Class<T> clazz)
-    {
-        super();
-        this.clazz = clazz;
-    }
-
-    @Override
-    public byte[] serialize(T t) throws SerializationException
-    {
-        if (t == null)
-        {
-            return new byte[0];
-        }
-        return JSON.toJSONString(t, JSONWriter.Feature.WriteClassName).getBytes(DEFAULT_CHARSET);
-    }
-
-    @Override
-    public T deserialize(byte[] bytes) throws SerializationException
-    {
-        if (bytes == null || bytes.length <= 0)
-        {
-            return null;
-        }
-        String str = new String(bytes, DEFAULT_CHARSET);
-
-        return JSON.parseObject(str, clazz, JSONReader.Feature.SupportAutoType);
-    }
-}
diff --git a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/RedisConfig.java b/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/RedisConfig.java
deleted file mode 100644
index c89301d..0000000
--- a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/configure/RedisConfig.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.hrt.common.redis.configure;
-
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
-import org.springframework.cache.annotation.CachingConfigurerSupport;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.StringRedisSerializer;
-
-/**
- * redis配置
- * 
- * @author jqs
- */
-@Configuration
-@EnableCaching
-@AutoConfigureBefore(RedisAutoConfiguration.class)
-public class RedisConfig extends CachingConfigurerSupport
-{
-    @Bean
-    @SuppressWarnings(value = { "unchecked", "rawtypes" })
-    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory)
-    {
-        RedisTemplate<Object, Object> template = new RedisTemplate<>();
-        template.setConnectionFactory(connectionFactory);
-
-        FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class);
-
-        // 使用StringRedisSerializer来序列化和反序列化redis的key值
-        template.setKeySerializer(new StringRedisSerializer());
-        template.setValueSerializer(serializer);
-
-        // Hash的key也采用StringRedisSerializer的序列化方式
-        template.setHashKeySerializer(new StringRedisSerializer());
-        template.setHashValueSerializer(serializer);
-
-        template.afterPropertiesSet();
-        return template;
-    }
-}
diff --git a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/service/RedisService.java b/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/service/RedisService.java
deleted file mode 100644
index e9f0dda..0000000
--- a/hrt-common/hrt-common-redis/src/main/java/com/hrt/common/redis/service/RedisService.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package com.hrt.common.redis.service;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.BoundSetOperations;
-import org.springframework.data.redis.core.HashOperations;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.ValueOperations;
-import org.springframework.stereotype.Component;
-
-/**
- * spring redis 工具类
- * 
- * @author jqs
- **/
-@SuppressWarnings(value = { "unchecked", "rawtypes" })
-@Component
-public class RedisService
-{
-    @Autowired
-    public RedisTemplate redisTemplate;
-
-    /**
-     * 缓存基本的对象,Integer、String、实体类等
-     *
-     * @param key 缓存的键值
-     * @param value 缓存的值
-     */
-    public <T> void setCacheObject(final String key, final T value)
-    {
-        redisTemplate.opsForValue().set(key, value);
-    }
-
-    /**
-     * 缓存基本的对象,Integer、String、实体类等
-     *
-     * @param key 缓存的键值
-     * @param value 缓存的值
-     * @param timeout 时间
-     * @param timeUnit 时间颗粒度
-     */
-    public <T> void setCacheObject(final String key, final T value, final Long timeout, final TimeUnit timeUnit)
-    {
-        redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
-    }
-
-    /**
-     * 设置有效时间
-     *
-     * @param key Redis键
-     * @param timeout 超时时间
-     * @return true=设置成功;false=设置失败
-     */
-    public boolean expire(final String key, final long timeout)
-    {
-        return expire(key, timeout, TimeUnit.SECONDS);
-    }
-
-    /**
-     * 设置有效时间
-     *
-     * @param key Redis键
-     * @param timeout 超时时间
-     * @param unit 时间单位
-     * @return true=设置成功;false=设置失败
-     */
-    public boolean expire(final String key, final long timeout, final TimeUnit unit)
-    {
-        return redisTemplate.expire(key, timeout, unit);
-    }
-
-    /**
-     * 获取有效时间
-     *
-     * @param key Redis键
-     * @return 有效时间
-     */
-    public long getExpire(final String key)
-    {
-        return redisTemplate.getExpire(key);
-    }
-
-    /**
-     * 判断 key是否存在
-     *
-     * @param key 键
-     * @return true 存在 false不存在
-     */
-    public Boolean hasKey(String key)
-    {
-        return redisTemplate.hasKey(key);
-    }
-
-    /**
-     * 获得缓存的基本对象。
-     *
-     * @param key 缓存键值
-     * @return 缓存键值对应的数据
-     */
-    public <T> T getCacheObject(final String key)
-    {
-        ValueOperations<String, T> operation = redisTemplate.opsForValue();
-        return operation.get(key);
-    }
-
-    /**
-     * 删除单个对象
-     *
-     * @param key
-     */
-    public boolean deleteObject(final String key)
-    {
-        return redisTemplate.delete(key);
-    }
-
-    /**
-     * 删除集合对象
-     *
-     * @param collection 多个对象
-     * @return
-     */
-    public boolean deleteObject(final Collection collection)
-    {
-        return redisTemplate.delete(collection) > 0;
-    }
-
-    /**
-     * 缓存List数据
-     *
-     * @param key 缓存的键值
-     * @param dataList 待缓存的List数据
-     * @return 缓存的对象
-     */
-    public <T> long setCacheList(final String key, final List<T> dataList)
-    {
-        Long count = redisTemplate.opsForList().rightPushAll(key, dataList);
-        return count == null ? 0 : count;
-    }
-
-    /**
-     * 获得缓存的list对象
-     *
-     * @param key 缓存的键值
-     * @return 缓存键值对应的数据
-     */
-    public <T> List<T> getCacheList(final String key)
-    {
-        return redisTemplate.opsForList().range(key, 0, -1);
-    }
-
-    /**
-     * 缓存Set
-     *
-     * @param key 缓存键值
-     * @param dataSet 缓存的数据
-     * @return 缓存数据的对象
-     */
-    public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet)
-    {
-        BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
-        Iterator<T> it = dataSet.iterator();
-        while (it.hasNext())
-        {
-            setOperation.add(it.next());
-        }
-        return setOperation;
-    }
-
-    /**
-     * 获得缓存的set
-     *
-     * @param key
-     * @return
-     */
-    public <T> Set<T> getCacheSet(final String key)
-    {
-        return redisTemplate.opsForSet().members(key);
-    }
-
-    /**
-     * 缓存Map
-     *
-     * @param key
-     * @param dataMap
-     */
-    public <T> void setCacheMap(final String key, final Map<String, T> dataMap)
-    {
-        if (dataMap != null) {
-            redisTemplate.opsForHash().putAll(key, dataMap);
-        }
-    }
-
-    /**
-     * 获得缓存的Map
-     *
-     * @param key
-     * @return
-     */
-    public <T> Map<String, T> getCacheMap(final String key)
-    {
-        return redisTemplate.opsForHash().entries(key);
-    }
-
-    /**
-     * 往Hash中存入数据
-     *
-     * @param key Redis键
-     * @param hKey Hash键
-     * @param value 值
-     */
-    public <T> void setCacheMapValue(final String key, final String hKey, final T value)
-    {
-        redisTemplate.opsForHash().put(key, hKey, value);
-    }
-
-    /**
-     * 获取Hash中的数据
-     *
-     * @param key Redis键
-     * @param hKey Hash键
-     * @return Hash中的对象
-     */
-    public <T> T getCacheMapValue(final String key, final String hKey)
-    {
-        HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
-        return opsForHash.get(key, hKey);
-    }
-
-    /**
-     * 获取多个Hash中的数据
-     *
-     * @param key Redis键
-     * @param hKeys Hash键集合
-     * @return Hash对象集合
-     */
-    public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys)
-    {
-        return redisTemplate.opsForHash().multiGet(key, hKeys);
-    }
-
-    /**
-     * 删除Hash中的某条数据
-     *
-     * @param key Redis键
-     * @param hKey Hash键
-     * @return 是否成功
-     */
-    public boolean deleteCacheMapValue(final String key, final String hKey)
-    {
-        return redisTemplate.opsForHash().delete(key, hKey) > 0;
-    }
-
-    /**
-     * 获得缓存的基本对象列表
-     *
-     * @param pattern 字符串前缀
-     * @return 对象列表
-     */
-    public Collection<String> keys(final String pattern)
-    {
-        return redisTemplate.keys(pattern);
-    }
-}
diff --git a/hrt-common/hrt-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 8a3e487..0000000
--- a/hrt-common/hrt-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,2 +0,0 @@
-com.hrt.common.redis.configure.RedisConfig
-com.hrt.common.redis.service.RedisService
diff --git a/hrt-common/hrt-common-seata/pom.xml b/hrt-common/hrt-common-seata/pom.xml
deleted file mode 100644
index 68ff0be..0000000
--- a/hrt-common/hrt-common-seata/pom.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hrt-common-seata</artifactId>
-
-    <description>
-        hrt-common-seata分布式事务
-    </description>
-
-    <dependencies>
-
-        <!-- SpringBoot Seata -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
-        </dependency>
-
-    </dependencies>
-</project>
\ No newline at end of file
diff --git a/hrt-common/hrt-common-security/pom.xml b/hrt-common/hrt-common-security/pom.xml
deleted file mode 100644
index d4d1464..0000000
--- a/hrt-common/hrt-common-security/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-common-security</artifactId>
-
-    <description>
-        hrt-common-security安全模块
-    </description>
-
-    <dependencies>
-
-        <!-- Spring Web -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-webmvc</artifactId>
-        </dependency>
-
-        <!-- hrt Api System -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-api-system</artifactId>
-        </dependency>
-
-        <!-- hrt Common Redis-->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-redis</artifactId>
-        </dependency>
-
-    </dependencies>
-
-</project>
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableCustomConfig.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableCustomConfig.java
deleted file mode 100644
index b14b234..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableCustomConfig.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.hrt.common.security.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import com.hrt.common.security.config.ApplicationConfig;
-import com.hrt.common.security.feign.FeignAutoConfiguration;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.context.annotation.Import;
-import org.springframework.scheduling.annotation.EnableAsync;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Inherited
-// 表示通过aop框架暴露该代理对象,AopContext能够访问
-@EnableAspectJAutoProxy(exposeProxy = true)
-// 指定要扫描的Mapper类的包的路径
-@MapperScan("com.hrt.**.mapper")
-// 开启线程异步执行
-@EnableAsync
-// 自动加载类
-@Import({ ApplicationConfig.class, FeignAutoConfiguration.class })
-public @interface EnableCustomConfig
-{
-
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableRyFeignClients.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableRyFeignClients.java
deleted file mode 100644
index d7fb90a..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/EnableRyFeignClients.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.hrt.common.security.annotation;
-
-import org.springframework.cloud.openfeign.EnableFeignClients;
-import java.lang.annotation.*;
-
-/**
- * 自定义feign注解
- * 添加basePackages路径
- * 
- * @author jqs
- */
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@EnableFeignClients
-public @interface EnableRyFeignClients
-{
-    String[] value() default {};
-
-    String[] basePackages() default { "com.hrt" };
-
-    Class<?>[] basePackageClasses() default {};
-
-    Class<?>[] defaultConfiguration() default {};
-
-    Class<?>[] clients() default {};
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/InnerAuth.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/InnerAuth.java
deleted file mode 100644
index 68c5906..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/InnerAuth.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.common.security.annotation;
-
-import java.lang.annotation.*;
-
-/**
- * 内部认证注解
- * 
- * @author jqs
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface InnerAuth
-{
-    /**
-     * 是否校验用户信息
-     */
-    boolean isUser() default false;
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/Logical.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/Logical.java
deleted file mode 100644
index cc16f31..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/Logical.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.common.security.annotation;
-
-/**
- * 权限注解的验证模式
- * 
- * @author jqs
- *
- */
-public enum Logical
-{
-    /**
-     * 必须具有所有的元素
-     */
-    AND,
-
-    /**
-     * 只需具有其中一个元素
-     */
-    OR
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresLogin.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresLogin.java
deleted file mode 100644
index ca16131..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresLogin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.hrt.common.security.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * 登录认证:只有登录之后才能进入该方法
- * 
- * @author jqs
- *
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.TYPE })
-public @interface RequiresLogin
-{
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresPermissions.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresPermissions.java
deleted file mode 100644
index 959f372..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresPermissions.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.hrt.common.security.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * 权限认证:必须具有指定权限才能进入该方法
- * 
- * @author jqs
- *
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.TYPE })
-public @interface RequiresPermissions
-{
-    /**
-     * 需要校验的权限码
-     */
-    String[] value() default {};
-
-    /**
-     * 验证模式:AND | OR,默认AND
-     */
-    Logical logical() default Logical.AND;
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresRoles.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresRoles.java
deleted file mode 100644
index b766a0b..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/annotation/RequiresRoles.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hrt.common.security.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * 角色认证:必须具有指定角色标识才能进入该方法
- * 
- * @author jqs
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ ElementType.METHOD, ElementType.TYPE })
-public @interface RequiresRoles
-{
-    /**
-     * 需要校验的角色标识
-     */
-    String[] value() default {};
-
-    /**
-     * 验证逻辑:AND | OR,默认AND
-     */
-    Logical logical() default Logical.AND;
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/InnerAuthAspect.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/InnerAuthAspect.java
deleted file mode 100644
index 0010c31..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/InnerAuthAspect.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.hrt.common.security.aspect;
-
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.springframework.core.Ordered;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.exception.InnerAuthException;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.security.annotation.InnerAuth;
-
-/**
- * 内部服务调用验证处理
- * 
- * @author jqs
- */
-@Aspect
-@Component
-public class InnerAuthAspect implements Ordered
-{
-    @Around("@annotation(innerAuth)")
-    public Object innerAround(ProceedingJoinPoint point, InnerAuth innerAuth) throws Throwable
-    {
-        String source = ServletUtils.getRequest().getHeader(SecurityConstants.FROM_SOURCE);
-        // 内部请求验证
-        if (!StringUtils.equals(SecurityConstants.INNER, source))
-        {
-            throw new InnerAuthException("没有内部访问权限,不允许访问");
-        }
-
-        String userid = ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USER_ID);
-        String username = ServletUtils.getRequest().getHeader(SecurityConstants.DETAILS_USERNAME);
-        // 用户信息验证
-        if (innerAuth.isUser() && (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)))
-        {
-            throw new InnerAuthException("没有设置用户信息,不允许访问 ");
-        }
-        return point.proceed();
-    }
-
-    /**
-     * 确保在权限认证aop执行前执行
-     */
-    @Override
-    public int getOrder()
-    {
-        return Ordered.HIGHEST_PRECEDENCE + 1;
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/PreAuthorizeAspect.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/PreAuthorizeAspect.java
deleted file mode 100644
index b9a3a6e..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/aspect/PreAuthorizeAspect.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.hrt.common.security.aspect;
-
-import java.lang.reflect.Method;
-
-import com.hrt.common.security.auth.AuthUtil;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.springframework.stereotype.Component;
-import com.hrt.common.security.annotation.RequiresLogin;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.annotation.RequiresRoles;
-
-/**
- * 基于 Spring Aop 的注解鉴权
- * 
- * @author kong
- */
-@Aspect
-@Component
-public class PreAuthorizeAspect
-{
-    /**
-     * 构建
-     */
-    public PreAuthorizeAspect()
-    {
-    }
-
-    /**
-     * 定义AOP签名 (切入所有使用鉴权注解的方法)
-     */
-    public static final String POINTCUT_SIGN = " @annotation(com.hrt.common.security.annotation.RequiresLogin) || "
-            + "@annotation(com.hrt.common.security.annotation.RequiresPermissions) || "
-            + "@annotation(com.hrt.common.security.annotation.RequiresRoles)";
-
-    /**
-     * 声明AOP签名
-     */
-    @Pointcut(POINTCUT_SIGN)
-    public void pointcut()
-    {
-    }
-
-    /**
-     * 环绕切入
-     * 
-     * @param joinPoint 切面对象
-     * @return 底层方法执行后的返回值
-     * @throws Throwable 底层方法抛出的异常
-     */
-    @Around("pointcut()")
-    public Object around(ProceedingJoinPoint joinPoint) throws Throwable
-    {
-        // 注解鉴权
-        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-        checkMethodAnnotation(signature.getMethod());
-        try
-        {
-            // 执行原有逻辑
-            Object obj = joinPoint.proceed();
-            return obj;
-        }
-        catch (Throwable e)
-        {
-            throw e;
-        }
-    }
-
-    /**
-     * 对一个Method对象进行注解检查
-     */
-    public void checkMethodAnnotation(Method method)
-    {
-        // 校验 @RequiresLogin 注解
-        RequiresLogin requiresLogin = method.getAnnotation(RequiresLogin.class);
-        if (requiresLogin != null)
-        {
-            AuthUtil.checkLogin();
-        }
-
-        // 校验 @RequiresRoles 注解
-        RequiresRoles requiresRoles = method.getAnnotation(RequiresRoles.class);
-        if (requiresRoles != null)
-        {
-            AuthUtil.checkRole(requiresRoles);
-        }
-
-        // 校验 @RequiresPermissions 注解
-        RequiresPermissions requiresPermissions = method.getAnnotation(RequiresPermissions.class);
-        if (requiresPermissions != null)
-        {
-            AuthUtil.checkPermi(requiresPermissions);
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthLogic.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthLogic.java
deleted file mode 100644
index 3c1f4be..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthLogic.java
+++ /dev/null
@@ -1,373 +0,0 @@
-package com.hrt.common.security.auth;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import org.springframework.util.PatternMatchUtils;
-import com.hrt.common.core.context.SecurityContextHolder;
-import com.hrt.common.core.exception.auth.NotLoginException;
-import com.hrt.common.core.exception.auth.NotPermissionException;
-import com.hrt.common.core.exception.auth.NotRoleException;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.security.annotation.Logical;
-import com.hrt.common.security.annotation.RequiresLogin;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.annotation.RequiresRoles;
-import com.hrt.common.security.service.TokenService;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * Token 权限验证,逻辑实现类
- * 
- * @author jqs
- */
-public class AuthLogic
-{
-    /** 所有权限标识 */
-    private static final String ALL_PERMISSION = "*:*:*";
-
-    /** 管理员角色权限标识 */
-    private static final String SUPER_ADMIN = "admin";
-
-    public TokenService tokenService = SpringUtils.getBean(TokenService.class);
-
-    /**
-     * 会话注销
-     */
-    public void logout()
-    {
-        String token = SecurityUtils.getToken();
-        if (token == null)
-        {
-            return;
-        }
-        logoutByToken(token);
-    }
-
-    /**
-     * 会话注销,根据指定Token
-     */
-    public void logoutByToken(String token)
-    {
-        tokenService.delLoginUser(token);
-    }
-
-    /**
-     * 检验用户是否已经登录,如未登录,则抛出异常
-     */
-    public void checkLogin()
-    {
-        getLoginUser();
-    }
-
-    /**
-     * 获取当前用户缓存信息, 如果未登录,则抛出异常
-     * 
-     * @return 用户缓存信息
-     */
-    public LoginUser getLoginUser()
-    {
-        String token = SecurityUtils.getToken();
-        if (token == null)
-        {
-            throw new NotLoginException("未提供token");
-        }
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        if (loginUser == null)
-        {
-            throw new NotLoginException("无效的token");
-        }
-        return loginUser;
-    }
-
-    /**
-     * 获取当前用户缓存信息, 如果未登录,则抛出异常
-     * 
-     * @param token 前端传递的认证信息
-     * @return 用户缓存信息
-     */
-    public LoginUser getLoginUser(String token)
-    {
-        return tokenService.getLoginUser(token);
-    }
-
-    /**
-     * 验证当前用户有效期, 如果相差不足120分钟,自动刷新缓存
-     * 
-     * @param loginUser 当前用户信息
-     */
-    public void verifyLoginUserExpire(LoginUser loginUser)
-    {
-        tokenService.verifyToken(loginUser);
-    }
-
-    /**
-     * 验证用户是否具备某权限
-     * 
-     * @param permission 权限字符串
-     * @return 用户是否具备某权限
-     */
-    public boolean hasPermi(String permission)
-    {
-        return hasPermi(getPermiList(), permission);
-    }
-
-    /**
-     * 验证用户是否具备某权限, 如果验证未通过,则抛出异常: NotPermissionException
-     * 
-     * @param permission 权限字符串
-     * @return 用户是否具备某权限
-     */
-    public void checkPermi(String permission)
-    {
-        if (!hasPermi(getPermiList(), permission))
-        {
-            throw new NotPermissionException(permission);
-        }
-    }
-
-    /**
-     * 根据注解(@RequiresPermissions)鉴权, 如果验证未通过,则抛出异常: NotPermissionException
-     * 
-     * @param requiresPermissions 注解对象
-     */
-    public void checkPermi(RequiresPermissions requiresPermissions)
-    {
-        SecurityContextHolder.setPermission(StringUtils.join(requiresPermissions.value(), ","));
-        if (requiresPermissions.logical() == Logical.AND)
-        {
-            checkPermiAnd(requiresPermissions.value());
-        }
-        else
-        {
-            checkPermiOr(requiresPermissions.value());
-        }
-    }
-
-    /**
-     * 验证用户是否含有指定权限,必须全部拥有
-     *
-     * @param permissions 权限列表
-     */
-    public void checkPermiAnd(String... permissions)
-    {
-        Set<String> permissionList = getPermiList();
-        for (String permission : permissions)
-        {
-            if (!hasPermi(permissionList, permission))
-            {
-                throw new NotPermissionException(permission);
-            }
-        }
-    }
-
-    /**
-     * 验证用户是否含有指定权限,只需包含其中一个
-     * 
-     * @param permissions 权限码数组
-     */
-    public void checkPermiOr(String... permissions)
-    {
-        Set<String> permissionList = getPermiList();
-        for (String permission : permissions)
-        {
-            if (hasPermi(permissionList, permission))
-            {
-                return;
-            }
-        }
-        if (permissions.length > 0)
-        {
-            throw new NotPermissionException(permissions);
-        }
-    }
-
-    /**
-     * 判断用户是否拥有某个角色
-     * 
-     * @param role 角色标识
-     * @return 用户是否具备某角色
-     */
-    public boolean hasRole(String role)
-    {
-        return hasRole(getRoleList(), role);
-    }
-
-    /**
-     * 判断用户是否拥有某个角色, 如果验证未通过,则抛出异常: NotRoleException
-     * 
-     * @param role 角色标识
-     */
-    public void checkRole(String role)
-    {
-        if (!hasRole(role))
-        {
-            throw new NotRoleException(role);
-        }
-    }
-
-    /**
-     * 根据注解(@RequiresRoles)鉴权
-     * 
-     * @param requiresRoles 注解对象
-     */
-    public void checkRole(RequiresRoles requiresRoles)
-    {
-        if (requiresRoles.logical() == Logical.AND)
-        {
-            checkRoleAnd(requiresRoles.value());
-        }
-        else
-        {
-            checkRoleOr(requiresRoles.value());
-        }
-    }
-
-    /**
-     * 验证用户是否含有指定角色,必须全部拥有
-     * 
-     * @param roles 角色标识数组
-     */
-    public void checkRoleAnd(String... roles)
-    {
-        Set<String> roleList = getRoleList();
-        for (String role : roles)
-        {
-            if (!hasRole(roleList, role))
-            {
-                throw new NotRoleException(role);
-            }
-        }
-    }
-
-    /**
-     * 验证用户是否含有指定角色,只需包含其中一个
-     * 
-     * @param roles 角色标识数组
-     */
-    public void checkRoleOr(String... roles)
-    {
-        Set<String> roleList = getRoleList();
-        for (String role : roles)
-        {
-            if (hasRole(roleList, role))
-            {
-                return;
-            }
-        }
-        if (roles.length > 0)
-        {
-            throw new NotRoleException(roles);
-        }
-    }
-
-    /**
-     * 根据注解(@RequiresLogin)鉴权
-     * 
-     * @param at 注解对象
-     */
-    public void checkByAnnotation(RequiresLogin at)
-    {
-        this.checkLogin();
-    }
-
-    /**
-     * 根据注解(@RequiresRoles)鉴权
-     * 
-     * @param at 注解对象
-     */
-    public void checkByAnnotation(RequiresRoles at)
-    {
-        String[] roleArray = at.value();
-        if (at.logical() == Logical.AND)
-        {
-            this.checkRoleAnd(roleArray);
-        }
-        else
-        {
-            this.checkRoleOr(roleArray);
-        }
-    }
-
-    /**
-     * 根据注解(@RequiresPermissions)鉴权
-     * 
-     * @param at 注解对象
-     */
-    public void checkByAnnotation(RequiresPermissions at)
-    {
-        String[] permissionArray = at.value();
-        if (at.logical() == Logical.AND)
-        {
-            this.checkPermiAnd(permissionArray);
-        }
-        else
-        {
-            this.checkPermiOr(permissionArray);
-        }
-    }
-
-    /**
-     * 获取当前账号的角色列表
-     * 
-     * @return 角色列表
-     */
-    public Set<String> getRoleList()
-    {
-        try
-        {
-            LoginUser loginUser = getLoginUser();
-            return loginUser.getRoles();
-        }
-        catch (Exception e)
-        {
-            return new HashSet<>();
-        }
-    }
-
-    /**
-     * 获取当前账号的权限列表
-     * 
-     * @return 权限列表
-     */
-    public Set<String> getPermiList()
-    {
-        try
-        {
-            LoginUser loginUser = getLoginUser();
-            return loginUser.getPermissions();
-        }
-        catch (Exception e)
-        {
-            return new HashSet<>();
-        }
-    }
-
-    /**
-     * 判断是否包含权限
-     * 
-     * @param authorities 权限列表
-     * @param permission 权限字符串
-     * @return 用户是否具备某权限
-     */
-    public boolean hasPermi(Collection<String> authorities, String permission)
-    {
-        return authorities.stream().filter(StringUtils::hasText)
-                .anyMatch(x -> ALL_PERMISSION.contains(x) || PatternMatchUtils.simpleMatch(x, permission));
-    }
-
-    /**
-     * 判断是否包含角色
-     * 
-     * @param roles 角色列表
-     * @param role 角色
-     * @return 用户是否具备某角色权限
-     */
-    public boolean hasRole(Collection<String> roles, String role)
-    {
-        return roles.stream().filter(StringUtils::hasText)
-                .anyMatch(x -> SUPER_ADMIN.contains(x) || PatternMatchUtils.simpleMatch(x, role));
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthUtil.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthUtil.java
deleted file mode 100644
index c7c1ba7..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/auth/AuthUtil.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package com.hrt.common.security.auth;
-
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.annotation.RequiresRoles;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * Token 权限验证工具类
- * 
- * @author jqs
- */
-public class AuthUtil
-{
-    /**
-     * 底层的 AuthLogic 对象
-     */
-    public static AuthLogic authLogic = new AuthLogic();
-
-    /**
-     * 会话注销
-     */
-    public static void logout()
-    {
-        authLogic.logout();
-    }
-
-    /**
-     * 会话注销,根据指定Token
-     * 
-     * @param token 指定token
-     */
-    public static void logoutByToken(String token)
-    {
-        authLogic.logoutByToken(token);
-    }
-
-    /**
-     * 检验当前会话是否已经登录,如未登录,则抛出异常
-     */
-    public static void checkLogin()
-    {
-        authLogic.checkLogin();
-    }
-
-    /**
-     * 获取当前登录用户信息
-     * 
-     * @param token 指定token
-     * @return 用户信息
-     */
-    public static LoginUser getLoginUser(String token)
-    {
-        return authLogic.getLoginUser(token);
-    }
-
-    /**
-     * 验证当前用户有效期
-     * 
-     * @param loginUser 用户信息
-     */
-    public static void verifyLoginUserExpire(LoginUser loginUser)
-    {
-        authLogic.verifyLoginUserExpire(loginUser);
-    }
-
-    /**
-     * 当前账号是否含有指定角色标识, 返回true或false
-     * 
-     * @param role 角色标识
-     * @return 是否含有指定角色标识
-     */
-    public static boolean hasRole(String role)
-    {
-        return authLogic.hasRole(role);
-    }
-
-    /**
-     * 当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException
-     * 
-     * @param role 角色标识
-     */
-    public static void checkRole(String role)
-    {
-        authLogic.checkRole(role);
-    }
-
-    /**
-     * 根据注解传入参数鉴权, 如果验证未通过,则抛出异常: NotRoleException
-     * 
-     * @param requiresRoles 角色权限注解
-     */
-    public static void checkRole(RequiresRoles requiresRoles)
-    {
-        authLogic.checkRole(requiresRoles);
-    }
-
-    /**
-     * 当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]
-     * 
-     * @param roles 角色标识数组
-     */
-    public static void checkRoleAnd(String... roles)
-    {
-        authLogic.checkRoleAnd(roles);
-    }
-
-    /**
-     * 当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]
-     * 
-     * @param roles 角色标识数组
-     */
-    public static void checkRoleOr(String... roles)
-    {
-        authLogic.checkRoleOr(roles);
-    }
-
-    /**
-     * 当前账号是否含有指定权限, 返回true或false
-     * 
-     * @param permission 权限码
-     * @return 是否含有指定权限
-     */
-    public static boolean hasPermi(String permission)
-    {
-        return authLogic.hasPermi(permission);
-    }
-
-    /**
-     * 当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionException
-     * 
-     * @param permission 权限码
-     */
-    public static void checkPermi(String permission)
-    {
-        authLogic.checkPermi(permission);
-    }
-
-    /**
-     * 根据注解传入参数鉴权, 如果验证未通过,则抛出异常: NotPermissionException
-     * 
-     * @param requiresPermissions 权限注解
-     */
-    public static void checkPermi(RequiresPermissions requiresPermissions)
-    {
-        authLogic.checkPermi(requiresPermissions);
-    }
-
-    /**
-     * 当前账号是否含有指定权限 [指定多个,必须全部验证通过]
-     * 
-     * @param permissions 权限码数组
-     */
-    public static void checkPermiAnd(String... permissions)
-    {
-        authLogic.checkPermiAnd(permissions);
-    }
-
-    /**
-     * 当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]
-     * 
-     * @param permissions 权限码数组
-     */
-    public static void checkPermiOr(String... permissions)
-    {
-        authLogic.checkPermiOr(permissions);
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/ApplicationConfig.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/ApplicationConfig.java
deleted file mode 100644
index a3ac9b7..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/ApplicationConfig.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.common.security.config;
-
-import java.util.TimeZone;
-import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
-import org.springframework.context.annotation.Bean;
-
-/**
- * 系统配置
- *
- * @author jqs
- */
-public class ApplicationConfig
-{
-    /**
-     * 时区配置
-     */
-    @Bean
-    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization()
-    {
-        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/WebMvcConfig.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/WebMvcConfig.java
deleted file mode 100644
index 4b00aac..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/config/WebMvcConfig.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hrt.common.security.config;
-
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import com.hrt.common.security.interceptor.HeaderInterceptor;
-
-/**
- * 拦截器配置
- *
- * @author jqs
- */
-public class WebMvcConfig implements WebMvcConfigurer
-{
-    /** 不需要拦截地址 */
-    public static final String[] excludeUrls = { "/login", "/logout", "/refresh" };
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry)
-    {
-        registry.addInterceptor(getHeaderInterceptor())
-                .addPathPatterns("/**")
-                .excludePathPatterns(excludeUrls)
-                .order(-10);
-    }
-
-    /**
-     * 自定义请求头拦截器
-     */
-    public HeaderInterceptor getHeaderInterceptor()
-    {
-        return new HeaderInterceptor();
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignAutoConfiguration.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignAutoConfiguration.java
deleted file mode 100644
index 5050b66..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignAutoConfiguration.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.common.security.feign;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import feign.RequestInterceptor;
-
-/**
- * Feign 配置注册
- *
- * @author jqs
- **/
-@Configuration
-public class FeignAutoConfiguration
-{
-    @Bean
-    public RequestInterceptor requestInterceptor()
-    {
-        return new FeignRequestInterceptor();
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignRequestInterceptor.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignRequestInterceptor.java
deleted file mode 100644
index 8a0a13b..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/feign/FeignRequestInterceptor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.common.security.feign;
-
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.ip.IpUtils;
-import feign.RequestInterceptor;
-import feign.RequestTemplate;
-
-/**
- * feign 请求拦截器
- * 
- * @author jqs
- */
-@Component
-public class FeignRequestInterceptor implements RequestInterceptor
-{
-    @Override
-    public void apply(RequestTemplate requestTemplate)
-    {
-        HttpServletRequest httpServletRequest = ServletUtils.getRequest();
-        if (StringUtils.isNotNull(httpServletRequest))
-        {
-            Map<String, String> headers = ServletUtils.getHeaders(httpServletRequest);
-            // 传递用户信息请求头,防止丢失
-            String userId = headers.get(SecurityConstants.DETAILS_USER_ID);
-            if (StringUtils.isNotEmpty(userId))
-            {
-                requestTemplate.header(SecurityConstants.DETAILS_USER_ID, userId);
-            }
-            String userKey = headers.get(SecurityConstants.USER_KEY);
-            if (StringUtils.isNotEmpty(userKey))
-            {
-                requestTemplate.header(SecurityConstants.USER_KEY, userKey);
-            }
-            String userName = headers.get(SecurityConstants.DETAILS_USERNAME);
-            if (StringUtils.isNotEmpty(userName))
-            {
-                requestTemplate.header(SecurityConstants.DETAILS_USERNAME, userName);
-            }
-            String authentication = headers.get(SecurityConstants.AUTHORIZATION_HEADER);
-            if (StringUtils.isNotEmpty(authentication))
-            {
-                requestTemplate.header(SecurityConstants.AUTHORIZATION_HEADER, authentication);
-            }
-
-            // 配置客户端IP
-            requestTemplate.header("X-Forwarded-For", IpUtils.getIpAddr());
-        }
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/handler/GlobalExceptionHandler.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/handler/GlobalExceptionHandler.java
deleted file mode 100644
index 982fbb2..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/handler/GlobalExceptionHandler.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package com.hrt.common.security.handler;
-
-import javax.servlet.http.HttpServletRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.validation.BindException;
-import org.springframework.web.HttpRequestMethodNotSupportedException;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.RestControllerAdvice;
-import com.hrt.common.core.constant.HttpStatus;
-import com.hrt.common.core.exception.DemoModeException;
-import com.hrt.common.core.exception.InnerAuthException;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.exception.auth.NotPermissionException;
-import com.hrt.common.core.exception.auth.NotRoleException;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.domain.AjaxResult;
-
-/**
- * 全局异常处理器
- * 
- * @author jqs
- */
-@RestControllerAdvice
-public class GlobalExceptionHandler
-{
-    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
-
-    /**
-     * 权限码异常
-     */
-    @ExceptionHandler(NotPermissionException.class)
-    public AjaxResult handleNotPermissionException(NotPermissionException e, HttpServletRequest request)
-    {
-        String requestURI = request.getRequestURI();
-        log.error("请求地址'{}',权限码校验失败'{}'", requestURI, e.getMessage());
-        return AjaxResult.error(HttpStatus.FORBIDDEN, "没有访问权限,请联系管理员授权");
-    }
-
-    /**
-     * 角色权限异常
-     */
-    @ExceptionHandler(NotRoleException.class)
-    public AjaxResult handleNotRoleException(NotRoleException e, HttpServletRequest request)
-    {
-        String requestURI = request.getRequestURI();
-        log.error("请求地址'{}',角色权限校验失败'{}'", requestURI, e.getMessage());
-        return AjaxResult.error(HttpStatus.FORBIDDEN, "没有访问权限,请联系管理员授权");
-    }
-
-    /**
-     * 请求方式不支持
-     */
-    @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
-    public AjaxResult handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e,
-            HttpServletRequest request)
-    {
-        String requestURI = request.getRequestURI();
-        log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod());
-        return AjaxResult.error(e.getMessage());
-    }
-
-    /**
-     * 业务异常
-     */
-    @ExceptionHandler(ServiceException.class)
-    public AjaxResult handleServiceException(ServiceException e, HttpServletRequest request)
-    {
-        log.error(e.getMessage(), e);
-        Integer code = e.getCode();
-        return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage());
-    }
-
-    /**
-     * 拦截未知的运行时异常
-     */
-    @ExceptionHandler(RuntimeException.class)
-    public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request)
-    {
-        String requestURI = request.getRequestURI();
-        log.error("请求地址'{}',发生未知异常.", requestURI, e);
-        return AjaxResult.error(e.getMessage());
-    }
-
-    /**
-     * 系统异常
-     */
-    @ExceptionHandler(Exception.class)
-    public AjaxResult handleException(Exception e, HttpServletRequest request)
-    {
-        String requestURI = request.getRequestURI();
-        log.error("请求地址'{}',发生系统异常.", requestURI, e);
-        return AjaxResult.error(e.getMessage());
-    }
-
-    /**
-     * 自定义验证异常
-     */
-    @ExceptionHandler(BindException.class)
-    public AjaxResult handleBindException(BindException e)
-    {
-        log.error(e.getMessage(), e);
-        String message = e.getAllErrors().get(0).getDefaultMessage();
-        return AjaxResult.error(message);
-    }
-
-    /**
-     * 自定义验证异常
-     */
-    @ExceptionHandler(MethodArgumentNotValidException.class)
-    public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e)
-    {
-        log.error(e.getMessage(), e);
-        String message = e.getBindingResult().getFieldError().getDefaultMessage();
-        return AjaxResult.error(message);
-    }
-
-    /**
-     * 内部认证异常
-     */
-    @ExceptionHandler(InnerAuthException.class)
-    public AjaxResult handleInnerAuthException(InnerAuthException e)
-    {
-        return AjaxResult.error(e.getMessage());
-    }
-
-    /**
-     * 演示模式异常
-     */
-    @ExceptionHandler(DemoModeException.class)
-    public AjaxResult handleDemoModeException(DemoModeException e)
-    {
-        return AjaxResult.error("演示模式,不允许操作");
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/interceptor/HeaderInterceptor.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/interceptor/HeaderInterceptor.java
deleted file mode 100644
index b7b953e..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/interceptor/HeaderInterceptor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.hrt.common.security.interceptor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.common.security.auth.AuthUtil;
-import com.hrt.common.security.utils.SecurityUtils;
-import org.springframework.web.method.HandlerMethod;
-import org.springframework.web.servlet.AsyncHandlerInterceptor;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.context.SecurityContextHolder;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * 自定义请求头拦截器,将Header数据封装到线程变量中方便获取
- * 注意:此拦截器会同时验证当前用户有效期自动刷新有效期
- *
- * @author jqs
- */
-public class HeaderInterceptor implements AsyncHandlerInterceptor
-{
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
-    {
-        if (!(handler instanceof HandlerMethod))
-        {
-            return true;
-        }
-
-        SecurityContextHolder.setUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USER_ID));
-        SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME));
-        SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY));
-
-        String token = SecurityUtils.getToken();
-        if (StringUtils.isNotEmpty(token))
-        {
-            LoginUser loginUser = AuthUtil.getLoginUser(token);
-            if (StringUtils.isNotNull(loginUser))
-            {
-                AuthUtil.verifyLoginUserExpire(loginUser);
-                SecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser);
-            }
-        }
-        return true;
-    }
-
-    @Override
-    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
-            throws Exception
-    {
-        SecurityContextHolder.remove();
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/service/TokenService.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/service/TokenService.java
deleted file mode 100644
index e1035e2..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/service/TokenService.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package com.hrt.common.security.service;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import javax.servlet.http.HttpServletRequest;
-
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.model.AppMiniLoginVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.utils.JwtUtils;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.ip.IpUtils;
-import com.hrt.common.core.utils.uuid.IdUtils;
-import com.hrt.common.redis.service.RedisService;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * token验证处理
- * 
- * @author jqs
- */
-@Component
-public class TokenService
-{
-    @Autowired
-    private RedisService redisService;
-
-    protected static final long MILLIS_SECOND = 1000;
-
-    protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
-
-    private final static long expireTime = CacheConstants.EXPIRATION;
-
-    private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY;
-
-    private final static Long MILLIS_MINUTE_TEN = CacheConstants.REFRESH_TIME * MILLIS_MINUTE;
-
-    /**
-     * 创建令牌
-     */
-    public Map<String, Object> createToken(LoginUser loginUser)
-    {
-        String token = IdUtils.fastUUID();
-        Long userId = loginUser.getSysUser().getUserId();
-        String userName = loginUser.getSysUser().getUserName();
-        loginUser.setToken(token);
-        loginUser.setUserid(userId);
-        loginUser.setUsername(userName);
-        loginUser.setIpaddr(IpUtils.getIpAddr());
-        refreshToken(loginUser);
-
-        // Jwt存储信息
-        Map<String, Object> claimsMap = new HashMap<String, Object>();
-        claimsMap.put(SecurityConstants.USER_KEY, token);
-        claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
-        claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
-
-        // 接口返回信息
-        Map<String, Object> rspMap = new HashMap<String, Object>();
-        rspMap.put("access_token", JwtUtils.createToken(claimsMap));
-        rspMap.put("expires_in", expireTime);
-        return rspMap;
-    }
-
-    /**
-     * 创建小程序令牌
-     */
-    public Map<String, Object> createMiniToken(AppMiniLoginVo appMiniLoginVo)
-    {
-        LoginUser loginUser = new LoginUser();
-        loginUser.setSysUser(appMiniLoginVo.getSysUser());
-        String token = IdUtils.fastUUID();
-        Long userId = loginUser.getSysUser().getUserId();
-        String userName = loginUser.getSysUser().getUserName();
-        loginUser.setToken(token);
-        loginUser.setUserid(userId);
-        loginUser.setUsername(userName);
-        loginUser.setIpaddr(IpUtils.getIpAddr());
-        refreshToken(loginUser);
-
-        // Jwt存储信息
-        Map<String, Object> claimsMap = new HashMap<String, Object>();
-        claimsMap.put(SecurityConstants.USER_KEY, token);
-        claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
-        claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
-
-        // 接口返回信息
-        Map<String, Object> rspMap = new HashMap<String, Object>();
-        rspMap.put("access_token", JwtUtils.createToken(claimsMap));
-        rspMap.put("expires_in", expireTime);
-        rspMap.put("mini_openid", appMiniLoginVo.getMiniOpenid());
-        return rspMap;
-    }
-
-    /**
-     * 获取用户身份信息
-     *
-     * @return 用户信息
-     */
-    public LoginUser getLoginUser()
-    {
-        return getLoginUser(ServletUtils.getRequest());
-    }
-
-    /**
-     * 获取用户身份信息
-     *
-     * @return 用户信息
-     */
-    public LoginUser getLoginUser(HttpServletRequest request)
-    {
-        // 获取请求携带的令牌
-        String token = SecurityUtils.getToken(request);
-        return getLoginUser(token);
-    }
-
-    /**
-     * 获取用户身份信息
-     *
-     * @return 用户信息
-     */
-    public LoginUser getLoginUser(String token)
-    {
-        LoginUser user = null;
-        try
-        {
-            if (StringUtils.isNotEmpty(token))
-            {
-                String userkey = JwtUtils.getUserKey(token);
-                user = redisService.getCacheObject(getTokenKey(userkey));
-                return user;
-            }
-        }
-        catch (Exception e)
-        {
-        }
-        return user;
-    }
-
-    /**
-     * 设置用户身份信息
-     */
-    public void setLoginUser(LoginUser loginUser)
-    {
-        if (StringUtils.isNotNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken()))
-        {
-            refreshToken(loginUser);
-        }
-    }
-
-    /**
-     * 删除用户缓存信息
-     */
-    public void delLoginUser(String token)
-    {
-        if (StringUtils.isNotEmpty(token))
-        {
-            String userkey = JwtUtils.getUserKey(token);
-            redisService.deleteObject(getTokenKey(userkey));
-        }
-    }
-
-    /**
-     * 验证令牌有效期,相差不足120分钟,自动刷新缓存
-     *
-     * @param loginUser
-     */
-    public void verifyToken(LoginUser loginUser)
-    {
-        long expireTime = loginUser.getExpireTime();
-        long currentTime = System.currentTimeMillis();
-        if (expireTime - currentTime <= MILLIS_MINUTE_TEN)
-        {
-            refreshToken(loginUser);
-        }
-    }
-
-    /**
-     * 刷新令牌有效期
-     *
-     * @param loginUser 登录信息
-     */
-    public void refreshToken(LoginUser loginUser)
-    {
-        loginUser.setLoginTime(System.currentTimeMillis());
-        loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
-        // 根据uuid将loginUser缓存
-        String userKey = getTokenKey(loginUser.getToken());
-        redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
-    }
-
-    private String getTokenKey(String token)
-    {
-        return ACCESS_TOKEN + token;
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/DictUtils.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/DictUtils.java
deleted file mode 100644
index 8a2764c..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/DictUtils.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.hrt.common.security.utils;
-
-import java.util.Collection;
-import java.util.List;
-import com.alibaba.fastjson2.JSONArray;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.redis.service.RedisService;
-import com.hrt.system.api.domain.SysDictData;
-
-/**
- * 字典工具类
- * 
- * @author jqs
- */
-public class DictUtils
-{
-    /**
-     * 设置字典缓存
-     * 
-     * @param key 参数键
-     * @param dictDatas 字典数据列表
-     */
-    public static void setDictCache(String key, List<SysDictData> dictDatas)
-    {
-        SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas);
-    }
-
-    /**
-     * 获取字典缓存
-     * 
-     * @param key 参数键
-     * @return dictDatas 字典数据列表
-     */
-    public static List<SysDictData> getDictCache(String key)
-    {
-        JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(key));
-        if (StringUtils.isNotNull(arrayCache))
-        {
-            return arrayCache.toList(SysDictData.class);
-        }
-        return null;
-    }
-
-    /**
-     * 删除指定字典缓存
-     * 
-     * @param key 字典键
-     */
-    public static void removeDictCache(String key)
-    {
-        SpringUtils.getBean(RedisService.class).deleteObject(getCacheKey(key));
-    }
-
-    /**
-     * 清空字典缓存
-     */
-    public static void clearDictCache()
-    {
-        Collection<String> keys = SpringUtils.getBean(RedisService.class).keys(CacheConstants.SYS_DICT_KEY + "*");
-        SpringUtils.getBean(RedisService.class).deleteObject(keys);
-    }
-
-    /**
-     * 设置cache key
-     * 
-     * @param configKey 参数键
-     * @return 缓存键key
-     */
-    public static String getCacheKey(String configKey)
-    {
-        return CacheConstants.SYS_DICT_KEY + configKey;
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/SecurityUtils.java b/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/SecurityUtils.java
deleted file mode 100644
index 3366ddf..0000000
--- a/hrt-common/hrt-common-security/src/main/java/com/hrt/common/security/utils/SecurityUtils.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.hrt.common.security.utils;
-
-import javax.servlet.http.HttpServletRequest;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.constant.TokenConstants;
-import com.hrt.common.core.context.SecurityContextHolder;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.system.api.model.LoginUser;
-
-/**
- * 权限获取工具类
- * 
- * @author jqs
- */
-public class SecurityUtils
-{
-    /**
-     * 获取用户ID
-     */
-    public static Long getUserId()
-    {
-        return SecurityContextHolder.getUserId();
-    }
-
-    /**
-     * 获取用户名称
-     */
-    public static String getUsername()
-    {
-        return SecurityContextHolder.getUserName();
-    }
-
-    /**
-     * 获取用户key
-     */
-    public static String getUserKey()
-    {
-        return SecurityContextHolder.getUserKey();
-    }
-
-    /**
-     * 获取登录用户信息
-     */
-    public static LoginUser getLoginUser()
-    {
-        return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class);
-    }
-
-    /**
-     * 获取请求token
-     */
-    public static String getToken()
-    {
-        return getToken(ServletUtils.getRequest());
-    }
-
-    /**
-     * 根据request获取请求token
-     */
-    public static String getToken(HttpServletRequest request)
-    {
-        // 从header获取token标识
-        String token = request.getHeader(TokenConstants.AUTHENTICATION);
-        return replaceTokenPrefix(token);
-    }
-
-    /**
-     * 裁剪token前缀
-     */
-    public static String replaceTokenPrefix(String token)
-    {
-        // 如果前端设置了令牌前缀,则裁剪掉前缀
-        if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX))
-        {
-            token = token.replaceFirst(TokenConstants.PREFIX, "");
-        }
-        return token;
-    }
-
-    /**
-     * 是否为管理员
-     * 
-     * @param userId 用户ID
-     * @return 结果
-     */
-    public static boolean isAdmin(Long userId)
-    {
-        return userId != null && 1L == userId;
-    }
-
-    /**
-     * 生成BCryptPasswordEncoder密码
-     *
-     * @param password 密码
-     * @return 加密字符串
-     */
-    public static String encryptPassword(String password)
-    {
-        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
-        return passwordEncoder.encode(password);
-    }
-
-    /**
-     * 判断密码是否相同
-     *
-     * @param rawPassword 真实密码
-     * @param encodedPassword 加密后字符
-     * @return 结果
-     */
-    public static boolean matchesPassword(String rawPassword, String encodedPassword)
-    {
-        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
-        return passwordEncoder.matches(rawPassword, encodedPassword);
-    }
-}
diff --git a/hrt-common/hrt-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 1df20f2..0000000
--- a/hrt-common/hrt-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,5 +0,0 @@
-com.hrt.common.security.config.WebMvcConfig
-com.hrt.common.security.service.TokenService
-com.hrt.common.security.aspect.PreAuthorizeAspect
-com.hrt.common.security.aspect.InnerAuthAspect
-com.hrt.common.security.handler.GlobalExceptionHandler
diff --git a/hrt-common/hrt-common-swagger/pom.xml b/hrt-common/hrt-common-swagger/pom.xml
deleted file mode 100644
index 03f7ba5..0000000
--- a/hrt-common/hrt-common-swagger/pom.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-common</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    
-    <artifactId>hrt-common-swagger</artifactId>
-	
-    <description>
-        hrt-common-swagger系统接口
-    </description>
-
-	<dependencies>
-
-        <!-- SpringBoot Web -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-
-        <!-- Swagger -->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>${swagger.fox.version}</version>
-        </dependency>
-
-	</dependencies>
-</project>
diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/annotation/EnableCustomSwagger2.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/annotation/EnableCustomSwagger2.java
deleted file mode 100644
index 3de49ad..0000000
--- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/annotation/EnableCustomSwagger2.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hrt.common.swagger.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import com.hrt.common.swagger.config.SwaggerAutoConfiguration;
-import org.springframework.context.annotation.Import;
-
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Inherited
-@Import({ SwaggerAutoConfiguration.class })
-public @interface EnableCustomSwagger2
-{
-
-}
diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerAutoConfiguration.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerAutoConfiguration.java
deleted file mode 100644
index 46b3f56..0000000
--- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerAutoConfiguration.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.hrt.common.swagger.config;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.function.Predicate;
-
-import io.swagger.annotations.ApiOperation;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.web.bind.annotation.RestController;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.ApiKey;
-import springfox.documentation.service.AuthorizationScope;
-import springfox.documentation.service.Contact;
-import springfox.documentation.service.SecurityReference;
-import springfox.documentation.service.SecurityScheme;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spi.service.contexts.SecurityContext;
-import springfox.documentation.spring.web.plugins.ApiSelectorBuilder;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-@Configuration
-@EnableSwagger2
-@EnableConfigurationProperties(SwaggerProperties.class)
-@ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true)
-@Import({SwaggerBeanPostProcessor.class, SwaggerWebConfiguration.class})
-public class SwaggerAutoConfiguration
-{
-    /**
-     * 默认的排除路径,排除Spring Boot默认的错误处理路径和端点
-     */
-    private static final List<String> DEFAULT_EXCLUDE_PATH = Arrays.asList("/error", "/actuator/**");
-
-    private static final String BASE_PATH = "/**";
-
-    @Bean
-    public Docket api(SwaggerProperties swaggerProperties)
-    {
-        // base-path处理
-        if (swaggerProperties.getBasePath().isEmpty())
-        {
-            swaggerProperties.getBasePath().add(BASE_PATH);
-        }
-        // noinspection unchecked
-        List<Predicate<String>> basePath = new ArrayList<Predicate<String>>();
-        swaggerProperties.getBasePath().forEach(path -> basePath.add(PathSelectors.ant(path)));
-
-        // exclude-path处理
-        if (swaggerProperties.getExcludePath().isEmpty())
-        {
-            swaggerProperties.getExcludePath().addAll(DEFAULT_EXCLUDE_PATH);
-        }
-
-        List<Predicate<String>> excludePath = new ArrayList<>();
-        swaggerProperties.getExcludePath().forEach(path -> excludePath.add(PathSelectors.ant(path)));
-
-        ApiSelectorBuilder builder = new Docket(DocumentationType.SWAGGER_2).host(swaggerProperties.getHost())
-                .apiInfo(apiInfo(swaggerProperties)).select()
-                //.apis(RequestHandlerSelectors.basePackage(swaggerProperties.getBasePackage()));
-                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class));
-                //.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class));
-
-        swaggerProperties.getBasePath().forEach(p -> builder.paths(PathSelectors.ant(p)));
-        swaggerProperties.getExcludePath().forEach(p -> builder.paths(PathSelectors.ant(p).negate()));
-
-        return builder.build().securitySchemes(securitySchemes()).securityContexts(securityContexts()).pathMapping("/");
-    }
-
-    /**
-     * 安全模式,这里指定token通过Authorization头请求头传递
-     */
-    private List<SecurityScheme> securitySchemes()
-    {
-        List<SecurityScheme> apiKeyList = new ArrayList<SecurityScheme>();
-        apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
-        return apiKeyList;
-    }
-
-    /**
-     * 安全上下文
-     */
-    private List<SecurityContext> securityContexts()
-    {
-        List<SecurityContext> securityContexts = new ArrayList<>();
-        securityContexts.add(
-                SecurityContext.builder()
-                        .securityReferences(defaultAuth())
-                        .operationSelector(o -> o.requestMappingPattern().matches("/.*"))
-                        .build());
-        return securityContexts;
-    }
-
-    /**
-     * 默认的全局鉴权策略
-     *
-     * @return
-     */
-    private List<SecurityReference> defaultAuth()
-    {
-        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
-        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
-        authorizationScopes[0] = authorizationScope;
-        List<SecurityReference> securityReferences = new ArrayList<>();
-        securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
-        return securityReferences;
-    }
-
-    private ApiInfo apiInfo(SwaggerProperties swaggerProperties)
-    {
-         return new ApiInfoBuilder()
-             .title(swaggerProperties.getTitle())
-             .description(swaggerProperties.getDescription())
-             .license(swaggerProperties.getLicense())
-             .licenseUrl(swaggerProperties.getLicenseUrl())
-             .termsOfServiceUrl(swaggerProperties.getTermsOfServiceUrl())
-             .contact(new Contact(swaggerProperties.getContact().getName(), swaggerProperties.getContact().getUrl(), swaggerProperties.getContact().getEmail()))
-             .version(swaggerProperties.getVersion())
-             .build();
-    }
-}
diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerBeanPostProcessor.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerBeanPostProcessor.java
deleted file mode 100644
index af78ddf..0000000
--- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerBeanPostProcessor.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.hrt.common.swagger.config;
-
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.util.ReflectionUtils;
-import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
-import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider;
-import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
-import java.lang.reflect.Field;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * swagger 在 springboot 2.6.x 不兼容问题的处理
- *
- * @author jqs
- */
-public class SwaggerBeanPostProcessor implements BeanPostProcessor
-{
-    @Override
-    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException
-    {
-        if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider)
-        {
-            customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
-        }
-        return bean;
-    }
-
-    private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings)
-    {
-        List<T> copy = mappings.stream().filter(mapping -> mapping.getPatternParser() == null)
-                .collect(Collectors.toList());
-        mappings.clear();
-        mappings.addAll(copy);
-    }
-
-    @SuppressWarnings("unchecked")
-    private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean)
-    {
-        try
-        {
-            Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
-            field.setAccessible(true);
-            return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
-        }
-        catch (IllegalArgumentException | IllegalAccessException e)
-        {
-            throw new IllegalStateException(e);
-        }
-    }
-}
diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerProperties.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerProperties.java
deleted file mode 100644
index 13d56ba..0000000
--- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerProperties.java
+++ /dev/null
@@ -1,343 +0,0 @@
-package com.hrt.common.swagger.config;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@ConfigurationProperties("swagger")
-public class SwaggerProperties
-{
-    /**
-     * 是否开启swagger
-     */
-    private Boolean enabled;
-
-    /**
-     * swagger会解析的包路径
-     **/
-    private String basePackage = "";
-
-    /**
-     * swagger会解析的url规则
-     **/
-    private List<String> basePath = new ArrayList<>();
-
-    /**
-     * 在basePath基础上需要排除的url规则
-     **/
-    private List<String> excludePath = new ArrayList<>();
-
-    /**
-     * 标题
-     **/
-    private String title = "";
-
-    /**
-     * 描述
-     **/
-    private String description = "";
-
-    /**
-     * 版本
-     **/
-    private String version = "";
-
-    /**
-     * 许可证
-     **/
-    private String license = "";
-
-    /**
-     * 许可证URL
-     **/
-    private String licenseUrl = "";
-
-    /**
-     * 服务条款URL
-     **/
-    private String termsOfServiceUrl = "";
-
-    /**
-     * host信息
-     **/
-    private String host = "";
-
-    /**
-     * 联系人信息
-     */
-    private Contact contact = new Contact();
-
-    /**
-     * 全局统一鉴权配置
-     **/
-    private Authorization authorization = new Authorization();
-
-    public Boolean getEnabled()
-    {
-        return enabled;
-    }
-
-    public void setEnabled(Boolean enabled)
-    {
-        this.enabled = enabled;
-    }
-
-    public String getBasePackage()
-    {
-        return basePackage;
-    }
-
-    public void setBasePackage(String basePackage)
-    {
-        this.basePackage = basePackage;
-    }
-
-    public List<String> getBasePath()
-    {
-        return basePath;
-    }
-
-    public void setBasePath(List<String> basePath)
-    {
-        this.basePath = basePath;
-    }
-
-    public List<String> getExcludePath()
-    {
-        return excludePath;
-    }
-
-    public void setExcludePath(List<String> excludePath)
-    {
-        this.excludePath = excludePath;
-    }
-
-    public String getTitle()
-    {
-        return title;
-    }
-
-    public void setTitle(String title)
-    {
-        this.title = title;
-    }
-
-    public String getDescription()
-    {
-        return description;
-    }
-
-    public void setDescription(String description)
-    {
-        this.description = description;
-    }
-
-    public String getVersion()
-    {
-        return version;
-    }
-
-    public void setVersion(String version)
-    {
-        this.version = version;
-    }
-
-    public String getLicense()
-    {
-        return license;
-    }
-
-    public void setLicense(String license)
-    {
-        this.license = license;
-    }
-
-    public String getLicenseUrl()
-    {
-        return licenseUrl;
-    }
-
-    public void setLicenseUrl(String licenseUrl)
-    {
-        this.licenseUrl = licenseUrl;
-    }
-
-    public String getTermsOfServiceUrl()
-    {
-        return termsOfServiceUrl;
-    }
-
-    public void setTermsOfServiceUrl(String termsOfServiceUrl)
-    {
-        this.termsOfServiceUrl = termsOfServiceUrl;
-    }
-
-    public String getHost()
-    {
-        return host;
-    }
-
-    public void setHost(String host)
-    {
-        this.host = host;
-    }
-
-    public Contact getContact()
-    {
-        return contact;
-    }
-
-    public void setContact(Contact contact)
-    {
-        this.contact = contact;
-    }
-
-    public Authorization getAuthorization()
-    {
-        return authorization;
-    }
-
-    public void setAuthorization(Authorization authorization)
-    {
-        this.authorization = authorization;
-    }
-
-    public static class Contact
-    {
-        /**
-         * 联系人
-         **/
-        private String name = "";
-        /**
-         * 联系人url
-         **/
-        private String url = "";
-        /**
-         * 联系人email
-         **/
-        private String email = "";
-
-        public String getName()
-        {
-            return name;
-        }
-
-        public void setName(String name)
-        {
-            this.name = name;
-        }
-
-        public String getUrl()
-        {
-            return url;
-        }
-
-        public void setUrl(String url)
-        {
-            this.url = url;
-        }
-
-        public String getEmail()
-        {
-            return email;
-        }
-
-        public void setEmail(String email)
-        {
-            this.email = email;
-        }
-    }
-
-    public static class Authorization
-    {
-        /**
-         * 鉴权策略ID,需要和SecurityReferences ID保持一致
-         */
-        private String name = "";
-
-        /**
-         * 需要开启鉴权URL的正则
-         */
-        private String authRegex = "^.*$";
-
-        /**
-         * 鉴权作用域列表
-         */
-        private List<AuthorizationScope> authorizationScopeList = new ArrayList<>();
-
-        private List<String> tokenUrlList = new ArrayList<>();
-
-        public String getName()
-        {
-            return name;
-        }
-
-        public void setName(String name)
-        {
-            this.name = name;
-        }
-
-        public String getAuthRegex()
-        {
-            return authRegex;
-        }
-
-        public void setAuthRegex(String authRegex)
-        {
-            this.authRegex = authRegex;
-        }
-
-        public List<AuthorizationScope> getAuthorizationScopeList()
-        {
-            return authorizationScopeList;
-        }
-
-        public void setAuthorizationScopeList(List<AuthorizationScope> authorizationScopeList)
-        {
-            this.authorizationScopeList = authorizationScopeList;
-        }
-
-        public List<String> getTokenUrlList()
-        {
-            return tokenUrlList;
-        }
-
-        public void setTokenUrlList(List<String> tokenUrlList)
-        {
-            this.tokenUrlList = tokenUrlList;
-        }
-    }
-
-    public static class AuthorizationScope
-    {
-        /**
-         * 作用域名称
-         */
-        private String scope = "";
-
-        /**
-         * 作用域描述
-         */
-        private String description = "";
-
-        public String getScope()
-        {
-            return scope;
-        }
-
-        public void setScope(String scope)
-        {
-            this.scope = scope;
-        }
-
-        public String getDescription()
-        {
-            return description;
-        }
-
-        public void setDescription(String description)
-        {
-            this.description = description;
-        }
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerWebConfiguration.java b/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerWebConfiguration.java
deleted file mode 100644
index 1020579..0000000
--- a/hrt-common/hrt-common-swagger/src/main/java/com/hrt/common/swagger/config/SwaggerWebConfiguration.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.common.swagger.config;
-
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-/**
- * swagger 资源映射路径
- * 
- * @author jqs
- */
-public class SwaggerWebConfiguration implements WebMvcConfigurer
-{
-    @Override
-    public void addResourceHandlers(ResourceHandlerRegistry registry)
-    {
-        /** swagger-ui 地址 */
-        registry.addResourceHandler("/swagger-ui/**")
-                .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/");
-    }
-}
\ No newline at end of file
diff --git a/hrt-common/hrt-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/hrt-common/hrt-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index e9143e1..0000000
--- a/hrt-common/hrt-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,3 +0,0 @@
-# com.hrt.common.swagger.config.SwaggerAutoConfiguration
-# com.hrt.common.swagger.config.SwaggerWebConfiguration
-# com.hrt.common.swagger.config.SwaggerBeanPostProcessor
diff --git a/hrt-common/pom.xml b/hrt-common/pom.xml
deleted file mode 100644
index a876382..0000000
--- a/hrt-common/pom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <modules>
-        <module>hrt-common-log</module>
-        <module>hrt-common-core</module>
-        <module>hrt-common-redis</module>
-        <module>hrt-common-seata</module>
-        <module>hrt-common-swagger</module>
-        <module>hrt-common-security</module>
-        <module>hrt-common-datascope</module>
-        <module>hrt-common-datasource</module>
-    </modules>
-
-    <artifactId>hrt-common</artifactId>
-    <packaging>pom</packaging>
-
-    <description>
-        hrt-common通用模块
-    </description>
-
-</project>
diff --git a/hrt-gateway/pom.xml b/hrt-gateway/pom.xml
deleted file mode 100644
index b511066..0000000
--- a/hrt-gateway/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hrt-gateway</artifactId>
-
-    <description>
-        hrt-gateway网关模块
-    </description>
-
-    <dependencies>
-
-        <!-- SpringCloud Gateway -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-gateway</artifactId>
-        </dependency>
-
-        <!-- SpringCloud Alibaba Nacos -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        </dependency>
-
-        <!-- SpringCloud Alibaba Nacos Config -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-        </dependency>
-
-        <!-- SpringCloud Alibaba Sentinel -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
-        </dependency>
-
-        <!-- SpringCloud Alibaba Sentinel Gateway -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
-        </dependency>
-
-        <!-- Sentinel Datasource Nacos -->
-        <dependency>
-            <groupId>com.alibaba.csp</groupId>
-            <artifactId>sentinel-datasource-nacos</artifactId>
-        </dependency>
-
-        <!-- SpringBoot Actuator -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Loadbalancer -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-loadbalancer</artifactId>
-        </dependency>
-
-        <!--验证码 -->
-        <dependency>
-            <groupId>pro.fessional</groupId>
-            <artifactId>kaptcha</artifactId>
-        </dependency>
-
-        <!-- hrt Common Redis-->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-redis</artifactId>
-        </dependency>
-
-        <!-- Swagger -->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>${swagger.fox.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>${swagger.fox.version}</version>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <finalName>${project.artifactId}</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/HrtGatewayApplication.java b/hrt-gateway/src/main/java/com/hrt/gateway/HrtGatewayApplication.java
deleted file mode 100644
index d3b9799..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/HrtGatewayApplication.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.gateway;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-
-/**
- * 网关启动程序
- * 
- * @author jqs
- */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
-public class HrtGatewayApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(HrtGatewayApplication.class, args);
-        System.out.println("网关启动成功");
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/CaptchaConfig.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/CaptchaConfig.java
deleted file mode 100644
index 7825b9f..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/CaptchaConfig.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.hrt.gateway.config;
-
-import java.util.Properties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import com.google.code.kaptcha.impl.DefaultKaptcha;
-import com.google.code.kaptcha.util.Config;
-import static com.google.code.kaptcha.Constants.*;
-
-/**
- * 验证码配置
- * 
- * @author jqs
- */
-@Configuration
-public class CaptchaConfig
-{
-    @Bean(name = "captchaProducer")
-    public DefaultKaptcha getKaptchaBean()
-    {
-        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
-        Properties properties = new Properties();
-        // 是否有边框 默认为true 我们可以自己设置yes,no
-        properties.setProperty(KAPTCHA_BORDER, "yes");
-        // 验证码文本字符颜色 默认为Color.BLACK
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "black");
-        // 验证码图片宽度 默认为200
-        properties.setProperty(KAPTCHA_IMAGE_WIDTH, "160");
-        // 验证码图片高度 默认为50
-        properties.setProperty(KAPTCHA_IMAGE_HEIGHT, "60");
-        // 验证码文本字符大小 默认为40
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "38");
-        // KAPTCHA_SESSION_KEY
-        properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCode");
-        // 验证码文本字符长度 默认为5
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "4");
-        // 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize)
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier");
-        // 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy
-        properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy");
-        Config config = new Config(properties);
-        defaultKaptcha.setConfig(config);
-        return defaultKaptcha;
-    }
-    
-    @Bean(name = "captchaProducerMath")
-    public DefaultKaptcha getKaptchaBeanMath()
-    {
-        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
-        Properties properties = new Properties();
-        // 是否有边框 默认为true 我们可以自己设置yes,no
-        properties.setProperty(KAPTCHA_BORDER, "yes");
-        // 边框颜色 默认为Color.BLACK
-        properties.setProperty(KAPTCHA_BORDER_COLOR, "105,179,90");
-        // 验证码文本字符颜色 默认为Color.BLACK
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "blue");
-        // 验证码图片宽度 默认为200
-        properties.setProperty(KAPTCHA_IMAGE_WIDTH, "160");
-        // 验证码图片高度 默认为50
-        properties.setProperty(KAPTCHA_IMAGE_HEIGHT, "60");
-        // 验证码文本字符大小 默认为40
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "35");
-        // KAPTCHA_SESSION_KEY
-        properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCodeMath");
-        // 验证码文本生成器
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.hrt.gateway.config.KaptchaTextCreator");
-        // 验证码文本字符间距 默认为2
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_SPACE, "3");
-        // 验证码文本字符长度 默认为5
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "6");
-        // 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize)
-        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier");
-        // 验证码噪点颜色 默认为Color.BLACK
-        properties.setProperty(KAPTCHA_NOISE_COLOR, "white");
-        // 干扰实现类
-        properties.setProperty(KAPTCHA_NOISE_IMPL, "com.google.code.kaptcha.impl.NoNoise");
-        // 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy
-        properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy");
-        Config config = new Config(properties);
-        defaultKaptcha.setConfig(config);
-        return defaultKaptcha;
-    }
-}
\ No newline at end of file
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/GatewayConfig.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/GatewayConfig.java
deleted file mode 100644
index 1af6f39..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/GatewayConfig.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.gateway.config;
-
-import com.hrt.gateway.handler.SentinelFallbackHandler;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.Ordered;
-import org.springframework.core.annotation.Order;
-
-/**
- * 网关限流配置
- * 
- * @author jqs
- */
-@Configuration
-public class GatewayConfig
-{
-    @Bean
-    @Order(Ordered.HIGHEST_PRECEDENCE)
-    public SentinelFallbackHandler sentinelGatewayExceptionHandler()
-    {
-        return new SentinelFallbackHandler();
-    }
-}
\ No newline at end of file
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/KaptchaTextCreator.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/KaptchaTextCreator.java
deleted file mode 100644
index c348cf6..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/KaptchaTextCreator.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.hrt.gateway.config;
-
-import java.util.Random;
-import com.google.code.kaptcha.text.impl.DefaultTextCreator;
-
-/**
- * 验证码文本生成器
- * 
- * @author jqs
- */
-public class KaptchaTextCreator extends DefaultTextCreator
-{
-    private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(",");
-
-    @Override
-    public String getText()
-    {
-        Integer result = 0;
-        Random random = new Random();
-        int x = random.nextInt(10);
-        int y = random.nextInt(10);
-        StringBuilder suChinese = new StringBuilder();
-        int randomoperands = random.nextInt(3);
-        if (randomoperands == 0)
-        {
-            result = x * y;
-            suChinese.append(CNUMBERS[x]);
-            suChinese.append("*");
-            suChinese.append(CNUMBERS[y]);
-        }
-        else if (randomoperands == 1)
-        {
-            if ((x != 0) && y % x == 0)
-            {
-                result = y / x;
-                suChinese.append(CNUMBERS[y]);
-                suChinese.append("/");
-                suChinese.append(CNUMBERS[x]);
-            }
-            else
-            {
-                result = x + y;
-                suChinese.append(CNUMBERS[x]);
-                suChinese.append("+");
-                suChinese.append(CNUMBERS[y]);
-            }
-        }
-        else if (randomoperands == 2)
-        {
-            if (x >= y)
-            {
-                result = x - y;
-                suChinese.append(CNUMBERS[x]);
-                suChinese.append("-");
-                suChinese.append(CNUMBERS[y]);
-            }
-            else
-            {
-                result = y - x;
-                suChinese.append(CNUMBERS[y]);
-                suChinese.append("-");
-                suChinese.append(CNUMBERS[x]);
-            }
-        }
-        else
-        {
-            result = x + y;
-            suChinese.append(CNUMBERS[x]);
-            suChinese.append("+");
-            suChinese.append(CNUMBERS[y]);
-        }
-        suChinese.append("=?@" + result);
-        return suChinese.toString();
-    }
-}
\ No newline at end of file
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/RouterFunctionConfiguration.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/RouterFunctionConfiguration.java
deleted file mode 100644
index 9fd344b..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/RouterFunctionConfiguration.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hrt.gateway.config;
-
-import com.hrt.gateway.handler.ValidateCodeHandler;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.MediaType;
-import org.springframework.web.reactive.function.server.RequestPredicates;
-import org.springframework.web.reactive.function.server.RouterFunction;
-import org.springframework.web.reactive.function.server.RouterFunctions;
-
-/**
- * 路由配置信息
- * 
- * @author jqs
- */
-@Configuration
-public class RouterFunctionConfiguration
-{
-    @Autowired
-    private ValidateCodeHandler validateCodeHandler;
-
-    @SuppressWarnings("rawtypes")
-    @Bean
-    public RouterFunction routerFunction()
-    {
-        return RouterFunctions.route(
-                RequestPredicates.GET("/code").and(RequestPredicates.accept(MediaType.TEXT_PLAIN)),
-                validateCodeHandler);
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/SwaggerProvider.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/SwaggerProvider.java
deleted file mode 100644
index 796528f..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/SwaggerProvider.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.hrt.gateway.config;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.gateway.config.GatewayProperties;
-import org.springframework.cloud.gateway.route.RouteLocator;
-import org.springframework.cloud.gateway.support.NameUtils;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.config.ResourceHandlerRegistry;
-import org.springframework.web.reactive.config.WebFluxConfigurer;
-import springfox.documentation.swagger.web.SwaggerResource;
-import springfox.documentation.swagger.web.SwaggerResourcesProvider;
-
-/**
- * 聚合系统接口
- * 
- * @author jqs
- */
-@Component
-public class SwaggerProvider implements SwaggerResourcesProvider, WebFluxConfigurer
-{
-    /**
-     * Swagger2默认的url后缀
-     */
-    public static final String SWAGGER2URL = "/v2/api-docs";
-
-    /**
-     * 网关路由
-     */
-    @Lazy
-    @Autowired
-    private RouteLocator routeLocator;
-
-    @Autowired
-    private GatewayProperties gatewayProperties;
-
-    /**
-     * 聚合其他服务接口
-     * 
-     * @return
-     */
-    @Override
-    public List<SwaggerResource> get()
-    {
-        List<SwaggerResource> resourceList = new ArrayList<>();
-        List<String> routes = new ArrayList<>();
-        // 获取网关中配置的route
-        routeLocator.getRoutes().subscribe(route -> routes.add(route.getId()));
-        gatewayProperties.getRoutes().stream()
-                .filter(routeDefinition -> routes
-                        .contains(routeDefinition.getId()))
-                .forEach(routeDefinition -> routeDefinition.getPredicates().stream()
-                        .filter(predicateDefinition -> "Path".equalsIgnoreCase(predicateDefinition.getName()))
-                        .filter(predicateDefinition -> !"hrt-auth".equalsIgnoreCase(routeDefinition.getId()))
-                        .forEach(predicateDefinition -> resourceList
-                                .add(swaggerResource(routeDefinition.getId(), predicateDefinition.getArgs()
-                                        .get(NameUtils.GENERATED_NAME_PREFIX + "0").replace("/**", SWAGGER2URL)))));
-        return resourceList;
-    }
-
-    private SwaggerResource swaggerResource(String name, String location)
-    {
-        SwaggerResource swaggerResource = new SwaggerResource();
-        swaggerResource.setName(name);
-        swaggerResource.setLocation(location);
-        swaggerResource.setSwaggerVersion("2.0");
-        return swaggerResource;
-    }
-
-    @Override
-    public void addResourceHandlers(ResourceHandlerRegistry registry)
-    {
-        /** swagger-ui 地址 */
-        registry.addResourceHandler("/swagger-ui/**")
-                .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/");
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/CaptchaProperties.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/CaptchaProperties.java
deleted file mode 100644
index 70e16dc..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/CaptchaProperties.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.gateway.config.properties;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * 验证码配置
- * 
- * @author jqs
- */
-@Configuration
-@RefreshScope
-@ConfigurationProperties(prefix = "security.captcha")
-public class CaptchaProperties
-{
-    /**
-     * 验证码开关
-     */
-    private Boolean enabled;
-
-    /**
-     * 验证码类型(math 数组计算 char 字符)
-     */
-    private String type;
-
-    public Boolean getEnabled()
-    {
-        return enabled;
-    }
-
-    public void setEnabled(Boolean enabled)
-    {
-        this.enabled = enabled;
-    }
-
-    public String getType()
-    {
-        return type;
-    }
-
-    public void setType(String type)
-    {
-        this.type = type;
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/IgnoreWhiteProperties.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/IgnoreWhiteProperties.java
deleted file mode 100644
index 2c6af12..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/IgnoreWhiteProperties.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hrt.gateway.config.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * 放行白名单配置
- * 
- * @author jqs
- */
-@Configuration
-@RefreshScope
-@ConfigurationProperties(prefix = "security.ignore")
-public class IgnoreWhiteProperties
-{
-    /**
-     * 放行白名单配置,网关不校验此处的白名单
-     */
-    private List<String> whites = new ArrayList<>();
-
-    public List<String> getWhites()
-    {
-        return whites;
-    }
-
-    public void setWhites(List<String> whites)
-    {
-        this.whites = whites;
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/XssProperties.java b/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/XssProperties.java
deleted file mode 100644
index b610d49..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/config/properties/XssProperties.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.hrt.gateway.config.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * XSS跨站脚本配置
- * 
- * @author jqs
- */
-@Configuration
-@RefreshScope
-@ConfigurationProperties(prefix = "security.xss")
-public class XssProperties
-{
-    /**
-     * Xss开关
-     */
-    private Boolean enabled;
-
-    /**
-     * 排除路径
-     */
-    private List<String> excludeUrls = new ArrayList<>();
-
-    public Boolean getEnabled()
-    {
-        return enabled;
-    }
-
-    public void setEnabled(Boolean enabled)
-    {
-        this.enabled = enabled;
-    }
-
-    public List<String> getExcludeUrls()
-    {
-        return excludeUrls;
-    }
-
-    public void setExcludeUrls(List<String> excludeUrls)
-    {
-        this.excludeUrls = excludeUrls;
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/AuthFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/AuthFilter.java
deleted file mode 100644
index f734b2f..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/AuthFilter.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package com.hrt.gateway.filter;
-
-import com.hrt.gateway.config.properties.IgnoreWhiteProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.gateway.filter.GatewayFilterChain;
-import org.springframework.cloud.gateway.filter.GlobalFilter;
-import org.springframework.core.Ordered;
-import org.springframework.http.server.reactive.ServerHttpRequest;
-import org.springframework.stereotype.Component;
-import org.springframework.web.server.ServerWebExchange;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.constant.HttpStatus;
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.constant.TokenConstants;
-import com.hrt.common.core.utils.JwtUtils;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.redis.service.RedisService;
-import io.jsonwebtoken.Claims;
-import reactor.core.publisher.Mono;
-
-/**
- * 网关鉴权
- * 
- * @author jqs
- */
-@Component
-public class AuthFilter implements GlobalFilter, Ordered
-{
-    private static final Logger log = LoggerFactory.getLogger(AuthFilter.class);
-
-    // 排除过滤的 uri 地址,nacos自行添加
-    @Autowired
-    private IgnoreWhiteProperties ignoreWhite;
-
-    @Autowired
-    private RedisService redisService;
-
-
-    @Override
-    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
-    {
-        ServerHttpRequest request = exchange.getRequest();
-        ServerHttpRequest.Builder mutate = request.mutate();
-
-        String url = request.getURI().getPath();
-        // 跳过不需要验证的路径
-        if (StringUtils.matches(url, ignoreWhite.getWhites()))
-        {
-            return chain.filter(exchange);
-        }
-        String token = getToken(request);
-        if (StringUtils.isEmpty(token))
-        {
-            return unauthorizedResponse(exchange, "令牌不能为空");
-        }
-        Claims claims = JwtUtils.parseToken(token);
-        if (claims == null)
-        {
-            return unauthorizedResponse(exchange, "令牌已过期或验证不正确!");
-        }
-        String userkey = JwtUtils.getUserKey(claims);
-        boolean islogin = redisService.hasKey(getTokenKey(userkey));
-        if (!islogin)
-        {
-            return unauthorizedResponse(exchange, "登录状态已过期");
-        }
-        String userid = JwtUtils.getUserId(claims);
-        String username = JwtUtils.getUserName(claims);
-        if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username))
-        {
-            return unauthorizedResponse(exchange, "令牌验证失败");
-        }
-
-        // 设置用户信息到请求
-        addHeader(mutate, SecurityConstants.USER_KEY, userkey);
-        addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid);
-        addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username);
-        // 内部请求来源参数清除
-        removeHeader(mutate, SecurityConstants.FROM_SOURCE);
-        return chain.filter(exchange.mutate().request(mutate.build()).build());
-    }
-
-    private void addHeader(ServerHttpRequest.Builder mutate, String name, Object value)
-    {
-        if (value == null)
-        {
-            return;
-        }
-        String valueStr = value.toString();
-        String valueEncode = ServletUtils.urlEncode(valueStr);
-        mutate.header(name, valueEncode);
-    }
-
-    private void removeHeader(ServerHttpRequest.Builder mutate, String name)
-    {
-        mutate.headers(httpHeaders -> httpHeaders.remove(name)).build();
-    }
-
-    private Mono<Void> unauthorizedResponse(ServerWebExchange exchange, String msg)
-    {
-        log.error("[鉴权异常处理]请求路径:{}", exchange.getRequest().getPath());
-        return ServletUtils.webFluxResponseWriter(exchange.getResponse(), msg, HttpStatus.UNAUTHORIZED);
-    }
-
-    /**
-     * 获取缓存key
-     */
-    private String getTokenKey(String token)
-    {
-        return CacheConstants.LOGIN_TOKEN_KEY + token;
-    }
-
-    /**
-     * 获取请求token
-     */
-    private String getToken(ServerHttpRequest request)
-    {
-        String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION);
-        // 如果前端设置了令牌前缀,则裁剪掉前缀
-        if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX))
-        {
-            token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY);
-        }
-        return token;
-    }
-
-    @Override
-    public int getOrder()
-    {
-        return -200;
-    }
-}
\ No newline at end of file
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/BlackListUrlFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/BlackListUrlFilter.java
deleted file mode 100644
index 02d9550..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/BlackListUrlFilter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.hrt.gateway.filter;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-import org.springframework.cloud.gateway.filter.GatewayFilter;
-import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.utils.ServletUtils;
-
-/**
- * 黑名单过滤器
- * 
- * @author jqs
- */
-@Component
-public class BlackListUrlFilter extends AbstractGatewayFilterFactory<BlackListUrlFilter.Config>
-{
-    @Override
-    public GatewayFilter apply(Config config)
-    {
-        return (exchange, chain) -> {
-
-            String url = exchange.getRequest().getURI().getPath();
-            if (config.matchBlacklist(url))
-            {
-                return ServletUtils.webFluxResponseWriter(exchange.getResponse(), "请求地址不允许访问");
-            }
-
-            return chain.filter(exchange);
-        };
-    }
-
-    public BlackListUrlFilter()
-    {
-        super(Config.class);
-    }
-
-    public static class Config
-    {
-        private List<String> blacklistUrl;
-
-        private List<Pattern> blacklistUrlPattern = new ArrayList<>();
-
-        public boolean matchBlacklist(String url)
-        {
-            return !blacklistUrlPattern.isEmpty() && blacklistUrlPattern.stream().anyMatch(p -> p.matcher(url).find());
-        }
-
-        public List<String> getBlacklistUrl()
-        {
-            return blacklistUrl;
-        }
-
-        public void setBlacklistUrl(List<String> blacklistUrl)
-        {
-            this.blacklistUrl = blacklistUrl;
-            this.blacklistUrlPattern.clear();
-            this.blacklistUrl.forEach(url -> {
-                this.blacklistUrlPattern.add(Pattern.compile(url.replaceAll("\\*\\*", "(.*?)"), Pattern.CASE_INSENSITIVE));
-            });
-        }
-    }
-
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/CacheRequestFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/CacheRequestFilter.java
deleted file mode 100644
index 63bb4b9..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/CacheRequestFilter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.hrt.gateway.filter;
-
-import java.util.Collections;
-import java.util.List;
-import org.springframework.cloud.gateway.filter.GatewayFilter;
-import org.springframework.cloud.gateway.filter.GatewayFilterChain;
-import org.springframework.cloud.gateway.filter.OrderedGatewayFilter;
-import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
-import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
-import org.springframework.http.HttpMethod;
-import org.springframework.stereotype.Component;
-import org.springframework.web.server.ServerWebExchange;
-import reactor.core.publisher.Mono;
-
-/**
- * 获取body请求数据(解决流不能重复读取问题)
- * 
- * @author jqs
- */
-@Component
-public class CacheRequestFilter extends AbstractGatewayFilterFactory<CacheRequestFilter.Config>
-{
-    public CacheRequestFilter()
-    {
-        super(Config.class);
-    }
-
-    @Override
-    public String name()
-    {
-        return "CacheRequestFilter";
-    }
-
-    @Override
-    public GatewayFilter apply(Config config)
-    {
-        CacheRequestGatewayFilter cacheRequestGatewayFilter = new CacheRequestGatewayFilter();
-        Integer order = config.getOrder();
-        if (order == null)
-        {
-            return cacheRequestGatewayFilter;
-        }
-        return new OrderedGatewayFilter(cacheRequestGatewayFilter, order);
-    }
-
-    public static class CacheRequestGatewayFilter implements GatewayFilter
-    {
-        @Override
-        public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
-        {
-            // GET DELETE 不过滤
-            HttpMethod method = exchange.getRequest().getMethod();
-            if (method == null || method == HttpMethod.GET || method == HttpMethod.DELETE)
-            {
-                return chain.filter(exchange);
-            }
-            return ServerWebExchangeUtils.cacheRequestBodyAndRequest(exchange, (serverHttpRequest) -> {
-                if (serverHttpRequest == exchange.getRequest())
-                {
-                    return chain.filter(exchange);
-                }
-                return chain.filter(exchange.mutate().request(serverHttpRequest).build());
-            });
-        }
-    }
-
-    @Override
-    public List<String> shortcutFieldOrder()
-    {
-        return Collections.singletonList("order");
-    }
-
-    static class Config
-    {
-        private Integer order;
-
-        public Integer getOrder()
-        {
-            return order;
-        }
-
-        public void setOrder(Integer order)
-        {
-            this.order = order;
-        }
-    }
-}
\ No newline at end of file
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/ValidateCodeFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/ValidateCodeFilter.java
deleted file mode 100644
index 3aab7c4..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/ValidateCodeFilter.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.hrt.gateway.filter;
-
-import java.nio.CharBuffer;
-import java.nio.charset.StandardCharsets;
-import java.util.concurrent.atomic.AtomicReference;
-
-import com.hrt.gateway.config.properties.CaptchaProperties;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.gateway.filter.GatewayFilter;
-import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
-import org.springframework.core.io.buffer.DataBuffer;
-import org.springframework.core.io.buffer.DataBufferUtils;
-import org.springframework.http.server.reactive.ServerHttpRequest;
-import org.springframework.stereotype.Component;
-import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
-import com.hrt.common.core.utils.ServletUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.gateway.service.ValidateCodeService;
-import reactor.core.publisher.Flux;
-
-/**
- * 验证码过滤器
- *
- * @author jqs
- */
-@Component
-public class ValidateCodeFilter extends AbstractGatewayFilterFactory<Object>
-{
-    private final static String[] VALIDATE_URL = new String[] { "/auth/login", "/auth/register" };
-
-    @Autowired
-    private ValidateCodeService validateCodeService;
-
-    @Autowired
-    private CaptchaProperties captchaProperties;
-
-    private static final String CODE = "code";
-
-    private static final String UUID = "uuid";
-
-    @Override
-    public GatewayFilter apply(Object config)
-    {
-        return (exchange, chain) -> {
-            ServerHttpRequest request = exchange.getRequest();
-
-            // 非登录/注册请求或验证码关闭,不处理
-            if (!StringUtils.containsAnyIgnoreCase(request.getURI().getPath(), VALIDATE_URL) || !captchaProperties.getEnabled())
-            {
-                return chain.filter(exchange);
-            }
-
-            try
-            {
-                String rspStr = resolveBodyFromRequest(request);
-                JSONObject obj = JSON.parseObject(rspStr);
-                validateCodeService.checkCaptcha(obj.getString(CODE), obj.getString(UUID));
-            }
-            catch (Exception e)
-            {
-                return ServletUtils.webFluxResponseWriter(exchange.getResponse(), e.getMessage());
-            }
-            return chain.filter(exchange);
-        };
-    }
-
-    private String resolveBodyFromRequest(ServerHttpRequest serverHttpRequest)
-    {
-        // 获取请求体
-        Flux<DataBuffer> body = serverHttpRequest.getBody();
-        AtomicReference<String> bodyRef = new AtomicReference<>();
-        body.subscribe(buffer -> {
-            CharBuffer charBuffer = StandardCharsets.UTF_8.decode(buffer.asByteBuffer());
-            DataBufferUtils.release(buffer);
-            bodyRef.set(charBuffer.toString());
-        });
-        return bodyRef.get();
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/filter/XssFilter.java b/hrt-gateway/src/main/java/com/hrt/gateway/filter/XssFilter.java
deleted file mode 100644
index 8b19e7b..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/filter/XssFilter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.hrt.gateway.filter;
-
-import java.nio.charset.StandardCharsets;
-
-import com.hrt.gateway.config.properties.XssProperties;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.cloud.gateway.filter.GatewayFilterChain;
-import org.springframework.cloud.gateway.filter.GlobalFilter;
-import org.springframework.core.Ordered;
-import org.springframework.core.io.buffer.DataBuffer;
-import org.springframework.core.io.buffer.DataBufferFactory;
-import org.springframework.core.io.buffer.DataBufferUtils;
-import org.springframework.core.io.buffer.DefaultDataBufferFactory;
-import org.springframework.core.io.buffer.NettyDataBufferFactory;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.MediaType;
-import org.springframework.http.server.reactive.ServerHttpRequest;
-import org.springframework.http.server.reactive.ServerHttpRequestDecorator;
-import org.springframework.stereotype.Component;
-import org.springframework.web.server.ServerWebExchange;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.html.EscapeUtil;
-import io.netty.buffer.ByteBufAllocator;
-import reactor.core.publisher.Flux;
-import reactor.core.publisher.Mono;
-
-/**
- * 跨站脚本过滤器
- *
- * @author jqs
- */
-@Component
-@ConditionalOnProperty(value = "security.xss.enabled", havingValue = "true")
-public class XssFilter implements GlobalFilter, Ordered
-{
-    // 跨站脚本的 xss 配置,nacos自行添加
-    @Autowired
-    private XssProperties xss;
-
-    @Override
-    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
-    {
-        ServerHttpRequest request = exchange.getRequest();
-        // xss开关未开启 或 通过nacos关闭,不过滤
-        if (!xss.getEnabled())
-        {
-            return chain.filter(exchange);
-        }
-        // GET DELETE 不过滤
-        HttpMethod method = request.getMethod();
-        if (method == null || method == HttpMethod.GET || method == HttpMethod.DELETE)
-        {
-            return chain.filter(exchange);
-        }
-        // 非json类型,不过滤
-        if (!isJsonRequest(exchange))
-        {
-            return chain.filter(exchange);
-        }
-        // excludeUrls 不过滤
-        String url = request.getURI().getPath();
-        if (StringUtils.matches(url, xss.getExcludeUrls()))
-        {
-            return chain.filter(exchange);
-        }
-        ServerHttpRequestDecorator httpRequestDecorator = requestDecorator(exchange);
-        return chain.filter(exchange.mutate().request(httpRequestDecorator).build());
-
-    }
-
-    private ServerHttpRequestDecorator requestDecorator(ServerWebExchange exchange)
-    {
-        ServerHttpRequestDecorator serverHttpRequestDecorator = new ServerHttpRequestDecorator(exchange.getRequest())
-        {
-            @Override
-            public Flux<DataBuffer> getBody()
-            {
-                Flux<DataBuffer> body = super.getBody();
-                return body.buffer().map(dataBuffers -> {
-                    DataBufferFactory dataBufferFactory = new DefaultDataBufferFactory();
-                    DataBuffer join = dataBufferFactory.join(dataBuffers);
-                    byte[] content = new byte[join.readableByteCount()];
-                    join.read(content);
-                    DataBufferUtils.release(join);
-                    String bodyStr = new String(content, StandardCharsets.UTF_8);
-                    // 防xss攻击过滤
-                    bodyStr = EscapeUtil.clean(bodyStr);
-                    // 转成字节
-                    byte[] bytes = bodyStr.getBytes();
-                    NettyDataBufferFactory nettyDataBufferFactory = new NettyDataBufferFactory(ByteBufAllocator.DEFAULT);
-                    DataBuffer buffer = nettyDataBufferFactory.allocateBuffer(bytes.length);
-                    buffer.write(bytes);
-                    return buffer;
-                });
-            }
-
-            @Override
-            public HttpHeaders getHeaders()
-            {
-                HttpHeaders httpHeaders = new HttpHeaders();
-                httpHeaders.putAll(super.getHeaders());
-                // 由于修改了请求体的body,导致content-length长度不确定,因此需要删除原先的content-length
-                httpHeaders.remove(HttpHeaders.CONTENT_LENGTH);
-                httpHeaders.set(HttpHeaders.TRANSFER_ENCODING, "chunked");
-                return httpHeaders;
-            }
-
-        };
-        return serverHttpRequestDecorator;
-    }
-
-    /**
-     * 是否是Json请求
-     * 
-     * @param exchange HTTP请求
-     */
-    public boolean isJsonRequest(ServerWebExchange exchange)
-    {
-        String header = exchange.getRequest().getHeaders().getFirst(HttpHeaders.CONTENT_TYPE);
-        return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
-    }
-
-    @Override
-    public int getOrder()
-    {
-        return -100;
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/GatewayExceptionHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/GatewayExceptionHandler.java
deleted file mode 100644
index da6c289..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/GatewayExceptionHandler.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.hrt.gateway.handler;
-
-import org.springframework.cloud.gateway.support.NotFoundException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.web.reactive.error.ErrorWebExceptionHandler;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.annotation.Order;
-import org.springframework.http.server.reactive.ServerHttpResponse;
-import org.springframework.web.server.ResponseStatusException;
-import org.springframework.web.server.ServerWebExchange;
-import com.hrt.common.core.utils.ServletUtils;
-import reactor.core.publisher.Mono;
-
-/**
- * 网关统一异常处理
- *
- * @author jqs
- */
-@Order(-1)
-@Configuration
-public class GatewayExceptionHandler implements ErrorWebExceptionHandler
-{
-    private static final Logger log = LoggerFactory.getLogger(GatewayExceptionHandler.class);
-
-    @Override
-    public Mono<Void> handle(ServerWebExchange exchange, Throwable ex)
-    {
-        ServerHttpResponse response = exchange.getResponse();
-
-        if (exchange.getResponse().isCommitted())
-        {
-            return Mono.error(ex);
-        }
-
-        String msg;
-
-        if (ex instanceof NotFoundException)
-        {
-            msg = "服务未找到";
-        }
-        else if (ex instanceof ResponseStatusException)
-        {
-            ResponseStatusException responseStatusException = (ResponseStatusException) ex;
-            msg = responseStatusException.getMessage();
-        }
-        else
-        {
-            msg = "内部服务器错误";
-        }
-
-        log.error("[网关异常处理]请求路径:{},异常信息:{}", exchange.getRequest().getPath(), ex.getMessage());
-
-        return ServletUtils.webFluxResponseWriter(response, msg);
-    }
-}
\ No newline at end of file
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SentinelFallbackHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/SentinelFallbackHandler.java
deleted file mode 100644
index 67bbd6d..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SentinelFallbackHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.hrt.gateway.handler;
-
-import com.alibaba.csp.sentinel.adapter.gateway.sc.callback.GatewayCallbackManager;
-import com.alibaba.csp.sentinel.slots.block.BlockException;
-import com.hrt.common.core.utils.ServletUtils;
-import org.springframework.web.reactive.function.server.ServerResponse;
-import org.springframework.web.server.ServerWebExchange;
-import org.springframework.web.server.WebExceptionHandler;
-import reactor.core.publisher.Mono;
-
-/**
- * 自定义限流异常处理
- *
- * @author jqs
- */
-public class SentinelFallbackHandler implements WebExceptionHandler
-{
-    private Mono<Void> writeResponse(ServerResponse response, ServerWebExchange exchange)
-    {
-        return ServletUtils.webFluxResponseWriter(exchange.getResponse(), "请求超过最大数,请稍候再试");
-    }
-
-    @Override
-    public Mono<Void> handle(ServerWebExchange exchange, Throwable ex)
-    {
-        if (exchange.getResponse().isCommitted())
-        {
-            return Mono.error(ex);
-        }
-        if (!BlockException.isBlockException(ex))
-        {
-            return Mono.error(ex);
-        }
-        return handleBlockedRequest(exchange, ex).flatMap(response -> writeResponse(response, exchange));
-    }
-
-    private Mono<ServerResponse> handleBlockedRequest(ServerWebExchange exchange, Throwable throwable)
-    {
-        return GatewayCallbackManager.getBlockHandler().handleRequest(exchange, throwable);
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SwaggerHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/SwaggerHandler.java
deleted file mode 100644
index 8724e4a..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/SwaggerHandler.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.hrt.gateway.handler;
-
-import java.util.Optional;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import reactor.core.publisher.Mono;
-import springfox.documentation.swagger.web.SecurityConfiguration;
-import springfox.documentation.swagger.web.SecurityConfigurationBuilder;
-import springfox.documentation.swagger.web.SwaggerResourcesProvider;
-import springfox.documentation.swagger.web.UiConfiguration;
-import springfox.documentation.swagger.web.UiConfigurationBuilder;
-
-@RestController
-@RequestMapping("/swagger-resources")
-public class SwaggerHandler
-{
-    @Autowired(required = false)
-    private SecurityConfiguration securityConfiguration;
-
-    @Autowired(required = false)
-    private UiConfiguration uiConfiguration;
-
-    private final SwaggerResourcesProvider swaggerResources;
-
-    @Autowired
-    public SwaggerHandler(SwaggerResourcesProvider swaggerResources)
-    {
-        this.swaggerResources = swaggerResources;
-    }
-
-    @GetMapping("/configuration/security")
-    public Mono<ResponseEntity<SecurityConfiguration>> securityConfiguration()
-    {
-        return Mono.just(new ResponseEntity<>(
-                Optional.ofNullable(securityConfiguration).orElse(SecurityConfigurationBuilder.builder().build()),
-                HttpStatus.OK));
-    }
-
-    @GetMapping("/configuration/ui")
-    public Mono<ResponseEntity<UiConfiguration>> uiConfiguration()
-    {
-        return Mono.just(new ResponseEntity<>(
-                Optional.ofNullable(uiConfiguration).orElse(UiConfigurationBuilder.builder().build()), HttpStatus.OK));
-    }
-
-    @SuppressWarnings("rawtypes")
-    @GetMapping("")
-    public Mono<ResponseEntity> swaggerResources()
-    {
-        return Mono.just((new ResponseEntity<>(swaggerResources.get(), HttpStatus.OK)));
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/handler/ValidateCodeHandler.java b/hrt-gateway/src/main/java/com/hrt/gateway/handler/ValidateCodeHandler.java
deleted file mode 100644
index 72ebf5c..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/handler/ValidateCodeHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.hrt.gateway.handler;
-
-import java.io.IOException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Component;
-import org.springframework.web.reactive.function.BodyInserters;
-import org.springframework.web.reactive.function.server.HandlerFunction;
-import org.springframework.web.reactive.function.server.ServerRequest;
-import org.springframework.web.reactive.function.server.ServerResponse;
-import com.hrt.common.core.exception.CaptchaException;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.gateway.service.ValidateCodeService;
-import reactor.core.publisher.Mono;
-
-/**
- * 验证码获取
- *
- * @author jqs
- */
-@Component
-public class ValidateCodeHandler implements HandlerFunction<ServerResponse>
-{
-    @Autowired
-    private ValidateCodeService validateCodeService;
-
-    @Override
-    public Mono<ServerResponse> handle(ServerRequest serverRequest)
-    {
-        AjaxResult ajax;
-        try
-        {
-            ajax = validateCodeService.createCaptcha();
-        }
-        catch (CaptchaException | IOException e)
-        {
-            return Mono.error(e);
-        }
-        return ServerResponse.status(HttpStatus.OK).body(BodyInserters.fromValue(ajax));
-    }
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/service/ValidateCodeService.java b/hrt-gateway/src/main/java/com/hrt/gateway/service/ValidateCodeService.java
deleted file mode 100644
index 6cf5af8..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/service/ValidateCodeService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.gateway.service;
-
-import java.io.IOException;
-import com.hrt.common.core.exception.CaptchaException;
-import com.hrt.common.core.web.domain.AjaxResult;
-
-/**
- * 验证码处理
- *
- * @author jqs
- */
-public interface ValidateCodeService
-{
-    /**
-     * 生成验证码
-     */
-    public AjaxResult createCaptcha() throws IOException, CaptchaException;
-
-    /**
-     * 校验验证码
-     */
-    public void checkCaptcha(String key, String value) throws CaptchaException;
-}
diff --git a/hrt-gateway/src/main/java/com/hrt/gateway/service/impl/ValidateCodeServiceImpl.java b/hrt-gateway/src/main/java/com/hrt/gateway/service/impl/ValidateCodeServiceImpl.java
deleted file mode 100644
index 5dc25e1..0000000
--- a/hrt-gateway/src/main/java/com/hrt/gateway/service/impl/ValidateCodeServiceImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package com.hrt.gateway.service.impl;
-
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-import java.util.concurrent.TimeUnit;
-import javax.annotation.Resource;
-import javax.imageio.ImageIO;
-
-import com.hrt.gateway.config.properties.CaptchaProperties;
-import com.hrt.gateway.service.ValidateCodeService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.FastByteArrayOutputStream;
-import com.google.code.kaptcha.Producer;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.exception.CaptchaException;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.sign.Base64;
-import com.hrt.common.core.utils.uuid.IdUtils;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.redis.service.RedisService;
-
-/**
- * 验证码实现处理
- *
- * @author jqs
- */
-@Service
-public class ValidateCodeServiceImpl implements ValidateCodeService
-{
-    @Resource(name = "captchaProducer")
-    private Producer captchaProducer;
-
-    @Resource(name = "captchaProducerMath")
-    private Producer captchaProducerMath;
-
-    @Autowired
-    private RedisService redisService;
-
-    @Autowired
-    private CaptchaProperties captchaProperties;
-
-    /**
-     * 生成验证码
-     */
-    @Override
-    public AjaxResult createCaptcha() throws IOException, CaptchaException
-    {
-        AjaxResult ajax = AjaxResult.success();
-        boolean captchaEnabled = captchaProperties.getEnabled();
-        ajax.put("captchaEnabled", captchaEnabled);
-        if (!captchaEnabled)
-        {
-            return ajax;
-        }
-
-        // 保存验证码信息
-        String uuid = IdUtils.simpleUUID();
-        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
-
-        String capStr = null, code = null;
-        BufferedImage image = null;
-
-        String captchaType = captchaProperties.getType();
-        // 生成验证码
-        if ("math".equals(captchaType))
-        {
-            String capText = captchaProducerMath.createText();
-            capStr = capText.substring(0, capText.lastIndexOf("@"));
-            code = capText.substring(capText.lastIndexOf("@") + 1);
-            image = captchaProducerMath.createImage(capStr);
-        }
-        else if ("char".equals(captchaType))
-        {
-            capStr = code = captchaProducer.createText();
-            image = captchaProducer.createImage(capStr);
-        }
-
-        redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
-        // 转换流信息写出
-        FastByteArrayOutputStream os = new FastByteArrayOutputStream();
-        try
-        {
-            ImageIO.write(image, "jpg", os);
-        }
-        catch (IOException e)
-        {
-            return AjaxResult.error(e.getMessage());
-        }
-
-        ajax.put("uuid", uuid);
-        ajax.put("img", Base64.encode(os.toByteArray()));
-        return ajax;
-    }
-
-    /**
-     * 校验验证码
-     */
-    @Override
-    public void checkCaptcha(String code, String uuid) throws CaptchaException
-    {
-        if (StringUtils.isEmpty(code))
-        {
-            throw new CaptchaException("验证码不能为空");
-        }
-        if (StringUtils.isEmpty(uuid))
-        {
-            throw new CaptchaException("验证码已失效");
-        }
-        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
-        String captcha = redisService.getCacheObject(verifyKey);
-        redisService.deleteObject(verifyKey);
-
-        if (!code.equalsIgnoreCase(captcha))
-        {
-            throw new CaptchaException("验证码错误");
-        }
-    }
-}
diff --git a/hrt-gateway/src/main/resources/banner.txt b/hrt-gateway/src/main/resources/banner.txt
deleted file mode 100644
index ceced29..0000000
--- a/hrt-gateway/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Spring Boot Version: ${spring-boot.version}
-Spring Application Name: ${spring.application.name}
-                            _                        _                                 
-                           (_)                      | |                                
- _ __  _   _   ___   _   _  _  ______   __ _   __ _ | |_   ___ __      __  __ _  _   _ 
-| '__|| | | | / _ \ | | | || ||______| / _` | / _` || __| / _ \\ \ /\ / / / _` || | | |
-| |   | |_| || (_) || |_| || |        | (_| || (_| || |_ |  __/ \ V  V / | (_| || |_| |
-|_|    \__,_| \___/  \__, ||_|         \__, | \__,_| \__| \___|  \_/\_/   \__,_| \__, |
-                      __/ |             __/ |                                     __/ |
-                     |___/             |___/                                     |___/ 
\ No newline at end of file
diff --git a/hrt-gateway/src/main/resources/bootstrap.yml b/hrt-gateway/src/main/resources/bootstrap.yml
deleted file mode 100644
index 837524d..0000000
--- a/hrt-gateway/src/main/resources/bootstrap.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-# Tomcat
-server:
-  port: 8080
-
-# Spring
-spring: 
-  application:
-    # 应用名称
-    name: hrt-gateway
-  profiles:
-    # 环境配置
-    active: dev
-  cloud:
-    nacos:
-      discovery:
-        # 服务注册地址
-        server-addr: 47.109.78.184:5000
-      config:
-        # 配置中心地址
-        server-addr: 47.109.78.184:5000
-        # 配置文件格式
-        file-extension: yml
-        # 共享配置
-        shared-configs:
-          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
-        group: haiheng
-    sentinel:
-      # 取消控制台懒加载
-      eager: true
-      transport:
-        # 控制台地址
-        dashboard: 127.0.0.1:8718
-      # nacos配置持久化
-      datasource:
-        ds1:
-          nacos:
-            server-addr: 47.109.78.184:5000
-            dataId: sentinel-hrt-gateway
-            groupId: DEFAULT_GROUP
-            data-type: json
-            rule-type: gw-flow
diff --git a/hrt-gateway/src/main/resources/logback.xml b/hrt-gateway/src/main/resources/logback.xml
deleted file mode 100644
index 233a05f..0000000
--- a/hrt-gateway/src/main/resources/logback.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <!-- 日志存放路径 -->
-	<property name="log.path" value="logs/hrt-gateway" />
-   <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
-
-    <!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
-
-    <!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-	</appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-			<!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 系统模块日志级别控制  -->
-	<logger name="com.hrt" level="info" />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
-
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/hrt-modules/hrt-file/pom.xml b/hrt-modules/hrt-file/pom.xml
deleted file mode 100644
index 325b213..0000000
--- a/hrt-modules/hrt-file/pom.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-modules</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hrt-modules-file</artifactId>
-
-    <description>
-        hrt-modules-file文件服务
-    </description>
-
-    <dependencies>
-    	
-    	<!-- SpringCloud Alibaba Nacos -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Nacos Config -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Sentinel -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
-        </dependency>
-        
-        <!-- SpringBoot Actuator -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-		
-        <!-- FastDFS -->
-        <dependency>
-            <groupId>com.github.tobato</groupId>
-            <artifactId>fastdfs-client</artifactId>
-        </dependency>
-        
-        <!-- Minio -->
-        <dependency>
-            <groupId>io.minio</groupId>
-            <artifactId>minio</artifactId>
-            <version>${minio.version}</version>
-        </dependency>
-        
-        <!-- hrt Api System -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-api-system</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Swagger -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-swagger</artifactId>
-        </dependency>
-        
-    </dependencies>
-
-    <build>
-        <finalName>${project.artifactId}</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-   
-</project>
\ No newline at end of file
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/HrtFileApplication.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/HrtFileApplication.java
deleted file mode 100644
index 168a9bf..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/HrtFileApplication.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.file;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import com.hrt.common.swagger.annotation.EnableCustomSwagger2;
-
-/**
- * 文件服务
- * 
- * @author jqs
- */
-@EnableCustomSwagger2
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
-public class HrtFileApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(HrtFileApplication.class, args);
-        System.out.println("文件服务模块启动成功");
-    }
-}
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/MinioConfig.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/MinioConfig.java
deleted file mode 100644
index 848afc2..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/MinioConfig.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package com.hrt.file.config;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import io.minio.MinioClient;
-
-/**
- * Minio 配置信息
- *
- * @author jqs
- */
-@Configuration
-@ConfigurationProperties(prefix = "minio")
-public class MinioConfig
-{
-    /**
-     * 服务地址
-     */
-    private String url;
-
-    /**
-     * 用户名
-     */
-    private String accessKey;
-
-    /**
-     * 密码
-     */
-    private String secretKey;
-
-    /**
-     * 存储桶名称
-     */
-    private String bucketName;
-
-    public String getUrl()
-    {
-        return url;
-    }
-
-    public void setUrl(String url)
-    {
-        this.url = url;
-    }
-
-    public String getAccessKey()
-    {
-        return accessKey;
-    }
-
-    public void setAccessKey(String accessKey)
-    {
-        this.accessKey = accessKey;
-    }
-
-    public String getSecretKey()
-    {
-        return secretKey;
-    }
-
-    public void setSecretKey(String secretKey)
-    {
-        this.secretKey = secretKey;
-    }
-
-    public String getBucketName()
-    {
-        return bucketName;
-    }
-
-    public void setBucketName(String bucketName)
-    {
-        this.bucketName = bucketName;
-    }
-
-    @Bean
-    public MinioClient getMinioClient()
-    {
-        return MinioClient.builder().endpoint(url).credentials(accessKey, secretKey).build();
-    }
-}
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/ResourcesConfig.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/ResourcesConfig.java
deleted file mode 100644
index ac953cc..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/config/ResourcesConfig.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hrt.file.config;
-
-import java.io.File;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.CorsRegistry;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-/**
- * 通用映射配置
- * 
- * @author jqs
- */
-@Configuration
-public class ResourcesConfig implements WebMvcConfigurer
-{
-    /**
-     * 上传文件存储在本地的根路径
-     */
-    @Value("${file.path}")
-    private String localFilePath;
-
-    /**
-     * 资源映射路径 前缀
-     */
-    @Value("${file.prefix}")
-    public String localFilePrefix;
-
-    @Override
-    public void addResourceHandlers(ResourceHandlerRegistry registry)
-    {
-        /** 本地文件上传路径 */
-        registry.addResourceHandler(localFilePrefix + "/**")
-                .addResourceLocations("file:" + localFilePath + File.separator);
-    }
-    
-    /**
-     * 开启跨域
-     */
-    @Override
-    public void addCorsMappings(CorsRegistry registry) {
-        // 设置允许跨域的路由
-        registry.addMapping(localFilePrefix  + "/**")
-                // 设置允许跨域请求的域名
-                .allowedOrigins("*")
-                // 设置允许的方法
-                .allowedMethods("GET");
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/controller/SysFileController.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/controller/SysFileController.java
deleted file mode 100644
index 561d880..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/controller/SysFileController.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.hrt.file.controller;
-
-import com.hrt.file.service.ISysFileService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.core.utils.file.FileUtils;
-import com.hrt.system.api.domain.SysFile;
-
-/**
- * 文件请求处理
- * 
- * @author jqs
- */
-@RestController
-public class SysFileController
-{
-    private static final Logger log = LoggerFactory.getLogger(SysFileController.class);
-
-    @Autowired
-    private ISysFileService sysFileService;
-
-    /**
-     * 文件上传请求
-     */
-    @PostMapping("upload")
-    public R<SysFile> upload(MultipartFile file)
-    {
-        try
-        {
-            // 上传并返回访问地址
-            String url = sysFileService.uploadFile(file);
-            SysFile sysFile = new SysFile();
-            sysFile.setName(FileUtils.getName(url));
-            sysFile.setUrl(url);
-            return R.ok(sysFile);
-        }
-        catch (Exception e)
-        {
-            log.error("上传文件失败", e);
-            return R.fail(e.getMessage());
-        }
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/remote/RemoteUserService.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/remote/RemoteUserService.java
deleted file mode 100644
index 30a345c..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/remote/RemoteUserService.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.hrt.file.remote;
-
-/**
- * @author jqs34
- * @ClassName RemoteUserService
- * @description: TODO
- * @date 2023年04月15日
- * @version: 1.0
- */
-
-import com.hrt.common.core.constant.SecurityConstants;
-import com.hrt.common.core.constant.ServiceNameConstants;
-import com.hrt.common.core.domain.R;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.api.factory.RemoteUserFallbackFactory;
-import com.hrt.system.api.model.LoginUser;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * 用户服务
- *
- * @author jqs
- */
-@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
-public interface RemoteUserService
-{
-    /**
-     * 通过用户名查询用户信息
-     *
-     * @param username 用户名
-     * @param source 请求来源
-     * @return 结果
-     */
-    @GetMapping("/user/info/{username}")
-    public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
-
-    /**
-     * 注册用户信息
-     *
-     * @param sysUser 用户信息
-     * @param source 请求来源
-     * @return 结果
-     */
-    @PostMapping("/user/register")
-    public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
-}
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/FastDfsSysFileServiceImpl.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/FastDfsSysFileServiceImpl.java
deleted file mode 100644
index ba87dad..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/FastDfsSysFileServiceImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.file.service;
-
-import java.io.InputStream;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-import com.github.tobato.fastdfs.domain.fdfs.StorePath;
-import com.github.tobato.fastdfs.service.FastFileStorageClient;
-import com.hrt.common.core.utils.file.FileTypeUtils;
-
-/**
- * FastDFS 文件存储
- *
- * @author jqs
- */
-@Service
-public class FastDfsSysFileServiceImpl implements ISysFileService
-{
-    /**
-     * 域名或本机访问地址
-     */
-    @Value("${fdfs.domain}")
-    public String domain;
-
-    @Autowired
-    private FastFileStorageClient storageClient;
-
-    /**
-     * FastDfs文件上传接口
-     *
-     * @param file 上传的文件
-     * @return 访问地址
-     * @throws Exception
-     */
-    @Override
-    public String uploadFile(MultipartFile file) throws Exception
-    {
-        InputStream inputStream = file.getInputStream();
-        StorePath storePath = storageClient.uploadFile(inputStream, file.getSize(),
-                FileTypeUtils.getExtension(file), null);
-        inputStream.close();
-        return domain + "/" + storePath.getFullPath();
-    }
-}
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/ISysFileService.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/ISysFileService.java
deleted file mode 100644
index 4830c10..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/ISysFileService.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.file.service;
-
-import org.springframework.web.multipart.MultipartFile;
-
-/**
- * 文件上传接口
- * 
- * @author jqs
- */
-public interface ISysFileService
-{
-    /**
-     * 文件上传接口
-     * 
-     * @param file 上传的文件
-     * @return 访问地址
-     * @throws Exception
-     */
-    public String uploadFile(MultipartFile file) throws Exception;
-}
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/LocalSysFileServiceImpl.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/LocalSysFileServiceImpl.java
deleted file mode 100644
index c52f31a..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/LocalSysFileServiceImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hrt.file.service;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.file.utils.FileUploadUtils;
-
-/**
- * 本地文件存储
- * 
- * @author jqs
- */
-@Primary
-@Service
-public class LocalSysFileServiceImpl implements ISysFileService
-{
-    /**
-     * 资源映射路径 前缀
-     */
-    @Value("${file.prefix}")
-    public String localFilePrefix;
-
-    /**
-     * 域名或本机访问地址
-     */
-    @Value("${file.domain}")
-    public String domain;
-    
-    /**
-     * 上传文件存储在本地的根路径
-     */
-    @Value("${file.path}")
-    private String localFilePath;
-
-    /**
-     * 本地文件上传接口
-     * 
-     * @param file 上传的文件
-     * @return 访问地址
-     * @throws Exception
-     */
-    @Override
-    public String uploadFile(MultipartFile file) throws Exception
-    {
-        String name = FileUploadUtils.upload(localFilePath, file);
-        String url = domain + localFilePrefix + name;
-        return url;
-    }
-}
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/MinioSysFileServiceImpl.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/MinioSysFileServiceImpl.java
deleted file mode 100644
index 5ed2b88..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/service/MinioSysFileServiceImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.hrt.file.service;
-
-import java.io.InputStream;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.file.config.MinioConfig;
-import com.hrt.file.utils.FileUploadUtils;
-import io.minio.MinioClient;
-import io.minio.PutObjectArgs;
-
-/**
- * Minio 文件存储
- *
- * @author jqs
- */
-@Service
-public class MinioSysFileServiceImpl implements ISysFileService
-{
-    @Autowired
-    private MinioConfig minioConfig;
-
-    @Autowired
-    private MinioClient client;
-
-    /**
-     * Minio文件上传接口
-     *
-     * @param file 上传的文件
-     * @return 访问地址
-     * @throws Exception
-     */
-    @Override
-    public String uploadFile(MultipartFile file) throws Exception
-    {
-        String fileName = FileUploadUtils.extractFilename(file);
-        InputStream inputStream = file.getInputStream();
-        PutObjectArgs args = PutObjectArgs.builder()
-                .bucket(minioConfig.getBucketName())
-                .object(fileName)
-                .stream(inputStream, file.getSize(), -1)
-                .contentType(file.getContentType())
-                .build();
-        client.putObject(args);
-        inputStream.close();
-        return minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName;
-    }
-}
diff --git a/hrt-modules/hrt-file/src/main/java/com/hrt/file/utils/FileUploadUtils.java b/hrt-modules/hrt-file/src/main/java/com/hrt/file/utils/FileUploadUtils.java
deleted file mode 100644
index 3c88a3b..0000000
--- a/hrt-modules/hrt-file/src/main/java/com/hrt/file/utils/FileUploadUtils.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package com.hrt.file.utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Paths;
-import java.util.Objects;
-import org.apache.commons.io.FilenameUtils;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.common.core.exception.file.FileException;
-import com.hrt.common.core.exception.file.FileNameLengthLimitExceededException;
-import com.hrt.common.core.exception.file.FileSizeLimitExceededException;
-import com.hrt.common.core.exception.file.InvalidExtensionException;
-import com.hrt.common.core.utils.DateUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.file.FileTypeUtils;
-import com.hrt.common.core.utils.file.MimeTypeUtils;
-import com.hrt.common.core.utils.uuid.Seq;
-
-/**
- * 文件上传工具类
- * 
- * @author jqs
- */
-public class FileUploadUtils
-{
-    /**
-     * 默认大小 50M
-     */
-    public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024;
-
-    /**
-     * 默认的文件名最大长度 100
-     */
-    public static final int DEFAULT_FILE_NAME_LENGTH = 100;
-
-    /**
-     * 根据文件路径上传
-     *
-     * @param baseDir 相对应用的基目录
-     * @param file 上传的文件
-     * @return 文件名称
-     * @throws IOException
-     */
-    public static final String upload(String baseDir, MultipartFile file) throws IOException
-    {
-        try
-        {
-            return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
-        }
-        catch (FileException fe)
-        {
-            throw new IOException(fe.getDefaultMessage(), fe);
-        }
-        catch (Exception e)
-        {
-            throw new IOException(e.getMessage(), e);
-        }
-    }
-
-    /**
-     * 文件上传
-     *
-     * @param baseDir 相对应用的基目录
-     * @param file 上传的文件
-     * @param allowedExtension 上传文件类型
-     * @return 返回上传成功的文件名
-     * @throws FileSizeLimitExceededException 如果超出最大大小
-     * @throws FileNameLengthLimitExceededException 文件名太长
-     * @throws IOException 比如读写文件出错时
-     * @throws InvalidExtensionException 文件校验异常
-     */
-    public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension)
-            throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,
-            InvalidExtensionException
-    {
-        int fileNamelength = Objects.requireNonNull(file.getOriginalFilename()).length();
-        if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH)
-        {
-            throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);
-        }
-
-        assertAllowed(file, allowedExtension);
-
-        String fileName = extractFilename(file);
-
-        String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();
-        file.transferTo(Paths.get(absPath));
-        return getPathFileName(fileName);
-    }
-
-    /**
-     * 编码文件名
-     */
-    public static final String extractFilename(MultipartFile file)
-    {
-        return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(),
-                FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), FileTypeUtils.getExtension(file));
-    }
-
-    private static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException
-    {
-        File desc = new File(uploadDir + File.separator + fileName);
-
-        if (!desc.exists())
-        {
-            if (!desc.getParentFile().exists())
-            {
-                desc.getParentFile().mkdirs();
-            }
-        }
-        return desc.isAbsolute() ? desc : desc.getAbsoluteFile();
-    }
-
-    private static final String getPathFileName(String fileName) throws IOException
-    {
-        String pathFileName = "/" + fileName;
-        return pathFileName;
-    }
-
-    /**
-     * 文件大小校验
-     *
-     * @param file 上传的文件
-     * @throws FileSizeLimitExceededException 如果超出最大大小
-     * @throws InvalidExtensionException 文件校验异常
-     */
-    public static final void assertAllowed(MultipartFile file, String[] allowedExtension)
-            throws FileSizeLimitExceededException, InvalidExtensionException
-    {
-        long size = file.getSize();
-        if (size > DEFAULT_MAX_SIZE)
-        {
-            throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024);
-        }
-
-        String fileName = file.getOriginalFilename();
-        String extension = FileTypeUtils.getExtension(file);
-        if (allowedExtension != null && !isAllowedExtension(extension, allowedExtension))
-        {
-            if (allowedExtension == MimeTypeUtils.IMAGE_EXTENSION)
-            {
-                throw new InvalidExtensionException.InvalidImageExtensionException(allowedExtension, extension,
-                        fileName);
-            }
-            else if (allowedExtension == MimeTypeUtils.FLASH_EXTENSION)
-            {
-                throw new InvalidExtensionException.InvalidFlashExtensionException(allowedExtension, extension,
-                        fileName);
-            }
-            else if (allowedExtension == MimeTypeUtils.MEDIA_EXTENSION)
-            {
-                throw new InvalidExtensionException.InvalidMediaExtensionException(allowedExtension, extension,
-                        fileName);
-            }
-            else if (allowedExtension == MimeTypeUtils.VIDEO_EXTENSION)
-            {
-                throw new InvalidExtensionException.InvalidVideoExtensionException(allowedExtension, extension,
-                        fileName);
-            }
-            else
-            {
-                throw new InvalidExtensionException(allowedExtension, extension, fileName);
-            }
-        }
-    }
-
-    /**
-     * 判断MIME类型是否是允许的MIME类型
-     *
-     * @param extension 上传文件类型
-     * @param allowedExtension 允许上传文件类型
-     * @return true/false
-     */
-    public static final boolean isAllowedExtension(String extension, String[] allowedExtension)
-    {
-        for (String str : allowedExtension)
-        {
-            if (str.equalsIgnoreCase(extension))
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-file/src/main/resources/banner.txt b/hrt-modules/hrt-file/src/main/resources/banner.txt
deleted file mode 100644
index 27cacb9..0000000
--- a/hrt-modules/hrt-file/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Spring Boot Version: ${spring-boot.version}
-Spring Application Name: ${spring.application.name}
-                            _           __  _  _       
-                           (_)         / _|(_)| |      
- _ __  _   _   ___   _   _  _  ______ | |_  _ | |  ___ 
-| '__|| | | | / _ \ | | | || ||______||  _|| || | / _ \
-| |   | |_| || (_) || |_| || |        | |  | || ||  __/
-|_|    \__,_| \___/  \__, ||_|        |_|  |_||_| \___|
-                      __/ |                            
-                     |___/                             
\ No newline at end of file
diff --git a/hrt-modules/hrt-file/src/main/resources/bootstrap.yml b/hrt-modules/hrt-file/src/main/resources/bootstrap.yml
deleted file mode 100644
index 93832b9..0000000
--- a/hrt-modules/hrt-file/src/main/resources/bootstrap.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Tomcat
-server:
-  port: 9300
-
-# Spring
-spring: 
-  application:
-    # 应用名称
-    name: hrt-file
-  profiles:
-    # 环境配置
-    active: dev
-  cloud:
-    nacos:
-      discovery:
-        # 服务注册地址
-        server-addr: 47.109.78.184:5000
-      config:
-        # 配置中心地址
-        server-addr: 47.109.78.184:5000
-        # 配置文件格式
-        file-extension: yml
-        # 共享配置
-        shared-configs:
-          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
-        group: haiheng
\ No newline at end of file
diff --git a/hrt-modules/hrt-file/src/main/resources/logback.xml b/hrt-modules/hrt-file/src/main/resources/logback.xml
deleted file mode 100644
index 26e9a52..0000000
--- a/hrt-modules/hrt-file/src/main/resources/logback.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <!-- 日志存放路径 -->
-	<property name="log.path" value="logs/hrt-file" />
-   <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
-
-    <!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
-
-    <!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-	</appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-			<!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 系统模块日志级别控制  -->
-	<logger name="com.hrt" level="info" />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
-
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/pom.xml b/hrt-modules/hrt-gen/pom.xml
deleted file mode 100644
index 3130a57..0000000
--- a/hrt-modules/hrt-gen/pom.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-modules</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hrt-modules-gen</artifactId>
-
-    <description>
-        hrt-modules-gen代码生成
-    </description>
-
-    <dependencies>
-    	
-    	<!-- SpringCloud Alibaba Nacos -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Nacos Config -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Sentinel -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
-        </dependency>
-        
-        <!-- SpringBoot Actuator -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-		
-        <!-- Swagger UI -->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>${swagger.fox.version}</version>
-        </dependency>
-        
-        <!-- Apache Velocity -->
-        <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity-engine-core</artifactId>
-        </dependency>
-        
-        <!-- Mysql Connector -->
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Log -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-log</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Swagger -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-swagger</artifactId>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <finalName>${project.artifactId}</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-   
-</project>
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/HrtGenApplication.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/HrtGenApplication.java
deleted file mode 100644
index f47b34b..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/HrtGenApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.gen;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import com.hrt.common.security.annotation.EnableCustomConfig;
-import com.hrt.common.security.annotation.EnableRyFeignClients;
-import com.hrt.common.swagger.annotation.EnableCustomSwagger2;
-
-/**
- * 代码生成
- * 
- * @author jqs
- */
-@EnableCustomConfig
-@EnableCustomSwagger2
-@EnableRyFeignClients
-@SpringBootApplication
-public class HrtGenApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(HrtGenApplication.class, args);
-        System.out.println("代码生成模块启动成功");
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/config/GenConfig.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/config/GenConfig.java
deleted file mode 100644
index f94a8d9..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/config/GenConfig.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.hrt.gen.config;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-/**
- * 代码生成相关配置
- * 
- * @author jqs
- */
-@Component
-@ConfigurationProperties(prefix = "gen")
-public class GenConfig
-{
-    /** 作者 */
-    public static String author;
-
-    /** 生成包路径 */
-    public static String packageName;
-
-    /** 自动去除表前缀,默认是false */
-    public static boolean autoRemovePre;
-
-    /** 表前缀(类名不会包含表前缀) */
-    public static String tablePrefix;
-
-    public static String getAuthor()
-    {
-        return author;
-    }
-
-    public void setAuthor(String author)
-    {
-        GenConfig.author = author;
-    }
-
-    public static String getPackageName()
-    {
-        return packageName;
-    }
-
-    public void setPackageName(String packageName)
-    {
-        GenConfig.packageName = packageName;
-    }
-
-    public static boolean getAutoRemovePre()
-    {
-        return autoRemovePre;
-    }
-
-    public void setAutoRemovePre(boolean autoRemovePre)
-    {
-        GenConfig.autoRemovePre = autoRemovePre;
-    }
-
-    public static String getTablePrefix()
-    {
-        return tablePrefix;
-    }
-
-    public void setTablePrefix(String tablePrefix)
-    {
-        GenConfig.tablePrefix = tablePrefix;
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/controller/GenController.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/controller/GenController.java
deleted file mode 100644
index 3c0594b..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/controller/GenController.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package com.hrt.gen.controller;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.io.IOUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.gen.domain.GenTable;
-import com.hrt.gen.domain.GenTableColumn;
-import com.hrt.gen.service.IGenTableColumnService;
-import com.hrt.gen.service.IGenTableService;
-
-/**
- * 代码生成 操作处理
- * 
- * @author jqs
- */
-@RequestMapping("/gen")
-@RestController
-public class GenController extends BaseController
-{
-    @Autowired
-    private IGenTableService genTableService;
-
-    @Autowired
-    private IGenTableColumnService genTableColumnService;
-
-    /**
-     * 查询代码生成列表
-     */
-    @RequiresPermissions("tool:gen:list")
-    @GetMapping("/list")
-    public TableDataInfo genList(GenTable genTable)
-    {
-        startPage();
-        List<GenTable> list = genTableService.selectGenTableList(genTable);
-        return getDataTable(list);
-    }
-
-    /**
-     * 修改代码生成业务
-     */
-    @RequiresPermissions("tool:gen:query")
-    @GetMapping(value = "/{tableId}")
-    public AjaxResult getInfo(@PathVariable Long tableId)
-    {
-        GenTable table = genTableService.selectGenTableById(tableId);
-        List<GenTable> tables = genTableService.selectGenTableAll();
-        List<GenTableColumn> list = genTableColumnService.selectGenTableColumnListByTableId(tableId);
-        Map<String, Object> map = new HashMap<String, Object>();
-        map.put("info", table);
-        map.put("rows", list);
-        map.put("tables", tables);
-        return success(map);
-    }
-
-    /**
-     * 查询数据库列表
-     */
-    @RequiresPermissions("tool:gen:list")
-    @GetMapping("/db/list")
-    public TableDataInfo dataList(GenTable genTable)
-    {
-        startPage();
-        List<GenTable> list = genTableService.selectDbTableList(genTable);
-        return getDataTable(list);
-    }
-
-    /**
-     * 查询数据表字段列表
-     */
-    @GetMapping(value = "/column/{tableId}")
-    public TableDataInfo columnList(Long tableId)
-    {
-        TableDataInfo dataInfo = new TableDataInfo();
-        List<GenTableColumn> list = genTableColumnService.selectGenTableColumnListByTableId(tableId);
-        dataInfo.setRows(list);
-        dataInfo.setTotal(list.size());
-        return dataInfo;
-    }
-
-    /**
-     * 导入表结构(保存)
-     */
-    @RequiresPermissions("tool:gen:import")
-    @Log(title = "代码生成", businessType = BusinessType.IMPORT)
-    @PostMapping("/importTable")
-    public AjaxResult importTableSave(String tables)
-    {
-        String[] tableNames = Convert.toStrArray(tables);
-        // 查询表信息
-        List<GenTable> tableList = genTableService.selectDbTableListByNames(tableNames);
-        genTableService.importGenTable(tableList);
-        return success();
-    }
-
-    /**
-     * 修改保存代码生成业务
-     */
-    @RequiresPermissions("tool:gen:edit")
-    @Log(title = "代码生成", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult editSave(@Validated @RequestBody GenTable genTable)
-    {
-        genTableService.validateEdit(genTable);
-        genTableService.updateGenTable(genTable);
-        return success();
-    }
-
-    /**
-     * 删除代码生成
-     */
-    @RequiresPermissions("tool:gen:remove")
-    @Log(title = "代码生成", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{tableIds}")
-    public AjaxResult remove(@PathVariable Long[] tableIds)
-    {
-        genTableService.deleteGenTableByIds(tableIds);
-        return success();
-    }
-
-    /**
-     * 预览代码
-     */
-    @RequiresPermissions("tool:gen:preview")
-    @GetMapping("/preview/{tableId}")
-    public AjaxResult preview(@PathVariable("tableId") Long tableId) throws IOException
-    {
-        Map<String, String> dataMap = genTableService.previewCode(tableId);
-        return success(dataMap);
-    }
-
-    /**
-     * 生成代码(下载方式)
-     */
-    @RequiresPermissions("tool:gen:code")
-    @Log(title = "代码生成", businessType = BusinessType.GENCODE)
-    @GetMapping("/download/{tableName}")
-    public void download(HttpServletResponse response, @PathVariable("tableName") String tableName) throws IOException
-    {
-        byte[] data = genTableService.downloadCode(tableName);
-        genCode(response, data);
-    }
-
-    /**
-     * 生成代码(自定义路径)
-     */
-    @RequiresPermissions("tool:gen:code")
-    @Log(title = "代码生成", businessType = BusinessType.GENCODE)
-    @GetMapping("/genCode/{tableName}")
-    public AjaxResult genCode(@PathVariable("tableName") String tableName)
-    {
-        genTableService.generatorCode(tableName);
-        return success();
-    }
-
-    /**
-     * 同步数据库
-     */
-    @RequiresPermissions("tool:gen:edit")
-    @Log(title = "代码生成", businessType = BusinessType.UPDATE)
-    @GetMapping("/synchDb/{tableName}")
-    public AjaxResult synchDb(@PathVariable("tableName") String tableName)
-    {
-        genTableService.synchDb(tableName);
-        return success();
-    }
-
-    /**
-     * 批量生成代码
-     */
-    @RequiresPermissions("tool:gen:code")
-    @Log(title = "代码生成", businessType = BusinessType.GENCODE)
-    @GetMapping("/batchGenCode")
-    public void batchGenCode(HttpServletResponse response, String tables) throws IOException
-    {
-        String[] tableNames = Convert.toStrArray(tables);
-        byte[] data = genTableService.downloadCode(tableNames);
-        genCode(response, data);
-    }
-
-    /**
-     * 生成zip文件
-     */
-    private void genCode(HttpServletResponse response, byte[] data) throws IOException
-    {
-        response.reset();
-        response.setHeader("Content-Disposition", "attachment; filename=\"hrt.zip\"");
-        response.addHeader("Content-Length", "" + data.length);
-        response.setContentType("application/octet-stream; charset=UTF-8");
-        IOUtils.write(data, response.getOutputStream());
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTable.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTable.java
deleted file mode 100644
index 6a8eacc..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTable.java
+++ /dev/null
@@ -1,370 +0,0 @@
-package com.hrt.gen.domain;
-
-import java.util.List;
-import javax.validation.Valid;
-import javax.validation.constraints.NotBlank;
-import org.apache.commons.lang3.ArrayUtils;
-import com.hrt.common.core.constant.GenConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 业务表 gen_table
- * 
- * @author jqs
- */
-public class GenTable extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 编号 */
-    private Long tableId;
-
-    /** 表名称 */
-    @NotBlank(message = "表名称不能为空")
-    private String tableName;
-
-    /** 表描述 */
-    @NotBlank(message = "表描述不能为空")
-    private String tableComment;
-
-    /** 关联父表的表名 */
-    private String subTableName;
-
-    /** 本表关联父表的外键名 */
-    private String subTableFkName;
-
-    /** 实体类名称(首字母大写) */
-    @NotBlank(message = "实体类名称不能为空")
-    private String className;
-
-    /** 使用的模板(crud单表操作 tree树表操作 sub主子表操作) */
-    private String tplCategory;
-
-    /** 生成包路径 */
-    @NotBlank(message = "生成包路径不能为空")
-    private String packageName;
-
-    /** 生成模块名 */
-    @NotBlank(message = "生成模块名不能为空")
-    private String moduleName;
-
-    /** 生成业务名 */
-    @NotBlank(message = "生成业务名不能为空")
-    private String businessName;
-
-    /** 生成功能名 */
-    @NotBlank(message = "生成功能名不能为空")
-    private String functionName;
-
-    /** 生成作者 */
-    @NotBlank(message = "作者不能为空")
-    private String functionAuthor;
-
-    /** 生成代码方式(0zip压缩包 1自定义路径) */
-    private String genType;
-
-    /** 生成路径(不填默认项目路径) */
-    private String genPath;
-
-    /** 主键信息 */
-    private GenTableColumn pkColumn;
-
-    /** 子表信息 */
-    private GenTable subTable;
-
-    /** 表列信息 */
-    @Valid
-    private List<GenTableColumn> columns;
-
-    /** 其它生成选项 */
-    private String options;
-
-    /** 树编码字段 */
-    private String treeCode;
-
-    /** 树父编码字段 */
-    private String treeParentCode;
-
-    /** 树名称字段 */
-    private String treeName;
-
-    /** 上级菜单ID字段 */
-    private String parentMenuId;
-
-    /** 上级菜单名称字段 */
-    private String parentMenuName;
-
-    public Long getTableId()
-    {
-        return tableId;
-    }
-
-    public void setTableId(Long tableId)
-    {
-        this.tableId = tableId;
-    }
-
-    public String getTableName()
-    {
-        return tableName;
-    }
-
-    public void setTableName(String tableName)
-    {
-        this.tableName = tableName;
-    }
-
-    public String getTableComment()
-    {
-        return tableComment;
-    }
-
-    public void setTableComment(String tableComment)
-    {
-        this.tableComment = tableComment;
-    }
-
-    public String getSubTableName()
-    {
-        return subTableName;
-    }
-
-    public void setSubTableName(String subTableName)
-    {
-        this.subTableName = subTableName;
-    }
-
-    public String getSubTableFkName()
-    {
-        return subTableFkName;
-    }
-
-    public void setSubTableFkName(String subTableFkName)
-    {
-        this.subTableFkName = subTableFkName;
-    }
-
-    public String getClassName()
-    {
-        return className;
-    }
-
-    public void setClassName(String className)
-    {
-        this.className = className;
-    }
-
-    public String getTplCategory()
-    {
-        return tplCategory;
-    }
-
-    public void setTplCategory(String tplCategory)
-    {
-        this.tplCategory = tplCategory;
-    }
-
-    public String getPackageName()
-    {
-        return packageName;
-    }
-
-    public void setPackageName(String packageName)
-    {
-        this.packageName = packageName;
-    }
-
-    public String getModuleName()
-    {
-        return moduleName;
-    }
-
-    public void setModuleName(String moduleName)
-    {
-        this.moduleName = moduleName;
-    }
-
-    public String getBusinessName()
-    {
-        return businessName;
-    }
-
-    public void setBusinessName(String businessName)
-    {
-        this.businessName = businessName;
-    }
-
-    public String getFunctionName()
-    {
-        return functionName;
-    }
-
-    public void setFunctionName(String functionName)
-    {
-        this.functionName = functionName;
-    }
-
-    public String getFunctionAuthor()
-    {
-        return functionAuthor;
-    }
-
-    public void setFunctionAuthor(String functionAuthor)
-    {
-        this.functionAuthor = functionAuthor;
-    }
-
-    public String getGenType()
-    {
-        return genType;
-    }
-
-    public void setGenType(String genType)
-    {
-        this.genType = genType;
-    }
-
-    public String getGenPath()
-    {
-        return genPath;
-    }
-
-    public void setGenPath(String genPath)
-    {
-        this.genPath = genPath;
-    }
-
-    public GenTableColumn getPkColumn()
-    {
-        return pkColumn;
-    }
-
-    public void setPkColumn(GenTableColumn pkColumn)
-    {
-        this.pkColumn = pkColumn;
-    }
-
-    public GenTable getSubTable()
-    {
-        return subTable;
-    }
-
-    public void setSubTable(GenTable subTable)
-    {
-        this.subTable = subTable;
-    }
-    public List<GenTableColumn> getColumns()
-    {
-        return columns;
-    }
-
-    public void setColumns(List<GenTableColumn> columns)
-    {
-        this.columns = columns;
-    }
-
-    public String getOptions()
-    {
-        return options;
-    }
-
-    public void setOptions(String options)
-    {
-        this.options = options;
-    }
-
-    public String getTreeCode()
-    {
-        return treeCode;
-    }
-
-    public void setTreeCode(String treeCode)
-    {
-        this.treeCode = treeCode;
-    }
-
-    public String getTreeParentCode()
-    {
-        return treeParentCode;
-    }
-
-    public void setTreeParentCode(String treeParentCode)
-    {
-        this.treeParentCode = treeParentCode;
-    }
-
-    public String getTreeName()
-    {
-        return treeName;
-    }
-
-    public void setTreeName(String treeName)
-    {
-        this.treeName = treeName;
-    }
-
-    public String getParentMenuId()
-    {
-        return parentMenuId;
-    }
-
-    public void setParentMenuId(String parentMenuId)
-    {
-        this.parentMenuId = parentMenuId;
-    }
-
-    public String getParentMenuName()
-    {
-        return parentMenuName;
-    }
-
-    public void setParentMenuName(String parentMenuName)
-    {
-        this.parentMenuName = parentMenuName;
-    }
-
-    public boolean isSub()
-    {
-        return isSub(this.tplCategory);
-    }
-
-    public static boolean isSub(String tplCategory)
-    {
-        return tplCategory != null && StringUtils.equals(GenConstants.TPL_SUB, tplCategory);
-    }
-    public boolean isTree()
-    {
-        return isTree(this.tplCategory);
-    }
-
-    public static boolean isTree(String tplCategory)
-    {
-        return tplCategory != null && StringUtils.equals(GenConstants.TPL_TREE, tplCategory);
-    }
-
-    public boolean isCrud()
-    {
-        return isCrud(this.tplCategory);
-    }
-
-    public static boolean isCrud(String tplCategory)
-    {
-        return tplCategory != null && StringUtils.equals(GenConstants.TPL_CRUD, tplCategory);
-    }
-
-    public boolean isSuperColumn(String javaField)
-    {
-        return isSuperColumn(this.tplCategory, javaField);
-    }
-
-    public static boolean isSuperColumn(String tplCategory, String javaField)
-    {
-        if (isTree(tplCategory))
-        {
-            return StringUtils.equalsAnyIgnoreCase(javaField,
-                    ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY));
-        }
-        return StringUtils.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY);
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTableColumn.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTableColumn.java
deleted file mode 100644
index 709e699..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/domain/GenTableColumn.java
+++ /dev/null
@@ -1,374 +0,0 @@
-package com.hrt.gen.domain;
-
-import javax.validation.constraints.NotBlank;
-
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 代码生成业务字段表 gen_table_column
- * 
- * @author jqs
- */
-public class GenTableColumn extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 编号 */
-    private Long columnId;
-
-    /** 归属表编号 */
-    private Long tableId;
-
-    /** 列名称 */
-    private String columnName;
-
-    /** 列描述 */
-    private String columnComment;
-
-    /** 列类型 */
-    private String columnType;
-
-    /** JAVA类型 */
-    private String javaType;
-
-    /** JAVA字段名 */
-    @NotBlank(message = "Java属性不能为空")
-    private String javaField;
-
-    /** 是否主键(1是) */
-    private String isPk;
-
-    /** 是否自增(1是) */
-    private String isIncrement;
-
-    /** 是否必填(1是) */
-    private String isRequired;
-
-    /** 是否为插入字段(1是) */
-    private String isInsert;
-
-    /** 是否编辑字段(1是) */
-    private String isEdit;
-
-    /** 是否列表字段(1是) */
-    private String isList;
-
-    /** 是否查询字段(1是) */
-    private String isQuery;
-
-    /** 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围) */
-    private String queryType;
-
-    /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、image图片上传控件、upload文件上传控件、editor富文本控件) */
-    private String htmlType;
-
-    /** 字典类型 */
-    private String dictType;
-
-    /** 排序 */
-    private Integer sort;
-
-    public void setColumnId(Long columnId)
-    {
-        this.columnId = columnId;
-    }
-
-    public Long getColumnId()
-    {
-        return columnId;
-    }
-
-    public void setTableId(Long tableId)
-    {
-        this.tableId = tableId;
-    }
-
-    public Long getTableId()
-    {
-        return tableId;
-    }
-
-    public void setColumnName(String columnName)
-    {
-        this.columnName = columnName;
-    }
-
-    public String getColumnName()
-    {
-        return columnName;
-    }
-
-    public void setColumnComment(String columnComment)
-    {
-        this.columnComment = columnComment;
-    }
-
-    public String getColumnComment()
-    {
-        return columnComment;
-    }
-
-    public void setColumnType(String columnType)
-    {
-        this.columnType = columnType;
-    }
-
-    public String getColumnType()
-    {
-        return columnType;
-    }
-
-    public void setJavaType(String javaType)
-    {
-        this.javaType = javaType;
-    }
-
-    public String getJavaType()
-    {
-        return javaType;
-    }
-
-    public void setJavaField(String javaField)
-    {
-        this.javaField = javaField;
-    }
-
-    public String getJavaField()
-    {
-        return javaField;
-    }
-
-    public String getCapJavaField()
-    {
-        return StringUtils.capitalize(javaField);
-    }
-
-    public void setIsPk(String isPk)
-    {
-        this.isPk = isPk;
-    }
-
-    public String getIsPk()
-    {
-        return isPk;
-    }
-
-    public boolean isPk()
-    {
-        return isPk(this.isPk);
-    }
-
-    public boolean isPk(String isPk)
-    {
-        return isPk != null && StringUtils.equals("1", isPk);
-    }
-
-    public String getIsIncrement()
-    {
-        return isIncrement;
-    }
-
-    public void setIsIncrement(String isIncrement)
-    {
-        this.isIncrement = isIncrement;
-    }
-
-    public boolean isIncrement()
-    {
-        return isIncrement(this.isIncrement);
-    }
-
-    public boolean isIncrement(String isIncrement)
-    {
-        return isIncrement != null && StringUtils.equals("1", isIncrement);
-    }
-
-    public void setIsRequired(String isRequired)
-    {
-        this.isRequired = isRequired;
-    }
-
-    public String getIsRequired()
-    {
-        return isRequired;
-    }
-
-    public boolean isRequired()
-    {
-        return isRequired(this.isRequired);
-    }
-
-    public boolean isRequired(String isRequired)
-    {
-        return isRequired != null && StringUtils.equals("1", isRequired);
-    }
-
-    public void setIsInsert(String isInsert)
-    {
-        this.isInsert = isInsert;
-    }
-
-    public String getIsInsert()
-    {
-        return isInsert;
-    }
-
-    public boolean isInsert()
-    {
-        return isInsert(this.isInsert);
-    }
-
-    public boolean isInsert(String isInsert)
-    {
-        return isInsert != null && StringUtils.equals("1", isInsert);
-    }
-
-    public void setIsEdit(String isEdit)
-    {
-        this.isEdit = isEdit;
-    }
-
-    public String getIsEdit()
-    {
-        return isEdit;
-    }
-
-    public boolean isEdit()
-    {
-        return isInsert(this.isEdit);
-    }
-
-    public boolean isEdit(String isEdit)
-    {
-        return isEdit != null && StringUtils.equals("1", isEdit);
-    }
-
-    public void setIsList(String isList)
-    {
-        this.isList = isList;
-    }
-
-    public String getIsList()
-    {
-        return isList;
-    }
-
-    public boolean isList()
-    {
-        return isList(this.isList);
-    }
-
-    public boolean isList(String isList)
-    {
-        return isList != null && StringUtils.equals("1", isList);
-    }
-
-    public void setIsQuery(String isQuery)
-    {
-        this.isQuery = isQuery;
-    }
-
-    public String getIsQuery()
-    {
-        return isQuery;
-    }
-
-    public boolean isQuery()
-    {
-        return isQuery(this.isQuery);
-    }
-
-    public boolean isQuery(String isQuery)
-    {
-        return isQuery != null && StringUtils.equals("1", isQuery);
-    }
-
-    public void setQueryType(String queryType)
-    {
-        this.queryType = queryType;
-    }
-
-    public String getQueryType()
-    {
-        return queryType;
-    }
-
-    public String getHtmlType()
-    {
-        return htmlType;
-    }
-
-    public void setHtmlType(String htmlType)
-    {
-        this.htmlType = htmlType;
-    }
-
-    public void setDictType(String dictType)
-    {
-        this.dictType = dictType;
-    }
-
-    public String getDictType()
-    {
-        return dictType;
-    }
-
-    public void setSort(Integer sort)
-    {
-        this.sort = sort;
-    }
-
-    public Integer getSort()
-    {
-        return sort;
-    }
-
-    public boolean isSuperColumn()
-    {
-        return isSuperColumn(this.javaField);
-    }
-
-    public static boolean isSuperColumn(String javaField)
-    {
-        return StringUtils.equalsAnyIgnoreCase(javaField,
-                // BaseEntity
-                "createBy", "createTime", "updateBy", "updateTime", "remark",
-                // TreeEntity
-                "parentName", "parentId", "orderNum", "ancestors");
-    }
-
-    public boolean isUsableColumn()
-    {
-        return isUsableColumn(javaField);
-    }
-
-    public static boolean isUsableColumn(String javaField)
-    {
-        // isSuperColumn()中的名单用于避免生成多余Domain属性,若某些属性在生成页面时需要用到不能忽略,则放在此处白名单
-        return StringUtils.equalsAnyIgnoreCase(javaField, "parentId", "orderNum", "remark");
-    }
-
-    public String readConverterExp()
-    {
-        String remarks = StringUtils.substringBetween(this.columnComment, "(", ")");
-        StringBuffer sb = new StringBuffer();
-        if (StringUtils.isNotEmpty(remarks))
-        {
-            for (String value : remarks.split(" "))
-            {
-                if (StringUtils.isNotEmpty(value))
-                {
-                    Object startStr = value.subSequence(0, 1);
-                    String endStr = value.substring(1);
-                    sb.append("").append(startStr).append("=").append(endStr).append(",");
-                }
-            }
-            return sb.deleteCharAt(sb.length() - 1).toString();
-        }
-        else
-        {
-            return this.columnComment;
-        }
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableColumnMapper.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableColumnMapper.java
deleted file mode 100644
index 393709c..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableColumnMapper.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.hrt.gen.mapper;
-
-import java.util.List;
-import com.hrt.gen.domain.GenTableColumn;
-
-/**
- * 业务字段 数据层
- * 
- * @author jqs
- */
-public interface GenTableColumnMapper
-{
-    /**
-     * 根据表名称查询列信息
-     * 
-     * @param tableName 表名称
-     * @return 列信息
-     */
-    public List<GenTableColumn> selectDbTableColumnsByName(String tableName);
-
-    /**
-     * 查询业务字段列表
-     * 
-     * @param tableId 业务字段编号
-     * @return 业务字段集合
-     */
-    public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId);
-
-    /**
-     * 新增业务字段
-     * 
-     * @param genTableColumn 业务字段信息
-     * @return 结果
-     */
-    public int insertGenTableColumn(GenTableColumn genTableColumn);
-
-    /**
-     * 修改业务字段
-     * 
-     * @param genTableColumn 业务字段信息
-     * @return 结果
-     */
-    public int updateGenTableColumn(GenTableColumn genTableColumn);
-
-    /**
-     * 删除业务字段
-     * 
-     * @param genTableColumns 列数据
-     * @return 结果
-     */
-    public int deleteGenTableColumns(List<GenTableColumn> genTableColumns);
-
-    /**
-     * 批量删除业务字段
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteGenTableColumnByIds(Long[] ids);
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableMapper.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableMapper.java
deleted file mode 100644
index b2637ad..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/mapper/GenTableMapper.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.hrt.gen.mapper;
-
-import java.util.List;
-import com.hrt.gen.domain.GenTable;
-
-/**
- * 业务 数据层
- * 
- * @author jqs
- */
-public interface GenTableMapper
-{
-    /**
-     * 查询业务列表
-     * 
-     * @param genTable 业务信息
-     * @return 业务集合
-     */
-    public List<GenTable> selectGenTableList(GenTable genTable);
-
-    /**
-     * 查询据库列表
-     * 
-     * @param genTable 业务信息
-     * @return 数据库表集合
-     */
-    public List<GenTable> selectDbTableList(GenTable genTable);
-
-    /**
-     * 查询据库列表
-     * 
-     * @param tableNames 表名称组
-     * @return 数据库表集合
-     */
-    public List<GenTable> selectDbTableListByNames(String[] tableNames);
-
-    /**
-     * 查询所有表信息
-     * 
-     * @return 表信息集合
-     */
-    public List<GenTable> selectGenTableAll();
-
-    /**
-     * 查询表ID业务信息
-     * 
-     * @param id 业务ID
-     * @return 业务信息
-     */
-    public GenTable selectGenTableById(Long id);
-
-    /**
-     * 查询表名称业务信息
-     * 
-     * @param tableName 表名称
-     * @return 业务信息
-     */
-    public GenTable selectGenTableByName(String tableName);
-
-    /**
-     * 新增业务
-     * 
-     * @param genTable 业务信息
-     * @return 结果
-     */
-    public int insertGenTable(GenTable genTable);
-
-    /**
-     * 修改业务
-     * 
-     * @param genTable 业务信息
-     * @return 结果
-     */
-    public int updateGenTable(GenTable genTable);
-
-    /**
-     * 批量删除业务
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteGenTableByIds(Long[] ids);
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableColumnServiceImpl.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableColumnServiceImpl.java
deleted file mode 100644
index 3701fb4..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableColumnServiceImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.hrt.gen.service;
-
-import java.util.List;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import com.hrt.common.core.text.Convert;
-import com.hrt.gen.domain.GenTableColumn;
-import com.hrt.gen.mapper.GenTableColumnMapper;
-
-/**
- * 业务字段 服务层实现
- * 
- * @author jqs
- */
-@Service
-public class GenTableColumnServiceImpl implements IGenTableColumnService 
-{
-	@Autowired
-	private GenTableColumnMapper genTableColumnMapper;
-
-	/**
-     * 查询业务字段列表
-     * 
-     * @param tableId 业务字段编号
-     * @return 业务字段集合
-     */
-	@Override
-	public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId)
-	{
-	    return genTableColumnMapper.selectGenTableColumnListByTableId(tableId);
-	}
-	
-    /**
-     * 新增业务字段
-     * 
-     * @param genTableColumn 业务字段信息
-     * @return 结果
-     */
-	@Override
-	public int insertGenTableColumn(GenTableColumn genTableColumn)
-	{
-	    return genTableColumnMapper.insertGenTableColumn(genTableColumn);
-	}
-	
-	/**
-     * 修改业务字段
-     * 
-     * @param genTableColumn 业务字段信息
-     * @return 结果
-     */
-	@Override
-	public int updateGenTableColumn(GenTableColumn genTableColumn)
-	{
-	    return genTableColumnMapper.updateGenTableColumn(genTableColumn);
-	}
-
-	/**
-     * 删除业务字段对象
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-	@Override
-	public int deleteGenTableColumnByIds(String ids)
-	{
-		return genTableColumnMapper.deleteGenTableColumnByIds(Convert.toLongArray(ids));
-	}
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableServiceImpl.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableServiceImpl.java
deleted file mode 100644
index 6493c1a..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/GenTableServiceImpl.java
+++ /dev/null
@@ -1,521 +0,0 @@
-package com.hrt.gen.service;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.velocity.Template;
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.Velocity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.constant.GenConstants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.text.CharsetKit;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.gen.domain.GenTable;
-import com.hrt.gen.domain.GenTableColumn;
-import com.hrt.gen.mapper.GenTableColumnMapper;
-import com.hrt.gen.mapper.GenTableMapper;
-import com.hrt.gen.util.GenUtils;
-import com.hrt.gen.util.VelocityInitializer;
-import com.hrt.gen.util.VelocityUtils;
-
-/**
- * 业务 服务层实现
- * 
- * @author jqs
- */
-@Service
-public class GenTableServiceImpl implements IGenTableService
-{
-    private static final Logger log = LoggerFactory.getLogger(GenTableServiceImpl.class);
-
-    @Autowired
-    private GenTableMapper genTableMapper;
-
-    @Autowired
-    private GenTableColumnMapper genTableColumnMapper;
-
-    /**
-     * 查询业务信息
-     * 
-     * @param id 业务ID
-     * @return 业务信息
-     */
-    @Override
-    public GenTable selectGenTableById(Long id)
-    {
-        GenTable genTable = genTableMapper.selectGenTableById(id);
-        setTableFromOptions(genTable);
-        return genTable;
-    }
-
-    /**
-     * 查询业务列表
-     * 
-     * @param genTable 业务信息
-     * @return 业务集合
-     */
-    @Override
-    public List<GenTable> selectGenTableList(GenTable genTable)
-    {
-        return genTableMapper.selectGenTableList(genTable);
-    }
-
-    /**
-     * 查询据库列表
-     * 
-     * @param genTable 业务信息
-     * @return 数据库表集合
-     */
-    @Override
-    public List<GenTable> selectDbTableList(GenTable genTable)
-    {
-        return genTableMapper.selectDbTableList(genTable);
-    }
-
-    /**
-     * 查询据库列表
-     * 
-     * @param tableNames 表名称组
-     * @return 数据库表集合
-     */
-    @Override
-    public List<GenTable> selectDbTableListByNames(String[] tableNames)
-    {
-        return genTableMapper.selectDbTableListByNames(tableNames);
-    }
-
-    /**
-     * 查询所有表信息
-     * 
-     * @return 表信息集合
-     */
-    @Override
-    public List<GenTable> selectGenTableAll()
-    {
-        return genTableMapper.selectGenTableAll();
-    }
-
-    /**
-     * 修改业务
-     * 
-     * @param genTable 业务信息
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void updateGenTable(GenTable genTable)
-    {
-        String options = JSON.toJSONString(genTable.getParams());
-        genTable.setOptions(options);
-        int row = genTableMapper.updateGenTable(genTable);
-        if (row > 0)
-        {
-            for (GenTableColumn cenTableColumn : genTable.getColumns())
-            {
-                genTableColumnMapper.updateGenTableColumn(cenTableColumn);
-            }
-        }
-    }
-
-    /**
-     * 删除业务对象
-     * 
-     * @param tableIds 需要删除的数据ID
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void deleteGenTableByIds(Long[] tableIds)
-    {
-        genTableMapper.deleteGenTableByIds(tableIds);
-        genTableColumnMapper.deleteGenTableColumnByIds(tableIds);
-    }
-
-    /**
-     * 导入表结构
-     * 
-     * @param tableList 导入表列表
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void importGenTable(List<GenTable> tableList)
-    {
-        String operName = SecurityUtils.getUsername();
-        try
-        {
-            for (GenTable table : tableList)
-            {
-                String tableName = table.getTableName();
-                GenUtils.initTable(table, operName);
-                int row = genTableMapper.insertGenTable(table);
-                if (row > 0)
-                {
-                    // 保存列信息
-                    List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
-                    for (GenTableColumn column : genTableColumns)
-                    {
-                        GenUtils.initColumnField(column, table);
-                        genTableColumnMapper.insertGenTableColumn(column);
-                    }
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            throw new ServiceException("导入失败:" + e.getMessage());
-        }
-    }
-
-    /**
-     * 预览代码
-     * 
-     * @param tableId 表编号
-     * @return 预览数据列表
-     */
-    @Override
-    public Map<String, String> previewCode(Long tableId)
-    {
-        Map<String, String> dataMap = new LinkedHashMap<>();
-        // 查询表信息
-        GenTable table = genTableMapper.selectGenTableById(tableId);
-        // 设置主子表信息
-        setSubTable(table);
-        // 设置主键列信息
-        setPkColumn(table);
-        VelocityInitializer.initVelocity();
-
-        VelocityContext context = VelocityUtils.prepareContext(table);
-
-        // 获取模板列表
-        List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());
-        for (String template : templates)
-        {
-            // 渲染模板
-            StringWriter sw = new StringWriter();
-            Template tpl = Velocity.getTemplate(template, Constants.UTF8);
-            tpl.merge(context, sw);
-            dataMap.put(template, sw.toString());
-        }
-        return dataMap;
-    }
-
-    /**
-     * 生成代码(下载方式)
-     * 
-     * @param tableName 表名称
-     * @return 数据
-     */
-    @Override
-    public byte[] downloadCode(String tableName)
-    {
-        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-        ZipOutputStream zip = new ZipOutputStream(outputStream);
-        generatorCode(tableName, zip);
-        IOUtils.closeQuietly(zip);
-        return outputStream.toByteArray();
-    }
-
-    /**
-     * 生成代码(自定义路径)
-     * 
-     * @param tableName 表名称
-     */
-    @Override
-    public void generatorCode(String tableName)
-    {
-        // 查询表信息
-        GenTable table = genTableMapper.selectGenTableByName(tableName);
-        // 设置主子表信息
-        setSubTable(table);
-        // 设置主键列信息
-        setPkColumn(table);
-
-        VelocityInitializer.initVelocity();
-
-        VelocityContext context = VelocityUtils.prepareContext(table);
-
-        // 获取模板列表
-        List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());
-        for (String template : templates)
-        {
-            if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm"))
-            {
-                // 渲染模板
-                StringWriter sw = new StringWriter();
-                Template tpl = Velocity.getTemplate(template, Constants.UTF8);
-                tpl.merge(context, sw);
-                try
-                {
-                    String path = getGenPath(table, template);
-                    FileUtils.writeStringToFile(new File(path), sw.toString(), CharsetKit.UTF_8);
-                }
-                catch (IOException e)
-                {
-                    throw new ServiceException("渲染模板失败,表名:" + table.getTableName());
-                }
-            }
-        }
-    }
-
-    /**
-     * 同步数据库
-     * 
-     * @param tableName 表名称
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void synchDb(String tableName)
-    {
-        GenTable table = genTableMapper.selectGenTableByName(tableName);
-        List<GenTableColumn> tableColumns = table.getColumns();
-        Map<String, GenTableColumn> tableColumnMap = tableColumns.stream().collect(Collectors.toMap(GenTableColumn::getColumnName, Function.identity()));
-
-        List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
-        if (StringUtils.isEmpty(dbTableColumns))
-        {
-            throw new ServiceException("同步数据失败,原表结构不存在");
-        }
-        List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
-
-        dbTableColumns.forEach(column -> {
-            GenUtils.initColumnField(column, table);
-            if (tableColumnMap.containsKey(column.getColumnName()))
-            {
-                GenTableColumn prevColumn = tableColumnMap.get(column.getColumnName());
-                column.setColumnId(prevColumn.getColumnId());
-                if (column.isList())
-                {
-                    // 如果是列表,继续保留查询方式/字典类型选项
-                    column.setDictType(prevColumn.getDictType());
-                    column.setQueryType(prevColumn.getQueryType());
-                }
-                if (StringUtils.isNotEmpty(prevColumn.getIsRequired()) && !column.isPk()
-                        && (column.isInsert() || column.isEdit())
-                        && ((column.isUsableColumn()) || (!column.isSuperColumn())))
-                {
-                    // 如果是(新增/修改&非主键/非忽略及父属性),继续保留必填/显示类型选项
-                    column.setIsRequired(prevColumn.getIsRequired());
-                    column.setHtmlType(prevColumn.getHtmlType());
-                }
-                genTableColumnMapper.updateGenTableColumn(column);
-            }
-            else
-            {
-                genTableColumnMapper.insertGenTableColumn(column);
-            }
-        });
-
-        List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList());
-        if (StringUtils.isNotEmpty(delColumns))
-        {
-            genTableColumnMapper.deleteGenTableColumns(delColumns);
-        }
-    }
-
-    /**
-     * 批量生成代码(下载方式)
-     * 
-     * @param tableNames 表数组
-     * @return 数据
-     */
-    @Override
-    public byte[] downloadCode(String[] tableNames)
-    {
-        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-        ZipOutputStream zip = new ZipOutputStream(outputStream);
-        for (String tableName : tableNames)
-        {
-            generatorCode(tableName, zip);
-        }
-        IOUtils.closeQuietly(zip);
-        return outputStream.toByteArray();
-    }
-
-    /**
-     * 查询表信息并生成代码
-     */
-    private void generatorCode(String tableName, ZipOutputStream zip)
-    {
-        // 查询表信息
-        GenTable table = genTableMapper.selectGenTableByName(tableName);
-        // 设置主子表信息
-        setSubTable(table);
-        // 设置主键列信息
-        setPkColumn(table);
-
-        VelocityInitializer.initVelocity();
-
-        VelocityContext context = VelocityUtils.prepareContext(table);
-
-        // 获取模板列表
-        List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());
-        for (String template : templates)
-        {
-            // 渲染模板
-            StringWriter sw = new StringWriter();
-            Template tpl = Velocity.getTemplate(template, Constants.UTF8);
-            tpl.merge(context, sw);
-            try
-            {
-                // 添加到zip
-                zip.putNextEntry(new ZipEntry(VelocityUtils.getFileName(template, table)));
-                IOUtils.write(sw.toString(), zip, Constants.UTF8);
-                IOUtils.closeQuietly(sw);
-                zip.flush();
-                zip.closeEntry();
-            }
-            catch (IOException e)
-            {
-                log.error("渲染模板失败,表名:" + table.getTableName(), e);
-            }
-        }
-    }
-
-    /**
-     * 修改保存参数校验
-     * 
-     * @param genTable 业务信息
-     */
-    @Override
-    public void validateEdit(GenTable genTable)
-    {
-        if (GenConstants.TPL_TREE.equals(genTable.getTplCategory()))
-        {
-            String options = JSON.toJSONString(genTable.getParams());
-            JSONObject paramsObj = JSON.parseObject(options);
-            if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE)))
-            {
-                throw new ServiceException("树编码字段不能为空");
-            }
-            else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE)))
-            {
-                throw new ServiceException("树父编码字段不能为空");
-            }
-            else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME)))
-            {
-                throw new ServiceException("树名称字段不能为空");
-            }
-            else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory()))
-            {
-                if (StringUtils.isEmpty(genTable.getSubTableName()))
-                {
-                    throw new ServiceException("关联子表的表名不能为空");
-                }
-                else if (StringUtils.isEmpty(genTable.getSubTableFkName()))
-                {
-                    throw new ServiceException("子表关联的外键名不能为空");
-                }
-            }
-        }
-    }
-
-    /**
-     * 设置主键列信息
-     * 
-     * @param table 业务表信息
-     */
-    public void setPkColumn(GenTable table)
-    {
-        for (GenTableColumn column : table.getColumns())
-        {
-            if (column.isPk())
-            {
-                table.setPkColumn(column);
-                break;
-            }
-        }
-        if (StringUtils.isNull(table.getPkColumn()))
-        {
-            table.setPkColumn(table.getColumns().get(0));
-        }
-        if (GenConstants.TPL_SUB.equals(table.getTplCategory()))
-        {
-            for (GenTableColumn column : table.getSubTable().getColumns())
-            {
-                if (column.isPk())
-                {
-                    table.getSubTable().setPkColumn(column);
-                    break;
-                }
-            }
-            if (StringUtils.isNull(table.getSubTable().getPkColumn()))
-            {
-                table.getSubTable().setPkColumn(table.getSubTable().getColumns().get(0));
-            }
-        }
-    }
-
-    /**
-     * 设置主子表信息
-     * 
-     * @param table 业务表信息
-     */
-    public void setSubTable(GenTable table)
-    {
-        String subTableName = table.getSubTableName();
-        if (StringUtils.isNotEmpty(subTableName))
-        {
-            table.setSubTable(genTableMapper.selectGenTableByName(subTableName));
-        }
-    }
-
-    /**
-     * 设置代码生成其他选项值
-     * 
-     * @param genTable 设置后的生成对象
-     */
-    public void setTableFromOptions(GenTable genTable)
-    {
-        JSONObject paramsObj = JSON.parseObject(genTable.getOptions());
-        if (StringUtils.isNotNull(paramsObj))
-        {
-            String treeCode = paramsObj.getString(GenConstants.TREE_CODE);
-            String treeParentCode = paramsObj.getString(GenConstants.TREE_PARENT_CODE);
-            String treeName = paramsObj.getString(GenConstants.TREE_NAME);
-            String parentMenuId = paramsObj.getString(GenConstants.PARENT_MENU_ID);
-            String parentMenuName = paramsObj.getString(GenConstants.PARENT_MENU_NAME);
-
-            genTable.setTreeCode(treeCode);
-            genTable.setTreeParentCode(treeParentCode);
-            genTable.setTreeName(treeName);
-            genTable.setParentMenuId(parentMenuId);
-            genTable.setParentMenuName(parentMenuName);
-        }
-    }
-
-    /**
-     * 获取代码生成地址
-     * 
-     * @param table 业务表信息
-     * @param template 模板文件路径
-     * @return 生成地址
-     */
-    public static String getGenPath(GenTable table, String template)
-    {
-        String genPath = table.getGenPath();
-        if (StringUtils.equals(genPath, "/"))
-        {
-            return System.getProperty("user.dir") + File.separator + "src" + File.separator + VelocityUtils.getFileName(template, table);
-        }
-        return genPath + File.separator + VelocityUtils.getFileName(template, table);
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableColumnService.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableColumnService.java
deleted file mode 100644
index ed235d3..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableColumnService.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.hrt.gen.service;
-
-import java.util.List;
-import com.hrt.gen.domain.GenTableColumn;
-
-/**
- * 业务字段 服务层
- * 
- * @author jqs
- */
-public interface IGenTableColumnService
-{
-    /**
-     * 查询业务字段列表
-     * 
-     * @param tableId 业务字段编号
-     * @return 业务字段集合
-     */
-    public List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId);
-
-    /**
-     * 新增业务字段
-     * 
-     * @param genTableColumn 业务字段信息
-     * @return 结果
-     */
-    public int insertGenTableColumn(GenTableColumn genTableColumn);
-
-    /**
-     * 修改业务字段
-     * 
-     * @param genTableColumn 业务字段信息
-     * @return 结果
-     */
-    public int updateGenTableColumn(GenTableColumn genTableColumn);
-
-    /**
-     * 删除业务字段信息
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteGenTableColumnByIds(String ids);
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableService.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableService.java
deleted file mode 100644
index f3c759b..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/service/IGenTableService.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.hrt.gen.service;
-
-import java.util.List;
-import java.util.Map;
-import com.hrt.gen.domain.GenTable;
-
-/**
- * 业务 服务层
- * 
- * @author jqs
- */
-public interface IGenTableService
-{
-    /**
-     * 查询业务列表
-     * 
-     * @param genTable 业务信息
-     * @return 业务集合
-     */
-    public List<GenTable> selectGenTableList(GenTable genTable);
-
-    /**
-     * 查询据库列表
-     * 
-     * @param genTable 业务信息
-     * @return 数据库表集合
-     */
-    public List<GenTable> selectDbTableList(GenTable genTable);
-
-    /**
-     * 查询据库列表
-     * 
-     * @param tableNames 表名称组
-     * @return 数据库表集合
-     */
-    public List<GenTable> selectDbTableListByNames(String[] tableNames);
-
-    /**
-     * 查询所有表信息
-     * 
-     * @return 表信息集合
-     */
-    public List<GenTable> selectGenTableAll();
-
-    /**
-     * 查询业务信息
-     * 
-     * @param id 业务ID
-     * @return 业务信息
-     */
-    public GenTable selectGenTableById(Long id);
-
-    /**
-     * 修改业务
-     * 
-     * @param genTable 业务信息
-     * @return 结果
-     */
-    public void updateGenTable(GenTable genTable);
-
-    /**
-     * 删除业务信息
-     * 
-     * @param tableIds 需要删除的表数据ID
-     * @return 结果
-     */
-    public void deleteGenTableByIds(Long[] tableIds);
-
-    /**
-     * 导入表结构
-     * 
-     * @param tableList 导入表列表
-     */
-    public void importGenTable(List<GenTable> tableList);
-
-    /**
-     * 预览代码
-     * 
-     * @param tableId 表编号
-     * @return 预览数据列表
-     */
-    public Map<String, String> previewCode(Long tableId);
-
-    /**
-     * 生成代码(下载方式)
-     * 
-     * @param tableName 表名称
-     * @return 数据
-     */
-    public byte[] downloadCode(String tableName);
-
-    /**
-     * 生成代码(自定义路径)
-     * 
-     * @param tableName 表名称
-     * @return 数据
-     */
-    public void generatorCode(String tableName);
-
-    /**
-     * 同步数据库
-     * 
-     * @param tableName 表名称
-     */
-    public void synchDb(String tableName);
-
-    /**
-     * 批量生成代码(下载方式)
-     * 
-     * @param tableNames 表数组
-     * @return 数据
-     */
-    public byte[] downloadCode(String[] tableNames);
-
-    /**
-     * 修改保存参数校验
-     * 
-     * @param genTable 业务信息
-     */
-    public void validateEdit(GenTable genTable);
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/GenUtils.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/GenUtils.java
deleted file mode 100644
index fb6265b..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/GenUtils.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package com.hrt.gen.util;
-
-import java.util.Arrays;
-import org.apache.commons.lang3.RegExUtils;
-import com.hrt.common.core.constant.GenConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.gen.config.GenConfig;
-import com.hrt.gen.domain.GenTable;
-import com.hrt.gen.domain.GenTableColumn;
-
-/**
- * 代码生成器 工具类
- * 
- * @author jqs
- */
-public class GenUtils
-{
-    /**
-     * 初始化表信息
-     */
-    public static void initTable(GenTable genTable, String operName)
-    {
-        genTable.setClassName(convertClassName(genTable.getTableName()));
-        genTable.setPackageName(GenConfig.getPackageName());
-        genTable.setModuleName(getModuleName(GenConfig.getPackageName()));
-        genTable.setBusinessName(getBusinessName(genTable.getTableName()));
-        genTable.setFunctionName(replaceText(genTable.getTableComment()));
-        genTable.setFunctionAuthor(GenConfig.getAuthor());
-        genTable.setCreateBy(operName);
-    }
-
-    /**
-     * 初始化列属性字段
-     */
-    public static void initColumnField(GenTableColumn column, GenTable table)
-    {
-        String dataType = getDbType(column.getColumnType());
-        String columnName = column.getColumnName();
-        column.setTableId(table.getTableId());
-        column.setCreateBy(table.getCreateBy());
-        // 设置java字段名
-        column.setJavaField(StringUtils.toCamelCase(columnName));
-        // 设置默认类型
-        column.setJavaType(GenConstants.TYPE_STRING);
-        column.setQueryType(GenConstants.QUERY_EQ);
-
-        if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType))
-        {
-            // 字符串长度超过500设置为文本域
-            Integer columnLength = getColumnLength(column.getColumnType());
-            String htmlType = columnLength >= 500 || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType) ? GenConstants.HTML_TEXTAREA : GenConstants.HTML_INPUT;
-            column.setHtmlType(htmlType);
-        }
-        else if (arraysContains(GenConstants.COLUMNTYPE_TIME, dataType))
-        {
-            column.setJavaType(GenConstants.TYPE_DATE);
-            column.setHtmlType(GenConstants.HTML_DATETIME);
-        }
-        else if (arraysContains(GenConstants.COLUMNTYPE_NUMBER, dataType))
-        {
-            column.setHtmlType(GenConstants.HTML_INPUT);
-
-            // 如果是浮点型 统一用BigDecimal
-            String[] str = StringUtils.split(StringUtils.substringBetween(column.getColumnType(), "(", ")"), ",");
-            if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0)
-            {
-                column.setJavaType(GenConstants.TYPE_BIGDECIMAL);
-            }
-            // 如果是整形
-            else if (str != null && str.length == 1 && Integer.parseInt(str[0]) <= 10)
-            {
-                column.setJavaType(GenConstants.TYPE_INTEGER);
-            }
-            // 长整形
-            else
-            {
-                column.setJavaType(GenConstants.TYPE_LONG);
-            }
-        }
-
-        // 插入字段(默认所有字段都需要插入)
-        column.setIsInsert(GenConstants.REQUIRE);
-
-        // 编辑字段
-        if (!arraysContains(GenConstants.COLUMNNAME_NOT_EDIT, columnName) && !column.isPk())
-        {
-            column.setIsEdit(GenConstants.REQUIRE);
-        }
-        // 列表字段
-        if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName) && !column.isPk())
-        {
-            column.setIsList(GenConstants.REQUIRE);
-        }
-        // 查询字段
-        if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk())
-        {
-            column.setIsQuery(GenConstants.REQUIRE);
-        }
-
-        // 查询字段类型
-        if (StringUtils.endsWithIgnoreCase(columnName, "name"))
-        {
-            column.setQueryType(GenConstants.QUERY_LIKE);
-        }
-        // 状态字段设置单选框
-        if (StringUtils.endsWithIgnoreCase(columnName, "status"))
-        {
-            column.setHtmlType(GenConstants.HTML_RADIO);
-        }
-        // 类型&性别字段设置下拉框
-        else if (StringUtils.endsWithIgnoreCase(columnName, "type")
-                || StringUtils.endsWithIgnoreCase(columnName, "sex"))
-        {
-            column.setHtmlType(GenConstants.HTML_SELECT);
-        }
-        // 图片字段设置图片上传控件
-        else if (StringUtils.endsWithIgnoreCase(columnName, "image"))
-        {
-            column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD);
-        }
-        // 文件字段设置文件上传控件
-        else if (StringUtils.endsWithIgnoreCase(columnName, "file"))
-        {
-            column.setHtmlType(GenConstants.HTML_FILE_UPLOAD);
-        }
-        // 内容字段设置富文本控件
-        else if (StringUtils.endsWithIgnoreCase(columnName, "content"))
-        {
-            column.setHtmlType(GenConstants.HTML_EDITOR);
-        }
-    }
-
-    /**
-     * 校验数组是否包含指定值
-     * 
-     * @param arr 数组
-     * @param targetValue 值
-     * @return 是否包含
-     */
-    public static boolean arraysContains(String[] arr, String targetValue)
-    {
-        return Arrays.asList(arr).contains(targetValue);
-    }
-
-    /**
-     * 获取模块名
-     * 
-     * @param packageName 包名
-     * @return 模块名
-     */
-    public static String getModuleName(String packageName)
-    {
-        int lastIndex = packageName.lastIndexOf(".");
-        int nameLength = packageName.length();
-        return StringUtils.substring(packageName, lastIndex + 1, nameLength);
-    }
-
-    /**
-     * 获取业务名
-     * 
-     * @param tableName 表名
-     * @return 业务名
-     */
-    public static String getBusinessName(String tableName)
-    {
-        int lastIndex = tableName.lastIndexOf("_");
-        int nameLength = tableName.length();
-        return StringUtils.substring(tableName, lastIndex + 1, nameLength);
-    }
-
-    /**
-     * 表名转换成Java类名
-     * 
-     * @param tableName 表名称
-     * @return 类名
-     */
-    public static String convertClassName(String tableName)
-    {
-        boolean autoRemovePre = GenConfig.getAutoRemovePre();
-        String tablePrefix = GenConfig.getTablePrefix();
-        if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix))
-        {
-            String[] searchList = StringUtils.split(tablePrefix, ",");
-            tableName = replaceFirst(tableName, searchList);
-        }
-        return StringUtils.convertToCamelCase(tableName);
-    }
-
-    /**
-     * 批量替换前缀
-     * 
-     * @param replacementm 替换值
-     * @param searchList 替换列表
-     * @return
-     */
-    public static String replaceFirst(String replacementm, String[] searchList)
-    {
-        String text = replacementm;
-        for (String searchString : searchList)
-        {
-            if (replacementm.startsWith(searchString))
-            {
-                text = replacementm.replaceFirst(searchString, "");
-                break;
-            }
-        }
-        return text;
-    }
-
-    /**
-     * 关键字替换
-     * 
-     * @param text 需要被替换的名字
-     * @return 替换后的名字
-     */
-    public static String replaceText(String text)
-    {
-        return RegExUtils.replaceAll(text, "(?:表|洪瑞堂)", "");
-    }
-
-    /**
-     * 获取数据库类型字段
-     * 
-     * @param columnType 列类型
-     * @return 截取后的列类型
-     */
-    public static String getDbType(String columnType)
-    {
-        if (StringUtils.indexOf(columnType, "(") > 0)
-        {
-            return StringUtils.substringBefore(columnType, "(");
-        }
-        else
-        {
-            return columnType;
-        }
-    }
-
-    /**
-     * 获取字段长度
-     * 
-     * @param columnType 列类型
-     * @return 截取后的列类型
-     */
-    public static Integer getColumnLength(String columnType)
-    {
-        if (StringUtils.indexOf(columnType, "(") > 0)
-        {
-            String length = StringUtils.substringBetween(columnType, "(", ")");
-            return Integer.valueOf(length);
-        }
-        else
-        {
-            return 0;
-        }
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityInitializer.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityInitializer.java
deleted file mode 100644
index 1ba39de..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityInitializer.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.hrt.gen.util;
-
-import java.util.Properties;
-import org.apache.velocity.app.Velocity;
-import com.hrt.common.core.constant.Constants;
-
-/**
- * VelocityEngine工厂
- * 
- * @author jqs
- */
-public class VelocityInitializer
-{
-    /**
-     * 初始化vm方法
-     */
-    public static void initVelocity()
-    {
-        Properties p = new Properties();
-        try
-        {
-            // 加载classpath目录下的vm文件
-            p.setProperty("resource.loader.file.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
-            // 定义字符集
-            p.setProperty(Velocity.INPUT_ENCODING, Constants.UTF8);
-            // 初始化Velocity引擎,指定配置Properties
-            Velocity.init(p);
-        }
-        catch (Exception e)
-        {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityUtils.java b/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityUtils.java
deleted file mode 100644
index 9a0086f..0000000
--- a/hrt-modules/hrt-gen/src/main/java/com/hrt/gen/util/VelocityUtils.java
+++ /dev/null
@@ -1,402 +0,0 @@
-package com.hrt.gen.util;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.apache.velocity.VelocityContext;
-import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
-import com.hrt.common.core.constant.GenConstants;
-import com.hrt.common.core.utils.DateUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.gen.domain.GenTable;
-import com.hrt.gen.domain.GenTableColumn;
-
-/**
- * 模板工具类
- * 
- * @author jqs
- */
-public class VelocityUtils
-{
-    /** 项目空间路径 */
-    private static final String PROJECT_PATH = "main/java";
-
-    /** mybatis空间路径 */
-    private static final String MYBATIS_PATH = "main/resources/mapper";
-
-    /** 默认上级菜单,系统工具 */
-    private static final String DEFAULT_PARENT_MENU_ID = "3";
-
-    /**
-     * 设置模板变量信息
-     *
-     * @return 模板列表
-     */
-    public static VelocityContext prepareContext(GenTable genTable)
-    {
-        String moduleName = genTable.getModuleName();
-        String businessName = genTable.getBusinessName();
-        String packageName = genTable.getPackageName();
-        String tplCategory = genTable.getTplCategory();
-        String functionName = genTable.getFunctionName();
-
-        VelocityContext velocityContext = new VelocityContext();
-        velocityContext.put("tplCategory", genTable.getTplCategory());
-        velocityContext.put("tableName", genTable.getTableName());
-        velocityContext.put("functionName", StringUtils.isNotEmpty(functionName) ? functionName : "【请填写功能名称】");
-        velocityContext.put("ClassName", genTable.getClassName());
-        velocityContext.put("className", StringUtils.uncapitalize(genTable.getClassName()));
-        velocityContext.put("moduleName", genTable.getModuleName());
-        velocityContext.put("BusinessName", StringUtils.capitalize(genTable.getBusinessName()));
-        velocityContext.put("businessName", genTable.getBusinessName());
-        velocityContext.put("basePackage", getPackagePrefix(packageName));
-        velocityContext.put("packageName", packageName);
-        velocityContext.put("author", genTable.getFunctionAuthor());
-        velocityContext.put("datetime", DateUtils.getDate());
-        velocityContext.put("pkColumn", genTable.getPkColumn());
-        velocityContext.put("importList", getImportList(genTable));
-        velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName));
-        velocityContext.put("columns", genTable.getColumns());
-        velocityContext.put("table", genTable);
-        velocityContext.put("dicts", getDicts(genTable));
-        setMenuVelocityContext(velocityContext, genTable);
-        if (GenConstants.TPL_TREE.equals(tplCategory))
-        {
-            setTreeVelocityContext(velocityContext, genTable);
-        }
-        if (GenConstants.TPL_SUB.equals(tplCategory))
-        {
-            setSubVelocityContext(velocityContext, genTable);
-        }
-        return velocityContext;
-    }
-
-    public static void setMenuVelocityContext(VelocityContext context, GenTable genTable)
-    {
-        String options = genTable.getOptions();
-        JSONObject paramsObj = JSON.parseObject(options);
-        String parentMenuId = getParentMenuId(paramsObj);
-        context.put("parentMenuId", parentMenuId);
-    }
-
-    public static void setTreeVelocityContext(VelocityContext context, GenTable genTable)
-    {
-        String options = genTable.getOptions();
-        JSONObject paramsObj = JSON.parseObject(options);
-        String treeCode = getTreecode(paramsObj);
-        String treeParentCode = getTreeParentCode(paramsObj);
-        String treeName = getTreeName(paramsObj);
-
-        context.put("treeCode", treeCode);
-        context.put("treeParentCode", treeParentCode);
-        context.put("treeName", treeName);
-        context.put("expandColumn", getExpandColumn(genTable));
-        if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE))
-        {
-            context.put("tree_parent_code", paramsObj.getString(GenConstants.TREE_PARENT_CODE));
-        }
-        if (paramsObj.containsKey(GenConstants.TREE_NAME))
-        {
-            context.put("tree_name", paramsObj.getString(GenConstants.TREE_NAME));
-        }
-    }
-
-    public static void setSubVelocityContext(VelocityContext context, GenTable genTable)
-    {
-        GenTable subTable = genTable.getSubTable();
-        String subTableName = genTable.getSubTableName();
-        String subTableFkName = genTable.getSubTableFkName();
-        String subClassName = genTable.getSubTable().getClassName();
-        String subTableFkClassName = StringUtils.convertToCamelCase(subTableFkName);
-
-        context.put("subTable", subTable);
-        context.put("subTableName", subTableName);
-        context.put("subTableFkName", subTableFkName);
-        context.put("subTableFkClassName", subTableFkClassName);
-        context.put("subTableFkclassName", StringUtils.uncapitalize(subTableFkClassName));
-        context.put("subClassName", subClassName);
-        context.put("subclassName", StringUtils.uncapitalize(subClassName));
-        context.put("subImportList", getImportList(genTable.getSubTable()));
-    }
-
-    /**
-     * 获取模板信息
-     *
-     * @return 模板列表
-     */
-    public static List<String> getTemplateList(String tplCategory)
-    {
-        List<String> templates = new ArrayList<String>();
-        templates.add("vm/java/domain.java.vm");
-        templates.add("vm/java/mapper.java.vm");
-        templates.add("vm/java/service.java.vm");
-        templates.add("vm/java/serviceImpl.java.vm");
-        templates.add("vm/java/controller.java.vm");
-        templates.add("vm/xml/mapper.xml.vm");
-        templates.add("vm/sql/sql.vm");
-        templates.add("vm/js/api.js.vm");
-        if (GenConstants.TPL_CRUD.equals(tplCategory))
-        {
-            templates.add("vm/vue/index.vue.vm");
-        }
-        else if (GenConstants.TPL_TREE.equals(tplCategory))
-        {
-            templates.add("vm/vue/index-tree.vue.vm");
-        }
-        else if (GenConstants.TPL_SUB.equals(tplCategory))
-        {
-            templates.add("vm/vue/index.vue.vm");
-            templates.add("vm/java/sub-domain.java.vm");
-        }
-        return templates;
-    }
-
-    /**
-     * 获取文件名
-     */
-    public static String getFileName(String template, GenTable genTable)
-    {
-        // 文件名称
-        String fileName = "";
-        // 包路径
-        String packageName = genTable.getPackageName();
-        // 模块名
-        String moduleName = genTable.getModuleName();
-        // 大写类名
-        String className = genTable.getClassName();
-        // 业务名称
-        String businessName = genTable.getBusinessName();
-
-        String javaPath = PROJECT_PATH + "/" + StringUtils.replace(packageName, ".", "/");
-        String mybatisPath = MYBATIS_PATH + "/" + moduleName;
-        String vuePath = "vue";
-
-        if (template.contains("domain.java.vm"))
-        {
-            fileName = StringUtils.format("{}/domain/{}.java", javaPath, className);
-        }
-        if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory()))
-        {
-            fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
-        }
-        else if (template.contains("mapper.java.vm"))
-        {
-            fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
-        }
-        else if (template.contains("service.java.vm"))
-        {
-            fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className);
-        }
-        else if (template.contains("serviceImpl.java.vm"))
-        {
-            fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className);
-        }
-        else if (template.contains("controller.java.vm"))
-        {
-            fileName = StringUtils.format("{}/controller/{}Controller.java", javaPath, className);
-        }
-        else if (template.contains("mapper.xml.vm"))
-        {
-            fileName = StringUtils.format("{}/{}Mapper.xml", mybatisPath, className);
-        }
-        else if (template.contains("sql.vm"))
-        {
-            fileName = businessName + "Menu.sql";
-        }
-        else if (template.contains("api.js.vm"))
-        {
-            fileName = StringUtils.format("{}/api/{}/{}.js", vuePath, moduleName, businessName);
-        }
-        else if (template.contains("index.vue.vm"))
-        {
-            fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
-        }
-        else if (template.contains("index-tree.vue.vm"))
-        {
-            fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
-        }
-        return fileName;
-    }
-
-    /**
-     * 获取包前缀
-     *
-     * @param packageName 包名称
-     * @return 包前缀名称
-     */
-    public static String getPackagePrefix(String packageName)
-    {
-        int lastIndex = packageName.lastIndexOf(".");
-        return StringUtils.substring(packageName, 0, lastIndex);
-    }
-
-    /**
-     * 根据列类型获取导入包
-     * 
-     * @param genTable 业务表对象
-     * @return 返回需要导入的包列表
-     */
-    public static HashSet<String> getImportList(GenTable genTable)
-    {
-        List<GenTableColumn> columns = genTable.getColumns();
-        GenTable subGenTable = genTable.getSubTable();
-        HashSet<String> importList = new HashSet<String>();
-        if (StringUtils.isNotNull(subGenTable))
-        {
-            importList.add("java.util.List");
-        }
-        for (GenTableColumn column : columns)
-        {
-            if (!column.isSuperColumn() && GenConstants.TYPE_DATE.equals(column.getJavaType()))
-            {
-                importList.add("java.util.Date");
-                importList.add("com.fasterxml.jackson.annotation.JsonFormat");
-            }
-            else if (!column.isSuperColumn() && GenConstants.TYPE_BIGDECIMAL.equals(column.getJavaType()))
-            {
-                importList.add("java.math.BigDecimal");
-            }
-        }
-        return importList;
-    }
-
-    /**
-     * 根据列类型获取字典组
-     * 
-     * @param genTable 业务表对象
-     * @return 返回字典组
-     */
-    public static String getDicts(GenTable genTable)
-    {
-        List<GenTableColumn> columns = genTable.getColumns();
-        Set<String> dicts = new HashSet<String>();
-        addDicts(dicts, columns);
-        if (StringUtils.isNotNull(genTable.getSubTable()))
-        {
-            List<GenTableColumn> subColumns = genTable.getSubTable().getColumns();
-            addDicts(dicts, subColumns);
-        }
-        return StringUtils.join(dicts, ", ");
-    }
-
-    /**
-     * 添加字典列表
-     * 
-     * @param dicts 字典列表
-     * @param columns 列集合
-     */
-    public static void addDicts(Set<String> dicts, List<GenTableColumn> columns)
-    {
-        for (GenTableColumn column : columns)
-        {
-            if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny(
-                    column.getHtmlType(),
-                    new String[] { GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX }))
-            {
-                dicts.add("'" + column.getDictType() + "'");
-            }
-        }
-    }
-
-    /**
-     * 获取权限前缀
-     *
-     * @param moduleName 模块名称
-     * @param businessName 业务名称
-     * @return 返回权限前缀
-     */
-    public static String getPermissionPrefix(String moduleName, String businessName)
-    {
-        return StringUtils.format("{}:{}", moduleName, businessName);
-    }
-
-    /**
-     * 获取上级菜单ID字段
-     *
-     * @param paramsObj 生成其他选项
-     * @return 上级菜单ID字段
-     */
-    public static String getParentMenuId(JSONObject paramsObj)
-    {
-        if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID)
-                && StringUtils.isNotEmpty(paramsObj.getString(GenConstants.PARENT_MENU_ID)))
-        {
-            return paramsObj.getString(GenConstants.PARENT_MENU_ID);
-        }
-        return DEFAULT_PARENT_MENU_ID;
-    }
-
-    /**
-     * 获取树编码
-     *
-     * @param paramsObj 生成其他选项
-     * @return 树编码
-     */
-    public static String getTreecode(JSONObject paramsObj)
-    {
-        if (paramsObj.containsKey(GenConstants.TREE_CODE))
-        {
-            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE));
-        }
-        return StringUtils.EMPTY;
-    }
-
-    /**
-     * 获取树父编码
-     *
-     * @param paramsObj 生成其他选项
-     * @return 树父编码
-     */
-    public static String getTreeParentCode(JSONObject paramsObj)
-    {
-        if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE))
-        {
-            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_PARENT_CODE));
-        }
-        return StringUtils.EMPTY;
-    }
-
-    /**
-     * 获取树名称
-     *
-     * @param paramsObj 生成其他选项
-     * @return 树名称
-     */
-    public static String getTreeName(JSONObject paramsObj)
-    {
-        if (paramsObj.containsKey(GenConstants.TREE_NAME))
-        {
-            return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_NAME));
-        }
-        return StringUtils.EMPTY;
-    }
-
-    /**
-     * 获取需要在哪一列上面显示展开按钮
-     *
-     * @param genTable 业务表对象
-     * @return 展开按钮列序号
-     */
-    public static int getExpandColumn(GenTable genTable)
-    {
-        String options = genTable.getOptions();
-        JSONObject paramsObj = JSON.parseObject(options);
-        String treeName = paramsObj.getString(GenConstants.TREE_NAME);
-        int num = 0;
-        for (GenTableColumn column : genTable.getColumns())
-        {
-            if (column.isList())
-            {
-                num++;
-                String columnName = column.getColumnName();
-                if (columnName.equals(treeName))
-                {
-                    break;
-                }
-            }
-        }
-        return num;
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/banner.txt b/hrt-modules/hrt-gen/src/main/resources/banner.txt
deleted file mode 100644
index 05f528c..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Spring Boot Version: ${spring-boot.version}
-Spring Application Name: ${spring.application.name}
-                            _                             
-                           (_)                            
- _ __  _   _   ___   _   _  _  ______   __ _   ___  _ __  
-| '__|| | | | / _ \ | | | || ||______| / _` | / _ \| '_ \ 
-| |   | |_| || (_) || |_| || |        | (_| ||  __/| | | |
-|_|    \__,_| \___/  \__, ||_|         \__, | \___||_| |_|
-                      __/ |             __/ |             
-                     |___/             |___/              
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/resources/bootstrap.yml b/hrt-modules/hrt-gen/src/main/resources/bootstrap.yml
deleted file mode 100644
index f36f31b..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/bootstrap.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Tomcat
-server:
-  port: 9202
-
-# Spring
-spring: 
-  application:
-    # 应用名称
-    name: hrt-gen
-  profiles:
-    # 环境配置
-    active: dev
-  cloud:
-    nacos:
-      discovery:
-        # 服务注册地址
-        server-addr: 47.109.78.184:5000
-      config:
-        # 配置中心地址
-        server-addr: 47.109.78.184:5000
-        # 配置文件格式
-        file-extension: yml
-        # 共享配置
-        shared-configs:
-          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
-        group: haiheng
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/resources/logback.xml b/hrt-modules/hrt-gen/src/main/resources/logback.xml
deleted file mode 100644
index a20bfac..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/logback.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <!-- 日志存放路径 -->
-	<property name="log.path" value="logs/hrt-gen" />
-   <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
-
-    <!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
-
-    <!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-	</appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-			<!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 系统模块日志级别控制  -->
-	<logger name="com.hrt" level="info" />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
-
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml
deleted file mode 100644
index 8380d54..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.gen.mapper.GenTableColumnMapper">
-
-    <resultMap type="GenTableColumn" id="GenTableColumnResult">
-        <id     property="columnId"       column="column_id"      />
-        <result property="tableId"        column="table_id"       />
-        <result property="columnName"     column="column_name"    />
-        <result property="columnComment"  column="column_comment" />
-        <result property="columnType"     column="column_type"    />
-        <result property="javaType"       column="java_type"      />
-        <result property="javaField"      column="java_field"     />
-        <result property="isPk"           column="is_pk"          />
-        <result property="isIncrement"    column="is_increment"   />
-        <result property="isRequired"     column="is_required"    />
-        <result property="isInsert"       column="is_insert"      />
-        <result property="isEdit"         column="is_edit"        />
-        <result property="isList"         column="is_list"        />
-        <result property="isQuery"        column="is_query"       />
-        <result property="queryType"      column="query_type"     />
-        <result property="htmlType"       column="html_type"      />
-        <result property="dictType"       column="dict_type"      />
-        <result property="sort"           column="sort"           />
-        <result property="createBy"       column="create_by"      />
-        <result property="createTime"     column="create_time"    />
-        <result property="updateBy"       column="update_by"      />
-        <result property="updateTime"     column="update_time"    />
-    </resultMap>
-
-	<sql id="selectGenTableColumnVo">
-        select column_id, table_id, column_name, column_comment, column_type, java_type, java_field, is_pk, is_increment, is_required, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by, create_time, update_by, update_time from gen_table_column
-    </sql>
-
-    <select id="selectGenTableColumnListByTableId" parameterType="GenTableColumn" resultMap="GenTableColumnResult">
-        <include refid="selectGenTableColumnVo"/>
-        where table_id = #{tableId}
-        order by sort
-    </select>
-
-    <select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult">
-		select column_name, (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required, (case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort, column_comment, (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, column_type
-		from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName})
-		order by ordinal_position
-	</select>
-
-    <insert id="insertGenTableColumn" parameterType="GenTableColumn" useGeneratedKeys="true" keyProperty="columnId">
-        insert into gen_table_column (
-			<if test="tableId != null and tableId != ''">table_id,</if>
-			<if test="columnName != null and columnName != ''">column_name,</if>
-			<if test="columnComment != null and columnComment != ''">column_comment,</if>
-			<if test="columnType != null and columnType != ''">column_type,</if>
-			<if test="javaType != null and javaType != ''">java_type,</if>
-			<if test="javaField != null  and javaField != ''">java_field,</if>
-			<if test="isPk != null and isPk != ''">is_pk,</if>
-			<if test="isIncrement != null and isIncrement != ''">is_increment,</if>
-			<if test="isRequired != null and isRequired != ''">is_required,</if>
-			<if test="isInsert != null and isInsert != ''">is_insert,</if>
-			<if test="isEdit != null and isEdit != ''">is_edit,</if>
-			<if test="isList != null and isList != ''">is_list,</if>
-			<if test="isQuery != null and isQuery != ''">is_query,</if>
-			<if test="queryType != null and queryType != ''">query_type,</if>
-			<if test="htmlType != null and htmlType != ''">html_type,</if>
-			<if test="dictType != null and dictType != ''">dict_type,</if>
-			<if test="sort != null">sort,</if>
-			<if test="createBy != null and createBy != ''">create_by,</if>
-			create_time
-         )values(
-			<if test="tableId != null and tableId != ''">#{tableId},</if>
-			<if test="columnName != null and columnName != ''">#{columnName},</if>
-			<if test="columnComment != null and columnComment != ''">(select SUBSTRING_INDEX(#{columnComment}, ' ', 1)),</if>
-			<if test="columnType != null and columnType != ''">#{columnType},</if>
-			<if test="javaType != null and javaType != ''">#{javaType},</if>
-			<if test="javaField != null and javaField != ''">#{javaField},</if>
-			<if test="isPk != null and isPk != ''">#{isPk},</if>
-			<if test="isIncrement != null and isIncrement != ''">#{isIncrement},</if>
-			<if test="isRequired != null and isRequired != ''">#{isRequired},</if>
-			<if test="isInsert != null and isInsert != ''">#{isInsert},</if>
-			<if test="isEdit != null and isEdit != ''">#{isEdit},</if>
-			<if test="isList != null and isList != ''">#{isList},</if>
-			<if test="isQuery != null and isQuery != ''">#{isQuery},</if>
-			<if test="queryType != null and queryType != ''">#{queryType},</if>
-			<if test="htmlType != null and htmlType != ''">#{htmlType},</if>
-			<if test="dictType != null and dictType != ''">#{dictType},</if>
-			<if test="sort != null">#{sort},</if>
-			<if test="createBy != null and createBy != ''">#{createBy},</if>
-			sysdate()
-         )
-    </insert>
-
-    <update id="updateGenTableColumn" parameterType="GenTableColumn">
-        update gen_table_column
-        <set>
-            <if test="columnComment != null">column_comment = (select SUBSTRING_INDEX(#{columnComment}, ' ', 1)),</if>
-            <if test="javaType != null">java_type = #{javaType},</if>
-            <if test="javaField != null">java_field = #{javaField},</if>
-            <if test="isInsert != null">is_insert = #{isInsert},</if>
-            <if test="isEdit != null">is_edit = #{isEdit},</if>
-            <if test="isList != null">is_list = #{isList},</if>
-            <if test="isQuery != null">is_query = #{isQuery},</if>
-            <if test="isRequired != null">is_required = #{isRequired},</if>
-            <if test="queryType != null">query_type = #{queryType},</if>
-            <if test="htmlType != null">html_type = #{htmlType},</if>
-            <if test="dictType != null">dict_type = #{dictType},</if>
-            <if test="sort != null">sort = #{sort},</if>
-            <if test="updateBy != null">update_by = #{updateBy},</if>
-            update_time = sysdate()
-        </set>
-        where column_id = #{columnId}
-    </update>
-
-    <delete id="deleteGenTableColumnByIds" parameterType="Long">
-        delete from gen_table_column where table_id in
-        <foreach collection="array" item="tableId" open="(" separator="," close=")">
-            #{tableId}
-        </foreach>
-    </delete>
-    
-    <delete id="deleteGenTableColumns">
-        delete from gen_table_column where column_id in
-        <foreach collection="list" item="item" open="(" separator="," close=")">
-            #{item.columnId}
-        </foreach>
-    </delete>
-
-</mapper>
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableMapper.xml b/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableMapper.xml
deleted file mode 100644
index 5e7431c..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/mapper/generator/GenTableMapper.xml
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.gen.mapper.GenTableMapper">
-
-	<resultMap type="GenTable" id="GenTableResult">
-	    <id     property="tableId"        column="table_id"          />
-		<result property="tableName"      column="table_name"        />
-		<result property="tableComment"   column="table_comment"     />
-		<result property="subTableName"   column="sub_table_name"    />
-		<result property="subTableFkName" column="sub_table_fk_name" />
-		<result property="className"      column="class_name"        />
-		<result property="tplCategory"    column="tpl_category"      />
-		<result property="packageName"    column="package_name"      />
-		<result property="moduleName"     column="module_name"       />
-		<result property="businessName"   column="business_name"     />
-		<result property="functionName"   column="function_name"     />
-		<result property="functionAuthor" column="function_author"   />
-		<result property="genType"        column="gen_type"          />
-		<result property="genPath"        column="gen_path"          />
-		<result property="options"        column="options"           />
-		<result property="createBy"       column="create_by"         />
-		<result property="createTime"     column="create_time"       />
-		<result property="updateBy"       column="update_by"         />
-		<result property="updateTime"     column="update_time"       />
-		<result property="remark"         column="remark"            />
-		<collection  property="columns"  javaType="java.util.List"  resultMap="GenTableColumnResult" />
-	</resultMap>
-	
-	<resultMap type="GenTableColumn" id="GenTableColumnResult">
-        <id     property="columnId"       column="column_id"      />
-        <result property="tableId"        column="table_id"       />
-        <result property="columnName"     column="column_name"    />
-        <result property="columnComment"  column="column_comment" />
-        <result property="columnType"     column="column_type"    />
-        <result property="javaType"       column="java_type"      />
-        <result property="javaField"      column="java_field"     />
-        <result property="isPk"           column="is_pk"          />
-        <result property="isIncrement"    column="is_increment"   />
-        <result property="isRequired"     column="is_required"    />
-        <result property="isInsert"       column="is_insert"      />
-        <result property="isEdit"         column="is_edit"        />
-        <result property="isList"         column="is_list"        />
-        <result property="isQuery"        column="is_query"       />
-        <result property="queryType"      column="query_type"     />
-        <result property="htmlType"       column="html_type"      />
-        <result property="dictType"       column="dict_type"      />
-        <result property="sort"           column="sort"           />
-        <result property="createBy"       column="create_by"      />
-        <result property="createTime"     column="create_time"    />
-        <result property="updateBy"       column="update_by"      />
-        <result property="updateTime"     column="update_time"    />
-    </resultMap>
-	
-	<sql id="selectGenTableVo">
-        select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table
-    </sql>
-    
-    <select id="selectGenTableList" parameterType="GenTable" resultMap="GenTableResult">
-		<include refid="selectGenTableVo"/>
-		<where>
-			<if test="tableName != null and tableName != ''">
-				AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
-			</if>
-			<if test="tableComment != null and tableComment != ''">
-				AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
-			</if>
-			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-				AND date_format(create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-			</if>
-			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-				AND date_format(create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-			</if>
-		</where>
-	</select>
-
-	<select id="selectDbTableList" parameterType="GenTable" resultMap="GenTableResult">
-		select table_name, table_comment, create_time, update_time from information_schema.tables
-		where table_schema = (select database())
-		AND table_name NOT LIKE 'qrtz_%' AND table_name NOT LIKE 'gen_%'
-		AND table_name NOT IN (select table_name from gen_table)
-		<if test="tableName != null and tableName != ''">
-			AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
-		</if>
-		<if test="tableComment != null and tableComment != ''">
-			AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
-		</if>
-		<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-			AND date_format(create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-		</if>
-		<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-			AND date_format(create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-		</if>
-        order by create_time desc
-	</select>
-	
-	<select id="selectDbTableListByNames" resultMap="GenTableResult">
-		select table_name, table_comment, create_time, update_time from information_schema.tables
-		where table_name NOT LIKE 'qrtz_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database())
-		and table_name in
-	    <foreach collection="array" item="name" open="(" separator="," close=")">
- 			#{name}
-        </foreach> 
-	</select>
-	
-	<select id="selectTableByName" parameterType="String" resultMap="GenTableResult">
-		select table_name, table_comment, create_time, update_time from information_schema.tables
-		where table_comment <![CDATA[ <> ]]> '' and table_schema = (select database())
-		and table_name = #{tableName}
-	</select>
-	
-	<select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult">
-	    SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark,
-			   c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort
-		FROM gen_table t
-			 LEFT JOIN gen_table_column c ON t.table_id = c.table_id
-		where t.table_id = #{tableId} order by c.sort
-	</select>
-	
-	<select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult">
-	    SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark,
-			   c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort
-		FROM gen_table t
-			 LEFT JOIN gen_table_column c ON t.table_id = c.table_id
-		where t.table_name = #{tableName} order by c.sort
-	</select>
-	
-	<select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult">
-	    SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark,
-			   c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort
-		FROM gen_table t
-			 LEFT JOIN gen_table_column c ON t.table_id = c.table_id
-		order by c.sort
-	</select>
-	
-	<insert id="insertGenTable" parameterType="GenTable" useGeneratedKeys="true" keyProperty="tableId">
-        insert into gen_table (
-			<if test="tableName != null">table_name,</if>
-			<if test="tableComment != null and tableComment != ''">table_comment,</if>
-			<if test="className != null and className != ''">class_name,</if>
-			<if test="tplCategory != null and tplCategory != ''">tpl_category,</if>
-			<if test="packageName != null and packageName != ''">package_name,</if>
-			<if test="moduleName != null and moduleName != ''">module_name,</if>
-			<if test="businessName != null and businessName != ''">business_name,</if>
-			<if test="functionName != null and functionName != ''">function_name,</if>
-			<if test="functionAuthor != null and functionAuthor != ''">function_author,</if>
-			<if test="genType != null and genType != ''">gen_type,</if>
-			<if test="genPath != null and genPath != ''">gen_path,</if>
-			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
-			create_time
-         )values(
-			<if test="tableName != null">#{tableName},</if>
-			<if test="tableComment != null and tableComment != ''">#{tableComment},</if>
-			<if test="className != null and className != ''">#{className},</if>
-			<if test="tplCategory != null and tplCategory != ''">#{tplCategory},</if>
-			<if test="packageName != null and packageName != ''">#{packageName},</if>
-			<if test="moduleName != null and moduleName != ''">#{moduleName},</if>
-			<if test="businessName != null and businessName != ''">#{businessName},</if>
-			<if test="functionName != null and functionName != ''">#{functionName},</if>
-			<if test="functionAuthor != null and functionAuthor != ''">#{functionAuthor},</if>
-			<if test="genType != null and genType != ''">#{genType},</if>
-			<if test="genPath != null and genPath != ''">#{genPath},</if>
-			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
-			sysdate()
-         )
-    </insert>
-    
-    <update id="updateGenTable" parameterType="GenTable">
-        update gen_table
-        <set>
-            <if test="tableName != null">table_name = #{tableName},</if>
-            <if test="tableComment != null and tableComment != ''">table_comment = #{tableComment},</if>
-            <if test="subTableName != null">sub_table_name = #{subTableName},</if>
-            <if test="subTableFkName != null">sub_table_fk_name = #{subTableFkName},</if>
-            <if test="className != null and className != ''">class_name = #{className},</if>
-            <if test="functionAuthor != null and functionAuthor != ''">function_author = #{functionAuthor},</if>
-            <if test="genType != null and genType != ''">gen_type = #{genType},</if>
-            <if test="genPath != null and genPath != ''">gen_path = #{genPath},</if>
-            <if test="tplCategory != null and tplCategory != ''">tpl_category = #{tplCategory},</if>
-            <if test="packageName != null and packageName != ''">package_name = #{packageName},</if>
-            <if test="moduleName != null and moduleName != ''">module_name = #{moduleName},</if>
-            <if test="businessName != null and businessName != ''">business_name = #{businessName},</if>
-            <if test="functionName != null and functionName != ''">function_name = #{functionName},</if>
-            <if test="options != null and options != ''">options = #{options},</if>
-            <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
-            <if test="remark != null">remark = #{remark},</if>
-            update_time = sysdate()
-        </set>
-        where table_id = #{tableId}
-    </update>
-    
-    <delete id="deleteGenTableByIds" parameterType="Long">
-        delete from gen_table where table_id in 
-        <foreach collection="array" item="tableId" open="(" separator="," close=")">
-            #{tableId}
-        </foreach>
-    </delete>
-
-</mapper>
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/controller.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/controller.java.vm
deleted file mode 100644
index b573bb2..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/java/controller.java.vm
+++ /dev/null
@@ -1,115 +0,0 @@
-package ${packageName}.controller;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import ${packageName}.domain.${ClassName};
-import ${packageName}.service.I${ClassName}Service;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-#if($table.crud || $table.sub)
-import com.hrt.common.core.web.page.TableDataInfo;
-#elseif($table.tree)
-#end
-
-/**
- * ${functionName}Controller
- * 
- * @author ${author}
- * @date ${datetime}
- */
-@RestController
-@RequestMapping("/${businessName}")
-public class ${ClassName}Controller extends BaseController
-{
-    @Autowired
-    private I${ClassName}Service ${className}Service;
-
-    /**
-     * 查询${functionName}列表
-     */
-    @RequiresPermissions("${permissionPrefix}:list")
-    @GetMapping("/list")
-#if($table.crud || $table.sub)
-    public TableDataInfo list(${ClassName} ${className})
-    {
-        startPage();
-        List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
-        return getDataTable(list);
-    }
-#elseif($table.tree)
-    public AjaxResult list(${ClassName} ${className})
-    {
-        List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
-        return success(list);
-    }
-#end
-
-    /**
-     * 导出${functionName}列表
-     */
-    @RequiresPermissions("${permissionPrefix}:export")
-    @Log(title = "${functionName}", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, ${ClassName} ${className})
-    {
-        List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
-        ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
-        util.exportExcel(response, list, "${functionName}数据");
-    }
-
-    /**
-     * 获取${functionName}详细信息
-     */
-    @RequiresPermissions("${permissionPrefix}:query")
-    @GetMapping(value = "/{${pkColumn.javaField}}")
-    public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
-    {
-        return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}));
-    }
-
-    /**
-     * 新增${functionName}
-     */
-    @RequiresPermissions("${permissionPrefix}:add")
-    @Log(title = "${functionName}", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody ${ClassName} ${className})
-    {
-        return toAjax(${className}Service.insert${ClassName}(${className}));
-    }
-
-    /**
-     * 修改${functionName}
-     */
-    @RequiresPermissions("${permissionPrefix}:edit")
-    @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody ${ClassName} ${className})
-    {
-        return toAjax(${className}Service.update${ClassName}(${className}));
-    }
-
-    /**
-     * 删除${functionName}
-     */
-    @RequiresPermissions("${permissionPrefix}:remove")
-    @Log(title = "${functionName}", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{${pkColumn.javaField}s}")
-    public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s)
-    {
-        return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s));
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/domain.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/domain.java.vm
deleted file mode 100644
index 692f4bd..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/java/domain.java.vm
+++ /dev/null
@@ -1,101 +0,0 @@
-package ${packageName}.domain;
-
-#foreach ($import in $importList)
-import ${import};
-#end
-import com.hrt.common.core.annotation.Excel;
-#if($table.crud || $table.sub)
-#elseif($table.tree)
-#end
-
-/**
- * ${functionName}对象 ${tableName}
- * 
- * @author ${author}
- * @date ${datetime}
- */
-#if($table.crud || $table.sub)
-#set($Entity="BaseEntity")
-#elseif($table.tree)
-#set($Entity="TreeEntity")
-#end
-public class ${ClassName} extends ${Entity}
-{
-    private static final long serialVersionUID = 1L;
-
-#foreach ($column in $columns)
-#if(!$table.isSuperColumn($column.javaField))
-    /** $column.columnComment */
-#if($column.list)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($parentheseIndex != -1)
-    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
-#elseif($column.javaType == 'Date')
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
-#else
-    @Excel(name = "${comment}")
-#end
-#end
-    private $column.javaType $column.javaField;
-
-#end
-#end
-#if($table.sub)
-    /** $table.subTable.functionName信息 */
-    private List<${subClassName}> ${subclassName}List;
-
-#end
-#foreach ($column in $columns)
-#if(!$table.isSuperColumn($column.javaField))
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
-    public void set${AttrName}($column.javaType $column.javaField) 
-    {
-        this.$column.javaField = $column.javaField;
-    }
-
-    public $column.javaType get${AttrName}() 
-    {
-        return $column.javaField;
-    }
-#end
-#end
-
-#if($table.sub)
-    public List<${subClassName}> get${subClassName}List()
-    {
-        return ${subclassName}List;
-    }
-
-    public void set${subClassName}List(List<${subClassName}> ${subclassName}List)
-    {
-        this.${subclassName}List = ${subclassName}List;
-    }
-
-#end
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-#foreach ($column in $columns)
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
-            .append("${column.javaField}", get${AttrName}())
-#end
-#if($table.sub)
-            .append("${subclassName}List", get${subClassName}List())
-#end
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/mapper.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/mapper.java.vm
deleted file mode 100644
index 7e7d7c2..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/java/mapper.java.vm
+++ /dev/null
@@ -1,91 +0,0 @@
-package ${packageName}.mapper;
-
-import java.util.List;
-import ${packageName}.domain.${ClassName};
-#if($table.sub)
-import ${packageName}.domain.${subClassName};
-#end
-
-/**
- * ${functionName}Mapper接口
- * 
- * @author ${author}
- * @date ${datetime}
- */
-public interface ${ClassName}Mapper 
-{
-    /**
-     * 查询${functionName}
-     * 
-     * @param ${pkColumn.javaField} ${functionName}主键
-     * @return ${functionName}
-     */
-    public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
-
-    /**
-     * 查询${functionName}列表
-     * 
-     * @param ${className} ${functionName}
-     * @return ${functionName}集合
-     */
-    public List<${ClassName}> select${ClassName}List(${ClassName} ${className});
-
-    /**
-     * 新增${functionName}
-     * 
-     * @param ${className} ${functionName}
-     * @return 结果
-     */
-    public int insert${ClassName}(${ClassName} ${className});
-
-    /**
-     * 修改${functionName}
-     * 
-     * @param ${className} ${functionName}
-     * @return 结果
-     */
-    public int update${ClassName}(${ClassName} ${className});
-
-    /**
-     * 删除${functionName}
-     * 
-     * @param ${pkColumn.javaField} ${functionName}主键
-     * @return 结果
-     */
-    public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
-
-    /**
-     * 批量删除${functionName}
-     * 
-     * @param ${pkColumn.javaField}s 需要删除的数据主键集合
-     * @return 结果
-     */
-    public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
-#if($table.sub)
-
-    /**
-     * 批量删除${subTable.functionName}
-     * 
-     * @param ${pkColumn.javaField}s 需要删除的数据主键集合
-     * @return 结果
-     */
-    public int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
-    
-    /**
-     * 批量新增${subTable.functionName}
-     * 
-     * @param ${subclassName}List ${subTable.functionName}列表
-     * @return 结果
-     */
-    public int batch${subClassName}(List<${subClassName}> ${subclassName}List);
-    
-
-    /**
-     * 通过${functionName}主键删除${subTable.functionName}信息
-     * 
-     * @param ${pkColumn.javaField} ${functionName}ID
-     * @return 结果
-     */
-    public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField});
-#end
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/service.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/service.java.vm
deleted file mode 100644
index 264882b..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/java/service.java.vm
+++ /dev/null
@@ -1,61 +0,0 @@
-package ${packageName}.service;
-
-import java.util.List;
-import ${packageName}.domain.${ClassName};
-
-/**
- * ${functionName}Service接口
- * 
- * @author ${author}
- * @date ${datetime}
- */
-public interface I${ClassName}Service 
-{
-    /**
-     * 查询${functionName}
-     * 
-     * @param ${pkColumn.javaField} ${functionName}主键
-     * @return ${functionName}
-     */
-    public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
-
-    /**
-     * 查询${functionName}列表
-     * 
-     * @param ${className} ${functionName}
-     * @return ${functionName}集合
-     */
-    public List<${ClassName}> select${ClassName}List(${ClassName} ${className});
-
-    /**
-     * 新增${functionName}
-     * 
-     * @param ${className} ${functionName}
-     * @return 结果
-     */
-    public int insert${ClassName}(${ClassName} ${className});
-
-    /**
-     * 修改${functionName}
-     * 
-     * @param ${className} ${functionName}
-     * @return 结果
-     */
-    public int update${ClassName}(${ClassName} ${className});
-
-    /**
-     * 批量删除${functionName}
-     * 
-     * @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合
-     * @return 结果
-     */
-    public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
-
-    /**
-     * 删除${functionName}信息
-     * 
-     * @param ${pkColumn.javaField} ${functionName}主键
-     * @return 结果
-     */
-    public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/serviceImpl.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/serviceImpl.java.vm
deleted file mode 100644
index 52c485f..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/java/serviceImpl.java.vm
+++ /dev/null
@@ -1,169 +0,0 @@
-package ${packageName}.service.impl;
-
-import java.util.List;
-#foreach ($column in $columns)
-#if($column.javaField == 'createTime' || $column.javaField == 'updateTime')
-import com.hrt.common.core.utils.DateUtils;
-#break
-#end
-#end
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-#if($table.sub)
-import java.util.ArrayList;
-import com.hrt.common.core.utils.StringUtils;
-import org.springframework.transaction.annotation.Transactional;
-import ${packageName}.domain.${subClassName};
-#end
-import ${packageName}.mapper.${ClassName}Mapper;
-import ${packageName}.domain.${ClassName};
-import ${packageName}.service.I${ClassName}Service;
-
-/**
- * ${functionName}Service业务层处理
- * 
- * @author ${author}
- * @date ${datetime}
- */
-@Service
-public class ${ClassName}ServiceImpl implements I${ClassName}Service 
-{
-    @Autowired
-    private ${ClassName}Mapper ${className}Mapper;
-
-    /**
-     * 查询${functionName}
-     * 
-     * @param ${pkColumn.javaField} ${functionName}主键
-     * @return ${functionName}
-     */
-    @Override
-    public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
-    {
-        return ${className}Mapper.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
-    }
-
-    /**
-     * 查询${functionName}列表
-     * 
-     * @param ${className} ${functionName}
-     * @return ${functionName}
-     */
-    @Override
-    public List<${ClassName}> select${ClassName}List(${ClassName} ${className})
-    {
-        return ${className}Mapper.select${ClassName}List(${className});
-    }
-
-    /**
-     * 新增${functionName}
-     * 
-     * @param ${className} ${functionName}
-     * @return 结果
-     */
-#if($table.sub)
-    @Transactional
-#end
-    @Override
-    public int insert${ClassName}(${ClassName} ${className})
-    {
-#foreach ($column in $columns)
-#if($column.javaField == 'createTime')
-        ${className}.setCreateTime(DateUtils.getNowDate());
-#end
-#end
-#if($table.sub)
-        int rows = ${className}Mapper.insert${ClassName}(${className});
-        insert${subClassName}(${className});
-        return rows;
-#else
-        return ${className}Mapper.insert${ClassName}(${className});
-#end
-    }
-
-    /**
-     * 修改${functionName}
-     * 
-     * @param ${className} ${functionName}
-     * @return 结果
-     */
-#if($table.sub)
-    @Transactional
-#end
-    @Override
-    public int update${ClassName}(${ClassName} ${className})
-    {
-#foreach ($column in $columns)
-#if($column.javaField == 'updateTime')
-        ${className}.setUpdateTime(DateUtils.getNowDate());
-#end
-#end
-#if($table.sub)
-        ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
-        insert${subClassName}(${className});
-#end
-        return ${className}Mapper.update${ClassName}(${className});
-    }
-
-    /**
-     * 批量删除${functionName}
-     * 
-     * @param ${pkColumn.javaField}s 需要删除的${functionName}主键
-     * @return 结果
-     */
-#if($table.sub)
-    @Transactional
-#end
-    @Override
-    public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s)
-    {
-#if($table.sub)
-        ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
-#end
-        return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s);
-    }
-
-    /**
-     * 删除${functionName}信息
-     * 
-     * @param ${pkColumn.javaField} ${functionName}主键
-     * @return 结果
-     */
-#if($table.sub)
-    @Transactional
-#end
-    @Override
-    public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
-    {
-#if($table.sub)
-        ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
-#end
-        return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
-    }
-#if($table.sub)
-
-    /**
-     * 新增${subTable.functionName}信息
-     * 
-     * @param ${className} ${functionName}对象
-     */
-    public void insert${subClassName}(${ClassName} ${className})
-    {
-        List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
-        ${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
-        if (StringUtils.isNotNull(${subclassName}List))
-        {
-            List<${subClassName}> list = new ArrayList<${subClassName}>();
-            for (${subClassName} ${subclassName} : ${subclassName}List)
-            {
-                ${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
-                list.add(${subclassName});
-            }
-            if (list.size() > 0)
-            {
-                ${className}Mapper.batch${subClassName}(list);
-            }
-        }
-    }
-#end
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/java/sub-domain.java.vm b/hrt-modules/hrt-gen/src/main/resources/vm/java/sub-domain.java.vm
deleted file mode 100644
index 48e907a..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/java/sub-domain.java.vm
+++ /dev/null
@@ -1,73 +0,0 @@
-package ${packageName}.domain;
-
-#foreach ($import in $subImportList)
-import ${import};
-#end
-import com.hrt.common.core.annotation.Excel;
-
-/**
- * ${subTable.functionName}对象 ${subTableName}
- * 
- * @author ${author}
- * @date ${datetime}
- */
-public class ${subClassName} extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-#foreach ($column in $subTable.columns)
-#if(!$table.isSuperColumn($column.javaField))
-    /** $column.columnComment */
-#if($column.list)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($parentheseIndex != -1)
-    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
-#elseif($column.javaType == 'Date')
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
-#else
-    @Excel(name = "${comment}")
-#end
-#end
-    private $column.javaType $column.javaField;
-
-#end
-#end
-#foreach ($column in $subTable.columns)
-#if(!$table.isSuperColumn($column.javaField))
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
-    public void set${AttrName}($column.javaType $column.javaField) 
-    {
-        this.$column.javaField = $column.javaField;
-    }
-
-    public $column.javaType get${AttrName}() 
-    {
-        return $column.javaField;
-    }
-#end
-#end
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-#foreach ($column in $subTable.columns)
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
-            .append("${column.javaField}", get${AttrName}())
-#end
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/js/api.js.vm b/hrt-modules/hrt-gen/src/main/resources/vm/js/api.js.vm
deleted file mode 100644
index 9295524..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/js/api.js.vm
+++ /dev/null
@@ -1,44 +0,0 @@
-import request from '@/utils/request'
-
-// 查询${functionName}列表
-export function list${BusinessName}(query) {
-  return request({
-    url: '/${moduleName}/${businessName}/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 查询${functionName}详细
-export function get${BusinessName}(${pkColumn.javaField}) {
-  return request({
-    url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
-    method: 'get'
-  })
-}
-
-// 新增${functionName}
-export function add${BusinessName}(data) {
-  return request({
-    url: '/${moduleName}/${businessName}',
-    method: 'post',
-    data: data
-  })
-}
-
-// 修改${functionName}
-export function update${BusinessName}(data) {
-  return request({
-    url: '/${moduleName}/${businessName}',
-    method: 'put',
-    data: data
-  })
-}
-
-// 删除${functionName}
-export function del${BusinessName}(${pkColumn.javaField}) {
-  return request({
-    url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
-    method: 'delete'
-  })
-}
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/sql/sql.vm b/hrt-modules/hrt-gen/src/main/resources/vm/sql/sql.vm
deleted file mode 100644
index 0575583..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/sql/sql.vm
+++ /dev/null
@@ -1,22 +0,0 @@
--- 菜单 SQL
-insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
-values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单');
-
--- 按钮父菜单ID
-SELECT @parentId := LAST_INSERT_ID();
-
--- 按钮 SQL
-insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
-values('${functionName}查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query',        '#', 'admin', sysdate(), '', null, '');
-
-insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
-values('${functionName}新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add',          '#', 'admin', sysdate(), '', null, '');
-
-insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
-values('${functionName}修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit',         '#', 'admin', sysdate(), '', null, '');
-
-insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
-values('${functionName}删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove',       '#', 'admin', sysdate(), '', null, '');
-
-insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
-values('${functionName}导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export',       '#', 'admin', sysdate(), '', null, '');
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index-tree.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/index-tree.vue.vm
deleted file mode 100644
index a4c64a0..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index-tree.vue.vm
+++ /dev/null
@@ -1,505 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-#foreach($column in $columns)
-#if($column.query)
-#set($dictType=$column.dictType)
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.htmlType == "input")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-input
-          v-model="queryParams.${column.javaField}"
-          placeholder="请输入${comment}"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option
-            v-for="dict in dict.type.${dictType}"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-date-picker clearable
-          v-model="queryParams.${column.javaField}"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择${comment}">
-        </el-date-picker>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-      <el-form-item label="${comment}">
-        <el-date-picker
-          v-model="daterange${AttrName}"
-          style="width: 240px"
-          value-format="yyyy-MM-dd"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-        ></el-date-picker>
-      </el-form-item>
-#end
-#end
-#end
-      <el-form-item>
-	    <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['${moduleName}:${businessName}:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="el-icon-sort"
-          size="mini"
-          @click="toggleExpandAll"
-        >展开/折叠</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table
-      v-if="refreshTable"
-      v-loading="loading"
-      :data="${businessName}List"
-      row-key="${treeCode}"
-      :default-expand-all="isExpandAll"
-      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
-    >
-#foreach($column in $columns)
-#set($javaField=$column.javaField)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.pk)
-#elseif($column.list && $column.htmlType == "datetime")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-#elseif($column.list && $column.htmlType == "imageUpload")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="100">
-        <template slot-scope="scope">
-          <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/>
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $column.dictType)
-      <el-table-column label="${comment}" align="center" prop="${javaField}">
-        <template slot-scope="scope">
-#if($column.htmlType == "checkbox")
-          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
-#else
-          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField}"/>
-#end
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $javaField)
-#if(${foreach.index} == 1)
-      <el-table-column label="${comment}" prop="${javaField}" />
-#else
-      <el-table-column label="${comment}" align="center" prop="${javaField}" />
-#end
-#end
-#end
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['${moduleName}:${businessName}:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-plus"
-            @click="handleAdd(scope.row)"
-            v-hasPermi="['${moduleName}:${businessName}:add']"
-          >新增</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['${moduleName}:${businessName}:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 添加或修改${functionName}对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-#foreach($column in $columns)
-#set($field=$column.javaField)
-#if($column.insert && !$column.pk)
-#if(($column.usableColumn) || (!$column.superColumn))
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#set($dictType=$column.dictType)
-#if("" != $treeParentCode && $column.javaField == $treeParentCode)
-        <el-form-item label="${comment}" prop="${treeParentCode}">
-          <treeselect v-model="form.${treeParentCode}" :options="${businessName}Options" :normalizer="normalizer" placeholder="请选择${comment}" />
-        </el-form-item>
-#elseif($column.htmlType == "input")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" placeholder="请输入${comment}" />
-        </el-form-item>
-#elseif($column.htmlType == "imageUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <image-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "fileUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <file-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "editor")
-        <el-form-item label="${comment}">
-          <editor v-model="form.${field}" :min-height="192"/>
-        </el-form-item>
-#elseif($column.htmlType == "select" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option
-              v-for="dict in dict.type.${dictType}"
-              :key="dict.value"
-              :label="dict.label"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :value="parseInt(dict.value)"
-#else
-              :value="dict.value"
-#end
-            ></el-option>
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "select" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox
-              v-for="dict in dict.type.${dictType}"
-              :key="dict.value"
-              :label="dict.value">
-              {{dict.label}}
-            </el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox>请选择字典生成</el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio
-              v-for="dict in dict.type.${dictType}"
-              :key="dict.value"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :label="parseInt(dict.value)"
-#else
-              :label="dict.value"
-#end
-            >{{dict.label}}</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio label="1">请选择字典生成</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "datetime")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-date-picker clearable
-            v-model="form.${field}"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择${comment}">
-          </el-date-picker>
-        </el-form-item>
-#elseif($column.htmlType == "textarea")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-#end
-#end
-#end
-#end
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
-import Treeselect from "@riophae/vue-treeselect";
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-
-export default {
-  name: "${BusinessName}",
-#if(${dicts} != '')
-  dicts: [${dicts}],
-#end
-  components: {
-    Treeselect
-  },
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 显示搜索条件
-      showSearch: true,
-      // ${functionName}表格数据
-      ${businessName}List: [],
-      // ${functionName}树选项
-      ${businessName}Options: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 是否展开,默认全部展开
-      isExpandAll: true,
-      // 重新渲染表格状态
-      refreshTable: true,
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-      // $comment时间范围
-      daterange${AttrName}: [],
-#end
-#end
-      // 查询参数
-      queryParams: {
-#foreach ($column in $columns)
-#if($column.query)
-        $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-#foreach ($column in $columns)
-#if($column.required)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-        $column.javaField: [
-          { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
-        ]#if($foreach.count != $columns.size()),#end
-#end
-#end
-      }
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 查询${functionName}列表 */
-    getList() {
-      this.loading = true;
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-      this.queryParams.params = {};
-#break
-#end
-#end
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-      if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) {
-        this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0];
-        this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1];
-      }
-#end
-#end
-      list${BusinessName}(this.queryParams).then(response => {
-        this.${businessName}List = this.handleTree(response.data, "${treeCode}", "${treeParentCode}");
-        this.loading = false;
-      });
-    },
-    /** 转换${functionName}数据结构 */
-    normalizer(node) {
-      if (node.children && !node.children.length) {
-        delete node.children;
-      }
-      return {
-        id: node.${treeCode},
-        label: node.${treeName},
-        children: node.children
-      };
-    },
-	/** 查询${functionName}下拉树结构 */
-    getTreeselect() {
-      list${BusinessName}().then(response => {
-        this.${businessName}Options = [];
-        const data = { ${treeCode}: 0, ${treeName}: '顶级节点', children: [] };
-        data.children = this.handleTree(response.data, "${treeCode}", "${treeParentCode}");
-        this.${businessName}Options.push(data);
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-        $column.javaField: []#if($foreach.count != $columns.size()),#end
-#else
-        $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-      this.daterange${AttrName} = [];
-#end
-#end
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    /** 新增按钮操作 */
-    handleAdd(row) {
-      this.reset();
-      this.getTreeselect();
-      if (row != null && row.${treeCode}) {
-        this.form.${treeParentCode} = row.${treeCode};
-      } else {
-        this.form.${treeParentCode} = 0;
-      }
-      this.open = true;
-      this.title = "添加${functionName}";
-    },
-    /** 展开/折叠操作 */
-    toggleExpandAll() {
-      this.refreshTable = false;
-      this.isExpandAll = !this.isExpandAll;
-      this.$nextTick(() => {
-        this.refreshTable = true;
-      });
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      this.getTreeselect();
-      if (row != null) {
-        this.form.${treeParentCode} = row.${treeCode};
-      }
-      get${BusinessName}(row.${pkColumn.javaField}).then(response => {
-        this.form = response.data;
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-        this.form.$column.javaField = this.form.${column.javaField}.split(",");
-#end
-#end
-        this.open = true;
-        this.title = "修改${functionName}";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.#[[$]]#refs["form"].validate(valid => {
-        if (valid) {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-          this.form.$column.javaField = this.form.${column.javaField}.join(",");
-#end
-#end
-          if (this.form.${pkColumn.javaField} != null) {
-            update${BusinessName}(this.form).then(response => {
-              this.#[[$modal]]#.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            add${BusinessName}(this.form).then(response => {
-              this.#[[$modal]]#.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      this.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + row.${pkColumn.javaField} + '"的数据项?').then(function() {
-        return del${BusinessName}(row.${pkColumn.javaField});
-      }).then(() => {
-        this.getList();
-        this.#[[$modal]]#.msgSuccess("删除成功");
-      }).catch(() => {});
-    }
-  }
-};
-</script>
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/index.vue.vm
deleted file mode 100644
index 6296014..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/index.vue.vm
+++ /dev/null
@@ -1,602 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-#foreach($column in $columns)
-#if($column.query)
-#set($dictType=$column.dictType)
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.htmlType == "input")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-input
-          v-model="queryParams.${column.javaField}"
-          placeholder="请输入${comment}"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option
-            v-for="dict in dict.type.${dictType}"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-date-picker clearable
-          v-model="queryParams.${column.javaField}"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="请选择${comment}">
-        </el-date-picker>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-      <el-form-item label="${comment}">
-        <el-date-picker
-          v-model="daterange${AttrName}"
-          style="width: 240px"
-          value-format="yyyy-MM-dd"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-        ></el-date-picker>
-      </el-form-item>
-#end
-#end
-#end
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['${moduleName}:${businessName}:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['${moduleName}:${businessName}:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['${moduleName}:${businessName}:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['${moduleName}:${businessName}:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-#foreach($column in $columns)
-#set($javaField=$column.javaField)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.pk)
-      <el-table-column label="${comment}" align="center" prop="${javaField}" />
-#elseif($column.list && $column.htmlType == "datetime")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-#elseif($column.list && $column.htmlType == "imageUpload")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="100">
-        <template slot-scope="scope">
-          <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/>
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $column.dictType)
-      <el-table-column label="${comment}" align="center" prop="${javaField}">
-        <template slot-scope="scope">
-#if($column.htmlType == "checkbox")
-          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
-#else
-          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField}"/>
-#end
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $javaField)
-      <el-table-column label="${comment}" align="center" prop="${javaField}" />
-#end
-#end
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['${moduleName}:${businessName}:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['${moduleName}:${businessName}:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-
-    <!-- 添加或修改${functionName}对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-#foreach($column in $columns)
-#set($field=$column.javaField)
-#if($column.insert && !$column.pk)
-#if(($column.usableColumn) || (!$column.superColumn))
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#set($dictType=$column.dictType)
-#if($column.htmlType == "input")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" placeholder="请输入${comment}" />
-        </el-form-item>
-#elseif($column.htmlType == "imageUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <image-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "fileUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <file-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "editor")
-        <el-form-item label="${comment}">
-          <editor v-model="form.${field}" :min-height="192"/>
-        </el-form-item>
-#elseif($column.htmlType == "select" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option
-              v-for="dict in dict.type.${dictType}"
-              :key="dict.value"
-              :label="dict.label"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :value="parseInt(dict.value)"
-#else
-              :value="dict.value"
-#end
-            ></el-option>
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "select" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox
-              v-for="dict in dict.type.${dictType}"
-              :key="dict.value"
-              :label="dict.value">
-              {{dict.label}}
-            </el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox>请选择字典生成</el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio
-              v-for="dict in dict.type.${dictType}"
-              :key="dict.value"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :label="parseInt(dict.value)"
-#else
-              :label="dict.value"
-#end
-            >{{dict.label}}</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio label="1">请选择字典生成</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "datetime")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-date-picker clearable
-            v-model="form.${field}"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="请选择${comment}">
-          </el-date-picker>
-        </el-form-item>
-#elseif($column.htmlType == "textarea")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-#end
-#end
-#end
-#end
-#if($table.sub)
-        <el-divider content-position="center">${subTable.functionName}信息</el-divider>
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd${subClassName}">添加</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete${subClassName}">删除</el-button>
-          </el-col>
-        </el-row>
-        <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
-          <el-table-column type="selection" width="50" align="center" />
-          <el-table-column label="序号" align="center" prop="index" width="50"/>
-#foreach($column in $subTable.columns)
-#set($javaField=$column.javaField)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.pk || $javaField == ${subTableFkclassName})
-#elseif($column.list && $column.htmlType == "input")
-          <el-table-column label="$comment" prop="${javaField}" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
-            </template>
-          </el-table-column>
-#elseif($column.list && $column.htmlType == "datetime")
-          <el-table-column label="$comment" prop="${javaField}" width="240">
-            <template slot-scope="scope">
-              <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd" placeholder="请选择$comment" />
-            </template>
-          </el-table-column>
-#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
-          <el-table-column label="$comment" prop="${javaField}" width="150">
-            <template slot-scope="scope">
-              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
-                <el-option
-                  v-for="dict in dict.type.$column.dictType"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
-            </template>
-          </el-table-column>
-#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
-          <el-table-column label="$comment" prop="${javaField}" width="150">
-            <template slot-scope="scope">
-              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
-                <el-option label="请选择字典生成" value="" />
-              </el-select>
-            </template>
-          </el-table-column>
-#end
-#end
-        </el-table>
-#end
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
-
-export default {
-  name: "${BusinessName}",
-#if(${dicts} != '')
-  dicts: [${dicts}],
-#end
-  data() {
-    return {
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-#if($table.sub)
-      // 子表选中数据
-      checked${subClassName}: [],
-#end
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // ${functionName}表格数据
-      ${businessName}List: [],
-#if($table.sub)
-      // ${subTable.functionName}表格数据
-      ${subclassName}List: [],
-#end
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-      // $comment时间范围
-      daterange${AttrName}: [],
-#end
-#end
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-#foreach ($column in $columns)
-#if($column.query)
-        $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-      },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-#foreach ($column in $columns)
-#if($column.required)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-        $column.javaField: [
-          { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
-        ]#if($foreach.count != $columns.size()),#end
-#end
-#end
-      }
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 查询${functionName}列表 */
-    getList() {
-      this.loading = true;
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-      this.queryParams.params = {};
-#break
-#end
-#end
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-      if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) {
-        this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0];
-        this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1];
-      }
-#end
-#end
-      list${BusinessName}(this.queryParams).then(response => {
-        this.${businessName}List = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-        $column.javaField: []#if($foreach.count != $columns.size()),#end
-#else
-        $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-      };
-#if($table.sub)
-      this.${subclassName}List = [];
-#end
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-      this.daterange${AttrName} = [];
-#end
-#end
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.${pkColumn.javaField})
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加${functionName}";
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids
-      get${BusinessName}(${pkColumn.javaField}).then(response => {
-        this.form = response.data;
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-        this.form.$column.javaField = this.form.${column.javaField}.split(",");
-#end
-#end
-#if($table.sub)
-        this.${subclassName}List = response.data.${subclassName}List;
-#end
-        this.open = true;
-        this.title = "修改${functionName}";
-      });
-    },
-    /** 提交按钮 */
-    submitForm() {
-      this.#[[$]]#refs["form"].validate(valid => {
-        if (valid) {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-          this.form.$column.javaField = this.form.${column.javaField}.join(",");
-#end
-#end
-#if($table.sub)
-          this.form.${subclassName}List = this.${subclassName}List;
-#end
-          if (this.form.${pkColumn.javaField} != null) {
-            update${BusinessName}(this.form).then(response => {
-              this.#[[$modal]]#.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            add${BusinessName}(this.form).then(response => {
-              this.#[[$modal]]#.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ${pkColumn.javaField}s = row.${pkColumn.javaField} || this.ids;
-      this.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + ${pkColumn.javaField}s + '"的数据项?').then(function() {
-        return del${BusinessName}(${pkColumn.javaField}s);
-      }).then(() => {
-        this.getList();
-        this.#[[$modal]]#.msgSuccess("删除成功");
-      }).catch(() => {});
-    },
-#if($table.sub)
-	/** ${subTable.functionName}序号 */
-    row${subClassName}Index({ row, rowIndex }) {
-      row.index = rowIndex + 1;
-    },
-    /** ${subTable.functionName}添加按钮操作 */
-    handleAdd${subClassName}() {
-      let obj = {};
-#foreach($column in $subTable.columns)
-#if($column.pk || $column.javaField == ${subTableFkclassName})
-#elseif($column.list && "" != $javaField)
-      obj.$column.javaField = "";
-#end
-#end
-      this.${subclassName}List.push(obj);
-    },
-    /** ${subTable.functionName}删除按钮操作 */
-    handleDelete${subClassName}() {
-      if (this.checked${subClassName}.length == 0) {
-        this.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
-      } else {
-        const ${subclassName}List = this.${subclassName}List;
-        const checked${subClassName} = this.checked${subClassName};
-        this.${subclassName}List = ${subclassName}List.filter(function(item) {
-          return checked${subClassName}.indexOf(item.index) == -1
-        });
-      }
-    },
-    /** 复选框选中数据 */
-    handle${subClassName}SelectionChange(selection) {
-      this.checked${subClassName} = selection.map(item => item.index)
-    },
-#end
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('${moduleName}/${businessName}/export', {
-        ...this.queryParams
-      }, `${businessName}_#[[${new Date().getTime()}]]#.xlsx`)
-    }
-  }
-};
-</script>
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm
deleted file mode 100644
index 7bbd2fc..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm
+++ /dev/null
@@ -1,474 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
-#foreach($column in $columns)
-#if($column.query)
-#set($dictType=$column.dictType)
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.htmlType == "input")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-input
-          v-model="queryParams.${column.javaField}"
-          placeholder="请输入${comment}"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option
-            v-for="dict in ${dictType}"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-date-picker clearable
-          v-model="queryParams.${column.javaField}"
-          type="date"
-          value-format="YYYY-MM-DD"
-          placeholder="选择${comment}">
-        </el-date-picker>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-      <el-form-item label="${comment}" style="width: 308px">
-        <el-date-picker
-          v-model="daterange${AttrName}"
-          value-format="YYYY-MM-DD"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-        ></el-date-picker>
-      </el-form-item>
-#end
-#end
-#end
-      <el-form-item>
-        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="Plus"
-          @click="handleAdd"
-          v-hasPermi="['${moduleName}:${businessName}:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          plain
-          icon="Sort"
-          @click="toggleExpandAll"
-        >展开/折叠</el-button>
-      </el-col>
-      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table
-      v-if="refreshTable"
-      v-loading="loading"
-      :data="${businessName}List"
-      row-key="${treeCode}"
-      :default-expand-all="isExpandAll"
-      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
-    >
-#foreach($column in $columns)
-#set($javaField=$column.javaField)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.pk)
-#elseif($column.list && $column.htmlType == "datetime")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
-        <template #default="scope">
-          <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-#elseif($column.list && $column.htmlType == "imageUpload")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="100">
-        <template #default="scope">
-          <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/>
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $column.dictType)
-      <el-table-column label="${comment}" align="center" prop="${javaField}">
-        <template #default="scope">
-#if($column.htmlType == "checkbox")
-          <dict-tag :options="${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
-#else
-          <dict-tag :options="${column.dictType}" :value="scope.row.${javaField}"/>
-#end
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $javaField)
-#if(${foreach.index} == 1)
-      <el-table-column label="${comment}" prop="${javaField}" />
-#else
-      <el-table-column label="${comment}" align="center" prop="${javaField}" />
-#end
-#end
-#end
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template #default="scope">
-          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['${moduleName}:${businessName}:edit']">修改</el-button>
-          <el-button link type="primary" icon="Plus" @click="handleAdd(scope.row)" v-hasPermi="['${moduleName}:${businessName}:add']">新增</el-button>
-          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['${moduleName}:${businessName}:remove']">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <!-- 添加或修改${functionName}对话框 -->
-    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
-      <el-form ref="${businessName}Ref" :model="form" :rules="rules" label-width="80px">
-#foreach($column in $columns)
-#set($field=$column.javaField)
-#if($column.insert && !$column.pk)
-#if(($column.usableColumn) || (!$column.superColumn))
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#set($dictType=$column.dictType)
-#if("" != $treeParentCode && $column.javaField == $treeParentCode)
-        <el-form-item label="${comment}" prop="${treeParentCode}">
-          <el-tree-select
-            v-model="form.${treeParentCode}"
-            :data="${businessName}Options"
-            :props="{ value: '${treeCode}', label: '${treeName}', children: 'children' }"
-            value-key="${treeCode}"
-            placeholder="请选择${comment}"
-            check-strictly
-          />
-        </el-form-item>
-#elseif($column.htmlType == "input")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" placeholder="请输入${comment}" />
-        </el-form-item>
-#elseif($column.htmlType == "imageUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <image-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "fileUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <file-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "editor")
-        <el-form-item label="${comment}">
-          <editor v-model="form.${field}" :min-height="192"/>
-        </el-form-item>
-#elseif($column.htmlType == "select" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option
-              v-for="dict in ${dictType}"
-              :key="dict.value"
-              :label="dict.label"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :value="parseInt(dict.value)"
-#else
-              :value="dict.value"
-#end
-            ></el-option>
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "select" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox
-              v-for="dict in ${dictType}"
-              :key="dict.value"
-              :label="dict.value">
-              {{dict.label}}
-            </el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox>请选择字典生成</el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio
-              v-for="dict in ${dictType}"
-              :key="dict.value"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :label="parseInt(dict.value)"
-#else
-              :label="dict.value"
-#end
-            >{{dict.label}}</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio label="1">请选择字典生成</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "datetime")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-date-picker clearable
-            v-model="form.${field}"
-            type="date"
-            value-format="YYYY-MM-DD"
-            placeholder="选择${comment}">
-          </el-date-picker>
-        </el-form-item>
-#elseif($column.htmlType == "textarea")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-#end
-#end
-#end
-#end
-      </el-form>
-      <template #footer>
-        <div class="dialog-footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
-          <el-button @click="cancel">取 消</el-button>
-        </div>
-      </template>
-    </el-dialog>
-  </div>
-</template>
-
-<script setup name="${BusinessName}">
-import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
-
-const { proxy } = getCurrentInstance();
-#if(${dicts} != '')
-#set($dictsNoSymbol=$dicts.replace("'", ""))
-const { ${dictsNoSymbol} } = proxy.useDict(${dicts});
-#end
-
-const ${businessName}List = ref([]);
-const ${businessName}Options = ref([]);
-const open = ref(false);
-const loading = ref(true);
-const showSearch = ref(true);
-const title = ref("");
-const isExpandAll = ref(true);
-const refreshTable = ref(true);
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-const daterange${AttrName} = ref([]);
-#end
-#end
-
-const data = reactive({
-  form: {},
-  queryParams: {
-    #foreach ($column in $columns)
-#if($column.query)
-    $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-  },
-  rules: {
-    #foreach ($column in $columns)
-#if($column.required)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-    $column.javaField: [
-      { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
-    ]#if($foreach.count != $columns.size()),#end
-#end
-#end
-  }
-});
-
-const { queryParams, form, rules } = toRefs(data);
-
-/** 查询${functionName}列表 */
-function getList() {
-  loading.value = true;
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-  queryParams.value.params = {};
-#break
-#end
-#end
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-  if (null != daterange${AttrName} && '' != daterange${AttrName}) {
-    queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0];
-    queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1];
-  }
-#end
-#end
-  list${BusinessName}(queryParams.value).then(response => {
-    ${businessName}List.value = proxy.handleTree(response.data, "${treeCode}", "${treeParentCode}");
-    loading.value = false;
-  });
-}
-
-/** 查询${functionName}下拉树结构 */
-function getTreeselect() {
-  list${BusinessName}().then(response => {
-    ${businessName}Options.value = [];
-    const data = { ${treeCode}: 0, ${treeName}: '顶级节点', children: [] };
-    data.children = proxy.handleTree(response.data, "${treeCode}", "${treeParentCode}");
-    ${businessName}Options.value.push(data);
-  });
-}
-	
-// 取消按钮
-function cancel() {
-  open.value = false;
-  reset();
-}
-
-// 表单重置
-function reset() {
-  form.value = {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-    $column.javaField: []#if($foreach.count != $columns.size()),#end
-#else
-    $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-  };
-  proxy.resetForm("${businessName}Ref");
-}
-
-/** 搜索按钮操作 */
-function handleQuery() {
-  getList();
-}
-
-/** 重置按钮操作 */
-function resetQuery() {
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-  daterange${AttrName}.value = [];
-#end
-#end
-  proxy.resetForm("queryRef");
-  handleQuery();
-}
-
-/** 新增按钮操作 */
-function handleAdd(row) {
-  reset();
-  getTreeselect();
-  if (row != null && row.${treeCode}) {
-    form.value.${treeParentCode} = row.${treeCode};
-  } else {
-    form.value.${treeParentCode} = 0;
-  }
-  open.value = true;
-  title.value = "添加${functionName}";
-}
-
-/** 展开/折叠操作 */
-function toggleExpandAll() {
-  refreshTable.value = false;
-  isExpandAll.value = !isExpandAll.value;
-  nextTick(() => {
-    refreshTable.value = true;
-  });
-}
-
-/** 修改按钮操作 */
-async function handleUpdate(row) {
-  reset();
-  await getTreeselect();
-  if (row != null) {
-    form.value.${treeParentCode} = row.${treeCode};
-  }
-  get${BusinessName}(row.${pkColumn.javaField}).then(response => {
-    form.value = response.data;
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-    form.value.$column.javaField = form.value.${column.javaField}.split(",");
-#end
-#end
-    open.value = true;
-    title.value = "修改${functionName}";
-  });
-}
-
-/** 提交按钮 */
-function submitForm() {
-  proxy.#[[$]]#refs["${businessName}Ref"].validate(valid => {
-    if (valid) {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-      form.value.$column.javaField = form.value.${column.javaField}.join(",");
-#end
-#end
-      if (form.value.${pkColumn.javaField} != null) {
-        update${BusinessName}(form.value).then(response => {
-          proxy.#[[$modal]]#.msgSuccess("修改成功");
-          open.value = false;
-          getList();
-        });
-      } else {
-        add${BusinessName}(form.value).then(response => {
-          proxy.#[[$modal]]#.msgSuccess("新增成功");
-          open.value = false;
-          getList();
-        });
-      }
-    }
-  });
-}
-
-/** 删除按钮操作 */
-function handleDelete(row) {
-  proxy.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + row.${pkColumn.javaField} + '"的数据项?').then(function() {
-    return del${BusinessName}(row.${pkColumn.javaField});
-  }).then(() => {
-    getList();
-    proxy.#[[$modal]]#.msgSuccess("删除成功");
-  }).catch(() => {});
-}
-
-getList();
-</script>
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index.vue.vm b/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index.vue.vm
deleted file mode 100644
index 8b25665..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/index.vue.vm
+++ /dev/null
@@ -1,590 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
-#foreach($column in $columns)
-#if($column.query)
-#set($dictType=$column.dictType)
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.htmlType == "input")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-input
-          v-model="queryParams.${column.javaField}"
-          placeholder="请输入${comment}"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option
-            v-for="dict in ${dictType}"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
-      <el-form-item label="${comment}" prop="${column.javaField}">
-        <el-date-picker clearable
-          v-model="queryParams.${column.javaField}"
-          type="date"
-          value-format="YYYY-MM-DD"
-          placeholder="请选择${comment}">
-        </el-date-picker>
-      </el-form-item>
-#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-      <el-form-item label="${comment}" style="width: 308px">
-        <el-date-picker
-          v-model="daterange${AttrName}"
-          value-format="YYYY-MM-DD"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-        ></el-date-picker>
-      </el-form-item>
-#end
-#end
-#end
-      <el-form-item>
-        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="Plus"
-          @click="handleAdd"
-          v-hasPermi="['${moduleName}:${businessName}:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="Edit"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['${moduleName}:${businessName}:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="Delete"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['${moduleName}:${businessName}:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="Download"
-          @click="handleExport"
-          v-hasPermi="['${moduleName}:${businessName}:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-#foreach($column in $columns)
-#set($javaField=$column.javaField)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.pk)
-      <el-table-column label="${comment}" align="center" prop="${javaField}" />
-#elseif($column.list && $column.htmlType == "datetime")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
-        <template #default="scope">
-          <span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-#elseif($column.list && $column.htmlType == "imageUpload")
-      <el-table-column label="${comment}" align="center" prop="${javaField}" width="100">
-        <template #default="scope">
-          <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/>
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $column.dictType)
-      <el-table-column label="${comment}" align="center" prop="${javaField}">
-        <template #default="scope">
-#if($column.htmlType == "checkbox")
-          <dict-tag :options="${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
-#else
-          <dict-tag :options="${column.dictType}" :value="scope.row.${javaField}"/>
-#end
-        </template>
-      </el-table-column>
-#elseif($column.list && "" != $javaField)
-      <el-table-column label="${comment}" align="center" prop="${javaField}" />
-#end
-#end
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template #default="scope">
-          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['${moduleName}:${businessName}:edit']">修改</el-button>
-          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['${moduleName}:${businessName}:remove']">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    
-    <pagination
-      v-show="total>0"
-      :total="total"
-      v-model:page="queryParams.pageNum"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
-
-    <!-- 添加或修改${functionName}对话框 -->
-    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
-      <el-form ref="${businessName}Ref" :model="form" :rules="rules" label-width="80px">
-#foreach($column in $columns)
-#set($field=$column.javaField)
-#if($column.insert && !$column.pk)
-#if(($column.usableColumn) || (!$column.superColumn))
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#set($dictType=$column.dictType)
-#if($column.htmlType == "input")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" placeholder="请输入${comment}" />
-        </el-form-item>
-#elseif($column.htmlType == "imageUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <image-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "fileUpload")
-        <el-form-item label="${comment}" prop="${field}">
-          <file-upload v-model="form.${field}"/>
-        </el-form-item>
-#elseif($column.htmlType == "editor")
-        <el-form-item label="${comment}">
-          <editor v-model="form.${field}" :min-height="192"/>
-        </el-form-item>
-#elseif($column.htmlType == "select" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option
-              v-for="dict in ${dictType}"
-              :key="dict.value"
-              :label="dict.label"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :value="parseInt(dict.value)"
-#else
-              :value="dict.value"
-#end
-            ></el-option>
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "select" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-select v-model="form.${field}" placeholder="请选择${comment}">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox
-              v-for="dict in ${dictType}"
-              :key="dict.value"
-              :label="dict.value">
-              {{dict.label}}
-            </el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "checkbox" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-checkbox-group v-model="form.${field}">
-            <el-checkbox>请选择字典生成</el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && "" != $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio
-              v-for="dict in ${dictType}"
-              :key="dict.value"
-#if($column.javaType == "Integer" || $column.javaType == "Long")
-              :label="parseInt(dict.value)"
-#else
-              :label="dict.value"
-#end
-            >{{dict.label}}</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "radio" && $dictType)
-        <el-form-item label="${comment}" prop="${field}">
-          <el-radio-group v-model="form.${field}">
-            <el-radio label="1">请选择字典生成</el-radio>
-          </el-radio-group>
-        </el-form-item>
-#elseif($column.htmlType == "datetime")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-date-picker clearable
-            v-model="form.${field}"
-            type="date"
-            value-format="YYYY-MM-DD"
-            placeholder="请选择${comment}">
-          </el-date-picker>
-        </el-form-item>
-#elseif($column.htmlType == "textarea")
-        <el-form-item label="${comment}" prop="${field}">
-          <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-#end
-#end
-#end
-#end
-#if($table.sub)
-        <el-divider content-position="center">${subTable.functionName}信息</el-divider>
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button type="primary" icon="Plus" @click="handleAdd${subClassName}">添加</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="danger" icon="Delete" @click="handleDelete${subClassName}">删除</el-button>
-          </el-col>
-        </el-row>
-        <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
-          <el-table-column type="selection" width="50" align="center" />
-          <el-table-column label="序号" align="center" prop="index" width="50"/>
-#foreach($column in $subTable.columns)
-#set($javaField=$column.javaField)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($column.pk || $javaField == ${subTableFkclassName})
-#elseif($column.list && $column.htmlType == "input")
-          <el-table-column label="$comment" prop="${javaField}" width="150">
-            <template #default="scope">
-              <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
-            </template>
-          </el-table-column>
-#elseif($column.list && $column.htmlType == "datetime")
-          <el-table-column label="$comment" prop="${javaField}" width="240">
-            <template #default="scope">
-              <el-date-picker clearable
-                v-model="scope.row.$javaField"
-                type="date"
-                value-format="YYYY-MM-DD"
-                placeholder="请选择$comment">
-              </el-date-picker>
-            </template>
-          </el-table-column>
-#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
-          <el-table-column label="$comment" prop="${javaField}" width="150">
-            <template #default="scope">
-              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
-                <el-option
-                  v-for="dict in $column.dictType"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
-            </template>
-          </el-table-column>
-#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
-          <el-table-column label="$comment" prop="${javaField}" width="150">
-            <template #default="scope">
-              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
-                <el-option label="请选择字典生成" value="" />
-              </el-select>
-            </template>
-          </el-table-column>
-#end
-#end
-        </el-table>
-#end
-      </el-form>
-      <template #footer>
-        <div class="dialog-footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
-          <el-button @click="cancel">取 消</el-button>
-        </div>
-      </template>
-    </el-dialog>
-  </div>
-</template>
-
-<script setup name="${BusinessName}">
-import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
-
-const { proxy } = getCurrentInstance();
-#if(${dicts} != '')
-#set($dictsNoSymbol=$dicts.replace("'", ""))
-const { ${dictsNoSymbol} } = proxy.useDict(${dicts});
-#end
-
-const ${businessName}List = ref([]);
-#if($table.sub)
-const ${subclassName}List = ref([]);
-#end
-const open = ref(false);
-const loading = ref(true);
-const showSearch = ref(true);
-const ids = ref([]);
-#if($table.sub)
-const checked${subClassName} = ref([]);
-#end
-const single = ref(true);
-const multiple = ref(true);
-const total = ref(0);
-const title = ref("");
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-const daterange${AttrName} = ref([]);
-#end
-#end
-
-const data = reactive({
-  form: {},
-  queryParams: {
-    pageNum: 1,
-    pageSize: 10,
-    #foreach ($column in $columns)
-#if($column.query)
-    $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-  },
-  rules: {
-    #foreach ($column in $columns)
-#if($column.required)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-    $column.javaField: [
-      { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
-    ]#if($foreach.count != $columns.size()),#end
-#end
-#end
-  }
-});
-
-const { queryParams, form, rules } = toRefs(data);
-
-/** 查询${functionName}列表 */
-function getList() {
-  loading.value = true;
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-  queryParams.value.params = {};
-#break
-#end
-#end
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-  if (null != daterange${AttrName} && '' != daterange${AttrName}) {
-    queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0];
-    queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1];
-  }
-#end
-#end
-  list${BusinessName}(queryParams.value).then(response => {
-    ${businessName}List.value = response.rows;
-    total.value = response.total;
-    loading.value = false;
-  });
-}
-
-// 取消按钮
-function cancel() {
-  open.value = false;
-  reset();
-}
-
-// 表单重置
-function reset() {
-  form.value = {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-    $column.javaField: []#if($foreach.count != $columns.size()),#end
-#else
-    $column.javaField: null#if($foreach.count != $columns.size()),#end
-#end
-#end
-  };
-#if($table.sub)
-  ${subclassName}List.value = [];
-#end
-  proxy.resetForm("${businessName}Ref");
-}
-
-/** 搜索按钮操作 */
-function handleQuery() {
-  queryParams.value.pageNum = 1;
-  getList();
-}
-
-/** 重置按钮操作 */
-function resetQuery() {
-#foreach ($column in $columns)
-#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-  daterange${AttrName}.value = [];
-#end
-#end
-  proxy.resetForm("queryRef");
-  handleQuery();
-}
-
-// 多选框选中数据
-function handleSelectionChange(selection) {
-  ids.value = selection.map(item => item.${pkColumn.javaField});
-  single.value = selection.length != 1;
-  multiple.value = !selection.length;
-}
-
-/** 新增按钮操作 */
-function handleAdd() {
-  reset();
-  open.value = true;
-  title.value = "添加${functionName}";
-}
-
-/** 修改按钮操作 */
-function handleUpdate(row) {
-  reset();
-  const _${pkColumn.javaField} = row.${pkColumn.javaField} || ids.value
-  get${BusinessName}(_${pkColumn.javaField}).then(response => {
-    form.value = response.data;
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-    form.value.$column.javaField = form.value.${column.javaField}.split(",");
-#end
-#end
-#if($table.sub)
-    ${subclassName}List.value = response.data.${subclassName}List;
-#end
-    open.value = true;
-    title.value = "修改${functionName}";
-  });
-}
-
-/** 提交按钮 */
-function submitForm() {
-  proxy.#[[$]]#refs["${businessName}Ref"].validate(valid => {
-    if (valid) {
-#foreach ($column in $columns)
-#if($column.htmlType == "checkbox")
-      form.value.$column.javaField = form.value.${column.javaField}.join(",");
-#end
-#end
-#if($table.sub)
-      form.value.${subclassName}List = ${subclassName}List.value;
-#end
-      if (form.value.${pkColumn.javaField} != null) {
-        update${BusinessName}(form.value).then(response => {
-          proxy.#[[$modal]]#.msgSuccess("修改成功");
-          open.value = false;
-          getList();
-        });
-      } else {
-        add${BusinessName}(form.value).then(response => {
-          proxy.#[[$modal]]#.msgSuccess("新增成功");
-          open.value = false;
-          getList();
-        });
-      }
-    }
-  });
-}
-
-/** 删除按钮操作 */
-function handleDelete(row) {
-  const _${pkColumn.javaField}s = row.${pkColumn.javaField} || ids.value;
-  proxy.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + _${pkColumn.javaField}s + '"的数据项?').then(function() {
-    return del${BusinessName}(_${pkColumn.javaField}s);
-  }).then(() => {
-    getList();
-    proxy.#[[$modal]]#.msgSuccess("删除成功");
-  }).catch(() => {});
-}
-
-#if($table.sub)
-/** ${subTable.functionName}序号 */
-function row${subClassName}Index({ row, rowIndex }) {
-  row.index = rowIndex + 1;
-}
-
-/** ${subTable.functionName}添加按钮操作 */
-function handleAdd${subClassName}() {
-  let obj = {};
-#foreach($column in $subTable.columns)
-#if($column.pk || $column.javaField == ${subTableFkclassName})
-#elseif($column.list && "" != $javaField)
-  obj.$column.javaField = "";
-#end
-#end
-  ${subclassName}List.value.push(obj);
-}
-
-/** ${subTable.functionName}删除按钮操作 */
-function handleDelete${subClassName}() {
-  if (checked${subClassName}.value.length == 0) {
-    proxy.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
-  } else {
-    const ${subclassName}s = ${subclassName}List.value;
-    const checked${subClassName}s = checked${subClassName}.value;
-    ${subclassName}List.value = ${subclassName}s.filter(function(item) {
-      return checked${subClassName}s.indexOf(item.index) == -1
-    });
-  }
-}
-
-/** 复选框选中数据 */
-function handle${subClassName}SelectionChange(selection) {
-  checked${subClassName}.value = selection.map(item => item.index)
-}
-
-#end
-/** 导出按钮操作 */
-function handleExport() {
-  proxy.download('${moduleName}/${businessName}/export', {
-    ...queryParams.value
-  }, `${businessName}_#[[${new Date().getTime()}]]#.xlsx`)
-}
-
-getList();
-</script>
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/readme.txt b/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/readme.txt
deleted file mode 100644
index e71a632..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/vue/v3/readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-���ʹ�õ���hrt-Cloud-Vue3ǰ�ˣ���ô��Ҫ����һ�´�Ŀ¼��ģ��index.vue.vm��index-tree.vue.vm�ļ����ϼ�vueĿ¼��
\ No newline at end of file
diff --git a/hrt-modules/hrt-gen/src/main/resources/vm/xml/mapper.xml.vm b/hrt-modules/hrt-gen/src/main/resources/vm/xml/mapper.xml.vm
deleted file mode 100644
index 0ceb3d8..0000000
--- a/hrt-modules/hrt-gen/src/main/resources/vm/xml/mapper.xml.vm
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="${packageName}.mapper.${ClassName}Mapper">
-    
-    <resultMap type="${ClassName}" id="${ClassName}Result">
-#foreach ($column in $columns)
-        <result property="${column.javaField}"    column="${column.columnName}"    />
-#end
-    </resultMap>
-#if($table.sub)
-
-    <resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result">
-        <collection property="${subclassName}List" notNullColumn="sub_${subTable.pkColumn.columnName}" javaType="java.util.List" resultMap="${subClassName}Result" />
-    </resultMap>
-
-    <resultMap type="${subClassName}" id="${subClassName}Result">
-#foreach ($column in $subTable.columns)
-        <result property="${column.javaField}"    column="sub_${column.columnName}"    />
-#end
-    </resultMap>
-#end
-
-    <sql id="select${ClassName}Vo">
-        select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName}
-    </sql>
-
-    <select id="select${ClassName}List" parameterType="${ClassName}" resultMap="${ClassName}Result">
-        <include refid="select${ClassName}Vo"/>
-        <where>  
-#foreach($column in $columns)
-#set($queryType=$column.queryType)
-#set($javaField=$column.javaField)
-#set($javaType=$column.javaType)
-#set($columnName=$column.columnName)
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#if($column.query)
-#if($column.queryType == "EQ")
-            <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName = #{$javaField}</if>
-#elseif($queryType == "NE")
-            <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName != #{$javaField}</if>
-#elseif($queryType == "GT")
-            <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt; #{$javaField}</if>
-#elseif($queryType == "GTE")
-            <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt;= #{$javaField}</if>
-#elseif($queryType == "LT")
-            <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt; #{$javaField}</if>
-#elseif($queryType == "LTE")
-            <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt;= #{$javaField}</if>
-#elseif($queryType == "LIKE")
-            <if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName like concat('%', #{$javaField}, '%')</if>
-#elseif($queryType == "BETWEEN")
-            <if test="params.begin$AttrName != null and params.begin$AttrName != '' and params.end$AttrName != null and params.end$AttrName != ''"> and $columnName between #{params.begin$AttrName} and #{params.end$AttrName}</if>
-#end
-#end
-#end
-        </where>
-    </select>
-    
-    <select id="select${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}" resultMap="#if($table.sub)${ClassName}${subClassName}Result#else${ClassName}Result#end">
-#if($table.crud || $table.tree)
-        <include refid="select${ClassName}Vo"/>
-        where ${pkColumn.columnName} = #{${pkColumn.javaField}}
-#elseif($table.sub)
-        select#foreach($column in $columns) a.$column.columnName#if($foreach.count != $columns.size()),#end#end,
-           #foreach($column in $subTable.columns) b.$column.columnName as sub_$column.columnName#if($foreach.count != $subTable.columns.size()),#end#end
-
-        from ${tableName} a
-        left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}
-        where a.${pkColumn.columnName} = #{${pkColumn.javaField}}
-#end
-    </select>
-        
-    <insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end>
-        insert into ${tableName}
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-#foreach($column in $columns)
-#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
-            <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName,</if>
-#end
-#end
-         </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-#foreach($column in $columns)
-#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
-            <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">#{$column.javaField},</if>
-#end
-#end
-         </trim>
-    </insert>
-
-    <update id="update${ClassName}" parameterType="${ClassName}">
-        update ${tableName}
-        <trim prefix="SET" suffixOverrides=",">
-#foreach($column in $columns)
-#if($column.columnName != $pkColumn.columnName)
-            <if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName = #{$column.javaField},</if>
-#end
-#end
-        </trim>
-        where ${pkColumn.columnName} = #{${pkColumn.javaField}}
-    </update>
-
-    <delete id="delete${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}">
-        delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}}
-    </delete>
-
-    <delete id="delete${ClassName}By${pkColumn.capJavaField}s" parameterType="String">
-        delete from ${tableName} where ${pkColumn.columnName} in 
-        <foreach item="${pkColumn.javaField}" collection="array" open="(" separator="," close=")">
-            #{${pkColumn.javaField}}
-        </foreach>
-    </delete>
-#if($table.sub)
-    
-    <delete id="delete${subClassName}By${subTableFkClassName}s" parameterType="String">
-        delete from ${subTableName} where ${subTableFkName} in 
-        <foreach item="${subTableFkclassName}" collection="array" open="(" separator="," close=")">
-            #{${subTableFkclassName}}
-        </foreach>
-    </delete>
-
-    <delete id="delete${subClassName}By${subTableFkClassName}" parameterType="${pkColumn.javaType}">
-        delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}}
-    </delete>
-
-    <insert id="batch${subClassName}">
-        insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values
-		<foreach item="item" index="index" collection="list" separator=",">
-            (#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end)
-        </foreach>
-    </insert>
-#end
-</mapper>
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/pom.xml b/hrt-modules/hrt-job/pom.xml
deleted file mode 100644
index 0f265f0..0000000
--- a/hrt-modules/hrt-job/pom.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-modules</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hrt-modules-job</artifactId>
-
-    <description>
-        hrt-modules-job定时任务
-    </description>
-
-    <dependencies>
-    	
-    	<!-- SpringCloud Alibaba Nacos -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Nacos Config -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Sentinel -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
-        </dependency>
-        
-        <!-- SpringBoot Actuator -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-		
-        <!-- Swagger UI -->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>${swagger.fox.version}</version>
-        </dependency>
-		
-        <!-- Quartz -->
-        <dependency>
-            <groupId>org.quartz-scheduler</groupId>
-            <artifactId>quartz</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.mchange</groupId>
-                    <artifactId>c3p0</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        
-        <!-- Mysql Connector -->
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Log -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-log</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Swagger -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-swagger</artifactId>
-        </dependency>
-        
-    </dependencies>
-
-    <build>
-        <finalName>${project.artifactId}</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-   
-</project>
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/HrtJobApplication.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/HrtJobApplication.java
deleted file mode 100644
index ed23d4e..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/HrtJobApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.job;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import com.hrt.common.security.annotation.EnableCustomConfig;
-import com.hrt.common.security.annotation.EnableRyFeignClients;
-import com.hrt.common.swagger.annotation.EnableCustomSwagger2;
-
-/**
- * 定时任务
- * 
- * @author jqs
- */
-@EnableCustomConfig
-@EnableCustomSwagger2
-@EnableRyFeignClients   
-@SpringBootApplication
-public class HrtJobApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(HrtJobApplication.class, args);
-        System.out.println("定时任务模块启动成功");
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/config/ScheduleConfig.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/config/ScheduleConfig.java
deleted file mode 100644
index 43ee420..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/config/ScheduleConfig.java
+++ /dev/null
@@ -1,57 +0,0 @@
-//package com.hrt.job.config;
-//
-//import java.util.Properties;
-//import javax.sql.DataSource;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.scheduling.quartz.SchedulerFactoryBean;
-//
-///**
-// * 定时任务配置(单机部署建议删除此类和qrtz数据库表,默认走内存会最高效)
-// * 
-// * @author jqs
-// */
-//@Configuration
-//public class ScheduleConfig
-//{
-//    @Bean
-//    public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource)
-//    {
-//        SchedulerFactoryBean factory = new SchedulerFactoryBean();
-//        factory.setDataSource(dataSource);
-//
-//        // quartz参数
-//        Properties prop = new Properties();
-//        prop.put("org.quartz.scheduler.instanceName", "hrtScheduler");
-//        prop.put("org.quartz.scheduler.instanceId", "AUTO");
-//        // 线程池配置
-//        prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
-//        prop.put("org.quartz.threadPool.threadCount", "20");
-//        prop.put("org.quartz.threadPool.threadPriority", "5");
-//        // JobStore配置
-//        prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore");
-//        // 集群配置
-//        prop.put("org.quartz.jobStore.isClustered", "true");
-//        prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000");
-//        prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1");
-//        prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true");
-//
-//        // sqlserver 启用
-//        // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?");
-//        prop.put("org.quartz.jobStore.misfireThreshold", "12000");
-//        prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
-//        factory.setQuartzProperties(prop);
-//
-//        factory.setSchedulerName("hrtScheduler");
-//        // 延时启动
-//        factory.setStartupDelay(1);
-//        factory.setApplicationContextSchedulerContextKey("applicationContextKey");
-//        // 可选,QuartzScheduler
-//        // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
-//        factory.setOverwriteExistingJobs(true);
-//        // 设置自动启动,默认为true
-//        factory.setAutoStartup(true);
-//
-//        return factory;
-//    }
-//}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobController.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobController.java
deleted file mode 100644
index 8ef193a..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobController.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package com.hrt.job.controller;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.job.service.ISysJobService;
-import org.quartz.SchedulerException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.exception.job.TaskException;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.job.domain.SysJob;
-import com.hrt.job.util.CronUtils;
-import com.hrt.job.util.ScheduleUtils;
-
-/**
- * 调度任务信息操作处理
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/job")
-public class SysJobController extends BaseController
-{
-    @Autowired
-    private ISysJobService jobService;
-
-    /**
-     * 查询定时任务列表
-     */
-    @RequiresPermissions("monitor:job:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysJob sysJob)
-    {
-        startPage();
-        List<SysJob> list = jobService.selectJobList(sysJob);
-        return getDataTable(list);
-    }
-
-    /**
-     * 导出定时任务列表
-     */
-    @RequiresPermissions("monitor:job:export")
-    @Log(title = "定时任务", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysJob sysJob)
-    {
-        List<SysJob> list = jobService.selectJobList(sysJob);
-        ExcelUtil<SysJob> util = new ExcelUtil<SysJob>(SysJob.class);
-        util.exportExcel(response, list, "定时任务");
-    }
-
-    /**
-     * 获取定时任务详细信息
-     */
-    @RequiresPermissions("monitor:job:query")
-    @GetMapping(value = "/{jobId}")
-    public AjaxResult getInfo(@PathVariable("jobId") Long jobId)
-    {
-        return success(jobService.selectJobById(jobId));
-    }
-
-    /**
-     * 新增定时任务
-     */
-    @RequiresPermissions("monitor:job:add")
-    @Log(title = "定时任务", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException
-    {
-        if (!CronUtils.isValid(job.getCronExpression()))
-        {
-            return error("新增任务'" + job.getJobName() + "'失败,Cron表达式不正确");
-        }
-        else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI))
-        {
-            return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'rmi'调用");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS }))
-        {
-            return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
-        {
-            return error("新增任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)'调用");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR))
-        {
-            return error("新增任务'" + job.getJobName() + "'失败,目标字符串存在违规");
-        }
-        else if (!ScheduleUtils.whiteList(job.getInvokeTarget()))
-        {
-            return error("新增任务'" + job.getJobName() + "'失败,目标字符串不在白名单内");
-        }
-        job.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(jobService.insertJob(job));
-    }
-
-    /**
-     * 修改定时任务
-     */
-    @RequiresPermissions("monitor:job:edit")
-    @Log(title = "定时任务", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException
-    {
-        if (!CronUtils.isValid(job.getCronExpression()))
-        {
-            return error("修改任务'" + job.getJobName() + "'失败,Cron表达式不正确");
-        }
-        else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI))
-        {
-            return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'rmi'调用");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.LOOKUP_LDAP, Constants.LOOKUP_LDAPS }))
-        {
-            return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'ldap(s)'调用");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
-        {
-            return error("修改任务'" + job.getJobName() + "'失败,目标字符串不允许'http(s)'调用");
-        }
-        else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), Constants.JOB_ERROR_STR))
-        {
-            return error("修改任务'" + job.getJobName() + "'失败,目标字符串存在违规");
-        }
-        else if (!ScheduleUtils.whiteList(job.getInvokeTarget()))
-        {
-            return error("修改任务'" + job.getJobName() + "'失败,目标字符串不在白名单内");
-        }
-        job.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(jobService.updateJob(job));
-    }
-
-    /**
-     * 定时任务状态修改
-     */
-    @RequiresPermissions("monitor:job:changeStatus")
-    @Log(title = "定时任务", businessType = BusinessType.UPDATE)
-    @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException
-    {
-        SysJob newJob = jobService.selectJobById(job.getJobId());
-        newJob.setStatus(job.getStatus());
-        return toAjax(jobService.changeStatus(newJob));
-    }
-
-    /**
-     * 定时任务立即执行一次
-     */
-    @RequiresPermissions("monitor:job:changeStatus")
-    @Log(title = "定时任务", businessType = BusinessType.UPDATE)
-    @PutMapping("/run")
-    public AjaxResult run(@RequestBody SysJob job) throws SchedulerException
-    {
-        boolean result = jobService.run(job);
-        return result ? success() : error("任务不存在或已过期!");
-    }
-
-    /**
-     * 删除定时任务
-     */
-    @RequiresPermissions("monitor:job:remove")
-    @Log(title = "定时任务", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{jobIds}")
-    public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException, TaskException
-    {
-        jobService.deleteJobByIds(jobIds);
-        return success();
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobLogController.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobLogController.java
deleted file mode 100644
index 7f451a4..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/controller/SysJobLogController.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.hrt.job.controller;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.job.service.ISysJobLogService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.job.domain.SysJobLog;
-
-/**
- * 调度日志操作处理
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/job/log")
-public class SysJobLogController extends BaseController
-{
-    @Autowired
-    private ISysJobLogService jobLogService;
-
-    /**
-     * 查询定时任务调度日志列表
-     */
-    @RequiresPermissions("monitor:job:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysJobLog sysJobLog)
-    {
-        startPage();
-        List<SysJobLog> list = jobLogService.selectJobLogList(sysJobLog);
-        return getDataTable(list);
-    }
-
-    /**
-     * 导出定时任务调度日志列表
-     */
-    @RequiresPermissions("monitor:job:export")
-    @Log(title = "任务调度日志", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysJobLog sysJobLog)
-    {
-        List<SysJobLog> list = jobLogService.selectJobLogList(sysJobLog);
-        ExcelUtil<SysJobLog> util = new ExcelUtil<SysJobLog>(SysJobLog.class);
-        util.exportExcel(response, list, "调度日志");
-    }
-
-    /**
-     * 根据调度编号获取详细信息
-     */
-    @RequiresPermissions("monitor:job:query")
-    @GetMapping(value = "/{jobLogId}")
-    public AjaxResult getInfo(@PathVariable Long jobLogId)
-    {
-        return success(jobLogService.selectJobLogById(jobLogId));
-    }
-
-    /**
-     * 删除定时任务调度日志
-     */
-    @RequiresPermissions("monitor:job:remove")
-    @Log(title = "定时任务调度日志", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{jobLogIds}")
-    public AjaxResult remove(@PathVariable Long[] jobLogIds)
-    {
-        return toAjax(jobLogService.deleteJobLogByIds(jobLogIds));
-    }
-
-    /**
-     * 清空定时任务调度日志
-     */
-    @RequiresPermissions("monitor:job:remove")
-    @Log(title = "调度日志", businessType = BusinessType.CLEAN)
-    @DeleteMapping("/clean")
-    public AjaxResult clean()
-    {
-        jobLogService.cleanJobLog();
-        return success();
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJob.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJob.java
deleted file mode 100644
index 21e3b4c..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJob.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package com.hrt.job.domain;
-
-import java.util.Date;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
-
-import com.hrt.job.util.CronUtils;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.constant.ScheduleConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 定时任务调度表 sys_job
- * 
- * @author jqs
- */
-public class SysJob extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 任务ID */
-    @Excel(name = "任务序号", cellType = ColumnType.NUMERIC)
-    private Long jobId;
-
-    /** 任务名称 */
-    @Excel(name = "任务名称")
-    private String jobName;
-
-    /** 任务组名 */
-    @Excel(name = "任务组名")
-    private String jobGroup;
-
-    /** 调用目标字符串 */
-    @Excel(name = "调用目标字符串")
-    private String invokeTarget;
-
-    /** cron执行表达式 */
-    @Excel(name = "执行表达式 ")
-    private String cronExpression;
-
-    /** cron计划策略 */
-    @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行")
-    private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT;
-
-    /** 是否并发执行(0允许 1禁止) */
-    @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止")
-    private String concurrent;
-
-    /** 任务状态(0正常 1暂停) */
-    @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停")
-    private String status;
-
-    public Long getJobId()
-    {
-        return jobId;
-    }
-
-    public void setJobId(Long jobId)
-    {
-        this.jobId = jobId;
-    }
-
-    @NotBlank(message = "任务名称不能为空")
-    @Size(min = 0, max = 64, message = "任务名称不能超过64个字符")
-    public String getJobName()
-    {
-        return jobName;
-    }
-
-    public void setJobName(String jobName)
-    {
-        this.jobName = jobName;
-    }
-
-    public String getJobGroup()
-    {
-        return jobGroup;
-    }
-
-    public void setJobGroup(String jobGroup)
-    {
-        this.jobGroup = jobGroup;
-    }
-
-    @NotBlank(message = "调用目标字符串不能为空")
-    @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符")
-    public String getInvokeTarget()
-    {
-        return invokeTarget;
-    }
-
-    public void setInvokeTarget(String invokeTarget)
-    {
-        this.invokeTarget = invokeTarget;
-    }
-
-    @NotBlank(message = "Cron执行表达式不能为空")
-    @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符")
-    public String getCronExpression()
-    {
-        return cronExpression;
-    }
-
-    public void setCronExpression(String cronExpression)
-    {
-        this.cronExpression = cronExpression;
-    }
-
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    public Date getNextValidTime()
-    {
-        if (StringUtils.isNotEmpty(cronExpression))
-        {
-            return CronUtils.getNextExecution(cronExpression);
-        }
-        return null;
-    }
-
-    public String getMisfirePolicy()
-    {
-        return misfirePolicy;
-    }
-
-    public void setMisfirePolicy(String misfirePolicy)
-    {
-        this.misfirePolicy = misfirePolicy;
-    }
-
-    public String getConcurrent()
-    {
-        return concurrent;
-    }
-
-    public void setConcurrent(String concurrent)
-    {
-        this.concurrent = concurrent;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("jobId", getJobId())
-            .append("jobName", getJobName())
-            .append("jobGroup", getJobGroup())
-            .append("cronExpression", getCronExpression())
-            .append("nextValidTime", getNextValidTime())
-            .append("misfirePolicy", getMisfirePolicy())
-            .append("concurrent", getConcurrent())
-            .append("status", getStatus())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJobLog.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJobLog.java
deleted file mode 100644
index 31bf559..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/domain/SysJobLog.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package com.hrt.job.domain;
-
-import java.util.Date;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 定时任务调度日志表 sys_job_log
- * 
- * @author jqs
- */
-public class SysJobLog extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** ID */
-    @Excel(name = "日志序号")
-    private Long jobLogId;
-
-    /** 任务名称 */
-    @Excel(name = "任务名称")
-    private String jobName;
-
-    /** 任务组名 */
-    @Excel(name = "任务组名")
-    private String jobGroup;
-
-    /** 调用目标字符串 */
-    @Excel(name = "调用目标字符串")
-    private String invokeTarget;
-
-    /** 日志信息 */
-    @Excel(name = "日志信息")
-    private String jobMessage;
-
-    /** 执行状态(0正常 1失败) */
-    @Excel(name = "执行状态", readConverterExp = "0=正常,1=失败")
-    private String status;
-
-    /** 异常信息 */
-    @Excel(name = "异常信息")
-    private String exceptionInfo;
-
-    /** 开始时间 */
-    private Date startTime;
-
-    /** 停止时间 */
-    private Date stopTime;
-
-    public Long getJobLogId()
-    {
-        return jobLogId;
-    }
-
-    public void setJobLogId(Long jobLogId)
-    {
-        this.jobLogId = jobLogId;
-    }
-
-    public String getJobName()
-    {
-        return jobName;
-    }
-
-    public void setJobName(String jobName)
-    {
-        this.jobName = jobName;
-    }
-
-    public String getJobGroup()
-    {
-        return jobGroup;
-    }
-
-    public void setJobGroup(String jobGroup)
-    {
-        this.jobGroup = jobGroup;
-    }
-
-    public String getInvokeTarget()
-    {
-        return invokeTarget;
-    }
-
-    public void setInvokeTarget(String invokeTarget)
-    {
-        this.invokeTarget = invokeTarget;
-    }
-
-    public String getJobMessage()
-    {
-        return jobMessage;
-    }
-
-    public void setJobMessage(String jobMessage)
-    {
-        this.jobMessage = jobMessage;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    public String getExceptionInfo()
-    {
-        return exceptionInfo;
-    }
-
-    public void setExceptionInfo(String exceptionInfo)
-    {
-        this.exceptionInfo = exceptionInfo;
-    }
-
-    public Date getStartTime()
-    {
-        return startTime;
-    }
-
-    public void setStartTime(Date startTime)
-    {
-        this.startTime = startTime;
-    }
-    
-    public Date getStopTime()
-    {
-        return stopTime;
-    }
-
-    public void setStopTime(Date stopTime)
-    {
-        this.stopTime = stopTime;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("jobLogId", getJobLogId())
-            .append("jobName", getJobName())
-            .append("jobGroup", getJobGroup())
-            .append("jobMessage", getJobMessage())
-            .append("status", getStatus())
-            .append("exceptionInfo", getExceptionInfo())
-            .append("startTime", getStartTime())
-            .append("stopTime", getStopTime())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobLogMapper.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobLogMapper.java
deleted file mode 100644
index 754b242..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobLogMapper.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.hrt.job.mapper;
-
-import java.util.List;
-import com.hrt.job.domain.SysJobLog;
-
-/**
- * 调度任务日志信息 数据层
- * 
- * @author jqs
- */
-public interface SysJobLogMapper
-{
-    /**
-     * 获取quartz调度器日志的计划任务
-     * 
-     * @param jobLog 调度日志信息
-     * @return 调度任务日志集合
-     */
-    public List<SysJobLog> selectJobLogList(SysJobLog jobLog);
-
-    /**
-     * 查询所有调度任务日志
-     *
-     * @return 调度任务日志列表
-     */
-    public List<SysJobLog> selectJobLogAll();
-
-    /**
-     * 通过调度任务日志ID查询调度信息
-     * 
-     * @param jobLogId 调度任务日志ID
-     * @return 调度任务日志对象信息
-     */
-    public SysJobLog selectJobLogById(Long jobLogId);
-
-    /**
-     * 新增任务日志
-     * 
-     * @param jobLog 调度日志信息
-     * @return 结果
-     */
-    public int insertJobLog(SysJobLog jobLog);
-
-    /**
-     * 批量删除调度日志信息
-     * 
-     * @param logIds 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteJobLogByIds(Long[] logIds);
-
-    /**
-     * 删除任务日志
-     * 
-     * @param jobId 调度日志ID
-     * @return 结果
-     */
-    public int deleteJobLogById(Long jobId);
-
-    /**
-     * 清空任务日志
-     */
-    public void cleanJobLog();
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobMapper.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobMapper.java
deleted file mode 100644
index 2b81491..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/mapper/SysJobMapper.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.hrt.job.mapper;
-
-import java.util.List;
-import com.hrt.job.domain.SysJob;
-
-/**
- * 调度任务信息 数据层
- * 
- * @author jqs
- */
-public interface SysJobMapper
-{
-    /**
-     * 查询调度任务日志集合
-     * 
-     * @param job 调度信息
-     * @return 操作日志集合
-     */
-    public List<SysJob> selectJobList(SysJob job);
-
-    /**
-     * 查询所有调度任务
-     * 
-     * @return 调度任务列表
-     */
-    public List<SysJob> selectJobAll();
-
-    /**
-     * 通过调度ID查询调度任务信息
-     * 
-     * @param jobId 调度ID
-     * @return 角色对象信息
-     */
-    public SysJob selectJobById(Long jobId);
-
-    /**
-     * 通过调度ID删除调度任务信息
-     * 
-     * @param jobId 调度ID
-     * @return 结果
-     */
-    public int deleteJobById(Long jobId);
-
-    /**
-     * 批量删除调度任务信息
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteJobByIds(Long[] ids);
-
-    /**
-     * 修改调度任务信息
-     * 
-     * @param job 调度任务信息
-     * @return 结果
-     */
-    public int updateJob(SysJob job);
-
-    /**
-     * 新增调度任务信息
-     * 
-     * @param job 调度任务信息
-     * @return 结果
-     */
-    public int insertJob(SysJob job);
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobLogService.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobLogService.java
deleted file mode 100644
index 8b79017..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobLogService.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.hrt.job.service;
-
-import java.util.List;
-import com.hrt.job.domain.SysJobLog;
-
-/**
- * 定时任务调度日志信息信息 服务层
- * 
- * @author jqs
- */
-public interface ISysJobLogService
-{
-    /**
-     * 获取quartz调度器日志的计划任务
-     * 
-     * @param jobLog 调度日志信息
-     * @return 调度任务日志集合
-     */
-    public List<SysJobLog> selectJobLogList(SysJobLog jobLog);
-
-    /**
-     * 通过调度任务日志ID查询调度信息
-     * 
-     * @param jobLogId 调度任务日志ID
-     * @return 调度任务日志对象信息
-     */
-    public SysJobLog selectJobLogById(Long jobLogId);
-
-    /**
-     * 新增任务日志
-     * 
-     * @param jobLog 调度日志信息
-     */
-    public void addJobLog(SysJobLog jobLog);
-
-    /**
-     * 批量删除调度日志信息
-     * 
-     * @param logIds 需要删除的日志ID
-     * @return 结果
-     */
-    public int deleteJobLogByIds(Long[] logIds);
-
-    /**
-     * 删除任务日志
-     * 
-     * @param jobId 调度日志ID
-     * @return 结果
-     */
-    public int deleteJobLogById(Long jobId);
-
-    /**
-     * 清空任务日志
-     */
-    public void cleanJobLog();
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobService.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobService.java
deleted file mode 100644
index 9eeabd0..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/ISysJobService.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.hrt.job.service;
-
-import java.util.List;
-import org.quartz.SchedulerException;
-import com.hrt.common.core.exception.job.TaskException;
-import com.hrt.job.domain.SysJob;
-
-/**
- * 定时任务调度信息信息 服务层
- * 
- * @author jqs
- */
-public interface ISysJobService
-{
-    /**
-     * 获取quartz调度器的计划任务
-     * 
-     * @param job 调度信息
-     * @return 调度任务集合
-     */
-    public List<SysJob> selectJobList(SysJob job);
-
-    /**
-     * 通过调度任务ID查询调度信息
-     * 
-     * @param jobId 调度任务ID
-     * @return 调度任务对象信息
-     */
-    public SysJob selectJobById(Long jobId);
-
-    /**
-     * 暂停任务
-     * 
-     * @param job 调度信息
-     * @return 结果
-     */
-    public int pauseJob(SysJob job) throws SchedulerException;
-
-    /**
-     * 恢复任务
-     * 
-     * @param job 调度信息
-     * @return 结果
-     */
-    public int resumeJob(SysJob job) throws SchedulerException;
-
-    /**
-     * 删除任务后,所对应的trigger也将被删除
-     * 
-     * @param job 调度信息
-     * @return 结果
-     */
-    public int deleteJob(SysJob job) throws SchedulerException;
-
-    /**
-     * 批量删除调度信息
-     * 
-     * @param jobIds 需要删除的任务ID
-     * @return 结果
-     */
-    public void deleteJobByIds(Long[] jobIds) throws SchedulerException;
-
-    /**
-     * 任务调度状态修改
-     * 
-     * @param job 调度信息
-     * @return 结果
-     */
-    public int changeStatus(SysJob job) throws SchedulerException;
-
-    /**
-     * 立即运行任务
-     * 
-     * @param job 调度信息
-     * @return 结果
-     */
-    public boolean run(SysJob job) throws SchedulerException;
-
-    /**
-     * 新增任务
-     * 
-     * @param job 调度信息
-     * @return 结果
-     */
-    public int insertJob(SysJob job) throws SchedulerException, TaskException;
-
-    /**
-     * 更新任务
-     * 
-     * @param job 调度信息
-     * @return 结果
-     */
-    public int updateJob(SysJob job) throws SchedulerException, TaskException;
-
-    /**
-     * 校验cron表达式是否有效
-     * 
-     * @param cronExpression 表达式
-     * @return 结果
-     */
-    public boolean checkCronExpressionIsValid(String cronExpression);
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobLogServiceImpl.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobLogServiceImpl.java
deleted file mode 100644
index d4e251c..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobLogServiceImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.hrt.job.service;
-
-import java.util.List;
-
-import com.hrt.job.mapper.SysJobLogMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import com.hrt.job.domain.SysJobLog;
-
-/**
- * 定时任务调度日志信息 服务层
- * 
- * @author jqs
- */
-@Service
-public class SysJobLogServiceImpl implements ISysJobLogService
-{
-    @Autowired
-    private SysJobLogMapper jobLogMapper;
-
-    /**
-     * 获取quartz调度器日志的计划任务
-     * 
-     * @param jobLog 调度日志信息
-     * @return 调度任务日志集合
-     */
-    @Override
-    public List<SysJobLog> selectJobLogList(SysJobLog jobLog)
-    {
-        return jobLogMapper.selectJobLogList(jobLog);
-    }
-
-    /**
-     * 通过调度任务日志ID查询调度信息
-     * 
-     * @param jobLogId 调度任务日志ID
-     * @return 调度任务日志对象信息
-     */
-    @Override
-    public SysJobLog selectJobLogById(Long jobLogId)
-    {
-        return jobLogMapper.selectJobLogById(jobLogId);
-    }
-
-    /**
-     * 新增任务日志
-     * 
-     * @param jobLog 调度日志信息
-     */
-    @Override
-    public void addJobLog(SysJobLog jobLog)
-    {
-        jobLogMapper.insertJobLog(jobLog);
-    }
-
-    /**
-     * 批量删除调度日志信息
-     * 
-     * @param logIds 需要删除的数据ID
-     * @return 结果
-     */
-    @Override
-    public int deleteJobLogByIds(Long[] logIds)
-    {
-        return jobLogMapper.deleteJobLogByIds(logIds);
-    }
-
-    /**
-     * 删除任务日志
-     * 
-     * @param jobId 调度日志ID
-     */
-    @Override
-    public int deleteJobLogById(Long jobId)
-    {
-        return jobLogMapper.deleteJobLogById(jobId);
-    }
-
-    /**
-     * 清空任务日志
-     */
-    @Override
-    public void cleanJobLog()
-    {
-        jobLogMapper.cleanJobLog();
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobServiceImpl.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobServiceImpl.java
deleted file mode 100644
index 8deb412..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/service/SysJobServiceImpl.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package com.hrt.job.service;
-
-import java.util.List;
-import javax.annotation.PostConstruct;
-
-import com.hrt.job.mapper.SysJobMapper;
-import org.quartz.JobDataMap;
-import org.quartz.JobKey;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import com.hrt.common.core.constant.ScheduleConstants;
-import com.hrt.common.core.exception.job.TaskException;
-import com.hrt.job.domain.SysJob;
-import com.hrt.job.util.CronUtils;
-import com.hrt.job.util.ScheduleUtils;
-
-/**
- * 定时任务调度信息 服务层
- * 
- * @author jqs
- */
-@Service
-public class SysJobServiceImpl implements ISysJobService
-{
-    @Autowired
-    private Scheduler scheduler;
-
-    @Autowired
-    private SysJobMapper jobMapper;
-
-    /**
-     * 项目启动时,初始化定时器 主要是防止手动修改数据库导致未同步到定时任务处理(注:不能手动修改数据库ID和任务组名,否则会导致脏数据)
-     */
-    @PostConstruct
-    public void init() throws SchedulerException, TaskException
-    {
-        scheduler.clear();
-        List<SysJob> jobList = jobMapper.selectJobAll();
-        for (SysJob job : jobList)
-        {
-            ScheduleUtils.createScheduleJob(scheduler, job);
-        }
-    }
-
-    /**
-     * 获取quartz调度器的计划任务列表
-     * 
-     * @param job 调度信息
-     * @return
-     */
-    @Override
-    public List<SysJob> selectJobList(SysJob job)
-    {
-        return jobMapper.selectJobList(job);
-    }
-
-    /**
-     * 通过调度任务ID查询调度信息
-     * 
-     * @param jobId 调度任务ID
-     * @return 调度任务对象信息
-     */
-    @Override
-    public SysJob selectJobById(Long jobId)
-    {
-        return jobMapper.selectJobById(jobId);
-    }
-
-    /**
-     * 暂停任务
-     * 
-     * @param job 调度信息
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int pauseJob(SysJob job) throws SchedulerException
-    {
-        Long jobId = job.getJobId();
-        String jobGroup = job.getJobGroup();
-        job.setStatus(ScheduleConstants.Status.PAUSE.getValue());
-        int rows = jobMapper.updateJob(job);
-        if (rows > 0)
-        {
-            scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup));
-        }
-        return rows;
-    }
-
-    /**
-     * 恢复任务
-     * 
-     * @param job 调度信息
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int resumeJob(SysJob job) throws SchedulerException
-    {
-        Long jobId = job.getJobId();
-        String jobGroup = job.getJobGroup();
-        job.setStatus(ScheduleConstants.Status.NORMAL.getValue());
-        int rows = jobMapper.updateJob(job);
-        if (rows > 0)
-        {
-            scheduler.resumeJob(ScheduleUtils.getJobKey(jobId, jobGroup));
-        }
-        return rows;
-    }
-
-    /**
-     * 删除任务后,所对应的trigger也将被删除
-     * 
-     * @param job 调度信息
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int deleteJob(SysJob job) throws SchedulerException
-    {
-        Long jobId = job.getJobId();
-        String jobGroup = job.getJobGroup();
-        int rows = jobMapper.deleteJobById(jobId);
-        if (rows > 0)
-        {
-            scheduler.deleteJob(ScheduleUtils.getJobKey(jobId, jobGroup));
-        }
-        return rows;
-    }
-
-    /**
-     * 批量删除调度信息
-     * 
-     * @param jobIds 需要删除的任务ID
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void deleteJobByIds(Long[] jobIds) throws SchedulerException
-    {
-        for (Long jobId : jobIds)
-        {
-            SysJob job = jobMapper.selectJobById(jobId);
-            deleteJob(job);
-        }
-    }
-
-    /**
-     * 任务调度状态修改
-     * 
-     * @param job 调度信息
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int changeStatus(SysJob job) throws SchedulerException
-    {
-        int rows = 0;
-        String status = job.getStatus();
-        if (ScheduleConstants.Status.NORMAL.getValue().equals(status))
-        {
-            rows = resumeJob(job);
-        }
-        else if (ScheduleConstants.Status.PAUSE.getValue().equals(status))
-        {
-            rows = pauseJob(job);
-        }
-        return rows;
-    }
-
-    /**
-     * 立即运行任务
-     * 
-     * @param job 调度信息
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public boolean run(SysJob job) throws SchedulerException
-    {
-        boolean result = false;
-        Long jobId = job.getJobId();
-        String jobGroup = job.getJobGroup();
-        SysJob properties = selectJobById(job.getJobId());
-        // 参数
-        JobDataMap dataMap = new JobDataMap();
-        dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties);
-        JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup);
-        if (scheduler.checkExists(jobKey))
-        {
-            result = true;
-            scheduler.triggerJob(jobKey, dataMap);
-        }
-        return result;
-    }
-
-    /**
-     * 新增任务
-     * 
-     * @param job 调度信息 调度信息
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int insertJob(SysJob job) throws SchedulerException, TaskException
-    {
-        job.setStatus(ScheduleConstants.Status.PAUSE.getValue());
-        int rows = jobMapper.insertJob(job);
-        if (rows > 0)
-        {
-            ScheduleUtils.createScheduleJob(scheduler, job);
-        }
-        return rows;
-    }
-
-    /**
-     * 更新任务的时间表达式
-     * 
-     * @param job 调度信息
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int updateJob(SysJob job) throws SchedulerException, TaskException
-    {
-        SysJob properties = selectJobById(job.getJobId());
-        int rows = jobMapper.updateJob(job);
-        if (rows > 0)
-        {
-            updateSchedulerJob(job, properties.getJobGroup());
-        }
-        return rows;
-    }
-
-    /**
-     * 更新任务
-     * 
-     * @param job 任务对象
-     * @param jobGroup 任务组名
-     */
-    public void updateSchedulerJob(SysJob job, String jobGroup) throws SchedulerException, TaskException
-    {
-        Long jobId = job.getJobId();
-        // 判断是否存在
-        JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup);
-        if (scheduler.checkExists(jobKey))
-        {
-            // 防止创建时存在数据问题 先移除,然后在执行创建操作
-            scheduler.deleteJob(jobKey);
-        }
-        ScheduleUtils.createScheduleJob(scheduler, job);
-    }
-
-    /**
-     * 校验cron表达式是否有效
-     * 
-     * @param cronExpression 表达式
-     * @return 结果
-     */
-    @Override
-    public boolean checkCronExpressionIsValid(String cronExpression)
-    {
-        return CronUtils.isValid(cronExpression);
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/task/RyTask.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/task/RyTask.java
deleted file mode 100644
index ee407f0..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/task/RyTask.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.hrt.job.task;
-
-import org.springframework.stereotype.Component;
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 定时任务调度测试
- * 
- * @author jqs
- */
-@Component("ryTask")
-public class RyTask
-{
-    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
-    {
-        System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
-    }
-
-    public void ryParams(String params)
-    {
-        System.out.println("执行有参方法:" + params);
-    }
-
-    public void ryNoParams()
-    {
-        System.out.println("执行无参方法");
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/AbstractQuartzJob.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/AbstractQuartzJob.java
deleted file mode 100644
index a25d716..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/AbstractQuartzJob.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package com.hrt.job.util;
-
-import java.util.Date;
-
-import com.hrt.job.service.ISysJobLogService;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.hrt.common.core.constant.ScheduleConstants;
-import com.hrt.common.core.utils.ExceptionUtil;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.bean.BeanUtils;
-import com.hrt.job.domain.SysJob;
-import com.hrt.job.domain.SysJobLog;
-
-/**
- * 抽象quartz调用
- *
- * @author jqs
- */
-public abstract class AbstractQuartzJob implements Job
-{
-    private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class);
-
-    /**
-     * 线程本地变量
-     */
-    private static ThreadLocal<Date> threadLocal = new ThreadLocal<>();
-
-    @Override
-    public void execute(JobExecutionContext context) throws JobExecutionException
-    {
-        SysJob sysJob = new SysJob();
-        BeanUtils.copyBeanProp(sysJob, context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES));
-        try
-        {
-            before(context, sysJob);
-            if (sysJob != null)
-            {
-                doExecute(context, sysJob);
-            }
-            after(context, sysJob, null);
-        }
-        catch (Exception e)
-        {
-            log.error("任务执行异常  - :", e);
-            after(context, sysJob, e);
-        }
-    }
-
-    /**
-     * 执行前
-     *
-     * @param context 工作执行上下文对象
-     * @param sysJob 系统计划任务
-     */
-    protected void before(JobExecutionContext context, SysJob sysJob)
-    {
-        threadLocal.set(new Date());
-    }
-
-    /**
-     * 执行后
-     *
-     * @param context 工作执行上下文对象
-     * @param sysJob 系统计划任务
-     */
-    protected void after(JobExecutionContext context, SysJob sysJob, Exception e)
-    {
-        Date startTime = threadLocal.get();
-        threadLocal.remove();
-
-        final SysJobLog sysJobLog = new SysJobLog();
-        sysJobLog.setJobName(sysJob.getJobName());
-        sysJobLog.setJobGroup(sysJob.getJobGroup());
-        sysJobLog.setInvokeTarget(sysJob.getInvokeTarget());
-        sysJobLog.setStartTime(startTime);
-        sysJobLog.setStopTime(new Date());
-        long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime();
-        sysJobLog.setJobMessage(sysJobLog.getJobName() + " 总共耗时:" + runMs + "毫秒");
-        if (e != null)
-        {
-            sysJobLog.setStatus("1");
-            String errorMsg = StringUtils.substring(ExceptionUtil.getExceptionMessage(e), 0, 2000);
-            sysJobLog.setExceptionInfo(errorMsg);
-        }
-        else
-        {
-            sysJobLog.setStatus("0");
-        }
-
-        // 写入数据库当中
-        SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog);
-    }
-
-    /**
-     * 执行方法,由子类重载
-     *
-     * @param context 工作执行上下文对象
-     * @param sysJob 系统计划任务
-     * @throws Exception 执行过程中的异常
-     */
-    protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception;
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/CronUtils.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/CronUtils.java
deleted file mode 100644
index 2c80eac..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/CronUtils.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.hrt.job.util;
-
-import java.text.ParseException;
-import java.util.Date;
-import org.quartz.CronExpression;
-
-/**
- * cron表达式工具类
- * 
- * @author jqs
- *
- */
-public class CronUtils
-{
-    /**
-     * 返回一个布尔值代表一个给定的Cron表达式的有效性
-     *
-     * @param cronExpression Cron表达式
-     * @return boolean 表达式是否有效
-     */
-    public static boolean isValid(String cronExpression)
-    {
-        return CronExpression.isValidExpression(cronExpression);
-    }
-
-    /**
-     * 返回一个字符串值,表示该消息无效Cron表达式给出有效性
-     *
-     * @param cronExpression Cron表达式
-     * @return String 无效时返回表达式错误描述,如果有效返回null
-     */
-    public static String getInvalidMessage(String cronExpression)
-    {
-        try
-        {
-            new CronExpression(cronExpression);
-            return null;
-        }
-        catch (ParseException pe)
-        {
-            return pe.getMessage();
-        }
-    }
-
-    /**
-     * 返回下一个执行时间根据给定的Cron表达式
-     *
-     * @param cronExpression Cron表达式
-     * @return Date 下次Cron表达式执行时间
-     */
-    public static Date getNextExecution(String cronExpression)
-    {
-        try
-        {
-            CronExpression cron = new CronExpression(cronExpression);
-            return cron.getNextValidTimeAfter(new Date(System.currentTimeMillis()));
-        }
-        catch (ParseException e)
-        {
-            throw new IllegalArgumentException(e.getMessage());
-        }
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/JobInvokeUtil.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/JobInvokeUtil.java
deleted file mode 100644
index 8f801aa..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/JobInvokeUtil.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package com.hrt.job.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.LinkedList;
-import java.util.List;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.job.domain.SysJob;
-
-/**
- * 任务执行工具
- *
- * @author jqs
- */
-public class JobInvokeUtil
-{
-    /**
-     * 执行方法
-     *
-     * @param sysJob 系统任务
-     */
-    public static void invokeMethod(SysJob sysJob) throws Exception
-    {
-        String invokeTarget = sysJob.getInvokeTarget();
-        String beanName = getBeanName(invokeTarget);
-        String methodName = getMethodName(invokeTarget);
-        List<Object[]> methodParams = getMethodParams(invokeTarget);
-
-        if (!isValidClassName(beanName))
-        {
-            Object bean = SpringUtils.getBean(beanName);
-            invokeMethod(bean, methodName, methodParams);
-        }
-        else
-        {
-            Object bean = Class.forName(beanName).getDeclaredConstructor().newInstance();
-            invokeMethod(bean, methodName, methodParams);
-        }
-    }
-
-    /**
-     * 调用任务方法
-     *
-     * @param bean 目标对象
-     * @param methodName 方法名称
-     * @param methodParams 方法参数
-     */
-    private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams)
-            throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
-            InvocationTargetException
-    {
-        if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0)
-        {
-            Method method = bean.getClass().getMethod(methodName, getMethodParamsType(methodParams));
-            method.invoke(bean, getMethodParamsValue(methodParams));
-        }
-        else
-        {
-            Method method = bean.getClass().getMethod(methodName);
-            method.invoke(bean);
-        }
-    }
-
-    /**
-     * 校验是否为为class包名
-     * 
-     * @param invokeTarget 名称
-     * @return true是 false否
-     */
-    public static boolean isValidClassName(String invokeTarget)
-    {
-        return StringUtils.countMatches(invokeTarget, ".") > 1;
-    }
-
-    /**
-     * 获取bean名称
-     * 
-     * @param invokeTarget 目标字符串
-     * @return bean名称
-     */
-    public static String getBeanName(String invokeTarget)
-    {
-        String beanName = StringUtils.substringBefore(invokeTarget, "(");
-        return StringUtils.substringBeforeLast(beanName, ".");
-    }
-
-    /**
-     * 获取bean方法
-     * 
-     * @param invokeTarget 目标字符串
-     * @return method方法
-     */
-    public static String getMethodName(String invokeTarget)
-    {
-        String methodName = StringUtils.substringBefore(invokeTarget, "(");
-        return StringUtils.substringAfterLast(methodName, ".");
-    }
-
-    /**
-     * 获取method方法参数相关列表
-     * 
-     * @param invokeTarget 目标字符串
-     * @return method方法相关参数列表
-     */
-    public static List<Object[]> getMethodParams(String invokeTarget)
-    {
-        String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")");
-        if (StringUtils.isEmpty(methodStr))
-        {
-            return null;
-        }
-        String[] methodParams = methodStr.split(",(?=([^\"']*[\"'][^\"']*[\"'])*[^\"']*$)");
-        List<Object[]> classs = new LinkedList<>();
-        for (int i = 0; i < methodParams.length; i++)
-        {
-            String str = StringUtils.trimToEmpty(methodParams[i]);
-            // String字符串类型,以'或"开头
-            if (StringUtils.startsWithAny(str, "'", "\""))
-            {
-                classs.add(new Object[] { StringUtils.substring(str, 1, str.length() - 1), String.class });
-            }
-            // boolean布尔类型,等于true或者false
-            else if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str))
-            {
-                classs.add(new Object[] { Boolean.valueOf(str), Boolean.class });
-            }
-            // long长整形,以L结尾
-            else if (StringUtils.endsWith(str, "L"))
-            {
-                classs.add(new Object[] { Long.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Long.class });
-            }
-            // double浮点类型,以D结尾
-            else if (StringUtils.endsWith(str, "D"))
-            {
-                classs.add(new Object[] { Double.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Double.class });
-            }
-            // 其他类型归类为整形
-            else
-            {
-                classs.add(new Object[] { Integer.valueOf(str), Integer.class });
-            }
-        }
-        return classs;
-    }
-
-    /**
-     * 获取参数类型
-     * 
-     * @param methodParams 参数相关列表
-     * @return 参数类型列表
-     */
-    public static Class<?>[] getMethodParamsType(List<Object[]> methodParams)
-    {
-        Class<?>[] classs = new Class<?>[methodParams.size()];
-        int index = 0;
-        for (Object[] os : methodParams)
-        {
-            classs[index] = (Class<?>) os[1];
-            index++;
-        }
-        return classs;
-    }
-
-    /**
-     * 获取参数值
-     * 
-     * @param methodParams 参数相关列表
-     * @return 参数值列表
-     */
-    public static Object[] getMethodParamsValue(List<Object[]> methodParams)
-    {
-        Object[] classs = new Object[methodParams.size()];
-        int index = 0;
-        for (Object[] os : methodParams)
-        {
-            classs[index] = (Object) os[0];
-            index++;
-        }
-        return classs;
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzDisallowConcurrentExecution.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzDisallowConcurrentExecution.java
deleted file mode 100644
index e762b02..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzDisallowConcurrentExecution.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.job.util;
-
-import org.quartz.DisallowConcurrentExecution;
-import org.quartz.JobExecutionContext;
-
-import com.hrt.job.domain.SysJob;
-
-/**
- * 定时任务处理(禁止并发执行)
- * 
- * @author jqs
- *
- */
-@DisallowConcurrentExecution
-public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob
-{
-    @Override
-    protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception
-    {
-        JobInvokeUtil.invokeMethod(sysJob);
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzJobExecution.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzJobExecution.java
deleted file mode 100644
index cc7a0f7..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/QuartzJobExecution.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.job.util;
-
-import org.quartz.JobExecutionContext;
-
-import com.hrt.job.domain.SysJob;
-
-/**
- * 定时任务处理(允许并发执行)
- * 
- * @author jqs
- *
- */
-public class QuartzJobExecution extends AbstractQuartzJob
-{
-    @Override
-    protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception
-    {
-        JobInvokeUtil.invokeMethod(sysJob);
-    }
-}
diff --git a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/ScheduleUtils.java b/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/ScheduleUtils.java
deleted file mode 100644
index eb735f8..0000000
--- a/hrt-modules/hrt-job/src/main/java/com/hrt/job/util/ScheduleUtils.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package com.hrt.job.util;
-
-import org.quartz.CronScheduleBuilder;
-import org.quartz.CronTrigger;
-import org.quartz.Job;
-import org.quartz.JobBuilder;
-import org.quartz.JobDetail;
-import org.quartz.JobKey;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
-import org.quartz.TriggerBuilder;
-import org.quartz.TriggerKey;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.constant.ScheduleConstants;
-import com.hrt.common.core.exception.job.TaskException;
-import com.hrt.common.core.exception.job.TaskException.Code;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.job.domain.SysJob;
-
-/**
- * 定时任务工具类
- * 
- * @author jqs
- *
- */
-public class ScheduleUtils
-{
-    /**
-     * 得到quartz任务类
-     *
-     * @param sysJob 执行计划
-     * @return 具体执行任务类
-     */
-    private static Class<? extends Job> getQuartzJobClass(SysJob sysJob)
-    {
-        boolean isConcurrent = "0".equals(sysJob.getConcurrent());
-        return isConcurrent ? QuartzJobExecution.class : QuartzDisallowConcurrentExecution.class;
-    }
-
-    /**
-     * 构建任务触发对象
-     */
-    public static TriggerKey getTriggerKey(Long jobId, String jobGroup)
-    {
-        return TriggerKey.triggerKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup);
-    }
-
-    /**
-     * 构建任务键对象
-     */
-    public static JobKey getJobKey(Long jobId, String jobGroup)
-    {
-        return JobKey.jobKey(ScheduleConstants.TASK_CLASS_NAME + jobId, jobGroup);
-    }
-
-    /**
-     * 创建定时任务
-     */
-    public static void createScheduleJob(Scheduler scheduler, SysJob job) throws SchedulerException, TaskException
-    {
-        Class<? extends Job> jobClass = getQuartzJobClass(job);
-        // 构建job信息
-        Long jobId = job.getJobId();
-        String jobGroup = job.getJobGroup();
-        JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(getJobKey(jobId, jobGroup)).build();
-
-        // 表达式调度构建器
-        CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(job.getCronExpression());
-        cronScheduleBuilder = handleCronScheduleMisfirePolicy(job, cronScheduleBuilder);
-
-        // 按新的cronExpression表达式构建一个新的trigger
-        CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup))
-                .withSchedule(cronScheduleBuilder).build();
-
-        // 放入参数,运行时的方法可以获取
-        jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job);
-
-        // 判断是否存在
-        if (scheduler.checkExists(getJobKey(jobId, jobGroup)))
-        {
-            // 防止创建时存在数据问题 先移除,然后在执行创建操作
-            scheduler.deleteJob(getJobKey(jobId, jobGroup));
-        }
-
-        // 判断任务是否过期
-        if (StringUtils.isNotNull(CronUtils.getNextExecution(job.getCronExpression())))
-        {
-            // 执行调度任务
-            scheduler.scheduleJob(jobDetail, trigger);
-        }
-
-        // 暂停任务
-        if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue()))
-        {
-            scheduler.pauseJob(ScheduleUtils.getJobKey(jobId, jobGroup));
-        }
-    }
-
-    /**
-     * 设置定时任务策略
-     */
-    public static CronScheduleBuilder handleCronScheduleMisfirePolicy(SysJob job, CronScheduleBuilder cb)
-            throws TaskException
-    {
-        switch (job.getMisfirePolicy())
-        {
-            case ScheduleConstants.MISFIRE_DEFAULT:
-                return cb;
-            case ScheduleConstants.MISFIRE_IGNORE_MISFIRES:
-                return cb.withMisfireHandlingInstructionIgnoreMisfires();
-            case ScheduleConstants.MISFIRE_FIRE_AND_PROCEED:
-                return cb.withMisfireHandlingInstructionFireAndProceed();
-            case ScheduleConstants.MISFIRE_DO_NOTHING:
-                return cb.withMisfireHandlingInstructionDoNothing();
-            default:
-                throw new TaskException("The task misfire policy '" + job.getMisfirePolicy()
-                        + "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR);
-        }
-    }
-
-    /**
-     * 检查包名是否为白名单配置
-     * 
-     * @param invokeTarget 目标字符串
-     * @return 结果
-     */
-    public static boolean whiteList(String invokeTarget)
-    {
-        String packageName = StringUtils.substringBefore(invokeTarget, "(");
-        int count = StringUtils.countMatches(packageName, ".");
-        if (count > 1)
-        {
-            return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR);
-        }
-        Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]);
-        return StringUtils.containsAnyIgnoreCase(obj.getClass().getPackage().getName(), Constants.JOB_WHITELIST_STR);
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/resources/banner.txt b/hrt-modules/hrt-job/src/main/resources/banner.txt
deleted file mode 100644
index 0b9cd42..0000000
--- a/hrt-modules/hrt-job/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Spring Boot Version: ${spring-boot.version}
-Spring Application Name: ${spring.application.name}
-                            _            _         _     
-                           (_)          (_)       | |    
- _ __  _   _   ___   _   _  _  ______    _   ___  | |__  
-| '__|| | | | / _ \ | | | || ||______|  | | / _ \ | '_ \ 
-| |   | |_| || (_) || |_| || |          | || (_) || |_) |
-|_|    \__,_| \___/  \__, ||_|          | | \___/ |_.__/ 
-                      __/ |            _/ |              
-                     |___/            |__/               
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/resources/bootstrap.yml b/hrt-modules/hrt-job/src/main/resources/bootstrap.yml
deleted file mode 100644
index 3450fbe..0000000
--- a/hrt-modules/hrt-job/src/main/resources/bootstrap.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-# Tomcat
-server:
-  port: 9203
-
-# Spring
-spring: 
-  application:
-    # 应用名称
-    name: hrt-job
-  profiles:
-    # 环境配置
-    active: dev
-  cloud:
-    nacos:
-      discovery:
-        # 服务注册地址
-        server-addr: 47.109.78.184:5000
-        group: haiheng
-      config:
-        # 配置中心地址
-        server-addr: 47.109.78.184:5000
-        # 配置文件格式
-        file-extension: yml
-        # 共享配置
-        shared-configs:
-          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
-        group: haiheng
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/resources/logback.xml b/hrt-modules/hrt-job/src/main/resources/logback.xml
deleted file mode 100644
index 02355a3..0000000
--- a/hrt-modules/hrt-job/src/main/resources/logback.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <!-- 日志存放路径 -->
-	<property name="log.path" value="logs/hrt-job" />
-   <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
-
-    <!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
-
-    <!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-	</appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-			<!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 系统模块日志级别控制  -->
-	<logger name="com.hrt" level="info" />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
-
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobLogMapper.xml b/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobLogMapper.xml
deleted file mode 100644
index 7759eed..0000000
--- a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobLogMapper.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.job.mapper.SysJobLogMapper">
-
-	<resultMap type="SysJobLog" id="SysJobLogResult">
-		<id     property="jobLogId"       column="job_log_id"      />
-		<result property="jobName"        column="job_name"        />
-		<result property="jobGroup"       column="job_group"       />
-		<result property="invokeTarget"   column="invoke_target"   />
-		<result property="jobMessage"     column="job_message"     />
-		<result property="status"         column="status"          />
-		<result property="exceptionInfo"  column="exception_info"  />
-		<result property="createTime"     column="create_time"     />
-	</resultMap>
-	
-	<sql id="selectJobLogVo">
-        select job_log_id, job_name, job_group, invoke_target, job_message, status, exception_info, create_time 
-		from sys_job_log
-    </sql>
-	
-	<select id="selectJobLogList" parameterType="SysJobLog" resultMap="SysJobLogResult">
-		<include refid="selectJobLogVo"/>
-		<where>
-			<if test="jobName != null and jobName != ''">
-				AND job_name like concat('%', #{jobName}, '%')
-			</if>
-			<if test="jobGroup != null and jobGroup != ''">
-				AND job_group = #{jobGroup}
-			</if>
-			<if test="status != null and status != ''">
-				AND status = #{status}
-			</if>
-			<if test="invokeTarget != null and invokeTarget != ''">
-				AND invoke_target like concat('%', #{invokeTarget}, '%')
-			</if>
-			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-				and date_format(create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-			</if>
-			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-				and date_format(create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-			</if>
-		</where>
-	</select>
-	
-	<select id="selectJobLogAll" resultMap="SysJobLogResult">
-		<include refid="selectJobLogVo"/>
-	</select>
-	
-	<select id="selectJobLogById" parameterType="Long" resultMap="SysJobLogResult">
-		<include refid="selectJobLogVo"/>
-		where job_log_id = #{jobLogId}
-	</select>
-	
-	<delete id="deleteJobLogById" parameterType="Long">
- 		delete from sys_job_log where job_log_id = #{jobLogId}
- 	</delete>
- 	
- 	<delete id="deleteJobLogByIds" parameterType="Long">
- 		delete from sys_job_log where job_log_id in
- 		<foreach collection="array" item="jobLogId" open="(" separator="," close=")">
- 			#{jobLogId}
-        </foreach> 
- 	</delete>
- 	
- 	<update id="cleanJobLog">
-        truncate table sys_job_log
-    </update>
- 	
- 	<insert id="insertJobLog" parameterType="SysJobLog">
- 		insert into sys_job_log(
- 			<if test="jobLogId != null and jobLogId != 0">job_log_id,</if>
- 			<if test="jobName != null and jobName != ''">job_name,</if>
- 			<if test="jobGroup != null and jobGroup != ''">job_group,</if>
- 			<if test="invokeTarget != null and invokeTarget != ''">invoke_target,</if>
- 			<if test="jobMessage != null and jobMessage != ''">job_message,</if>
- 			<if test="status != null and status != ''">status,</if>
- 			<if test="exceptionInfo != null and exceptionInfo != ''">exception_info,</if>
- 			create_time
- 		)values(
- 			<if test="jobLogId != null and jobLogId != 0">#{jobLogId},</if>
- 			<if test="jobName != null and jobName != ''">#{jobName},</if>
- 			<if test="jobGroup != null and jobGroup != ''">#{jobGroup},</if>
- 			<if test="invokeTarget != null and invokeTarget != ''">#{invokeTarget},</if>
- 			<if test="jobMessage != null and jobMessage != ''">#{jobMessage},</if>
- 			<if test="status != null and status != ''">#{status},</if>
- 			<if test="exceptionInfo != null and exceptionInfo != ''">#{exceptionInfo},</if>
- 			sysdate()
- 		)
-	</insert>
-
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobMapper.xml b/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobMapper.xml
deleted file mode 100644
index 0f9a0c2..0000000
--- a/hrt-modules/hrt-job/src/main/resources/mapper/job/SysJobMapper.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.job.mapper.SysJobMapper">
-
-	<resultMap type="SysJob" id="SysJobResult">
-		<id     property="jobId"          column="job_id"          />
-		<result property="jobName"        column="job_name"        />
-		<result property="jobGroup"       column="job_group"       />
-		<result property="invokeTarget"   column="invoke_target"   />
-		<result property="cronExpression" column="cron_expression" />
-		<result property="misfirePolicy"  column="misfire_policy"  />
-		<result property="concurrent"     column="concurrent"      />
-		<result property="status"         column="status"          />
-		<result property="createBy"       column="create_by"       />
-		<result property="createTime"     column="create_time"     />
-		<result property="updateBy"       column="update_by"       />
-		<result property="updateTime"     column="update_time"     />
-		<result property="remark"         column="remark"          />
-	</resultMap>
-	
-	<sql id="selectJobVo">
-        select job_id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark 
-		from sys_job
-    </sql>
-	
-	<select id="selectJobList" parameterType="SysJob" resultMap="SysJobResult">
-		<include refid="selectJobVo"/>
-		<where>
-			<if test="jobName != null and jobName != ''">
-				AND job_name like concat('%', #{jobName}, '%')
-			</if>
-			<if test="jobGroup != null and jobGroup != ''">
-				AND job_group = #{jobGroup}
-			</if>
-			<if test="status != null and status != ''">
-				AND status = #{status}
-			</if>
-			<if test="invokeTarget != null and invokeTarget != ''">
-				AND invoke_target like concat('%', #{invokeTarget}, '%')
-			</if>
-		</where>
-	</select>
-	
-	<select id="selectJobAll" resultMap="SysJobResult">
-		<include refid="selectJobVo"/>
-	</select>
-	
-	<select id="selectJobById" parameterType="Long" resultMap="SysJobResult">
-		<include refid="selectJobVo"/>
-		where job_id = #{jobId}
-	</select>
-	
-	<delete id="deleteJobById" parameterType="Long">
- 		delete from sys_job where job_id = #{jobId}
- 	</delete>
- 	
- 	<delete id="deleteJobByIds" parameterType="Long">
- 		delete from sys_job where job_id in
- 		<foreach collection="array" item="jobId" open="(" separator="," close=")">
- 			#{jobId}
-        </foreach> 
- 	</delete>
- 	
- 	<update id="updateJob" parameterType="SysJob">
- 		update sys_job
- 		<set>
- 			<if test="jobName != null and jobName != ''">job_name = #{jobName},</if>
- 			<if test="jobGroup != null and jobGroup != ''">job_group = #{jobGroup},</if>
- 			<if test="invokeTarget != null and invokeTarget != ''">invoke_target = #{invokeTarget},</if>
- 			<if test="cronExpression != null and cronExpression != ''">cron_expression = #{cronExpression},</if>
- 			<if test="misfirePolicy != null and misfirePolicy != ''">misfire_policy = #{misfirePolicy},</if>
- 			<if test="concurrent != null and concurrent != ''">concurrent = #{concurrent},</if>
- 			<if test="status !=null">status = #{status},</if>
- 			<if test="remark != null and remark != ''">remark = #{remark},</if>
- 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
- 		</set>
- 		where job_id = #{jobId}
-	</update>
- 	
- 	<insert id="insertJob" parameterType="SysJob" useGeneratedKeys="true" keyProperty="jobId">
- 		insert into sys_job(
- 			<if test="jobId != null and jobId != 0">job_id,</if>
- 			<if test="jobName != null and jobName != ''">job_name,</if>
- 			<if test="jobGroup != null and jobGroup != ''">job_group,</if>
- 			<if test="invokeTarget != null and invokeTarget != ''">invoke_target,</if>
- 			<if test="cronExpression != null and cronExpression != ''">cron_expression,</if>
- 			<if test="misfirePolicy != null and misfirePolicy != ''">misfire_policy,</if>
- 			<if test="concurrent != null and concurrent != ''">concurrent,</if>
- 			<if test="status != null and status != ''">status,</if>
- 			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
- 			<if test="jobId != null and jobId != 0">#{jobId},</if>
- 			<if test="jobName != null and jobName != ''">#{jobName},</if>
- 			<if test="jobGroup != null and jobGroup != ''">#{jobGroup},</if>
- 			<if test="invokeTarget != null and invokeTarget != ''">#{invokeTarget},</if>
- 			<if test="cronExpression != null and cronExpression != ''">#{cronExpression},</if>
- 			<if test="misfirePolicy != null and misfirePolicy != ''">#{misfirePolicy},</if>
- 			<if test="concurrent != null and concurrent != ''">#{concurrent},</if>
- 			<if test="status != null and status != ''">#{status},</if>
- 			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
- 		)
-	</insert>
-
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/pom.xml b/hrt-modules/hrt-system/pom.xml
deleted file mode 100644
index 368e973..0000000
--- a/hrt-modules/hrt-system/pom.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt-modules</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-	
-    <artifactId>hrt-modules-system</artifactId>
-
-    <description>
-        hrt-modules-system系统模块
-    </description>
-	
-    <dependencies>
-    	
-    	<!-- SpringCloud Alibaba Nacos -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        </dependency>
-        
-        <!-- SpringCloud Alibaba Nacos Config -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-        </dependency>
-        
-    	<!-- SpringCloud Alibaba Sentinel -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
-        </dependency>
-        
-    	<!-- SpringBoot Actuator -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-		
-        <!-- Swagger UI -->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>${swagger.fox.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-boot-starter</artifactId>
-            <version>3.0.0</version>
-        </dependency>
-
-		
-        <!-- Mysql Connector -->
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-        
-        <!-- hrt Common DataSource -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-datasource</artifactId>
-        </dependency>
-        
-        <!-- hrt Common DataScope -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-datascope</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Log -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-log</artifactId>
-        </dependency>
-        
-        <!-- hrt Common Swagger -->
-        <dependency>
-            <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-swagger</artifactId>
-        </dependency>
-
-        <!-- MP -->
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.4.1</version>
-            <!-- pagehelper 包含该依赖存在版本冲突,因此不建议和 mp 一起混用 -->
-            <exclusions>
-                <exclusion>
-                    <groupId>com.github.jsqlparser</groupId>
-                    <artifactId>jsqlparser</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-annotation</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-generator</artifactId>
-            <version>3.4.1</version>
-        </dependency>
-        <!--lombok的依赖,为了优化实体类,可以不去实现实体类的set()、get()-->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <!-- 小程序统一服务 -->
-        <dependency>
-            <groupId>com.github.binarywang</groupId>
-            <artifactId>weixin-java-miniapp</artifactId>
-            <version>4.1.0</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <finalName>${project.artifactId}</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-   
-</project>
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/HrtSystemApplication.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/HrtSystemApplication.java
deleted file mode 100644
index 84ab884..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/HrtSystemApplication.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.hrt.system;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import com.hrt.common.security.annotation.EnableCustomConfig;
-import com.hrt.common.security.annotation.EnableRyFeignClients;
-import com.hrt.common.swagger.annotation.EnableCustomSwagger2;
-import springfox.documentation.oas.annotations.EnableOpenApi;
-
-/**
- * 系统模块
- * 
- * @author jqs
- */
-@EnableCustomConfig
-@EnableCustomSwagger2
-@EnableRyFeignClients
-@SpringBootApplication
-@EnableOpenApi
-public class HrtSystemApplication
-{
-    public static void main(String[] args)
-    {
-        SpringApplication.run(HrtSystemApplication.class, args);
-        System.out.println("(♥◠‿◠)ノ゙  系统模块启动成功   ლ(´ڡ`ლ)゙  \n" +
-                " .-------.       ____     __        \n" +
-                " |  _ _   \\      \\   \\   /  /    \n" +
-                " | ( ' )  |       \\  _. /  '       \n" +
-                " |(_ o _) /        _( )_ .'         \n" +
-                " | (_,_).' __  ___(_ o _)'          \n" +
-                " |  |\\ \\  |  ||   |(_,_)'         \n" +
-                " |  | \\ `'   /|   `-'  /           \n" +
-                " |  |  \\    /  \\      /           \n" +
-                " ''-'   `'-'    `-..-'              ");
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/config/AppConfig.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/config/AppConfig.java
deleted file mode 100644
index c6752d5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/config/AppConfig.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.hrt.system.config;
-
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
-import cn.binarywang.wx.miniapp.config.WxMaConfig;
-import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author jqs34
- * @ClassName AppConfig
- * @description: TODO
- * @date 2023年02月17日
- * @version: 1.0
- */
-@Configuration
-public class AppConfig {
-
-
-    @Bean
-    public WxMaService wxMaService() {
-        WxMaService service = new WxMaServiceImpl();
-        service.setWxMaConfig(memberWxMaConfig());
-        return service;
-    }
-
-    @Bean
-    public WxMaConfig memberWxMaConfig(){
-        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
-        config.setAppid("wxb7f0ea286fc4e535");
-        config.setSecret("852a2512a6ab559cafc68bae5d4160ac");
-        return config;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/AppErrorConstant.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/AppErrorConstant.java
deleted file mode 100644
index ebb7b74..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/AppErrorConstant.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.hrt.system.constant;
-
-/**
- * @author jqs34
- * @ClassName AppErrorContant
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-public interface AppErrorConstant {
-
-
-    String USER_NOT_LOGIN = "用户没有登录或登录已失效";
-
-    String AUTHORIZE_MISS = "授权信息不完整";
-
-    String AUTHORIZE_FAILED = "授权信息解密失败";
-
-    String USER_FROZE = "用户已被冻结";
-
-    String USER_NOT_MOBILE = "用户没有手机授权";
-
-    String NO_FIND_RESULT = "未找到编辑对象";
-
-    String NO_REQUIRED_PARAM = "缺少必要参数";
-
-    String CODE_EXPIRE = "验证码已过期";
-
-    String CODE_FAILED = "验证码错误";
-
-    String COUPON_NULL = "未找到优惠券";
-
-    String COUPON_FAILED = "未满足领取条件";
-
-    String NO_COUPON = "优惠券已领取完";
-
-    String DOUBLE_COUPON = "已拥有优惠券,请勿重复领取";
-
-    String REAL_NAME_FAILED = "实名认证失败,请检查上传的身份证图片";
-
-    String REAL_NAME_DIFF = "与资料填写姓名不符,非本人身份证";
-
-    String DISTRIBUTOR_APPLY_FAILED = "已经是分销员,请勿重复申请";
-
-    String DOUBLE_USER_BANK = "请勿重复绑定银行卡";
-
-    String USER_BANK_FAILED = "获取绑定银行卡失败";
-
-    String BEYOND_WITHDRAW = "超出可提现金额";
-
-    String BEYOND_WITHDRAW_time = "超出可提现金额";
-
-    String USER_NO_WITHDRAW = "用户没有提现权限";
-
-    String WX_WITHDRAW_FAILED = "用户没有提现权限";
-
-    String MOBILE_FAILED = "验证手机非绑定手机";
-
-    String AGREEMENT_FAILED = "获取协议失败";
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/CodeEnum.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/CodeEnum.java
deleted file mode 100644
index 7134452..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/CodeEnum.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.hrt.system.constant;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Getter;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author jqs34
- * @ClassName CodeEnum
- * @description: TODO
- * @date 2023年03月06日
- * @version: 1.0
- */
-@JsonFormat(shape = JsonFormat.Shape.OBJECT)
-@Getter
-public enum CodeEnum {
-
-    SUCCESS("调用成功","200"),
-    NO_STOCK("没有库存","101"),
-    LIMIT_BUY("达到限购","102"),
-    NO_GOODS("商品下架","103"),
-    COUPON_FAILED("优惠券调用失败","111"),
-    INTEGRAL_FAILED("积分调用失败","112"),
-    HANDLE_ORDER_FAILED("订单处理失败","113");
-
-
-    String name;
-    String code;
-
-    private static Map<String, CodeEnum> valueMap = new HashMap<>();
-
-    static {
-        for(CodeEnum gender : CodeEnum.values()) {
-            valueMap.put(gender.name, gender);
-        }
-    }
-
-    CodeEnum(String name, String code) {
-        this.code = code;
-        this.name=name;
-    }
-
-    public static String getByName(String name) {
-        CodeEnum result = valueMap.get(name);
-        if(result == null) {
-            throw new IllegalArgumentException("No element matches " + name);
-        }
-        return result.code;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/HttpStatus.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/HttpStatus.java
deleted file mode 100644
index 253f4d2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/HttpStatus.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.hrt.system.constant;
-
-/**
- * @author jqs34
- * @ClassName HttpStatus
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-public class HttpStatus {
-
-    /**
-     * 操作成功
-     */
-    public static final int SUCCESS = 200;
-
-    /**
-     * 对象创建成功
-     */
-    public static final int CREATED = 201;
-
-    /**
-     * 请求已经被接受
-     */
-    public static final int ACCEPTED = 202;
-
-    /**
-     * 操作已经执行成功,但是没有返回数据
-     */
-    public static final int NO_CONTENT = 204;
-
-    /**
-     * 资源已被移除
-     */
-    public static final int MOVED_PERM = 301;
-
-    /**
-     * 重定向
-     */
-    public static final int SEE_OTHER = 303;
-
-    /**
-     * 资源没有被修改
-     */
-    public static final int NOT_MODIFIED = 304;
-
-    /**
-     * 参数列表错误(缺少,格式不匹配)
-     */
-    public static final int BAD_REQUEST = 400;
-
-    /**
-     * 未授权
-     */
-    public static final int UNAUTHORIZED = 401;
-
-    /**
-     * 访问受限,授权过期
-     */
-    public static final int FORBIDDEN = 403;
-
-    /**
-     * 资源,服务未找到
-     */
-    public static final int NOT_FOUND = 404;
-
-    /**
-     * 不允许的http方法
-     */
-    public static final int BAD_METHOD = 405;
-
-    /**
-     * 资源冲突,或者资源被锁
-     */
-    public static final int CONFLICT = 409;
-
-    /**
-     * 不支持的数据,媒体类型
-     */
-    public static final int UNSUPPORTED_TYPE = 415;
-
-    /**
-     * 系统内部错误
-     */
-    public static final int ERROR = 500;
-
-    /**
-     * 接口未实现
-     */
-    public static final int NOT_IMPLEMENTED = 501;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/SecurityConstant.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/SecurityConstant.java
deleted file mode 100644
index 5408f3f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/constant/SecurityConstant.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hrt.system.constant;
-
-/**
- * @author jqs34
- * @ClassName SecurityConstant
- * @description: TODO
- * @date 2023年02月21日
- * @version: 1.0
- */
-public interface SecurityConstant {
-
-
-    /**
-     * 微信sessionKey前缀
-     */
-    String SESSION_KEY = "SESSION_KEY:";
-
-
-    /**
-     * 用户验证码前缀key
-     */
-    String MESSAGE_CODE = "MESSAGE_CODE:";
-
-    /**
-     * 用户验证码前缀key
-     */
-    String MINI_CODE = "MINI_CODE:";
-
-    /**
-     * 用户验证码前缀key
-     */
-    String WX_TOKEN = "WX_TOKEN";
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/management/MgtShopController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/management/MgtShopController.java
deleted file mode 100644
index 605bdb0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/management/MgtShopController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.hrt.system.controller.management;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.domain.dto.*;
-import com.hrt.system.domain.poji.member.Member;
-import com.hrt.system.domain.vo.AppSimpleGoodsVo;
-import com.hrt.system.domain.vo.MgtShopInfoVo;
-import com.hrt.system.domain.vo.MgtShopPageVo;
-import com.hrt.system.domain.vo.MgtShopTagVo;
-import com.hrt.system.service.shop.ShopRelTagService;
-import com.hrt.system.service.shop.ShopService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * @author jqs34
- * @ClassName ShopController
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Api(value = "管理台商户相关接口", tags = "管理台商户相关接口", description = "管理台商户相关接口")
-@RestController
-@RequestMapping("/mgt/shop")
-public class MgtShopController {
-
-    @Autowired
-    private ShopService shopService;
-
-    @Autowired
-    private ShopRelTagService shopRelTagService;
-
-    @RequestMapping(value = "/pageShop", method = RequestMethod.POST)
-    @ApiOperation(value = "分页获取商户列表")
-    public R<Page<MgtShopPageVo>> pageShop(@RequestBody MgtShopPageDto mgtShopPageDto) {
-        Page<MgtShopPageVo> page = new Page<>();
-        page.setSize(mgtShopPageDto.getPageSize());
-        page.setCurrent(mgtShopPageDto.getPageNum());
-        List<MgtShopPageVo> mgtShopPageVoList = shopService.pageShop(page,mgtShopPageDto);
-        return R.ok(page.setRecords(mgtShopPageVoList));
-    }
-
-    @RequestMapping(value = "/createShop", method = RequestMethod.POST)
-    @ApiOperation(value = "创建商户")
-    public R createShop(@RequestBody MgtEditShopDto mgtEditShopDto) {
-        Long userId = SecurityUtils.getUserId();
-        mgtEditShopDto.setUserId(userId);
-        shopService.createShop(mgtEditShopDto);
-        return R.ok();
-    }
-
-    @RequestMapping(value = "/getShopInfo", method = RequestMethod.POST)
-    @ApiOperation(value = "获取商户详情")
-    public R<MgtShopInfoVo> getShopInfo(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
-        MgtShopInfoVo mgtShopInfoVo = shopService.getMgtShopInfo(Long.valueOf(mgtBaseGetDto.getId()));
-        return R.ok(mgtShopInfoVo);
-    }
-
-    @RequestMapping(value = "/getShopTag", method = RequestMethod.POST)
-    @ApiOperation(value = "获取商户标签")
-    public R<List<MgtShopTagVo>> getShopTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
-        List<MgtShopTagVo> mgtShopInfoVoList = shopRelTagService.listShopTagVo(Long.valueOf(mgtBaseGetDto.getId()));
-        return R.ok(mgtShopInfoVoList);
-    }
-
-    @RequestMapping(value = "/editShopTag", method = RequestMethod.POST)
-    @ApiOperation(value = "修改商户标签")
-    public R editShopTag(@RequestBody MgtEditShopTagDto mgtEditShopTagDto) {
-        shopService.editShopTag(mgtEditShopTagDto);
-        return R.ok();
-    }
-
-    @RequestMapping(value = "/changeCooperationTime", method = RequestMethod.POST)
-    @ApiOperation(value = "修改合作时间")
-    public R changeCooperationTime(@RequestBody MgtChangeCoopDto mgtChangeCoopDto) {
-        Long userId = SecurityUtils.getUserId();
-        mgtChangeCoopDto.setUserId(userId);
-        shopService.changeCooperationTime(mgtChangeCoopDto);
-        return R.ok();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/merchant/MerShopController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/merchant/MerShopController.java
deleted file mode 100644
index 586d0a8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/merchant/MerShopController.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.controller.merchant;
-
-import com.hrt.common.core.domain.R;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.domain.vo.MerHomeShopTotalVo;
-import com.hrt.system.domain.vo.MerShopInfoVo;
-import com.hrt.system.service.shop.ShopService;
-import com.hrt.system.service.user.ISysUserService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author jqs34
- * @ClassName MShopController
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Api(value = "商户端商户相关接口", tags = "商户端商户相关接口", description = "商户端商户相关接口")
-@RestController
-@RequestMapping("/mer/shop")
-public class MerShopController {
-
-    /*@Autowired
-    private ShopService shopService;*/
-
-    /*@RequestMapping(value = "/getHomeShopTotal", method = RequestMethod.POST)
-    @ApiOperation(value = "获取首页商户统计")
-    public R<MerHomeShopTotalVo> getHomeShopTotal() {
-        Long userId = SecurityUtils.getUserId();
-        MerHomeShopTotalVo merHomeShopTotalVo = shopService.getMerShopInfoVo(Long userId);
-        return R.ok(merHomeShopTotalVo);
-    }*/
-
-    /*@RequestMapping(value = "/getShopInfo", method = RequestMethod.POST)
-    @ApiOperation(value = "获取商户信息")
-    public R<MerShopInfoVo> getShopInfo() {
-        Long userId = SecurityUtils.getUserId();
-        MerHomeShopTotalVo merHomeShopTotalVo = shopService.getMerShopInfoVo(Long userId);
-        return R.ok(merHomeShopTotalVo);
-    }*/
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppConfigController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppConfigController.java
deleted file mode 100644
index feca30f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppConfigController.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.hrt.system.controller.miniapp;
-
-import com.hrt.common.core.domain.R;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.domain.dto.AppAgreementDto;
-import com.hrt.system.domain.dto.AppUserAuthorizeDto;
-import com.hrt.system.domain.vo.AppAgreementVo;
-import com.hrt.system.domain.vo.AppUserAuthorizeVo;
-import com.hrt.system.service.member.MemberService;
-import com.hrt.system.service.sys.AgreementService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author jqs34
- * @ClassName AppConfigController
- * @description: TODO
- * @date 2023年04月19日
- * @version: 1.0
- */
-@Api(value = "小程序配置相关接口", tags = "小程序配置相关接口", description = "小程序配置相关接口")
-@RestController
-@RequestMapping("/app/config")
-public class AppConfigController {
-
-    @Autowired
-    private MemberService memberService;
-
-    @Autowired
-    private AgreementService agreementService;
-
-    @RequestMapping(value = "/getAppUserAuthorize", method = RequestMethod.POST)
-    @ApiOperation(value = "获取用户授权信息")
-    public R<AppUserAuthorizeVo> getAppUserAuthorize(@RequestBody AppUserAuthorizeDto appUserAuthorizeDto) {
-        Long userId = SecurityUtils.getUserId();
-        appUserAuthorizeDto.setUserId(userId);
-        AppUserAuthorizeVo appUserAuthorizeVo = memberService.getAppUserAuthorize(appUserAuthorizeDto);
-        return R.ok(appUserAuthorizeVo);
-    }
-
-    @RequestMapping(value = "/getAppAgreement", method = RequestMethod.POST)
-    @ApiOperation(value = "获取协议")
-    public R<AppAgreementVo> getAppAgreement(@RequestBody AppAgreementDto appAgreementDto){
-        AppAgreementVo appAgreementVo = agreementService.getAppAgreement(appAgreementDto);
-        return R.ok(appAgreementVo);
-    }
-
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppGoodsController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppGoodsController.java
deleted file mode 100644
index 24fc060..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppGoodsController.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.controller.miniapp;
-
-import com.hrt.common.core.domain.R;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.domain.dto.AppBaseGetDto;
-import com.hrt.system.domain.dto.AppGoodsInfoGetDto;
-import com.hrt.system.domain.poji.member.Member;
-import com.hrt.system.domain.vo.AppGoodsInfoVo;
-import com.hrt.system.domain.vo.AppShopInfoVo;
-import com.hrt.system.service.goods.GoodsService;
-import com.hrt.system.service.member.MemberService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author jqs34
- * @ClassName AppGoodsController
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Api(value = "小程序商品相关接口", tags = "小程序商品相关接口", description = "小程序商品相关接口")
-@RestController
-@RequestMapping("/app/home")
-public class AppGoodsController {
-
-    @Autowired
-    private GoodsService goodsService;
-
-    @Autowired
-    private MemberService memberService;
-
-    @RequestMapping(value = "/getGoodsInfo", method = RequestMethod.POST)
-    @ApiOperation(value = "获取商品详情")
-    public R<AppGoodsInfoVo> getGoodsInfo(@RequestBody AppGoodsInfoGetDto appGoodsInfoGetDto) {
-        Long userId = SecurityUtils.getUserId();
-        if(userId!=null){
-            Member member = memberService.getById(userId);
-            if(member!=null&&member.getRealtionShopId()!=null){
-                appGoodsInfoGetDto.setShopId(member.getRealtionShopId());
-            }
-        }
-        AppGoodsInfoVo appGoodsInfoVo = goodsService.getGoodsInfo(appGoodsInfoGetDto);
-        return R.ok(appGoodsInfoVo);
-    }
-
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppHomeController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppHomeController.java
deleted file mode 100644
index 131baa1..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/miniapp/AppHomeController.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.hrt.system.controller.miniapp;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.domain.dto.*;
-import com.hrt.system.domain.poji.member.Member;
-import com.hrt.system.domain.vo.*;
-import com.hrt.system.service.goods.GoodsService;
-import com.hrt.system.service.member.MemberService;
-import com.hrt.system.service.shop.ShopService;
-import com.hrt.system.service.sys.AdvertService;
-import com.hrt.system.service.sys.BannerService;
-import com.hrt.system.service.sys.QuickEntryService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * @author jqs34
- * @ClassName AppHomeController
- * @description: TODO
- * @date 2023年04月18日
- * @version: 1.0
- */
-@Api(value = "小程序首页相关接口", tags = "小程序首页相关接口", description = "小程序首页相关接口")
-@RestController
-@RequestMapping("/app/home")
-public class AppHomeController {
-
-
-    @Autowired
-    private MemberService memberService;
-
-    @Autowired
-    private BannerService bannerService;
-
-    @Autowired
-    private QuickEntryService quickEntryService;
-
-    @Autowired
-    private AdvertService advertService;
-
-    @Autowired
-    private GoodsService goodsService;
-
-    @Autowired
-    private ShopService shopService;
-
-    @RequestMapping(value = "/getNearbyShop", method = RequestMethod.POST)
-    @ApiOperation(value = "获取最近商户")
-    public R<AppNearbyShopVo> getNearbyShop(@RequestBody AppNearbyShopDto appNearbyShopDto) {
-        Long userId = SecurityUtils.getUserId();
-        appNearbyShopDto.setUserId(userId);
-        AppNearbyShopVo appNearbyShopVo = memberService.getNearbyShop(appNearbyShopDto);
-        return R.ok(appNearbyShopVo);
-    }
-
-    @RequestMapping(value = "/getHomeBanner", method = RequestMethod.POST)
-    @ApiOperation(value = "获取首页banner")
-    public R<List<AppBannerVo>> getHomeBanner() {
-        List<AppBannerVo> appBannerVoList = bannerService.listHomeBannerVo();
-        return R.ok(appBannerVoList);
-    }
-
-    @RequestMapping(value = "/getQuickEntry", method = RequestMethod.POST)
-    @ApiOperation(value = "获取首页快速入口")
-    public R<List<AppQuickEntryVo>> getQuickEntry() {
-        List<AppQuickEntryVo> appQuickEntryVoList = quickEntryService.listQuickEntryVo();
-        return R.ok(appQuickEntryVoList);
-    }
-
-    @RequestMapping(value = "/getAdvert", method = RequestMethod.POST)
-    @ApiOperation(value = "获取首页广告")
-    public R<AppAdvertVo> getAdvert() {
-        AppAdvertVo appAdvertVo = advertService.getAdvertVo();
-        return R.ok(appAdvertVo);
-    }
-
-    @RequestMapping(value = "/pageRecommendGoods", method = RequestMethod.POST)
-    @ApiOperation(value = "推荐商品")
-    public R<Page<AppSimpleGoodsVo>> pageRecommendGoods(@RequestBody AppPageDto appPageDto) {
-        Long userId = SecurityUtils.getUserId();
-        Long shopId = null;
-        if(userId!=null){
-            Member member = memberService.getById(userId);
-            if(member!=null&&member.getRealtionShopId()!=null){
-                shopId = member.getRealtionShopId();
-            }
-        }
-        Page<AppSimpleGoodsVo> page = new Page<>();
-        page.setSize(appPageDto.getPageSize());
-        page.setCurrent(appPageDto.getPageNum());
-        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageRecommendGoods(page,shopId);
-        return R.ok(page.setRecords(appSimpleGoodsVoList));
-    }
-
-    @RequestMapping(value = "/pageShopGoods", method = RequestMethod.POST)
-    @ApiOperation(value = "商城商品")
-    public R<Page<AppSimpleGoodsVo>> pageShopGoods(@RequestBody AppShopGoodsPageDto appShopGoodsPageDto) {
-        Long userId = SecurityUtils.getUserId();
-        if(userId!=null){
-            Member member = memberService.getById(userId);
-            if(member!=null&&member.getRealtionShopId()!=null){
-                appShopGoodsPageDto.setShopId(member.getRealtionShopId());
-            }
-        }
-        Page<AppSimpleGoodsVo> page = new Page<>();
-        page.setSize(appShopGoodsPageDto.getPageSize());
-        page.setCurrent(appShopGoodsPageDto.getPageNum());
-        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageShopGoods(page,appShopGoodsPageDto);
-        return R.ok(page.setRecords(appSimpleGoodsVoList));
-    }
-
-    @RequestMapping(value = "/pageSearchGoods", method = RequestMethod.POST)
-    @ApiOperation(value = "搜索商品")
-    public R<Page<AppSimpleGoodsVo>> pageSearchGoods(@RequestBody AppSearchGoodsPageDto appSearchGoodsPageDto) {
-        Long userId = SecurityUtils.getUserId();
-        if(userId!=null){
-            Member member = memberService.getById(userId);
-            if(member!=null&&member.getRealtionShopId()!=null){
-                appSearchGoodsPageDto.setShopId(member.getRealtionShopId());
-            }
-        }
-        Page<AppSimpleGoodsVo> page = new Page<>();
-        page.setSize(appSearchGoodsPageDto.getPageSize());
-        page.setCurrent(appSearchGoodsPageDto.getPageNum());
-        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageSearchGoods(page,appSearchGoodsPageDto);
-        return R.ok(page.setRecords(appSimpleGoodsVoList));
-    }
-
-    @RequestMapping(value = "/pageSearchActivityGoods", method = RequestMethod.POST)
-    @ApiOperation(value = "搜索活动商品")
-    public R<Page<AppSimpleActivityGoodsVo>> pageSearchActivityGoods(@RequestBody AppSearchGoodsPageDto appSearchGoodsPageDto) {
-        Long userId = SecurityUtils.getUserId();
-        if(userId!=null){
-            Member member = memberService.getById(userId);
-            if(member!=null&&member.getRealtionShopId()!=null){
-                appSearchGoodsPageDto.setShopId(member.getRealtionShopId());
-            }
-        }
-        Page<AppSimpleActivityGoodsVo> page = new Page<>();
-        page.setSize(appSearchGoodsPageDto.getPageSize());
-        page.setCurrent(appSearchGoodsPageDto.getPageNum());
-        List<AppSimpleActivityGoodsVo> appSimpleGoodsVoList = goodsService.pageSearchActivityGoods(page,appSearchGoodsPageDto);
-        return R.ok(page.setRecords(appSimpleGoodsVoList));
-    }
-
-    @RequestMapping(value = "/getShopInfo", method = RequestMethod.POST)
-    @ApiOperation(value = "获取商户详情")
-    public R<AppShopInfoVo> getShopInfo(@RequestBody AppBaseGetDto appBaseGetDto) {
-        AppShopInfoVo appShopInfoVo = shopService.getAppShopInfo(Long.valueOf(appBaseGetDto.getId()));
-        return R.ok(appShopInfoVo);
-    }
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysConfigController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysConfigController.java
deleted file mode 100644
index a236ec7..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysConfigController.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.system.domain.poji.sys.SysConfig;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.service.sys.ISysConfigService;
-
-/**
- * 参数配置 信息操作处理
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/config")
-public class SysConfigController extends BaseController
-{
-    @Autowired
-    private ISysConfigService configService;
-
-    /**
-     * 获取参数配置列表
-     */
-    @RequiresPermissions("system:config:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysConfig config)
-    {
-        startPage();
-        List<SysConfig> list = configService.selectConfigList(config);
-        return getDataTable(list);
-    }
-
-    @Log(title = "参数管理", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:config:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysConfig config)
-    {
-        List<SysConfig> list = configService.selectConfigList(config);
-        ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class);
-        util.exportExcel(response, list, "参数数据");
-    }
-
-    /**
-     * 根据参数编号获取详细信息
-     */
-    @GetMapping(value = "/{configId}")
-    public AjaxResult getInfo(@PathVariable Long configId)
-    {
-        return success(configService.selectConfigById(configId));
-    }
-
-    /**
-     * 根据参数键名查询参数值
-     */
-    @GetMapping(value = "/configKey/{configKey}")
-    public AjaxResult getConfigKey(@PathVariable String configKey)
-    {
-        return success(configService.selectConfigByKey(configKey));
-    }
-
-    /**
-     * 新增参数配置
-     */
-    @RequiresPermissions("system:config:add")
-    @Log(title = "参数管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysConfig config)
-    {
-        if (!configService.checkConfigKeyUnique(config))
-        {
-            return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
-        }
-        config.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(configService.insertConfig(config));
-    }
-
-    /**
-     * 修改参数配置
-     */
-    @RequiresPermissions("system:config:edit")
-    @Log(title = "参数管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysConfig config)
-    {
-        if (!configService.checkConfigKeyUnique(config))
-        {
-            return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
-        }
-        config.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(configService.updateConfig(config));
-    }
-
-    /**
-     * 删除参数配置
-     */
-    @RequiresPermissions("system:config:remove")
-    @Log(title = "参数管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{configIds}")
-    public AjaxResult remove(@PathVariable Long[] configIds)
-    {
-        configService.deleteConfigByIds(configIds);
-        return success();
-    }
-
-    /**
-     * 刷新参数缓存
-     */
-    @RequiresPermissions("system:config:remove")
-    @Log(title = "参数管理", businessType = BusinessType.CLEAN)
-    @DeleteMapping("/refreshCache")
-    public AjaxResult refreshCache()
-    {
-        configService.resetConfigCache();
-        return success();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDeptController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDeptController.java
deleted file mode 100644
index 7c31b6b..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDeptController.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-import org.apache.commons.lang3.ArrayUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysDept;
-import com.hrt.system.service.user.ISysDeptService;
-
-/**
- * 部门信息
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/dept")
-public class SysDeptController extends BaseController
-{
-    @Autowired
-    private ISysDeptService deptService;
-
-    /**
-     * 获取部门列表
-     */
-    @RequiresPermissions("system:dept:list")
-    @GetMapping("/list")
-    public AjaxResult list(SysDept dept)
-    {
-        List<SysDept> depts = deptService.selectDeptList(dept);
-        return success(depts);
-    }
-
-    /**
-     * 查询部门列表(排除节点)
-     */
-    @RequiresPermissions("system:dept:list")
-    @GetMapping("/list/exclude/{deptId}")
-    public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
-    {
-        List<SysDept> depts = deptService.selectDeptList(new SysDept());
-        depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
-        return success(depts);
-    }
-
-    /**
-     * 根据部门编号获取详细信息
-     */
-    @RequiresPermissions("system:dept:query")
-    @GetMapping(value = "/{deptId}")
-    public AjaxResult getInfo(@PathVariable Long deptId)
-    {
-        deptService.checkDeptDataScope(deptId);
-        return success(deptService.selectDeptById(deptId));
-    }
-
-    /**
-     * 新增部门
-     */
-    @RequiresPermissions("system:dept:add")
-    @Log(title = "部门管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysDept dept)
-    {
-        if (!deptService.checkDeptNameUnique(dept))
-        {
-            return error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
-        }
-        dept.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(deptService.insertDept(dept));
-    }
-
-    /**
-     * 修改部门
-     */
-    @RequiresPermissions("system:dept:edit")
-    @Log(title = "部门管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysDept dept)
-    {
-        Long deptId = dept.getDeptId();
-        deptService.checkDeptDataScope(deptId);
-        if (!deptService.checkDeptNameUnique(dept))
-        {
-            return error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
-        }
-        else if (dept.getParentId().equals(deptId))
-        {
-            return error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
-        }
-        else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus()) && deptService.selectNormalChildrenDeptById(deptId) > 0)
-        {
-            return error("该部门包含未停用的子部门!");
-        }
-        dept.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(deptService.updateDept(dept));
-    }
-
-    /**
-     * 删除部门
-     */
-    @RequiresPermissions("system:dept:remove")
-    @Log(title = "部门管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{deptId}")
-    public AjaxResult remove(@PathVariable Long deptId)
-    {
-        if (deptService.hasChildByDeptId(deptId))
-        {
-            return warn("存在下级部门,不允许删除");
-        }
-        if (deptService.checkDeptExistUser(deptId))
-        {
-            return warn("部门存在用户,不允许删除");
-        }
-        deptService.checkDeptDataScope(deptId);
-        return toAjax(deptService.deleteDeptById(deptId));
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictDataController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictDataController.java
deleted file mode 100644
index b623c21..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictDataController.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.ArrayList;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysDictData;
-import com.hrt.system.service.sys.ISysDictDataService;
-import com.hrt.system.service.sys.ISysDictTypeService;
-
-/**
- * 数据字典信息
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/dict/data")
-public class SysDictDataController extends BaseController
-{
-    @Autowired
-    private ISysDictDataService dictDataService;
-    
-    @Autowired
-    private ISysDictTypeService dictTypeService;
-
-    @RequiresPermissions("system:dict:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysDictData dictData)
-    {
-        startPage();
-        List<SysDictData> list = dictDataService.selectDictDataList(dictData);
-        return getDataTable(list);
-    }
-
-    @Log(title = "字典数据", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:dict:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysDictData dictData)
-    {
-        List<SysDictData> list = dictDataService.selectDictDataList(dictData);
-        ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class);
-        util.exportExcel(response, list, "字典数据");
-    }
-
-    /**
-     * 查询字典数据详细
-     */
-    @RequiresPermissions("system:dict:query")
-    @GetMapping(value = "/{dictCode}")
-    public AjaxResult getInfo(@PathVariable Long dictCode)
-    {
-        return success(dictDataService.selectDictDataById(dictCode));
-    }
-
-    /**
-     * 根据字典类型查询字典数据信息
-     */
-    @GetMapping(value = "/type/{dictType}")
-    public AjaxResult dictType(@PathVariable String dictType)
-    {
-        List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
-        if (StringUtils.isNull(data))
-        {
-            data = new ArrayList<SysDictData>();
-        }
-        return success(data);
-    }
-
-    /**
-     * 新增字典类型
-     */
-    @RequiresPermissions("system:dict:add")
-    @Log(title = "字典数据", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysDictData dict)
-    {
-        dict.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(dictDataService.insertDictData(dict));
-    }
-
-    /**
-     * 修改保存字典类型
-     */
-    @RequiresPermissions("system:dict:edit")
-    @Log(title = "字典数据", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysDictData dict)
-    {
-        dict.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(dictDataService.updateDictData(dict));
-    }
-
-    /**
-     * 删除字典类型
-     */
-    @RequiresPermissions("system:dict:remove")
-    @Log(title = "字典类型", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{dictCodes}")
-    public AjaxResult remove(@PathVariable Long[] dictCodes)
-    {
-        dictDataService.deleteDictDataByIds(dictCodes);
-        return success();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictTypeController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictTypeController.java
deleted file mode 100644
index 911b930..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysDictTypeController.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysDictType;
-import com.hrt.system.service.sys.ISysDictTypeService;
-
-/**
- * 数据字典信息
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/dict/type")
-public class SysDictTypeController extends BaseController
-{
-    @Autowired
-    private ISysDictTypeService dictTypeService;
-
-    @RequiresPermissions("system:dict:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysDictType dictType)
-    {
-        startPage();
-        List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
-        return getDataTable(list);
-    }
-
-    @Log(title = "字典类型", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:dict:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysDictType dictType)
-    {
-        List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
-        ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class);
-        util.exportExcel(response, list, "字典类型");
-    }
-
-    /**
-     * 查询字典类型详细
-     */
-    @RequiresPermissions("system:dict:query")
-    @GetMapping(value = "/{dictId}")
-    public AjaxResult getInfo(@PathVariable Long dictId)
-    {
-        return success(dictTypeService.selectDictTypeById(dictId));
-    }
-
-    /**
-     * 新增字典类型
-     */
-    @RequiresPermissions("system:dict:add")
-    @Log(title = "字典类型", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysDictType dict)
-    {
-        if (!dictTypeService.checkDictTypeUnique(dict))
-        {
-            return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
-        }
-        dict.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(dictTypeService.insertDictType(dict));
-    }
-
-    /**
-     * 修改字典类型
-     */
-    @RequiresPermissions("system:dict:edit")
-    @Log(title = "字典类型", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysDictType dict)
-    {
-        if (!dictTypeService.checkDictTypeUnique(dict))
-        {
-            return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
-        }
-        dict.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(dictTypeService.updateDictType(dict));
-    }
-
-    /**
-     * 删除字典类型
-     */
-    @RequiresPermissions("system:dict:remove")
-    @Log(title = "字典类型", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{dictIds}")
-    public AjaxResult remove(@PathVariable Long[] dictIds)
-    {
-        dictTypeService.deleteDictTypeByIds(dictIds);
-        return success();
-    }
-
-    /**
-     * 刷新字典缓存
-     */
-    @RequiresPermissions("system:dict:remove")
-    @Log(title = "字典类型", businessType = BusinessType.CLEAN)
-    @DeleteMapping("/refreshCache")
-    public AjaxResult refreshCache()
-    {
-        dictTypeService.resetDictCache();
-        return success();
-    }
-
-    /**
-     * 获取字典选择框列表
-     */
-    @GetMapping("/optionselect")
-    public AjaxResult optionselect()
-    {
-        List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
-        return success(dictTypes);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysLogininforController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysLogininforController.java
deleted file mode 100644
index 2859ed7..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysLogininforController.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-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 com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.redis.service.RedisService;
-import com.hrt.common.security.annotation.InnerAuth;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.system.api.domain.SysLogininfor;
-import com.hrt.system.service.user.ISysLogininforService;
-
-/**
- * 系统访问记录
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/logininfor")
-public class SysLogininforController extends BaseController
-{
-    @Autowired
-    private ISysLogininforService logininforService;
-
-    @Autowired
-    private RedisService redisService;
-
-    @RequiresPermissions("system:logininfor:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysLogininfor logininfor)
-    {
-        startPage();
-        List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
-        return getDataTable(list);
-    }
-
-    @Log(title = "登录日志", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:logininfor:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysLogininfor logininfor)
-    {
-        List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
-        ExcelUtil<SysLogininfor> util = new ExcelUtil<SysLogininfor>(SysLogininfor.class);
-        util.exportExcel(response, list, "登录日志");
-    }
-
-    @RequiresPermissions("system:logininfor:remove")
-    @Log(title = "登录日志", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{infoIds}")
-    public AjaxResult remove(@PathVariable Long[] infoIds)
-    {
-        return toAjax(logininforService.deleteLogininforByIds(infoIds));
-    }
-
-    @RequiresPermissions("system:logininfor:remove")
-    @Log(title = "登录日志", businessType = BusinessType.DELETE)
-    @DeleteMapping("/clean")
-    public AjaxResult clean()
-    {
-        logininforService.cleanLogininfor();
-        return success();
-    }
-
-    @RequiresPermissions("system:logininfor:unlock")
-    @Log(title = "账户解锁", businessType = BusinessType.OTHER)
-    @GetMapping("/unlock/{userName}")
-    public AjaxResult unlock(@PathVariable("userName") String userName)
-    {
-        redisService.deleteObject(CacheConstants.PWD_ERR_CNT_KEY + userName);
-        return success();
-    }
-
-    @InnerAuth
-    @PostMapping
-    public AjaxResult add(@RequestBody SysLogininfor logininfor)
-    {
-        return toAjax(logininforService.insertLogininfor(logininfor));
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysMenuController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysMenuController.java
deleted file mode 100644
index 618cd94..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysMenuController.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-
-import com.hrt.system.domain.poji.user.SysMenu;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.service.user.ISysMenuService;
-
-/**
- * 菜单信息
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/menu")
-public class SysMenuController extends BaseController
-{
-    @Autowired
-    private ISysMenuService menuService;
-
-    /**
-     * 获取菜单列表
-     */
-    @RequiresPermissions("system:menu:list")
-    @GetMapping("/list")
-    public AjaxResult list(SysMenu menu)
-    {
-        Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuList(menu, userId);
-        return success(menus);
-    }
-
-    /**
-     * 根据菜单编号获取详细信息
-     */
-    @RequiresPermissions("system:menu:query")
-    @GetMapping(value = "/{menuId}")
-    public AjaxResult getInfo(@PathVariable Long menuId)
-    {
-        return success(menuService.selectMenuById(menuId));
-    }
-
-    /**
-     * 获取菜单下拉树列表
-     */
-    @GetMapping("/treeselect")
-    public AjaxResult treeselect(SysMenu menu)
-    {
-        Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuList(menu, userId);
-        return success(menuService.buildMenuTreeSelect(menus));
-    }
-
-    /**
-     * 加载对应角色菜单列表树
-     */
-    @GetMapping(value = "/roleMenuTreeselect/{roleId}")
-    public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
-    {
-        Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuList(userId);
-        AjaxResult ajax = AjaxResult.success();
-        ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
-        ajax.put("menus", menuService.buildMenuTreeSelect(menus));
-        return ajax;
-    }
-
-    /**
-     * 新增菜单
-     */
-    @RequiresPermissions("system:menu:add")
-    @Log(title = "菜单管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysMenu menu)
-    {
-        if (!menuService.checkMenuNameUnique(menu))
-        {
-            return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
-        }
-        else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
-        {
-            return error("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
-        }
-        menu.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(menuService.insertMenu(menu));
-    }
-
-    /**
-     * 修改菜单
-     */
-    @RequiresPermissions("system:menu:edit")
-    @Log(title = "菜单管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysMenu menu)
-    {
-        if (!menuService.checkMenuNameUnique(menu))
-        {
-            return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
-        }
-        else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
-        {
-            return error("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
-        }
-        else if (menu.getMenuId().equals(menu.getParentId()))
-        {
-            return error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
-        }
-        menu.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(menuService.updateMenu(menu));
-    }
-
-    /**
-     * 删除菜单
-     */
-    @RequiresPermissions("system:menu:remove")
-    @Log(title = "菜单管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{menuId}")
-    public AjaxResult remove(@PathVariable("menuId") Long menuId)
-    {
-        if (menuService.hasChildByMenuId(menuId))
-        {
-            return warn("存在子菜单,不允许删除");
-        }
-        if (menuService.checkMenuExistRole(menuId))
-        {
-            return warn("菜单已分配,不允许删除");
-        }
-        return toAjax(menuService.deleteMenuById(menuId));
-    }
-
-    /**
-     * 获取路由信息
-     * 
-     * @return 路由信息
-     */
-    @GetMapping("getRouters")
-    public AjaxResult getRouters()
-    {
-        Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
-        return success(menuService.buildMenus(menus));
-    }
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysNoticeController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysNoticeController.java
deleted file mode 100644
index 1394158..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysNoticeController.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-
-import com.hrt.system.domain.poji.sys.SysNotice;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.service.sys.ISysNoticeService;
-
-/**
- * 公告 信息操作处理
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/notice")
-public class SysNoticeController extends BaseController
-{
-    @Autowired
-    private ISysNoticeService noticeService;
-
-    /**
-     * 获取通知公告列表
-     */
-    @RequiresPermissions("system:notice:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysNotice notice)
-    {
-        startPage();
-        List<SysNotice> list = noticeService.selectNoticeList(notice);
-        return getDataTable(list);
-    }
-
-    /**
-     * 根据通知公告编号获取详细信息
-     */
-    @RequiresPermissions("system:notice:query")
-    @GetMapping(value = "/{noticeId}")
-    public AjaxResult getInfo(@PathVariable Long noticeId)
-    {
-        return success(noticeService.selectNoticeById(noticeId));
-    }
-
-    /**
-     * 新增通知公告
-     */
-    @RequiresPermissions("system:notice:add")
-    @Log(title = "通知公告", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysNotice notice)
-    {
-        notice.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(noticeService.insertNotice(notice));
-    }
-
-    /**
-     * 修改通知公告
-     */
-    @RequiresPermissions("system:notice:edit")
-    @Log(title = "通知公告", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysNotice notice)
-    {
-        notice.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(noticeService.updateNotice(notice));
-    }
-
-    /**
-     * 删除通知公告
-     */
-    @RequiresPermissions("system:notice:remove")
-    @Log(title = "通知公告", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{noticeIds}")
-    public AjaxResult remove(@PathVariable Long[] noticeIds)
-    {
-        return toAjax(noticeService.deleteNoticeByIds(noticeIds));
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysOperlogController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysOperlogController.java
deleted file mode 100644
index f4fcdf6..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysOperlogController.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-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 com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.InnerAuth;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.system.api.domain.SysOperLog;
-import com.hrt.system.service.user.ISysOperLogService;
-
-/**
- * 操作日志记录
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/operlog")
-public class SysOperlogController extends BaseController
-{
-    @Autowired
-    private ISysOperLogService operLogService;
-
-    @RequiresPermissions("system:operlog:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysOperLog operLog)
-    {
-        startPage();
-        List<SysOperLog> list = operLogService.selectOperLogList(operLog);
-        return getDataTable(list);
-    }
-
-    @Log(title = "操作日志", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:operlog:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysOperLog operLog)
-    {
-        List<SysOperLog> list = operLogService.selectOperLogList(operLog);
-        ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
-        util.exportExcel(response, list, "操作日志");
-    }
-
-    @Log(title = "操作日志", businessType = BusinessType.DELETE)
-    @RequiresPermissions("system:operlog:remove")
-    @DeleteMapping("/{operIds}")
-    public AjaxResult remove(@PathVariable Long[] operIds)
-    {
-        return toAjax(operLogService.deleteOperLogByIds(operIds));
-    }
-
-    @RequiresPermissions("system:operlog:remove")
-    @Log(title = "操作日志", businessType = BusinessType.CLEAN)
-    @DeleteMapping("/clean")
-    public AjaxResult clean()
-    {
-        operLogService.cleanOperLog();
-        return success();
-    }
-
-    @InnerAuth
-    @PostMapping
-    public AjaxResult add(@RequestBody SysOperLog operLog)
-    {
-        return toAjax(operLogService.insertOperlog(operLog));
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysPostController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysPostController.java
deleted file mode 100644
index ea3f5b2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysPostController.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.system.domain.poji.user.SysPost;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.service.user.ISysPostService;
-
-/**
- * 岗位信息操作处理
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/post")
-public class SysPostController extends BaseController
-{
-    @Autowired
-    private ISysPostService postService;
-
-    /**
-     * 获取岗位列表
-     */
-    @RequiresPermissions("system:post:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysPost post)
-    {
-        startPage();
-        List<SysPost> list = postService.selectPostList(post);
-        return getDataTable(list);
-    }
-
-    @Log(title = "岗位管理", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:post:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysPost post)
-    {
-        List<SysPost> list = postService.selectPostList(post);
-        ExcelUtil<SysPost> util = new ExcelUtil<SysPost>(SysPost.class);
-        util.exportExcel(response, list, "岗位数据");
-    }
-
-    /**
-     * 根据岗位编号获取详细信息
-     */
-    @RequiresPermissions("system:post:query")
-    @GetMapping(value = "/{postId}")
-    public AjaxResult getInfo(@PathVariable Long postId)
-    {
-        return success(postService.selectPostById(postId));
-    }
-
-    /**
-     * 新增岗位
-     */
-    @RequiresPermissions("system:post:add")
-    @Log(title = "岗位管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysPost post)
-    {
-        if (!postService.checkPostNameUnique(post))
-        {
-            return error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
-        }
-        else if (!postService.checkPostCodeUnique(post))
-        {
-            return error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在");
-        }
-        post.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(postService.insertPost(post));
-    }
-
-    /**
-     * 修改岗位
-     */
-    @RequiresPermissions("system:post:edit")
-    @Log(title = "岗位管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysPost post)
-    {
-        if (!postService.checkPostNameUnique(post))
-        {
-            return error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
-        }
-        else if (!postService.checkPostCodeUnique(post))
-        {
-            return error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
-        }
-        post.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(postService.updatePost(post));
-    }
-
-    /**
-     * 删除岗位
-     */
-    @RequiresPermissions("system:post:remove")
-    @Log(title = "岗位管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{postIds}")
-    public AjaxResult remove(@PathVariable Long[] postIds)
-    {
-        return toAjax(postService.deletePostByIds(postIds));
-    }
-
-    /**
-     * 获取岗位选择框列表
-     */
-    @GetMapping("/optionselect")
-    public AjaxResult optionselect()
-    {
-        List<SysPost> posts = postService.selectPostAll();
-        return success(posts);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysProfileController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysProfileController.java
deleted file mode 100644
index 3d916e4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysProfileController.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.Arrays;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.file.FileTypeUtils;
-import com.hrt.common.core.utils.file.MimeTypeUtils;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.service.TokenService;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.RemoteFileService;
-import com.hrt.system.api.domain.SysFile;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.api.model.LoginUser;
-import com.hrt.system.service.user.ISysUserService;
-
-/**
- * 个人信息 业务处理
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/user/profile")
-public class SysProfileController extends BaseController
-{
-    @Autowired
-    private ISysUserService userService;
-    
-    @Autowired
-    private TokenService tokenService;
-    
-    @Autowired
-    private RemoteFileService remoteFileService;
-
-    /**
-     * 个人信息
-     */
-    @GetMapping
-    public AjaxResult profile()
-    {
-        String username = SecurityUtils.getUsername();
-        SysUser user = userService.selectUserByUserName(username);
-        AjaxResult ajax = AjaxResult.success(user);
-        ajax.put("roleGroup", userService.selectUserRoleGroup(username));
-        ajax.put("postGroup", userService.selectUserPostGroup(username));
-        return ajax;
-    }
-
-    /**
-     * 修改用户
-     */
-    @Log(title = "个人信息", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult updateProfile(@RequestBody SysUser user)
-    {
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        SysUser sysUser = loginUser.getSysUser();
-        user.setUserName(sysUser.getUserName());
-        if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
-        user.setUserId(sysUser.getUserId());
-        user.setPassword(null);
-        user.setAvatar(null);
-        user.setDeptId(null);
-        if (userService.updateUserProfile(user) > 0)
-        {
-            // 更新缓存用户信息
-            loginUser.getSysUser().setNickName(user.getNickName());
-            loginUser.getSysUser().setPhonenumber(user.getPhonenumber());
-            loginUser.getSysUser().setEmail(user.getEmail());
-            loginUser.getSysUser().setSex(user.getSex());
-            tokenService.setLoginUser(loginUser);
-            return success();
-        }
-        return error("修改个人信息异常,请联系管理员");
-    }
-
-    /**
-     * 重置密码
-     */
-    @Log(title = "个人信息", businessType = BusinessType.UPDATE)
-    @PutMapping("/updatePwd")
-    public AjaxResult updatePwd(String oldPassword, String newPassword)
-    {
-        String username = SecurityUtils.getUsername();
-        SysUser user = userService.selectUserByUserName(username);
-        String password = user.getPassword();
-        if (!SecurityUtils.matchesPassword(oldPassword, password))
-        {
-            return error("修改密码失败,旧密码错误");
-        }
-        if (SecurityUtils.matchesPassword(newPassword, password))
-        {
-            return error("新密码不能与旧密码相同");
-        }
-        if (userService.resetUserPwd(username, SecurityUtils.encryptPassword(newPassword)) > 0)
-        {
-            // 更新缓存用户密码
-            LoginUser loginUser = SecurityUtils.getLoginUser();
-            loginUser.getSysUser().setPassword(SecurityUtils.encryptPassword(newPassword));
-            tokenService.setLoginUser(loginUser);
-            return success();
-        }
-        return error("修改密码异常,请联系管理员");
-    }
-    
-    /**
-     * 头像上传
-     */
-    @Log(title = "用户头像", businessType = BusinessType.UPDATE)
-    @PostMapping("/avatar")
-    public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file)
-    {
-        if (!file.isEmpty())
-        {
-            LoginUser loginUser = SecurityUtils.getLoginUser();
-            String extension = FileTypeUtils.getExtension(file);
-            if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION))
-            {
-                return error("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式");
-            }
-            R<SysFile> fileResult = remoteFileService.upload(file);
-            if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData()))
-            {
-                return error("文件服务异常,请联系管理员");
-            }
-            String url = fileResult.getData().getUrl();
-            if (userService.updateUserAvatar(loginUser.getUsername(), url))
-            {
-                AjaxResult ajax = AjaxResult.success();
-                ajax.put("imgUrl", url);
-                // 更新缓存用户头像
-                loginUser.getSysUser().setAvatar(url);
-                tokenService.setLoginUser(loginUser);
-                return ajax;
-            }
-        }
-        return error("上传图片异常,请联系管理员");
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysRoleController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysRoleController.java
deleted file mode 100644
index 4cca0cb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysRoleController.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.system.domain.poji.user.SysUserRole;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysDept;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.service.user.ISysDeptService;
-import com.hrt.system.service.user.ISysRoleService;
-import com.hrt.system.service.user.ISysUserService;
-
-/**
- * 角色信息
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/role")
-public class SysRoleController extends BaseController
-{
-    @Autowired
-    private ISysRoleService roleService;
-
-    @Autowired
-    private ISysUserService userService;
-
-    @Autowired
-    private ISysDeptService deptService;
-
-    @RequiresPermissions("system:role:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysRole role)
-    {
-        startPage();
-        List<SysRole> list = roleService.selectRoleList(role);
-        return getDataTable(list);
-    }
-
-    @Log(title = "角色管理", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:role:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysRole role)
-    {
-        List<SysRole> list = roleService.selectRoleList(role);
-        ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class);
-        util.exportExcel(response, list, "角色数据");
-    }
-
-    /**
-     * 根据角色编号获取详细信息
-     */
-    @RequiresPermissions("system:role:query")
-    @GetMapping(value = "/{roleId}")
-    public AjaxResult getInfo(@PathVariable Long roleId)
-    {
-        roleService.checkRoleDataScope(roleId);
-        return success(roleService.selectRoleById(roleId));
-    }
-
-    /**
-     * 新增角色
-     */
-    @RequiresPermissions("system:role:add")
-    @Log(title = "角色管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysRole role)
-    {
-        if (!roleService.checkRoleNameUnique(role))
-        {
-            return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
-        }
-        else if (!roleService.checkRoleKeyUnique(role))
-        {
-            return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
-        }
-        role.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(roleService.insertRole(role));
-
-    }
-
-    /**
-     * 修改保存角色
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysRole role)
-    {
-        roleService.checkRoleAllowed(role);
-        roleService.checkRoleDataScope(role.getRoleId());
-        if (!roleService.checkRoleNameUnique(role))
-        {
-            return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
-        }
-        else if (!roleService.checkRoleKeyUnique(role))
-        {
-            return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
-        }
-        role.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(roleService.updateRole(role));
-    }
-
-    /**
-     * 修改保存数据权限
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/dataScope")
-    public AjaxResult dataScope(@RequestBody SysRole role)
-    {
-        roleService.checkRoleAllowed(role);
-        roleService.checkRoleDataScope(role.getRoleId());
-        return toAjax(roleService.authDataScope(role));
-    }
-
-    /**
-     * 状态修改
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysRole role)
-    {
-        roleService.checkRoleAllowed(role);
-        roleService.checkRoleDataScope(role.getRoleId());
-        role.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(roleService.updateRoleStatus(role));
-    }
-
-    /**
-     * 删除角色
-     */
-    @RequiresPermissions("system:role:remove")
-    @Log(title = "角色管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{roleIds}")
-    public AjaxResult remove(@PathVariable Long[] roleIds)
-    {
-        return toAjax(roleService.deleteRoleByIds(roleIds));
-    }
-
-    /**
-     * 获取角色选择框列表
-     */
-    @RequiresPermissions("system:role:query")
-    @GetMapping("/optionselect")
-    public AjaxResult optionselect()
-    {
-        return success(roleService.selectRoleAll());
-    }
-    /**
-     * 查询已分配用户角色列表
-     */
-    @RequiresPermissions("system:role:list")
-    @GetMapping("/authUser/allocatedList")
-    public TableDataInfo allocatedList(SysUser user)
-    {
-        startPage();
-        List<SysUser> list = userService.selectAllocatedList(user);
-        return getDataTable(list);
-    }
-
-    /**
-     * 查询未分配用户角色列表
-     */
-    @RequiresPermissions("system:role:list")
-    @GetMapping("/authUser/unallocatedList")
-    public TableDataInfo unallocatedList(SysUser user)
-    {
-        startPage();
-        List<SysUser> list = userService.selectUnallocatedList(user);
-        return getDataTable(list);
-    }
-
-    /**
-     * 取消授权用户
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authUser/cancel")
-    public AjaxResult cancelAuthUser(@RequestBody SysUserRole userRole)
-    {
-        return toAjax(roleService.deleteAuthUser(userRole));
-    }
-
-    /**
-     * 批量取消授权用户
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authUser/cancelAll")
-    public AjaxResult cancelAuthUserAll(Long roleId, Long[] userIds)
-    {
-        return toAjax(roleService.deleteAuthUsers(roleId, userIds));
-    }
-
-    /**
-     * 批量选择用户授权
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authUser/selectAll")
-    public AjaxResult selectAuthUserAll(Long roleId, Long[] userIds)
-    {
-        roleService.checkRoleDataScope(roleId);
-        return toAjax(roleService.insertAuthUsers(roleId, userIds));
-    }
-
-    /**
-     * 获取对应角色部门树列表
-     */
-    @RequiresPermissions("system:role:query")
-    @GetMapping(value = "/deptTree/{roleId}")
-    public AjaxResult deptTree(@PathVariable("roleId") Long roleId)
-    {
-        AjaxResult ajax = AjaxResult.success();
-        ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
-        ajax.put("depts", deptService.selectDeptTreeList(new SysDept()));
-        return ajax;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserController.java
deleted file mode 100644
index 5103586..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserController.java
+++ /dev/null
@@ -1,359 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletResponse;
-
-import com.hrt.system.domain.dto.AppMiniLoginDto;
-import com.hrt.system.domain.vo.AppMiniLoginVo;
-import com.hrt.system.service.member.MemberService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.ArrayUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-import com.hrt.common.core.domain.R;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.poi.ExcelUtil;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.security.annotation.InnerAuth;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysDept;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.api.model.LoginUser;
-import com.hrt.system.service.sys.ISysConfigService;
-import com.hrt.system.service.user.ISysDeptService;
-import com.hrt.system.service.user.ISysPermissionService;
-import com.hrt.system.service.user.ISysPostService;
-import com.hrt.system.service.user.ISysRoleService;
-import com.hrt.system.service.user.ISysUserService;
-
-/**
- * 用户信息
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/user")
-@Api("获取用户信息")
-public class SysUserController extends BaseController
-{
-    @Autowired
-    private ISysUserService userService;
-
-    @Autowired
-    private ISysRoleService roleService;
-
-    @Autowired
-    private ISysDeptService deptService;
-
-    @Autowired
-    private ISysPostService postService;
-
-    @Autowired
-    private ISysPermissionService permissionService;
-
-    @Autowired
-    private ISysConfigService configService;
-
-    @Autowired
-    private MemberService memberService;
-
-    @GetMapping("/test")
-    public AjaxResult list()
-    {
-        SysUser sysUser = userService.selectUserByUserName("admin");
-        return AjaxResult.success(sysUser);
-    }
-
-    /**
-     * 获取用户列表
-     */
-    @RequiresPermissions("system:user:list")
-    @GetMapping("/list")
-    public TableDataInfo list(SysUser user)
-    {
-        startPage();
-        List<SysUser> list = userService.selectUserList(user);
-        return getDataTable(list);
-    }
-
-    @Log(title = "用户管理", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:user:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysUser user)
-    {
-        List<SysUser> list = userService.selectUserList(user);
-        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
-        util.exportExcel(response, list, "用户数据");
-    }
-
-    @Log(title = "用户管理", businessType = BusinessType.IMPORT)
-    @RequiresPermissions("system:user:import")
-    @PostMapping("/importData")
-    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
-    {
-        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
-        List<SysUser> userList = util.importExcel(file.getInputStream());
-        String operName = SecurityUtils.getUsername();
-        String message = userService.importUser(userList, updateSupport, operName);
-        return success(message);
-    }
-
-    @PostMapping("/importTemplate")
-    public void importTemplate(HttpServletResponse response) throws IOException
-    {
-        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
-        util.importTemplateExcel(response, "用户数据");
-    }
-
-    /**
-     * 获取当前用户信息
-     */
-    @InnerAuth
-    @GetMapping("/info/{username}")
-    @ApiOperation("获取当前用户信息")
-    public R<LoginUser> info(@PathVariable("username") String username)
-    {
-        SysUser sysUser = userService.selectUserByUserName(username);
-        if (StringUtils.isNull(sysUser))
-        {
-            return R.fail("用户名或密码错误");
-        }
-        // 角色集合
-        Set<String> roles = permissionService.getRolePermission(sysUser);
-        // 权限集合
-        Set<String> permissions = permissionService.getMenuPermission(sysUser);
-        LoginUser sysUserVo = new LoginUser();
-        sysUserVo.setSysUser(sysUser);
-        sysUserVo.setRoles(roles);
-        sysUserVo.setPermissions(permissions);
-        return R.ok(sysUserVo);
-    }
-
-    /**
-     * 小程序登录
-     */
-    @InnerAuth
-    @GetMapping("/miniLogin")
-    @ApiOperation("小程序登录")
-    public R<AppMiniLoginVo> getMemberByCode(@RequestBody AppMiniLoginDto appMiniLoginDto)
-    {
-        AppMiniLoginVo appMiniLoginVo = memberService.getMemberByCode(appMiniLoginDto);
-        if(appMiniLoginVo ==null){
-            return R.fail("登录失败!");
-        }
-        return R.ok(appMiniLoginVo);
-    }
-
-    /**
-     * 注册用户信息
-     */
-    @InnerAuth
-    @PostMapping("/register")
-    public R<Boolean> register(@RequestBody SysUser sysUser)
-    {
-        String username = sysUser.getUserName();
-        if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
-        {
-            return R.fail("当前系统没有开启注册功能!");
-        }
-        if (!userService.checkUserNameUnique(sysUser))
-        {
-            return R.fail("保存用户'" + username + "'失败,注册账号已存在");
-        }
-        return R.ok(userService.registerUser(sysUser));
-    }
-
-    /**
-     * 获取用户信息
-     * 
-     * @return 用户信息
-     */
-    @GetMapping("getInfo")
-    public AjaxResult getInfo()
-    {
-        SysUser user = userService.selectUserById(SecurityUtils.getUserId());
-        // 角色集合
-        Set<String> roles = permissionService.getRolePermission(user);
-        // 权限集合
-        Set<String> permissions = permissionService.getMenuPermission(user);
-        AjaxResult ajax = AjaxResult.success();
-        ajax.put("user", user);
-        ajax.put("roles", roles);
-        ajax.put("permissions", permissions);
-        return ajax;
-    }
-
-    /**
-     * 根据用户编号获取详细信息
-     */
-    @RequiresPermissions("system:user:query")
-    @GetMapping(value = { "/", "/{userId}" })
-    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
-    {
-        userService.checkUserDataScope(userId);
-        AjaxResult ajax = AjaxResult.success();
-        List<SysRole> roles = roleService.selectRoleAll();
-        ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
-        ajax.put("posts", postService.selectPostAll());
-        if (StringUtils.isNotNull(userId))
-        {
-            SysUser sysUser = userService.selectUserById(userId);
-            ajax.put(AjaxResult.DATA_TAG, sysUser);
-            ajax.put("postIds", postService.selectPostListByUserId(userId));
-            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
-        }
-        return ajax;
-    }
-
-    /**
-     * 新增用户
-     */
-    @RequiresPermissions("system:user:add")
-    @Log(title = "用户管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysUser user)
-    {
-        if (!userService.checkUserNameUnique(user))
-        {
-            return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
-        {
-            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
-        {
-            return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
-        user.setCreateBy(SecurityUtils.getUsername());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        return toAjax(userService.insertUser(user));
-    }
-
-    /**
-     * 修改用户
-     */
-    @RequiresPermissions("system:user:edit")
-    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysUser user)
-    {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getUserId());
-        if (!userService.checkUserNameUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
-        }
-        else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
-        {
-            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
-        }
-        user.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(userService.updateUser(user));
-    }
-
-    /**
-     * 删除用户
-     */
-    @RequiresPermissions("system:user:remove")
-    @Log(title = "用户管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{userIds}")
-    public AjaxResult remove(@PathVariable Long[] userIds)
-    {
-        if (ArrayUtils.contains(userIds, SecurityUtils.getUserId()))
-        {
-            return error("当前用户不能删除");
-        }
-        return toAjax(userService.deleteUserByIds(userIds));
-    }
-
-    /**
-     * 重置密码
-     */
-    @RequiresPermissions("system:user:edit")
-    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/resetPwd")
-    public AjaxResult resetPwd(@RequestBody SysUser user)
-    {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getUserId());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        user.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(userService.resetPwd(user));
-    }
-
-    /**
-     * 状态修改
-     */
-    @RequiresPermissions("system:user:edit")
-    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysUser user)
-    {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getUserId());
-        user.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(userService.updateUserStatus(user));
-    }
-
-    /**
-     * 根据用户编号获取授权角色
-     */
-    @RequiresPermissions("system:user:query")
-    @GetMapping("/authRole/{userId}")
-    public AjaxResult authRole(@PathVariable("userId") Long userId)
-    {
-        AjaxResult ajax = AjaxResult.success();
-        SysUser user = userService.selectUserById(userId);
-        List<SysRole> roles = roleService.selectRolesByUserId(userId);
-        ajax.put("user", user);
-        ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
-        return ajax;
-    }
-
-    /**
-     * 用户授权角色
-     */
-    @RequiresPermissions("system:user:edit")
-    @Log(title = "用户管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authRole")
-    public AjaxResult insertAuthRole(Long userId, Long[] roleIds)
-    {
-        userService.checkUserDataScope(userId);
-        userService.insertUserAuth(userId, roleIds);
-        return success();
-    }
-
-    /**
-     * 获取部门树列表
-     */
-    @RequiresPermissions("system:user:list")
-    @GetMapping("/deptTree")
-    public AjaxResult deptTree(SysDept dept)
-    {
-        return success(deptService.selectDeptTreeList(dept));
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserOnlineController.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserOnlineController.java
deleted file mode 100644
index f161de8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/controller/sys/SysUserOnlineController.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.hrt.system.controller.sys;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import com.hrt.system.domain.poji.user.SysUserOnline;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.web.controller.BaseController;
-import com.hrt.common.core.web.domain.AjaxResult;
-import com.hrt.common.core.web.page.TableDataInfo;
-import com.hrt.common.log.annotation.Log;
-import com.hrt.common.log.enums.BusinessType;
-import com.hrt.common.redis.service.RedisService;
-import com.hrt.common.security.annotation.RequiresPermissions;
-import com.hrt.system.api.model.LoginUser;
-import com.hrt.system.service.user.ISysUserOnlineService;
-
-/**
- * 在线用户监控
- * 
- * @author jqs
- */
-@RestController
-@RequestMapping("/online")
-public class SysUserOnlineController extends BaseController
-{
-    @Autowired
-    private ISysUserOnlineService userOnlineService;
-
-    @Autowired
-    private RedisService redisService;
-
-    @RequiresPermissions("monitor:online:list")
-    @GetMapping("/list")
-    public TableDataInfo list(String ipaddr, String userName)
-    {
-        Collection<String> keys = redisService.keys(CacheConstants.LOGIN_TOKEN_KEY + "*");
-        List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
-        for (String key : keys)
-        {
-            LoginUser user = redisService.getCacheObject(key);
-            if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName))
-            {
-                userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
-            }
-            else if (StringUtils.isNotEmpty(ipaddr))
-            {
-                userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
-            }
-            else if (StringUtils.isNotEmpty(userName))
-            {
-                userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
-            }
-            else
-            {
-                userOnlineList.add(userOnlineService.loginUserToUserOnline(user));
-            }
-        }
-        Collections.reverse(userOnlineList);
-        userOnlineList.removeAll(Collections.singleton(null));
-        return getDataTable(userOnlineList);
-    }
-
-    /**
-     * 强退用户
-     */
-    @RequiresPermissions("monitor:online:forceLogout")
-    @Log(title = "在线用户", businessType = BusinessType.FORCE)
-    @DeleteMapping("/{tokenId}")
-    public AjaxResult forceLogout(@PathVariable String tokenId)
-    {
-        redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + tokenId);
-        return success();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppAgreementDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppAgreementDto.java
deleted file mode 100644
index 4dd76fc..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppAgreementDto.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppAgreementDto
- * @description: TODO
- * @date 2023年03月07日
- * @version: 1.0
- */
-@Data
-public class AppAgreementDto  extends AppBaseDto{
-
-
-    @ApiModelProperty(value = "协议类型1用户协议 2隐私协议")
-    private Integer type;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseDto.java
deleted file mode 100644
index cf7a476..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppBaseDto
- * @description: TODO
- * @date 2023年04月19日
- * @version: 1.0
- */
-@Data
-public class AppBaseDto {
-
-    @ApiModelProperty(value = "userId",hidden = true)
-    private Long userId;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseGetDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseGetDto.java
deleted file mode 100644
index ae79a93..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppBaseGetDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppBaseGetDto
- * @description: TODO
- * @date 2023年04月19日
- * @version: 1.0
- */
-@Data
-public class AppBaseGetDto extends AppBaseDto{
-
-    @ApiModelProperty(value = "请求对象id")
-    private String id;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppGoodsInfoGetDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppGoodsInfoGetDto.java
deleted file mode 100644
index c679056..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppGoodsInfoGetDto.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppGoodsInfoGetDto
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppGoodsInfoGetDto extends AppBaseGetDto{
-
-    @ApiModelProperty(value = "是否活动跳转0否1是")
-    private Integer activityFlag;
-
-    @ApiModelProperty(value = "商户id",hidden = true)
-    private Long shopId;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppMiniLoginDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppMiniLoginDto.java
deleted file mode 100644
index 039d698..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppMiniLoginDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppGetUnionid
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-@Data
-public class AppMiniLoginDto {
-
-    @ApiModelProperty(value = "code")
-    private String code;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppNearbyShopDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppNearbyShopDto.java
deleted file mode 100644
index d74c602..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppNearbyShopDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppNearbyShopDto
- * @description: TODO
- * @date 2023年04月19日
- * @version: 1.0
- */
-@Data
-public class AppNearbyShopDto extends AppBaseDto{
-
-
-    @ApiModelProperty(value = "经度")
-    private String longitude;
-
-    @ApiModelProperty(value = "维度")
-    private String latitude;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppPageDto.java
deleted file mode 100644
index 65eb0f2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppPageDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppPageDto
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppPageDto extends AppBaseDto{
-
-    @ApiModelProperty(name = "pagenum", value = "页码")
-    private Integer pageNum = 1;
-
-
-    @ApiModelProperty(name = "pagesize", value = "每页显示条数")
-    private Integer pageSize = 20;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppSearchGoodsPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppSearchGoodsPageDto.java
deleted file mode 100644
index 91eb681..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppSearchGoodsPageDto.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppShopGoodsPageDto
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppSearchGoodsPageDto extends AppPageDto{
-
-    @ApiModelProperty(value = "shopId",hidden = true)
-    private Long shopId;
-
-    @ApiModelProperty(value = "搜索关键词")
-    private String keyword;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppShopGoodsPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppShopGoodsPageDto.java
deleted file mode 100644
index 32cb893..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppShopGoodsPageDto.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppShopGoodsPageDto
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppShopGoodsPageDto extends AppPageDto{
-
-    @ApiModelProperty(value = "shopId",hidden = true)
-    private Long shopId;
-
-    @ApiModelProperty(value = "搜索关键词")
-    private String keyword;
-
-    @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
-    private Integer goodsType;
-
-    @ApiModelProperty(value = "商品分类id")
-    private Long goodsClassId;
-
-    @ApiModelProperty(value = "排序方式1.全部2.价格正序3.价格倒序4.销量正序5.销量倒序")
-    private Integer sort;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppUserAuthorizeDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppUserAuthorizeDto.java
deleted file mode 100644
index a995c89..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/AppUserAuthorizeDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppUserAuthorizeDto
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-@Data
-public class AppUserAuthorizeDto extends AppBaseDto{
-
-    @ApiModelProperty(value = "手机iv")
-    private String phoneIv;
-
-    @ApiModelProperty(value = "手机encryptedData")
-    private String phoneEncryptedData;
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseDto.java
deleted file mode 100644
index 42ee28a..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName MGTBaseDto
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtBaseDto {
-
-    @ApiModelProperty(value = "userId",hidden = true)
-    private Long userId;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseGetDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseGetDto.java
deleted file mode 100644
index f8b487a..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtBaseGetDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName MgtBaseGetDto
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtBaseGetDto extends MgtBaseDto{
-
-    @ApiModelProperty(value = "请求对象id")
-    private String id;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtChangeCoopDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtChangeCoopDto.java
deleted file mode 100644
index 4c93944..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtChangeCoopDto.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName MGTChangeCooperDto
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtChangeCoopDto extends MgtBaseDto{
-
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty("合作开始时间")
-    private String coopStartTime;
-
-    @ApiModelProperty("合作结束时间")
-    private String coopEndTime;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopDto.java
deleted file mode 100644
index 37dd309..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopDto.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.hrt.system.domain.dto;
-
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * @author jqs34
- * @ClassName ManageCreateShopDto
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtEditShopDto extends MgtBaseDto{
-
-
-    @ApiModelProperty(value = "商户id,新增不传")
-    private Long shopId;
-
-    @ApiModelProperty("商户名称")
-    private String shopName;
-
-    @ApiModelProperty("商户类型1.经销商2.代理商")
-    private Integer shopType;
-
-    @ApiModelProperty("营业开始时间")
-    private String businessStartTime;
-
-    @ApiModelProperty("营业结束时间")
-    private String businessEndTime;
-
-    @ApiModelProperty("店主姓名")
-    private String shopownerName;
-
-    @ApiModelProperty("店主联系方式")
-    private String shopownerPhone;
-
-    @ApiModelProperty("签约区域")
-    private String signAreaCode;
-
-    @ApiModelProperty("商户服务电话")
-    private String shopServicePhone;
-
-    @ApiModelProperty("管辖员工")
-    private Long belongUserId;
-
-    @ApiModelProperty("所属经销商")
-    private Long belongShopId;
-
-    @ApiModelProperty("扶持能力1.有2.没有")
-    private Integer supportingCapacityFlag;
-
-    @ApiModelProperty("店面操作人数1.1人2.1人以上")
-    private Integer operationPersonFlag;
-
-    @ApiModelProperty("执行力1.强2.弱")
-    private Integer executiveForceFlag;
-
-    @ApiModelProperty("格局1.大2.小")
-    private Integer patternFlag;
-
-    @ApiModelProperty("人脉1.宽2.窄")
-    private Integer connectionFlag;
-
-    @ApiModelProperty("经济能力1.强2.差")
-    private Integer economicAbilityFlag;
-
-    @ApiModelProperty("与合作商关系1.好2.差")
-    private Integer relationPartner;
-
-    @ApiModelProperty("曾从事事业")
-    private String businessHistory;
-
-    @ApiModelProperty("店铺地址省code")
-    private String shopProvinceCode;
-
-    @ApiModelProperty("店铺地址市code")
-    private String shopCityCode;
-
-    @ApiModelProperty("店铺地址区code")
-    private String shopAreaCode;
-
-    @ApiModelProperty("店铺区域全称")
-    private String shopAreaName;
-
-    @ApiModelProperty("店铺详细地址")
-    private String shopAddress;
-
-    @ApiModelProperty("店铺经度")
-    private String shopLongitude;
-
-    @ApiModelProperty("店铺维度")
-    private String shopLatitude;
-
-    @ApiModelProperty("店铺详情")
-    private String shopDetail;
-
-    @ApiModelProperty("营销功能1开2关")
-    private Integer marketingFunctionFlag;
-
-    @ApiModelProperty("领券1开2关")
-    private Integer platformCouponFlag;
-
-    @ApiModelProperty("生日卡1开2关")
-    private Integer platformBirthdayFlag;
-
-    @ApiModelProperty("推荐人")
-    private String recommendPerson;
-
-    @ApiModelProperty("商户标签id 多个用,隔开")
-    private String shopTagIds;
-
-    @ApiModelProperty("关联用户id 多个用,隔开")
-    private String relUserIds;
-
-    @ApiModelProperty("商户封面")
-    private String shopPicture;
-
-    @ApiModelProperty("商户banner 多个用,隔开")
-    private String shopBanners;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopTagDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopTagDto.java
deleted file mode 100644
index a38b4de..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtEditShopTagDto.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName MgtEditShopTagDto
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtEditShopTagDto extends MgtBaseGetDto{
-
-    @ApiModelProperty("商户标签id 多个用,隔开")
-    private String shopTagIds;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtPageDto.java
deleted file mode 100644
index 98385ea..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtPageDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppPageDto
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class MgtPageDto extends MgtBaseDto{
-
-    @ApiModelProperty(name = "pagenum", value = "页码")
-    private Integer pageNum = 1;
-
-
-    @ApiModelProperty(name = "pagesize", value = "每页显示条数")
-    private Integer pageSize = 20;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtShopPageDto.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtShopPageDto.java
deleted file mode 100644
index c40fdad..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/dto/MgtShopPageDto.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.domain.dto;
-
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName MgtShopPageDto
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtShopPageDto extends MgtPageDto{
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/activity/ActivityGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/activity/ActivityGoods.java
deleted file mode 100644
index db9f530..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/activity/ActivityGoods.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.hrt.system.domain.poji.activity;
-
-import java.math.BigDecimal;
-
-import java.io.Serializable;
-import java.util.Date;
-
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author jqs
- * @since 2023-04-21
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_activity_goods")
-public class ActivityGoods extends Model<ActivityGoods> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 活动商品id
-     */
-    @TableId("ag_id")
-    private Long agId;
-    /**
-     * 商品id
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-    /**
-     * 活动id
-     */
-    @TableField("activity_id")
-    private String activityId;
-    /**
-     * 活动价格
-     */
-    @TableField("activity_price")
-    private BigDecimal activityPrice;
-    /**
-     * 活动销售数量
-     */
-    @TableField("activity_number")
-    private Integer activityNumber;
-    /**
-     * 活动已售数量
-     */
-    @TableField("sales_number")
-    private Integer salesNumber;
-
-    /**
-     * 活动截止时间
-     */
-    @TableField(value = "activity_deadline")
-    private Date activityDeadline;
-
-    @Override
-    protected Serializable pkVal() {
-        return this.goodsId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/Coupon.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/Coupon.java
deleted file mode 100644
index 161a5ac..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/Coupon.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package com.hrt.system.domain.poji.coupon;
-
-import java.math.BigDecimal;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_coupon")
-public class Coupon extends Model<Coupon> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 优惠券id
-     */
-    @TableId("coupon_id")
-    private String couponId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 优惠券类型1.满减2.折扣3.代金4.商品
-     */
-    @TableField("coupon_type")
-    private Integer couponType;
-    /**
-     * 优惠券状态-1删除0禁用1启用
-     */
-    @TableField("coupon_status")
-    private Integer couponStatus;
-    /**
-     * 优惠券名称
-     */
-    @TableField("coupon_name")
-    private String couponName;
-    /**
-     * 发送类型1.手动领取2.全部用户3.会员用户4非会员用户5自定义
-     */
-    @TableField("send_type")
-    private Integer sendType;
-    /**
-     * 发送时间类型1立即2定时
-     */
-    @TableField("send_time_type")
-    private Integer sendTimeType;
-    /**
-     * 发送时间
-     */
-    @TableField("send_time")
-    private Date sendTime;
-    /**
-     * 门槛金额
-     */
-    @TableField("money_threshold")
-    private BigDecimal moneyThreshold;
-    /**
-     * 折扣金额
-     */
-    @TableField("dicount_money")
-    private BigDecimal dicountMoney;
-    /**
-     * 折扣百分比
-     */
-    @TableField("discout_percent")
-    private BigDecimal discoutPercent;
-    /**
-     * 使用范围1.全场2.指定商品
-     */
-    @TableField("use_scope")
-    private Integer useScope;
-    /**
-     * 有效期类型
-     */
-    @TableField("valid_time_type")
-    private Integer validTimeType;
-    /**
-     * 有效开始时间
-     */
-    @TableField("valid_start_time")
-    private Date validStartTime;
-    /**
-     * 有效截止时间
-     */
-    @TableField("valid_end_time")
-    private Date validEndTime;
-    /**
-     * 有效期
-     */
-    @TableField("valid_day")
-    private Integer validDay;
-    @TableField("create_time")
-    private Date createTime;
-    @TableField("create_user_id")
-    private Long createUserId;
-    @TableField("update_time")
-    private Date updateTime;
-    @TableField("update_user_id")
-    private Long updateUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.couponId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelGoods.java
deleted file mode 100644
index abf8c31..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelGoods.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.domain.poji.coupon;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 优惠券商品关联
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_coupon_rel_goods")
-public class CouponRelGoods extends Model<CouponRelGoods> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 优惠券id
-     */
-    @TableField("coupon_id")
-    private String couponId;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelUser.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelUser.java
deleted file mode 100644
index 289ebd1..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponRelUser.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.domain.poji.coupon;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 优惠券用户关联
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_coupon_rel_user")
-public class CouponRelUser extends Model<CouponRelUser> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 优惠券id
-     */
-    @TableField("coupon_id")
-    private String couponId;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponTotal.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponTotal.java
deleted file mode 100644
index 8a0a2a4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/coupon/CouponTotal.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.hrt.system.domain.poji.coupon;
-
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_coupon_total")
-public class CouponTotal extends Model<CouponTotal> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 优惠券id
-     */
-    @TableId("coupon_id")
-    private String couponId;
-    /**
-     * 优惠券发放数量
-     */
-    @TableField("send_count")
-    private Integer sendCount;
-    /**
-     * 优惠券发放人数
-     */
-    @TableField("send_user_count")
-    private Integer sendUserCount;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.couponId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/Goods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/Goods.java
deleted file mode 100644
index 8dd59df..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/Goods.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package com.hrt.system.domain.poji.goods;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.math.BigDecimal;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商品表
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_goods")
-public class Goods extends Model<Goods> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 商品id
-     */
-    @TableId(value = "goods_id", type = IdType.AUTO)
-    private String goodsId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private String delFlag;
-    /**
-     * 商品状态-1删除1上架2下架
-     */
-    @TableField("goods_status")
-    private Integer goodsStatus;
-    /**
-     * 商品类型1周期2服务3体验4单品
-     */
-    @TableField("goods_type")
-    private Integer goodsType;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("create_user_id")
-    private Long createUserId;
-
-    @TableField("update_time")
-    private Date updateTime;
-
-    @TableField("update_user_id")
-    private Long updateUserId;
-    /**
-     * 商品分类id
-     */
-    @TableField("goods_class_id")
-    private Integer goodsClassId;
-    /**
-     * 商品名称
-     */
-    @TableField("goods_name")
-    private String goodsName;
-    /**
-     * 周期次数标记0否1是
-     */
-    @TableField("cycle_num_flag")
-    private Integer cycleNumFlag;
-    /**
-     * 服务次数
-     */
-    @TableField("service_num")
-    private Integer serviceNum;
-    /**
-     * 商品简介
-     */
-    @TableField("goods_introduction")
-    private String goodsIntroduction;
-    /**
-     * 建议售价
-     */
-    @TableField("sales_price")
-    private BigDecimal salesPrice;
-    /**
-     * 最低售价
-     */
-    @TableField("mininum_price")
-    private BigDecimal mininumPrice;
-    /**
-     * 订金标记0否1是
-     */
-    @TableField("subscription_flag")
-    private Integer subscriptionFlag;
-    /**
-     * 订金
-     */
-    private BigDecimal subscription;
-    /**
-     * 商品详情
-     */
-    @TableField("goods_detail")
-    private String goodsDetail;
-    /**
-     * 是否推荐0否1是
-     */
-    @TableField("recommend_flag")
-    private Integer recommendFlag;
-
-    /**
-     * 商品调理问题
-     */
-    @TableField("goods_nurses")
-    private String goodsNurses;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.goodsId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsFile.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsFile.java
deleted file mode 100644
index 30762e6..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsFile.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hrt.system.domain.poji.goods;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商品图片
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_goods_file")
-public class GoodsFile extends Model<GoodsFile> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-    /**
-     * 图片类型1封面2视频3banner
-     */
-    @TableField("file_type")
-    private Integer fileType;
-    /**
-     * 图片地址
-     */
-    @TableField("file_url")
-    private String fileUrl;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelNurse.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelNurse.java
deleted file mode 100644
index fe5174a..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelNurse.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.domain.poji.goods;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商品调理问题
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_goods_rel_nurse")
-public class GoodsRelNurse extends Model<GoodsRelNurse> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-    /**
-     * 调理问题id
-     */
-    @TableField("nurse")
-    private String nurse;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelTag.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelTag.java
deleted file mode 100644
index e4da94d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsRelTag.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.hrt.system.domain.poji.goods;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商品标签
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_goods_rel_tag")
-public class GoodsRelTag extends Model<GoodsRelTag> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    @TableField("goods_id")
-    private String goodsId;
-    @TableField("tag_id")
-    private Long tagId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsTotal.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsTotal.java
deleted file mode 100644
index 9dc293c..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/goods/GoodsTotal.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.hrt.system.domain.poji.goods;
-
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_goods_total")
-public class GoodsTotal extends Model<GoodsTotal> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId("goods_id")
-    private String goodsId;
-    /**
-     * 购买次数统计
-     */
-    @TableField("buy_count")
-    private Integer buyCount;
-    /**
-     * 购买数量统计
-     */
-    @TableField("buy_num_count")
-    private Integer buyNumCount;
-    /**
-     * 购买人数统计
-     */
-    @TableField("buy_user_count")
-    private Integer buyUserCount;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.goodsId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/Member.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/Member.java
deleted file mode 100644
index da7f1f8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/Member.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package com.hrt.system.domain.poji.member;
-
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
-
-
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author jqs
- * @since 2023-04-19
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_member")
-public class Member extends Model<Member> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 用户id
-     */
-    @TableId("user_id")
-    private Long userId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 会员id
-     */
-    @TableField("member_id")
-    private String memberId;
-    /**
-     * 会员编号
-     */
-    @TableField("member_no")
-    private String memberNo;
-    /**
-     * 微信openid
-     */
-    @TableField("wx_openid")
-    private String wxOpenid;
-    /**
-     * 小程序openid
-     */
-    @TableField("mini_openid")
-    private String miniOpenid;
-    /**
-     * 微信unionid
-     */
-    @TableField("wx_unionid")
-    private String wxUnionid;
-    /**
-     * 关联商户id
-     */
-    @TableField("realtion_shop_id")
-    private Long realtionShopId;
-    /**
-     * 真实姓名
-     */
-    @TableField("real_name")
-    private String realName;
-    /**
-     * 手机号
-     */
-    private String mobile;
-    /**
-     * 性别0未知1男2女
-     */
-    private Integer gender;
-    /**
-     * 推荐人
-     */
-    private String referrer;
-    /**
-     * 顾客来源
-     */
-    @TableField("customer_source")
-    private String customerSource;
-    /**
-     * 等级
-     */
-    private String level;
-    /**
-     * 生日
-     */
-    private String birthday;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    /**
-     * 更新时间
-     */
-    @TableField("update_time")
-    private Date updateTime;
-    /**
-     * 更新用户id
-     */
-    @TableField("update_user_id")
-    private Integer updateUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.userId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchive.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchive.java
deleted file mode 100644
index 09544c8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchive.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hrt.system.domain.poji.member;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 会员档案信息
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_member_archive")
-public class MemberArchive extends Model<MemberArchive> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-    /**
-     * 字段id
-     */
-    @TableField("field_id")
-    private Long fieldId;
-    /**
-     * 值
-     */
-    @TableField("field_value")
-    private String fieldValue;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchiveFields.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchiveFields.java
deleted file mode 100644
index 3995843..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberArchiveFields.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.hrt.system.domain.poji.member;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 档案字段
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_member_archive_fields")
-public class MemberArchiveFields extends Model<MemberArchiveFields> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private String delFlag;
-    /**
-     * 字段名称
-     */
-    @TableField("field_name")
-    private String fieldName;
-    /**
-     * 字段类型1.文字输入2.数字输入3.字母输入4.无限制输入5.年月日选择6.选项
-     */
-    @TableField("field_type")
-    private Integer fieldType;
-    /**
-     * 是否必填0否1是
-     */
-    @TableField("required_flag")
-    private Integer requiredFlag;
-    /**
-     * 字段排序
-     */
-    @TableField("field_sort")
-    private String fieldSort;
-    /**
-     * 输入提示
-     */
-    @TableField("input_tip")
-    private String inputTip;
-    /**
-     * 选项集合
-     */
-    @TableField("option_values")
-    private String optionValues;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberNurse.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberNurse.java
deleted file mode 100644
index 43afc30..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/MemberNurse.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.domain.poji.member;
-
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-
-/**
- * <p>
- * 用户调理问题
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_member_nurse")
-public class MemberNurse extends Model<MemberNurse> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Integer userId;
-    /**
-     * 调理问题
-     */
-    private String nurse;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/UserCoupon.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/UserCoupon.java
deleted file mode 100644
index 3553ca0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/member/UserCoupon.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package com.hrt.system.domain.poji.member;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.math.BigDecimal;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_user_coupon")
-public class UserCoupon extends Model<UserCoupon> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 优惠券id
-     */
-    @TableField("coupon_id")
-    private String couponId;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-    /**
-     * 优惠券类型1.满减2.折扣3.代金4.商品
-     */
-    @TableField("coupon_type")
-    private Integer couponType;
-    /**
-     * 优惠券状态-1删除0已过期1已领取2已使用
-     */
-    @TableField("coupon_status")
-    private Integer couponStatus;
-    /**
-     * 优惠券名称
-     */
-    @TableField("coupon_name")
-    private String couponName;
-    /**
-     * 发送类型1.手动领取2.全部用户3.会员用户4非会员用户5自定义
-     */
-    @TableField("send_type")
-    private Integer sendType;
-    /**
-     * 发送时间类型1立即2定时
-     */
-    @TableField("send_time_type")
-    private Integer sendTimeType;
-    /**
-     * 发送时间
-     */
-    @TableField("send_time")
-    private Date sendTime;
-    /**
-     * 门槛金额
-     */
-    @TableField("money_threshold")
-    private BigDecimal moneyThreshold;
-    /**
-     * 折扣金额
-     */
-    @TableField("dicount_money")
-    private BigDecimal dicountMoney;
-    /**
-     * 折扣百分比
-     */
-    @TableField("discout_percent")
-    private BigDecimal discoutPercent;
-    /**
-     * 使用范围1.全场2.指定商品
-     */
-    @TableField("use_scope")
-    private Integer useScope;
-    /**
-     * 有效期类型
-     */
-    @TableField("valid_time_type")
-    private Integer validTimeType;
-    /**
-     * 有效开始时间
-     */
-    @TableField("valid_start_time")
-    private Date validStartTime;
-    /**
-     * 有效截止时间
-     */
-    @TableField("valid_end_time")
-    private Date validEndTime;
-    /**
-     * 有效期
-     */
-    @TableField("valid_day")
-    private Integer validDay;
-    /**
-     * 获取时间
-     */
-    @TableField("receive_time")
-    private Date receiveTime;
-    /**
-     * 使用时间
-     */
-    @TableField("user_time")
-    private Date userTime;
-    /**
-     * 使用有效期
-     */
-    @TableField("deadline_time")
-    private Date deadlineTime;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ConsumerGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ConsumerGoods.java
deleted file mode 100644
index 91f3eae..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ConsumerGoods.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.hrt.system.domain.poji.order;
-
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 服务
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_consumer_goods")
-public class ConsumerGoods extends Model<ConsumerGoods> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 服务id
-     */
-    @TableId("consumer_goods_id")
-    private String consumerGoodsId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 服务状态-1删除1未完成2完成
-     */
-    @TableField("service_status")
-    private Integer serviceStatus;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-    /**
-     * 订单id
-     */
-    @TableField("order_id")
-    private String orderId;
-    /**
-     * 订单商品id
-     */
-    @TableField("order_goods_id")
-    private String orderGoodsId;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-    /**
-     * 商品名称
-     */
-    @TableField("goods_name")
-    private String goodsName;
-    /**
-     * 周期标记
-     */
-    @TableField("cycle_num_flag")
-    private Integer cycleNumFlag;
-    /**
-     * 服务次数
-     */
-    @TableField("service_num")
-    private Integer serviceNum;
-    /**
-     * 消耗次数
-     */
-    @TableField("used_num")
-    private Integer usedNum;
-    /**
-     * 完成时间
-     */
-    @TableField("complete_time")
-    private Date completeTime;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    /**
-     * 使用时间
-     */
-    @TableField("use_time")
-    private String useTime;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.consumerGoodsId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/Order.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/Order.java
deleted file mode 100644
index 476535f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/Order.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package com.hrt.system.domain.poji.order;
-
-import java.math.BigDecimal;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 订单
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_order")
-public class Order extends Model<Order> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 订单id
-     */
-    @TableId("order_id")
-    private String orderId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 订单状态-1.删除0.已取消1.待支付2.待核销3.已完成
-     */
-    @TableField("order_status")
-    private Integer orderStatus;
-    /**
-     * 订单编号
-     */
-    @TableField("order_no")
-    private String orderNo;
-    /**
-     * 订单来源1.商城2.秒杀活动3.线下创建
-     */
-    @TableField("order_from")
-    private Integer orderFrom;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 购买用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-    /**
-     * 订单金额
-     */
-    @TableField("order_money")
-    private BigDecimal orderMoney;
-    /**
-     * 优惠券金额
-     */
-    @TableField("coupon_money")
-    private BigDecimal couponMoney;
-    /**
-     * 优惠金额
-     */
-    @TableField("discount_money")
-    private BigDecimal discountMoney;
-    /**
-     * 应收金额
-     */
-    @TableField("receivable_money")
-    private BigDecimal receivableMoney;
-    /**
-     * 支付类型1.全款2.订金
-     */
-    @TableField("pay_type")
-    private Integer payType;
-    /**
-     * 支付金额
-     */
-    @TableField("pay_money")
-    private BigDecimal payMoney;
-    /**
-     * 线上支付金额
-     */
-    @TableField("online_pay_money")
-    private BigDecimal onlinePayMoney;
-    /**
-     * 线下支付金额
-     */
-    @TableField("offline_pay_money")
-    private BigDecimal offlinePayMoney;
-    /**
-     * 订单备注
-     */
-    @TableField("order_remark")
-    private String orderRemark;
-    /**
-     * 商品信息
-     */
-    @TableField("goods_info")
-    private String goodsInfo;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    /**
-     * 支付时间
-     */
-    @TableField("pay_time")
-    private Date payTime;
-    /**
-     * 核销时间
-     */
-    @TableField("use_time")
-    private Date useTime;
-    /**
-     * 取消时间
-     */
-    @TableField("cancel_time")
-    private Date cancelTime;
-    /**
-     * 核销用户id
-     */
-    @TableField("use_user_id")
-    private Long useUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.orderId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/OrderGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/OrderGoods.java
deleted file mode 100644
index 8dbfc77..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/OrderGoods.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.hrt.system.domain.poji.order;
-
-import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 订单商品
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_order_goods")
-public class OrderGoods extends Model<OrderGoods> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 订单商品id
-     */
-    @TableId("order_goods_id")
-    private String orderGoodsId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 订单id
-     */
-    @TableField("order_id")
-    private String orderId;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-    /**
-     * 购买数量
-     */
-    @TableField("buy_num")
-    private Integer buyNum;
-    /**
-     * 优惠券id
-     */
-    @TableField("coupon_id")
-    private String couponId;
-    /**
-     * 商品售价
-     */
-    @TableField("goods_price")
-    private BigDecimal goodsPrice;
-    /**
-     * 商品总价
-     */
-    @TableField("goods_total_money")
-    private BigDecimal goodsTotalMoney;
-    /**
-     * 商品应收金额
-     */
-    @TableField("goods_receivable_money")
-    private BigDecimal goodsReceivableMoney;
-    /**
-     * 周期次数标记
-     */
-    @TableField("cycle_num_flag")
-    private Integer cycleNumFlag;
-    /**
-     * 服务次数
-     */
-    @TableField("service_num")
-    private Integer serviceNum;
-    /**
-     * 商品类型1周期2服务3体验4单品
-     */
-    @TableField("goods_type")
-    private Integer goodsType;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.orderGoodsId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ShoppingCart.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ShoppingCart.java
deleted file mode 100644
index 72b1081..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/ShoppingCart.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.hrt.system.domain.poji.order;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 购物车
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shopping_cart")
-public class ShoppingCart extends Model<ShoppingCart> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记0否1是
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-    /**
-     * 购买数量
-     */
-    @TableField("buy_num")
-    private Integer buyNum;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    /**
-     * 更新时间
-     */
-    @TableField("update_time")
-    private Date updateTime;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/UserServiceRecord.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/UserServiceRecord.java
deleted file mode 100644
index d5b4528..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/order/UserServiceRecord.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.hrt.system.domain.poji.order;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 服务记录
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_user_service_record")
-public class UserServiceRecord extends Model<UserServiceRecord> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-    /**
-     * 服务id
-     */
-    @TableField("consumer_goods_ids")
-    private String consumerGoodsIds;
-    /**
-     * 服务名称
-     */
-    @TableField("consumer_goods_names")
-    private String consumerGoodsNames;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    /**
-     * 服务类型1.周期2.服务3.体验
-     */
-    @TableField("service_type")
-    private Integer serviceType;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTask.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTask.java
deleted file mode 100644
index 95af881..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTask.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 会员跟进任务
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_member_task")
-public class MemberTask extends Model<MemberTask> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId("task_id")
-    private String taskId;
-    @TableField("del_flag")
-    private Integer delFlag;
-    @TableField("shop_id")
-    private Long shopId;
-    @TableField("user_id")
-    private Long userId;
-    @TableField("task_date")
-    private Date taskDate;
-    @TableField("task_content")
-    private String taskContent;
-    @TableField("create_time")
-    private Date createTime;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.taskId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTaskRecord.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTaskRecord.java
deleted file mode 100644
index 327a9de..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/MemberTaskRecord.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 会员跟进任务记录
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_member_task_record")
-public class MemberTaskRecord extends Model<MemberTaskRecord> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    @TableField("del_flag")
-    private Integer delFlag;
-    @TableField("task_id")
-    private Long taskId;
-    @TableField("user_id")
-    private Long userId;
-    @TableField("follow_type")
-    private Integer followType;
-    @TableField("call_time")
-    private Date callTime;
-    @TableField("follow_content")
-    private String followContent;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/Shop.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/Shop.java
deleted file mode 100644
index f6eca28..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/Shop.java
+++ /dev/null
@@ -1,270 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户表
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop")
-public class Shop extends Model<Shop> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 商户id
-     */
-    @TableId(value = "shop_id", type = IdType.AUTO)
-    private Long shopId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private String delFlag;
-    /**
-     * 商户状态-1删除0冻结1正常2终止合作
-     */
-    @TableField("shop_status")
-    private Integer shopStatus;
-    @TableField("create_time")
-    private Date createTime;
-    @TableField("create_user_id")
-    private Long createUserId;
-    @TableField("update_time")
-    private Date updateTime;
-    @TableField("update_user_id")
-    private Long updateUserId;
-    /**
-     * 商户名称
-     */
-    @TableField("shop_name")
-    private String shopName;
-    /**
-     * 商户编号
-     */
-    @TableField("shop_number")
-    private String shopNumber;
-    /**
-     * 商户类型1.经销商2.代理商
-     */
-    @TableField("shop_type")
-    private Integer shopType;
-    /**
-     * 营业开始时间
-     */
-    @TableField("business_start_time")
-    private String businessStartTime;
-    /**
-     * 营业结束时间
-     */
-    @TableField("business_end_time")
-    private String businessEndTime;
-    /**
-     * 店主姓名
-     */
-    @TableField("shopowner_name")
-    private String shopownerName;
-    /**
-     * 店主联系方式
-     */
-    @TableField("shopowner_phone")
-    private String shopownerPhone;
-    /**
-     * 签约时间
-     */
-    @TableField("sign_time")
-    private Date signTime;
-    /**
-     * 签约省code
-     */
-    @TableField("sign_province_code")
-    private String signProvinceCode;
-    /**
-     * 签约市code
-     */
-    @TableField("sign_city_code")
-    private String signCityCode;
-    /**
-     * 签约区域code
-     */
-    @TableField("sign_area_code")
-    private String signAreaCode;
-    /**
-     * 签约区域全称
-     */
-    @TableField("sign_area_name")
-    private String signAreaName;
-
-    /**
-     * 商户服务电话
-     */
-    @TableField("shop_service_phone")
-    private String shopServicePhone;
-    /**
-     * 归属员工
-     */
-    @TableField("belong_user_id")
-    private Long belongUserId;
-    /**
-     * 归属经销商
-     */
-    @TableField("belong_shop_id")
-    private Long belongShopId;
-    /**
-     * 扶持能力1.有2.没有
-     */
-    @TableField("supporting_capacity_flag")
-    private Integer supportingCapacityFlag;
-    /**
-     * 店面操作人数1.1人2.1人以上
-     */
-    @TableField("operation_person_flag")
-    private Integer operationPersonFlag;
-    /**
-     * 执行力1.强2.弱
-     */
-    @TableField("executive_force_flag")
-    private Integer executiveForceFlag;
-    /**
-     * 格局1.大2.小
-     */
-    @TableField("pattern_flag")
-    private Integer patternFlag;
-    /**
-     * 人脉1.宽2.窄
-     */
-    @TableField("connection_flag")
-    private Integer connectionFlag;
-    /**
-     * 经济能力1.强2.差
-     */
-    @TableField("economic_ability_flag")
-    private Integer economicAbilityFlag;
-    /**
-     * 与合作商关系1.好2.差
-     */
-    @TableField("relation_partner")
-    private Integer relationPartner;
-    /**
-     * 曾从事事业
-     */
-    @TableField("business_history")
-    private String businessHistory;
-    /**
-     * 店铺地址省code
-     */
-    @TableField("shop_province_code")
-    private String shopProvinceCode;
-    /**
-     * 店铺地址市code
-     */
-    @TableField("shop_city_code")
-    private String shopCityCode;
-    /**
-     * 店铺地址区code
-     */
-    @TableField("shop_area_code")
-    private String shopAreaCode;
-    /**
-     * 店铺区域全称
-     */
-    @TableField("shop_area_name")
-    private String shopAreaName;
-    /**
-     * 店铺详细地址
-     */
-    @TableField("shop_address")
-    private String shopAddress;
-    /**
-     * 店铺经度
-     */
-    @TableField("shop_longitude")
-    private String shopLongitude;
-    /**
-     * 店铺维度
-     */
-    @TableField("shop_latitude")
-    private String shopLatitude;
-    /**
-     * 店铺详情
-     */
-    @TableField("shop_detail")
-    private String shopDetail;
-    /**
-     * 营销功能1开2关
-     */
-    @TableField("marketing_function_flag")
-    private Integer marketingFunctionFlag;
-    /**
-     * 领券1开2关
-     */
-    @TableField("platform_coupon_flag")
-    private Integer platformCouponFlag;
-    /**
-     * 生日卡1开2关
-     */
-    @TableField("platform_birthday_flag")
-    private Integer platformBirthdayFlag;
-    /**
-     * 店铺设置状态
-     */
-    @TableField("shop_custom_status")
-    private String shopCustomStatus;
-    /**
-     * 推荐人
-     */
-    @TableField("recommend_person")
-    private String recommendPerson;
-
-
-    /**
-     * 合作截止时间
-     */
-    @TableField("cooperation_end_time")
-    private Date cooperationEndTime;
-    /**
-     * 合作开始时间
-     */
-    @TableField("cooperation_start_time")
-    private Date cooperationStartTime;
-    /**
-     * 商户标签
-     */
-    @TableField("shop_tags")
-    private String shopTags;
-
-    /**
-     * 签约人
-     */
-    @TableField("sign_user_id")
-    private Long signUserId;
-
-    /**
-     * 来源渠道
-     */
-    @TableField("shop_source")
-    private String shopSource;
-
-    @Override
-    protected Serializable pkVal() {
-        return this.shopId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopCertificate.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopCertificate.java
deleted file mode 100644
index 08b4257..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopCertificate.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-
-import java.io.Serializable;
-
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户证书
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_certificate")
-public class ShopCertificate extends Model<ShopCertificate> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 证书id
-     */
-    @TableId(value = "cer_id", type = IdType.AUTO)
-    private Integer cerId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 证书状态-1删除0待审核1审核通过2审核拒绝
-     */
-    @TableField("cer_status")
-    private Integer cerStatus;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Integer shopId;
-    /**
-     * 证书名字
-     */
-    @TableField("cer_name")
-    private String cerName;
-    /**
-     * 证书编号
-     */
-    @TableField("cer_number")
-    private Integer cerNumber;
-    /**
-     * 证书图片
-     */
-    @TableField("cer_picture")
-    private String cerPicture;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.cerId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopFile.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopFile.java
deleted file mode 100644
index 4aaf267..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopFile.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户图片
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_file")
-public class ShopFile extends Model<ShopFile> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 文件类型1.封面2.图片
-     */
-    @TableField("file_type")
-    private Integer fileType;
-    /**
-     * 文件地址
-     */
-    @TableField("file_url")
-    private String fileUrl;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopGoods.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopGoods.java
deleted file mode 100644
index acf57ea..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopGoods.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.math.BigDecimal;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户定制商品
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_goods")
-public class ShopGoods extends Model<ShopGoods> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 商品id
-     */
-    @TableField("goods_id")
-    private String goodsId;
-    /**
-     * 商户售价
-     */
-    @TableField("sales_price")
-    private BigDecimal salesPrice;
-    /**
-     * 商户服务次数
-     */
-    @TableField("service_num")
-    private Integer serviceNum;
-    /**
-     * 更新时间
-     */
-    @TableField("update_time")
-    private Date updateTime;
-    /**
-     * 更新用户id
-     */
-    @TableField("update_user_id")
-    private Long updateUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopMarketing.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopMarketing.java
deleted file mode 100644
index 0f70269..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopMarketing.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户营销
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_marketing")
-public class ShopMarketing extends Model<ShopMarketing> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "shop_id", type = IdType.AUTO)
-    private Long shopId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 店铺生日活动开关1开2关
-     */
-    @TableField("shop_birthday_flag")
-    private Integer shopBirthdayFlag;
-    /**
-     * 领卷活动次数
-     */
-    @TableField("shop_coupon_count")
-    private Integer shopCouponCount;
-    /**
-     * 营销活动总计
-     */
-    @TableField("shop_marketing_total")
-    private Integer shopMarketingTotal;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.shopId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelTag.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelTag.java
deleted file mode 100644
index b7ab07c..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelTag.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户标签
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_rel_tag")
-public class ShopRelTag extends Model<ShopRelTag> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 标签id
-     */
-    @TableField("tag_id")
-    private Long tagId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelUser.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelUser.java
deleted file mode 100644
index d11e1b6..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopRelUser.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户关联员工
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_rel_user")
-public class ShopRelUser extends Model<ShopRelUser> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 用户id
-     */
-    @TableField("user_id")
-    private Long userId;
-    /**
-     * 用户手机
-     */
-    @TableField("user_mobile")
-    private String userMobile;
-    /**
-     * 用户部门id
-     */
-    @TableField("user_dept_id")
-    private Long userDeptId;
-    /**
-     * 用户姓名
-     */
-    @TableField("user_name")
-    private String userName;
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTask.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTask.java
deleted file mode 100644
index 0335d7d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTask.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户跟进任务
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_task")
-public class ShopTask extends Model<ShopTask> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId("task_id")
-    private String taskId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 跟进类型id
-     */
-    @TableField("follow_type_id")
-    private Long followTypeId;
-    /**
-     * 跟进内容
-     */
-    @TableField("follow_content")
-    private String followContent;
-    /**
-     * 下次跟进时间
-     */
-    @TableField("next_follow_date")
-    private Date nextFollowDate;
-    /**
-     * 任务标题
-     */
-    @TableField("task_title")
-    private String taskTitle;
-    /**
-     * 紧急情况id
-     */
-    @TableField("emergency_state_id")
-    private Integer emergencyStateId;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.taskId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTransferRecord.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTransferRecord.java
deleted file mode 100644
index 7705f83..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/ShopTransferRecord.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 商户员工转移记录
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_shop_transfer_record")
-public class ShopTransferRecord extends Model<ShopTransferRecord> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 商户id
-     */
-    @TableField("shop_id")
-    private Long shopId;
-    /**
-     * 转移前用户id
-     */
-    @TableField("before_user_id")
-    private Long beforeUserId;
-    /**
-     * 转移后用户id
-     */
-    @TableField("after_user_id")
-    private Long afterUserId;
-    /**
-     * 备注
-     */
-    @TableField("transfer_remark")
-    private String transferRemark;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/TaskFile.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/TaskFile.java
deleted file mode 100644
index 5c706e5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/shop/TaskFile.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.hrt.system.domain.poji.shop;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 跟进附件
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_task_file")
-public class TaskFile extends Model<TaskFile> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 跟进id
-     */
-    @TableField("follow_id")
-    private Long followId;
-    /**
-     * 跟进来源1商户2客户
-     */
-    @TableField("follow_from")
-    private Integer followFrom;
-    /**
-     * 文件地址
-     */
-    @TableField("file_url")
-    private String fileUrl;
-    /**
-     * 文件类型1.图片2.视频3.音频
-     */
-    @TableField("file_type")
-    private Integer fileType;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Advert.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Advert.java
deleted file mode 100644
index 7a8fff5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Advert.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-
-import java.util.Date;
-
-import java.io.Serializable;
-
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 快速入口
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_advert")
-public class Advert extends Model<Advert> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "ad_id", type = IdType.AUTO)
-    private Integer adId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 广告图片地址
-     */
-    @TableField("ad_url")
-    private String adUrl;
-    /**
-     * 广告语
-     */
-    @TableField("ad_content")
-    private String adContent;
-    /**
-     * 对象类型1.外链2.内链3.无
-     */
-    @TableField("target_type")
-    private Integer targetType;
-    /**
-     * 链接地址
-     */
-    @TableField("link_url")
-    private String linkUrl;
-    /**
-     * 跳转活动id
-     */
-    @TableField("jump_id")
-    private String jumpId;
-    /**
-     * logo图片地址
-     */
-    @TableField("logo_url")
-    private String logoUrl;
-    @TableField("create_time")
-    private Date createTime;
-    @TableField("create_user_id")
-    private Integer createUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.adId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Agreement.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Agreement.java
deleted file mode 100644
index c87dc99..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Agreement.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 协议
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_agreement")
-public class Agreement extends Model<Agreement> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 协议id
-     */
-    @TableId(value = "agreement_id", type = IdType.AUTO)
-    private Long agreementId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private String delFlag;
-    /**
-     * 协议类型
-     */
-    @TableField("agreement_type")
-    private Integer agreementType;
-    /**
-     * 协议内容
-     */
-    @TableField("agreement_content")
-    private String agreementContent;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    /**
-     * 创建用户id
-     */
-    @TableField("create_user_id")
-    private Long createUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.agreementId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Banner.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Banner.java
deleted file mode 100644
index 12330a0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Banner.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * banner
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_banner")
-public class Banner extends Model<Banner> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * banner id
-     */
-    @TableId(value = "banner_id", type = IdType.AUTO)
-    private Long bannerId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * banner位置1.小程序首页
-     */
-    @TableField("banner_position")
-    private Integer bannerPosition;
-    /**
-     * banner图片地址
-     */
-    @TableField("banner_url")
-    private String bannerUrl;
-    /**
-     * 链接类型1.外部2.内部3.无
-     */
-    @TableField("target_type")
-    private Integer targetType;
-    /**
-     * 链接类型1.手动输入2.选择已有
-     */
-    @TableField("link_type")
-    private Integer linkType;
-    /**
-     * 链接地址
-     */
-    @TableField("link_url")
-    private String linkUrl;
-    /**
-     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂
-     */
-    @TableField("jump_type")
-    private Integer jumpType;
-    /**
-     * 跳转id
-     */
-    @TableField("jump_id")
-    private String jumpId;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    @TableField("create_user_id")
-    private Long createUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.bannerId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/CustomeConfig.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/CustomeConfig.java
deleted file mode 100644
index f0cba81..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/CustomeConfig.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 系统配置
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_custome_config")
-public class CustomeConfig extends Model<CustomeConfig> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-    @TableField("del_flag")
-    private String delFlag;
-    private Integer type;
-    private String key;
-    private String name;
-    private String value;
-    @TableField("create_time")
-    private Date createTime;
-    @TableField("update_time")
-    private Date updateTime;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Pop.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Pop.java
deleted file mode 100644
index 8f9f5a7..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/Pop.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 弹窗
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_pop")
-public class Pop extends Model<Pop> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "pop_id", type = IdType.AUTO)
-    private Long popId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 弹窗排序
-     */
-    @TableField("pop_sort")
-    private Integer popSort;
-    /**
-     * 弹窗图片地址
-     */
-    @TableField("pop_url")
-    private String popUrl;
-    /**
-     * 展示开始时间
-     */
-    @TableField("show_start_time")
-    private Date showStartTime;
-    /**
-     * 展示结束时间
-     */
-    @TableField("show_end_time")
-    private Date showEndTime;
-    /**
-     * 对象类型1.外链2.内链3.无
-     */
-    @TableField("target_type")
-    private Integer targetType;
-    /**
-     * 链接地址
-     */
-    @TableField("link_url")
-    private String linkUrl;
-    /**
-     * 跳转活动id
-     */
-    @TableField("jump_id")
-    private String jumpId;
-    @TableField("create_time")
-    private Date createTime;
-    @TableField("create_user_id")
-    private Long createUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.popId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/QuickEntry.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/QuickEntry.java
deleted file mode 100644
index 25cd811..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/QuickEntry.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 快速入口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_quick_entry")
-public class QuickEntry extends Model<QuickEntry> {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "entry_id", type = IdType.AUTO)
-    private Long entryId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 入口排序
-     */
-    @TableField("entry_sort")
-    private Integer entrySort;
-    /**
-     * 入口图片地址
-     */
-    @TableField("entry_url")
-    private String entryUrl;
-    /**
-     * 入口名称
-     */
-    @TableField("entry_name")
-    private String entryName;
-    /**
-     * 对象类型1.外链2.内链3.无
-     */
-    @TableField("target_type")
-    private Integer targetType;
-    /**
-     * 链接地址
-     */
-    @TableField("link_url")
-    private String linkUrl;
-    /**
-     * 跳转活动id
-     */
-    @TableField("jump_id")
-    private String jumpId;
-
-    @TableField("create_time")
-    private Date createTime;
-
-    @TableField("create_user_id")
-    private Long createUserId;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.entryId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysClassification.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysClassification.java
deleted file mode 100644
index f675125..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysClassification.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 分类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_sys_classification")
-public class SysClassification extends Model<SysClassification> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 分类id
-     */
-    @TableId(value = "class_id", type = IdType.AUTO)
-    private Integer classId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 分类类型
-     */
-    @TableField("class_type")
-    private Integer classType;
-    /**
-     * 分类名字
-     */
-    @TableField("class_name")
-    private String className;
-    /**
-     * 分类排序
-     */
-    @TableField("class_sort")
-    private Integer classSort;
-    /**
-     * 关联数量
-     */
-    @TableField("realtion_num")
-    private Integer realtionNum;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-
-
-    @Override
-    protected Serializable pkVal() {
-        return this.classId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysConfig.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysConfig.java
deleted file mode 100644
index 6573ff8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysConfig.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 参数配置表 sys_config
- * 
- * @author jqs
- */
-public class SysConfig extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 参数主键 */
-    @Excel(name = "参数主键", cellType = ColumnType.NUMERIC)
-    private Long configId;
-
-    /** 参数名称 */
-    @Excel(name = "参数名称")
-    private String configName;
-
-    /** 参数键名 */
-    @Excel(name = "参数键名")
-    private String configKey;
-
-    /** 参数键值 */
-    @Excel(name = "参数键值")
-    private String configValue;
-
-    /** 系统内置(Y是 N否) */
-    @Excel(name = "系统内置", readConverterExp = "Y=是,N=否")
-    private String configType;
-
-    public Long getConfigId()
-    {
-        return configId;
-    }
-
-    public void setConfigId(Long configId)
-    {
-        this.configId = configId;
-    }
-
-    @NotBlank(message = "参数名称不能为空")
-    @Size(min = 0, max = 100, message = "参数名称不能超过100个字符")
-    public String getConfigName()
-    {
-        return configName;
-    }
-
-    public void setConfigName(String configName)
-    {
-        this.configName = configName;
-    }
-
-    @NotBlank(message = "参数键名长度不能为空")
-    @Size(min = 0, max = 100, message = "参数键名长度不能超过100个字符")
-    public String getConfigKey()
-    {
-        return configKey;
-    }
-
-    public void setConfigKey(String configKey)
-    {
-        this.configKey = configKey;
-    }
-
-    @NotBlank(message = "参数键值不能为空")
-    @Size(min = 0, max = 500, message = "参数键值长度不能超过500个字符")
-    public String getConfigValue()
-    {
-        return configValue;
-    }
-
-    public void setConfigValue(String configValue)
-    {
-        this.configValue = configValue;
-    }
-
-    public String getConfigType()
-    {
-        return configType;
-    }
-
-    public void setConfigType(String configType)
-    {
-        this.configType = configType;
-    }
-    
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("configId", getConfigId())
-            .append("configName", getConfigName())
-            .append("configKey", getConfigKey())
-            .append("configValue", getConfigValue())
-            .append("configType", getConfigType())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysNotice.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysNotice.java
deleted file mode 100644
index 1bab0e6..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysNotice.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.web.domain.BaseEntity;
-import com.hrt.common.core.xss.Xss;
-
-/**
- * 通知公告表 sys_notice
- * 
- * @author jqs
- */
-public class SysNotice extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 公告ID */
-    private Long noticeId;
-
-    /** 公告标题 */
-    private String noticeTitle;
-
-    /** 公告类型(1通知 2公告) */
-    private String noticeType;
-
-    /** 公告内容 */
-    private String noticeContent;
-
-    /** 公告状态(0正常 1关闭) */
-    private String status;
-
-    public Long getNoticeId()
-    {
-        return noticeId;
-    }
-
-    public void setNoticeId(Long noticeId)
-    {
-        this.noticeId = noticeId;
-    }
-
-    public void setNoticeTitle(String noticeTitle)
-    {
-        this.noticeTitle = noticeTitle;
-    }
-
-    @Xss(message = "公告标题不能包含脚本字符")
-    @NotBlank(message = "公告标题不能为空")
-    @Size(min = 0, max = 50, message = "公告标题不能超过50个字符")
-    public String getNoticeTitle()
-    {
-        return noticeTitle;
-    }
-
-    public void setNoticeType(String noticeType)
-    {
-        this.noticeType = noticeType;
-    }
-
-    public String getNoticeType()
-    {
-        return noticeType;
-    }
-
-    public void setNoticeContent(String noticeContent)
-    {
-        this.noticeContent = noticeContent;
-    }
-
-    public String getNoticeContent()
-    {
-        return noticeContent;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("noticeId", getNoticeId())
-            .append("noticeTitle", getNoticeTitle())
-            .append("noticeType", getNoticeType())
-            .append("noticeContent", getNoticeContent())
-            .append("status", getStatus())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysTag.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysTag.java
deleted file mode 100644
index bfa4ae7..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/sys/SysTag.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.hrt.system.domain.poji.sys;
-
-import com.baomidou.mybatisplus.annotation.IdType;;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- * 系统标签
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_sys_tag")
-public class SysTag extends Model<SysTag> {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 标签id
-     */
-    @TableId(value = "tag_id", type = IdType.AUTO)
-    private Long tagId;
-    /**
-     * 删除标记
-     */
-    @TableField("del_flag")
-    private Integer delFlag;
-    /**
-     * 标签类型1.用户2.合作商
-     */
-    @TableField("tag_type")
-    private Integer tagType;
-    /**
-     * 标签名称
-     */
-    @TableField("tag_name")
-    private String tagName;
-    /**
-     * 创建时间
-     */
-    @TableField("create_time")
-    private Date createTime;
-    /**
-     * 同步标记0否1是
-     */
-    @TableField("sys_flag")
-    private Integer sysFlag;
-
-    @Override
-    protected Serializable pkVal() {
-        return this.tagId;
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysMenu.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysMenu.java
deleted file mode 100644
index 96a3e3e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysMenu.java
+++ /dev/null
@@ -1,259 +0,0 @@
-package com.hrt.system.domain.poji.user;
-
-import java.util.ArrayList;
-import java.util.List;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 菜单权限表 sys_menu
- * 
- * @author jqs
- */
-public class SysMenu extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 菜单ID */
-    private Long menuId;
-
-    /** 菜单名称 */
-    private String menuName;
-
-    /** 父菜单名称 */
-    private String parentName;
-
-    /** 父菜单ID */
-    private Long parentId;
-
-    /** 显示顺序 */
-    private Integer orderNum;
-
-    /** 路由地址 */
-    private String path;
-
-    /** 组件路径 */
-    private String component;
-
-    /** 路由参数 */
-    private String query;
-
-    /** 是否为外链(0是 1否) */
-    private String isFrame;
-
-    /** 是否缓存(0缓存 1不缓存) */
-    private String isCache;
-
-    /** 类型(M目录 C菜单 F按钮) */
-    private String menuType;
-
-    /** 显示状态(0显示 1隐藏) */
-    private String visible;
-    
-    /** 菜单状态(0正常 1停用) */
-    private String status;
-
-    /** 权限字符串 */
-    private String perms;
-
-    /** 菜单图标 */
-    private String icon;
-
-    /** 子菜单 */
-    private List<SysMenu> children = new ArrayList<SysMenu>();
-
-    public Long getMenuId()
-    {
-        return menuId;
-    }
-
-    public void setMenuId(Long menuId)
-    {
-        this.menuId = menuId;
-    }
-
-    @NotBlank(message = "菜单名称不能为空")
-    @Size(min = 0, max = 50, message = "菜单名称长度不能超过50个字符")
-    public String getMenuName()
-    {
-        return menuName;
-    }
-
-    public void setMenuName(String menuName)
-    {
-        this.menuName = menuName;
-    }
-
-    public String getParentName()
-    {
-        return parentName;
-    }
-
-    public void setParentName(String parentName)
-    {
-        this.parentName = parentName;
-    }
-
-    public Long getParentId()
-    {
-        return parentId;
-    }
-
-    public void setParentId(Long parentId)
-    {
-        this.parentId = parentId;
-    }
-
-    @NotNull(message = "显示顺序不能为空")
-    public Integer getOrderNum()
-    {
-        return orderNum;
-    }
-
-    public void setOrderNum(Integer orderNum)
-    {
-        this.orderNum = orderNum;
-    }
-
-    @Size(min = 0, max = 200, message = "路由地址不能超过200个字符")
-    public String getPath()
-    {
-        return path;
-    }
-
-    public void setPath(String path)
-    {
-        this.path = path;
-    }
-
-    @Size(min = 0, max = 200, message = "组件路径不能超过255个字符")
-    public String getComponent()
-    {
-        return component;
-    }
-
-    public void setComponent(String component)
-    {
-        this.component = component;
-    }
-
-    public String getQuery()
-    {
-        return query;
-    }
-
-    public void setQuery(String query)
-    {
-        this.query = query;
-    }
-
-    public String getIsFrame()
-    {
-        return isFrame;
-    }
-
-    public void setIsFrame(String isFrame)
-    {
-        this.isFrame = isFrame;
-    }
-
-    public String getIsCache()
-    {
-        return isCache;
-    }
-
-    public void setIsCache(String isCache)
-    {
-        this.isCache = isCache;
-    }
-
-    @NotBlank(message = "菜单类型不能为空")
-    public String getMenuType()
-    {
-        return menuType;
-    }
-
-    public void setMenuType(String menuType)
-    {
-        this.menuType = menuType;
-    }
-
-    public String getVisible()
-    {
-        return visible;
-    }
-
-    public void setVisible(String visible)
-    {
-        this.visible = visible;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
-    public String getPerms()
-    {
-        return perms;
-    }
-
-    public void setPerms(String perms)
-    {
-        this.perms = perms;
-    }
-
-    public String getIcon()
-    {
-        return icon;
-    }
-
-    public void setIcon(String icon)
-    {
-        this.icon = icon;
-    }
-
-    public List<SysMenu> getChildren()
-    {
-        return children;
-    }
-
-    public void setChildren(List<SysMenu> children)
-    {
-        this.children = children;
-    }
-    
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("menuId", getMenuId())
-            .append("menuName", getMenuName())
-            .append("parentId", getParentId())
-            .append("orderNum", getOrderNum())
-            .append("path", getPath())
-            .append("component", getComponent())
-            .append("isFrame", getIsFrame())
-            .append("IsCache", getIsCache())
-            .append("menuType", getMenuType())
-            .append("visible", getVisible())
-            .append("status ", getStatus())
-            .append("perms", getPerms())
-            .append("icon", getIcon())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysPost.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysPost.java
deleted file mode 100644
index e9d1612..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysPost.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.hrt.system.domain.poji.user;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.hrt.common.core.annotation.Excel;
-import com.hrt.common.core.annotation.Excel.ColumnType;
-import com.hrt.common.core.web.domain.BaseEntity;
-
-/**
- * 岗位表 sys_post
- * 
- * @author jqs
- */
-public class SysPost extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 岗位序号 */
-    @Excel(name = "岗位序号", cellType = ColumnType.NUMERIC)
-    private Long postId;
-
-    /** 岗位编码 */
-    @Excel(name = "岗位编码")
-    private String postCode;
-
-    /** 岗位名称 */
-    @Excel(name = "岗位名称")
-    private String postName;
-
-    /** 岗位排序 */
-    @Excel(name = "岗位排序")
-    private Integer postSort;
-
-    /** 状态(0正常 1停用) */
-    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
-    private String status;
-
-    /** 用户是否存在此岗位标识 默认不存在 */
-    private boolean flag = false;
-
-    public Long getPostId()
-    {
-        return postId;
-    }
-
-    public void setPostId(Long postId)
-    {
-        this.postId = postId;
-    }
-
-    @NotBlank(message = "岗位编码不能为空")
-    @Size(min = 0, max = 64, message = "岗位编码长度不能超过64个字符")
-    public String getPostCode()
-    {
-        return postCode;
-    }
-
-    public void setPostCode(String postCode)
-    {
-        this.postCode = postCode;
-    }
-
-    @NotBlank(message = "岗位名称不能为空")
-    @Size(min = 0, max = 50, message = "岗位名称长度不能超过50个字符")
-    public String getPostName()
-    {
-        return postName;
-    }
-
-    public void setPostName(String postName)
-    {
-        this.postName = postName;
-    }
-
-    @NotNull(message = "显示顺序不能为空")
-    public Integer getPostSort()
-    {
-        return postSort;
-    }
-
-    public void setPostSort(Integer postSort)
-    {
-        this.postSort = postSort;
-    }
-
-    public String getStatus()
-    {
-        return status;
-    }
-
-    public void setStatus(String status)
-    {
-        this.status = status;
-    }
-
-    public boolean isFlag()
-    {
-        return flag;
-    }
-
-    public void setFlag(boolean flag)
-    {
-        this.flag = flag;
-    }
-    
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("postId", getPostId())
-            .append("postCode", getPostCode())
-            .append("postName", getPostName())
-            .append("postSort", getPostSort())
-            .append("status", getStatus())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleDept.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleDept.java
deleted file mode 100644
index 0f0682b..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleDept.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.domain.poji.user;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-/**
- * 角色和部门关联 sys_role_dept
- * 
- * @author jqs
- */
-public class SysRoleDept
-{
-    /** 角色ID */
-    private Long roleId;
-    
-    /** 部门ID */
-    private Long deptId;
-
-    public Long getRoleId()
-    {
-        return roleId;
-    }
-
-    public void setRoleId(Long roleId)
-    {
-        this.roleId = roleId;
-    }
-
-    public Long getDeptId()
-    {
-        return deptId;
-    }
-
-    public void setDeptId(Long deptId)
-    {
-        this.deptId = deptId;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("roleId", getRoleId())
-            .append("deptId", getDeptId())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleMenu.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleMenu.java
deleted file mode 100644
index ca9806c..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysRoleMenu.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.domain.poji.user;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-/**
- * 角色和菜单关联 sys_role_menu
- * 
- * @author jqs
- */
-public class SysRoleMenu
-{
-    /** 角色ID */
-    private Long roleId;
-    
-    /** 菜单ID */
-    private Long menuId;
-
-    public Long getRoleId()
-    {
-        return roleId;
-    }
-
-    public void setRoleId(Long roleId)
-    {
-        this.roleId = roleId;
-    }
-
-    public Long getMenuId()
-    {
-        return menuId;
-    }
-
-    public void setMenuId(Long menuId)
-    {
-        this.menuId = menuId;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("roleId", getRoleId())
-            .append("menuId", getMenuId())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserOnline.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserOnline.java
deleted file mode 100644
index 68cdb4d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserOnline.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.hrt.system.domain.poji.user;
-
-/**
- * 当前在线会话
- * 
- * @author jqs
- */
-public class SysUserOnline
-{
-    /** 会话编号 */
-    private String tokenId;
-
-    /** 用户名称 */
-    private String userName;
-
-    /** 登录IP地址 */
-    private String ipaddr;
-
-    /** 登录地址 */
-    private String loginLocation;
-
-    /** 浏览器类型 */
-    private String browser;
-
-    /** 操作系统 */
-    private String os;
-
-    /** 登录时间 */
-    private Long loginTime;
-
-    public String getTokenId()
-    {
-        return tokenId;
-    }
-
-    public void setTokenId(String tokenId)
-    {
-        this.tokenId = tokenId;
-    }
-
-    public String getUserName()
-    {
-        return userName;
-    }
-
-    public void setUserName(String userName)
-    {
-        this.userName = userName;
-    }
-
-    public String getIpaddr()
-    {
-        return ipaddr;
-    }
-
-    public void setIpaddr(String ipaddr)
-    {
-        this.ipaddr = ipaddr;
-    }
-
-    public String getLoginLocation()
-    {
-        return loginLocation;
-    }
-
-    public void setLoginLocation(String loginLocation)
-    {
-        this.loginLocation = loginLocation;
-    }
-
-    public String getBrowser()
-    {
-        return browser;
-    }
-
-    public void setBrowser(String browser)
-    {
-        this.browser = browser;
-    }
-
-    public String getOs()
-    {
-        return os;
-    }
-
-    public void setOs(String os)
-    {
-        this.os = os;
-    }
-
-    public Long getLoginTime()
-    {
-        return loginTime;
-    }
-
-    public void setLoginTime(Long loginTime)
-    {
-        this.loginTime = loginTime;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserPost.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserPost.java
deleted file mode 100644
index e0154eb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserPost.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.domain.poji.user;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-/**
- * 用户和岗位关联 sys_user_post
- * 
- * @author jqs
- */
-public class SysUserPost
-{
-    /** 用户ID */
-    private Long userId;
-    
-    /** 岗位ID */
-    private Long postId;
-
-    public Long getUserId()
-    {
-        return userId;
-    }
-
-    public void setUserId(Long userId)
-    {
-        this.userId = userId;
-    }
-
-    public Long getPostId()
-    {
-        return postId;
-    }
-
-    public void setPostId(Long postId)
-    {
-        this.postId = postId;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("userId", getUserId())
-            .append("postId", getPostId())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserRole.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserRole.java
deleted file mode 100644
index e3935d3..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/poji/user/SysUserRole.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.domain.poji.user;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-/**
- * 用户和角色关联 sys_user_role
- * 
- * @author jqs
- */
-public class SysUserRole
-{
-    /** 用户ID */
-    private Long userId;
-    
-    /** 角色ID */
-    private Long roleId;
-
-    public Long getUserId()
-    {
-        return userId;
-    }
-
-    public void setUserId(Long userId)
-    {
-        this.userId = userId;
-    }
-
-    public Long getRoleId()
-    {
-        return roleId;
-    }
-
-    public void setRoleId(Long roleId)
-    {
-        this.roleId = roleId;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("userId", getUserId())
-            .append("roleId", getRoleId())
-            .toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAdvertVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAdvertVo.java
deleted file mode 100644
index e92ee86..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAdvertVo.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppQuickEntryVo
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppAdvertVo {
-
-    @ApiModelProperty(value = "广告入口")
-    private Long adId;
-
-    @ApiModelProperty(value = "广告图片地址")
-    private String adUrl;
-
-    @ApiModelProperty(value = "广告语")
-    private String adContent;
-
-    @ApiModelProperty(value = "对象类型1.外链2.内链3.无")
-    private Integer targetType;
-
-    @ApiModelProperty(value = "链接地址")
-    private String linkUrl;
-
-    @ApiModelProperty(value = "跳转id")
-    private String jumpId;
-
-    @ApiModelProperty(value = "logo地址")
-    private String logoUrl;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAgreementVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAgreementVo.java
deleted file mode 100644
index b5f5a88..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppAgreementVo.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppAgreementVo
- * @description: TODO
- * @date 2023年03月07日
- * @version: 1.0
- */
-@Data
-public class AppAgreementVo {
-
-    @ApiModelProperty(value = "协议id")
-    private Long agreementId;
-
-    @ApiModelProperty(value = "协议内容")
-    private String agreementContent;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppBannerVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppBannerVo.java
deleted file mode 100644
index 03c0a86..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppBannerVo.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppBannerVo
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-
-@Data
-public class AppBannerVo {
-
-    @ApiModelProperty(value = "bannerid")
-    private Long bannerId;
-
-    @ApiModelProperty(value = "banner图片地址")
-    private String bannerUrl;
-
-    @ApiModelProperty(value = "链接类型1.外部2.内部3.无")
-    private Integer targetType;
-
-    @ApiModelProperty(value = "链接类型1.手动输入2.选择已有")
-    private Integer linkType;
-
-    @ApiModelProperty(value = "链接地址")
-    private String linkUrl;
-
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
-    private Integer jumpType;
-
-    @ApiModelProperty(value = "跳转id")
-    private String jumpId;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppGoodsInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppGoodsInfoVo.java
deleted file mode 100644
index d77c83a..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppGoodsInfoVo.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @author jqs34
- * @ClassName AppGoodsInfoVo
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppGoodsInfoVo {
-
-    @ApiModelProperty(value = "商品id")
-    private Long goodsId;
-
-    @ApiModelProperty(value = "商品名称")
-    private String goodsName;
-
-    @ApiModelProperty(value = "商品简介")
-    private String goodsIntroduction;
-
-    @ApiModelProperty(value = "商品视频")
-    private String goodsVideo;
-
-    @ApiModelProperty(value = "商品banner")
-    private String goodsBanners;
-
-    @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
-    private Integer goodsType;
-
-    @ApiModelProperty(value = "商品标签")
-    private String goodsTag;
-
-    @ApiModelProperty(value = "商品调理问题")
-    private BigDecimal goodsNurses;
-
-    @ApiModelProperty("服务次数")
-    private Integer serviceNum;
-
-    @ApiModelProperty(value = "商品售价")
-    private BigDecimal salesPrice;
-
-    @ApiModelProperty(value = "商品详情")
-    private String goodsDetail;
-
-    @ApiModelProperty(value = "销售数量")
-    private Integer salesNum;
-
-    @ApiModelProperty(value = "是否活动跳转0否1是")
-    private Integer activityFlag;
-
-    @ApiModelProperty(value = "商品活动价")
-    private BigDecimal activityPrice;
-
-    @ApiModelProperty(value = "售罄标记0否1是")
-    private Integer sellOutFlag;
-
-    @ApiModelProperty(value = "活动截止时间")
-    private Date activityDeadline;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppMiniLoginVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppMiniLoginVo.java
deleted file mode 100644
index e010df4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppMiniLoginVo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.hrt.system.api.domain.SysUser;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppGetUnionid
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-@Data
-public class AppMiniLoginVo {
-
-    @ApiModelProperty(value = "小程序openid")
-    private String miniOpenid;
-
-    @ApiModelProperty(value = "微信unionid")
-    private String wxUnionid;
-
-    @ApiModelProperty(value = "微信sessionKey")
-    private String sessionKey;
-
-    @ApiModelProperty(value = "用户信息")
-    private SysUser sysUser;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppNearbyShopVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppNearbyShopVo.java
deleted file mode 100644
index b9fa1fc..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppNearbyShopVo.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppNearbyShopDto
- * @description: TODO
- * @date 2023年04月19日
- * @version: 1.0
- */
-@Data
-public class AppNearbyShopVo {
-
-
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty(value = "商户名称")
-    private String shopName;
-
-    @ApiModelProperty(value = "商户地址")
-    private String shopAddress;
-
-    @ApiModelProperty(value = "经度")
-    private String shopLongitude;
-
-    @ApiModelProperty(value = "维度")
-    private String shopLatitude;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppQuickEntryVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppQuickEntryVo.java
deleted file mode 100644
index 46856e6..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppQuickEntryVo.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppQuickEntryVo
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppQuickEntryVo {
-
-    @ApiModelProperty(value = "快速入口")
-    private Long entryId;
-
-    @ApiModelProperty(value = "入口图片地址")
-    private String entryUrl;
-
-    @ApiModelProperty(value = "入口名称")
-    private String entryName;
-
-    @ApiModelProperty(value = "对象类型1.外链2.内链3.无")
-    private Integer targetType;
-
-    @ApiModelProperty(value = "链接地址")
-    private String linkUrl;
-
-    @ApiModelProperty(value = "跳转id")
-    private String jumpId;
-
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppShopInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppShopInfoVo.java
deleted file mode 100644
index 1dc5595..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppShopInfoVo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.hrt.system.domain.poji.shop.ShopCertificate;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author jqs34
- * @ClassName AppShopInfoVo
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppShopInfoVo {
-
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty(value = "商户名称")
-    private String shopName;
-
-    @ApiModelProperty(value = "商户地址")
-    private String shopAddress;
-
-    @ApiModelProperty(value = "经度")
-    private String shopLongitude;
-
-    @ApiModelProperty(value = "维度")
-    private String shopLatitude;
-
-    @ApiModelProperty("营业开始时间")
-    private String businessStartTime;
-
-    @ApiModelProperty("营业结束时间")
-    private String businessEndTime;
-
-    @ApiModelProperty("商户标签")
-    private String shopTags;
-
-    @ApiModelProperty("商户服务电话")
-    private String shopServicePhone;
-
-    @ApiModelProperty("商户封面")
-    private String shopPicture;
-
-    @ApiModelProperty("商户banners")
-    private String shopBanners;
-
-    @ApiModelProperty("店铺详情")
-    private String shopDetail;
-
-    @ApiModelProperty("店铺证书")
-    private List<ShopCertificate> shopCertificateList;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleActivityGoodsVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleActivityGoodsVo.java
deleted file mode 100644
index 0f41c50..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleActivityGoodsVo.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author jqs34
- * @ClassName AppSimpleGoodsVo
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppSimpleActivityGoodsVo {
-
-    @ApiModelProperty(value = "商品id")
-    private Long goodsId;
-
-    @ApiModelProperty(value = "商品名称")
-    private String goodsName;
-
-    @ApiModelProperty(value = "商品简介")
-    private String goodsIntroduction;
-
-    @ApiModelProperty(value = "商品图片")
-    private String goodsPicture;
-
-    @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
-    private Integer goodsType;
-
-    @ApiModelProperty(value = "商品标签")
-    private String goodsTag;
-
-    @ApiModelProperty(value = "商品调理问题")
-    private BigDecimal goodsNurses;
-
-    @ApiModelProperty(value = "商品售价")
-    private BigDecimal salesPrice;
-
-    @ApiModelProperty(value = "商品活动价")
-    private BigDecimal activityPrice;
-
-    @ApiModelProperty(value = "活动销售数量")
-    private Integer activityNumber;
-
-    @ApiModelProperty(value = "已售数量")
-    private Integer salesNumber;
-
-    @ApiModelProperty(value = "已售比例")
-    private BigDecimal salesPercent;
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleGoodsVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleGoodsVo.java
deleted file mode 100644
index 5c54f36..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppSimpleGoodsVo.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author jqs34
- * @ClassName AppSimpleGoodsVo
- * @description: TODO
- * @date 2023年04月20日
- * @version: 1.0
- */
-@Data
-public class AppSimpleGoodsVo {
-
-    @ApiModelProperty(value = "商品id")
-    private Long goodsId;
-
-    @ApiModelProperty(value = "商品名称")
-    private String goodsName;
-
-    @ApiModelProperty(value = "商品简介")
-    private String goodsIntroduction;
-
-    @ApiModelProperty(value = "商品图片")
-    private String goodsPicture;
-
-    @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
-    private Integer goodsType;
-
-    @ApiModelProperty(value = "商品标签")
-    private String goodsTag;
-
-    @ApiModelProperty(value = "商品调理问题")
-    private BigDecimal goodsNurses;
-
-    @ApiModelProperty(value = "商品售价")
-    private BigDecimal salesPrice;
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppUserAuthorizeVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppUserAuthorizeVo.java
deleted file mode 100644
index 0e23544..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/AppUserAuthorizeVo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName AppUserAuthorizeDto
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-@Data
-public class AppUserAuthorizeVo {
-
-    @ApiModelProperty(value = "微信openid")
-    private String openid;
-
-    @ApiModelProperty(value = "微信unionid")
-    private String unionid;
-
-    @ApiModelProperty(value = "微信昵称")
-    private String nickName;
-
-    @ApiModelProperty(value = "用户手机")
-    private String mobile;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerHomeShopTotalVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerHomeShopTotalVo.java
deleted file mode 100644
index 52520ff..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerHomeShopTotalVo.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author jqs34
- * @ClassName MerHomeShopTotalVo
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MerHomeShopTotalVo {
-
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty(value = "今日到店")
-    private Integer todayShop;
-
-    @ApiModelProperty(value = "待处理订单")
-    private Integer unHandleOrder;
-
-    @ApiModelProperty(value = "跟进任务")
-    private Integer task;
-
-    @ApiModelProperty(value = "店铺营业额")
-    private BigDecimal shopTurnover;
-
-    @ApiModelProperty(value = "剩余周期人数")
-    private Integer cycleSurp;
-
-    @ApiModelProperty(value = "剩余体验人数")
-    private Integer explorationSurp;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerShopInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerShopInfoVo.java
deleted file mode 100644
index 5f3c5cd..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MerShopInfoVo.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.hrt.system.domain.poji.shop.ShopCertificate;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author jqs34
- * @ClassName MerShopInfoVo
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MerShopInfoVo {
-
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty("商户名称")
-    private String shopName;
-
-    @ApiModelProperty("商户类型1.经销商2.代理商")
-    private Integer shopType;
-
-    @ApiModelProperty("营业开始时间")
-    private String businessStartTime;
-
-    @ApiModelProperty("营业结束时间")
-    private String businessEndTime;
-
-    @ApiModelProperty("店主姓名")
-    private String shopownerName;
-
-    @ApiModelProperty("店主联系方式")
-    private String shopownerPhone;
-
-    @ApiModelProperty("签约区域")
-    private String signAreaCode;
-
-    @ApiModelProperty("商户服务电话")
-    private String shopServicePhone;
-
-    @ApiModelProperty("管辖员工")
-    private Long belongUserId;
-
-    @ApiModelProperty("所属经销商")
-    private Long belongShopId;
-
-    @ApiModelProperty("扶持能力1.有2.没有")
-    private Integer supportingCapacityFlag;
-
-    @ApiModelProperty("店面操作人数1.1人2.1人以上")
-    private Integer operationPersonFlag;
-
-    @ApiModelProperty("执行力1.强2.弱")
-    private Integer executiveForceFlag;
-
-    @ApiModelProperty("格局1.大2.小")
-    private Integer patternFlag;
-
-    @ApiModelProperty("人脉1.宽2.窄")
-    private Integer connectionFlag;
-
-    @ApiModelProperty("经济能力1.强2.差")
-    private Integer economicAbilityFlag;
-
-    @ApiModelProperty("与合作商关系1.好2.差")
-    private Integer relationPartner;
-
-    @ApiModelProperty("曾从事事业")
-    private String businessHistory;
-
-    @ApiModelProperty("店铺地址省code")
-    private String shopProvinceCode;
-
-    @ApiModelProperty("店铺地址市code")
-    private String shopCityCode;
-
-    @ApiModelProperty("店铺地址区code")
-    private String shopAreaCode;
-
-    @ApiModelProperty("店铺区域全称")
-    private String shopAreaName;
-
-    @ApiModelProperty("店铺详细地址")
-    private String shopAddress;
-
-    @ApiModelProperty("店铺经度")
-    private String shopLongitude;
-
-    @ApiModelProperty("店铺维度")
-    private String shopLatitude;
-
-    @ApiModelProperty("店铺详情")
-    private String shopDetail;
-
-    @ApiModelProperty("营销功能1开2关")
-    private Integer marketingFunctionFlag;
-
-    @ApiModelProperty("领券1开2关")
-    private Integer platformCouponFlag;
-
-    @ApiModelProperty("生日卡1开2关")
-    private Integer platformBirthdayFlag;
-
-    @ApiModelProperty("推荐人")
-    private String recommendPerson;
-
-    @ApiModelProperty("商户标签id 多个用,隔开")
-    private String shopTagIds;
-
-    @ApiModelProperty("商户标签")
-    private String shopTags;
-
-    @ApiModelProperty("关联用户id 多个用,隔开")
-    private String relUserIds;
-
-    @ApiModelProperty("关联用户")
-    private String relUsers;
-
-    @ApiModelProperty("商户封面")
-    private String shopPicture;
-
-    @ApiModelProperty("商户banner 多个用,隔开")
-    private String shopBanners;
-
-    @ApiModelProperty("证书list")
-    private List<ShopCertificate> shopCertificateList;
-
-
-
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MetaVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MetaVo.java
deleted file mode 100644
index e87a8be..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MetaVo.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.hrt.common.core.utils.StringUtils;
-
-/**
- * 路由显示信息
- * 
- * @author jqs
- */
-public class MetaVo
-{
-    /**
-     * 设置该路由在侧边栏和面包屑中展示的名字
-     */
-    private String title;
-
-    /**
-     * 设置该路由的图标,对应路径src/assets/icons/svg
-     */
-    private String icon;
-
-    /**
-     * 设置为true,则不会被 <keep-alive>缓存
-     */
-    private boolean noCache;
-
-    /**
-     * 内链地址(http(s)://开头)
-     */
-    private String link;
-
-    public MetaVo()
-    {
-    }
-
-    public MetaVo(String title, String icon)
-    {
-        this.title = title;
-        this.icon = icon;
-    }
-
-    public MetaVo(String title, String icon, boolean noCache)
-    {
-        this.title = title;
-        this.icon = icon;
-        this.noCache = noCache;
-    }
-
-    public MetaVo(String title, String icon, String link)
-    {
-        this.title = title;
-        this.icon = icon;
-        this.link = link;
-    }
-
-    public MetaVo(String title, String icon, boolean noCache, String link)
-    {
-        this.title = title;
-        this.icon = icon;
-        this.noCache = noCache;
-        if (StringUtils.ishttp(link))
-        {
-            this.link = link;
-        }
-    }
-
-    public boolean isNoCache()
-    {
-        return noCache;
-    }
-
-    public void setNoCache(boolean noCache)
-    {
-        this.noCache = noCache;
-    }
-
-    public String getTitle()
-    {
-        return title;
-    }
-
-    public void setTitle(String title)
-    {
-        this.title = title;
-    }
-
-    public String getIcon()
-    {
-        return icon;
-    }
-
-    public void setIcon(String icon)
-    {
-        this.icon = icon;
-    }
-
-    public String getLink()
-    {
-        return link;
-    }
-
-    public void setLink(String link)
-    {
-        this.link = link;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopInfoVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopInfoVo.java
deleted file mode 100644
index 407556d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopInfoVo.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.hrt.system.domain.poji.shop.ShopCertificate;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author jqs34
- * @ClassName MgtShopInfoVo
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtShopInfoVo {
-
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty("商户名称")
-    private String shopName;
-
-    @ApiModelProperty("商户类型1.经销商2.代理商")
-    private Integer shopType;
-
-    @ApiModelProperty("营业开始时间")
-    private String businessStartTime;
-
-    @ApiModelProperty("营业结束时间")
-    private String businessEndTime;
-
-    @ApiModelProperty("店主姓名")
-    private String shopownerName;
-
-    @ApiModelProperty("店主联系方式")
-    private String shopownerPhone;
-
-    @ApiModelProperty("签约区域")
-    private String signAreaCode;
-
-    @ApiModelProperty("商户服务电话")
-    private String shopServicePhone;
-
-    @ApiModelProperty("管辖员工")
-    private Long belongUserId;
-
-    @ApiModelProperty("所属经销商")
-    private Long belongShopId;
-
-    @ApiModelProperty("扶持能力1.有2.没有")
-    private Integer supportingCapacityFlag;
-
-    @ApiModelProperty("店面操作人数1.1人2.1人以上")
-    private Integer operationPersonFlag;
-
-    @ApiModelProperty("执行力1.强2.弱")
-    private Integer executiveForceFlag;
-
-    @ApiModelProperty("格局1.大2.小")
-    private Integer patternFlag;
-
-    @ApiModelProperty("人脉1.宽2.窄")
-    private Integer connectionFlag;
-
-    @ApiModelProperty("经济能力1.强2.差")
-    private Integer economicAbilityFlag;
-
-    @ApiModelProperty("与合作商关系1.好2.差")
-    private Integer relationPartner;
-
-    @ApiModelProperty("曾从事事业")
-    private String businessHistory;
-
-    @ApiModelProperty("店铺地址省code")
-    private String shopProvinceCode;
-
-    @ApiModelProperty("店铺地址市code")
-    private String shopCityCode;
-
-    @ApiModelProperty("店铺地址区code")
-    private String shopAreaCode;
-
-    @ApiModelProperty("店铺区域全称")
-    private String shopAreaName;
-
-    @ApiModelProperty("店铺详细地址")
-    private String shopAddress;
-
-    @ApiModelProperty("店铺经度")
-    private String shopLongitude;
-
-    @ApiModelProperty("店铺维度")
-    private String shopLatitude;
-
-    @ApiModelProperty("店铺详情")
-    private String shopDetail;
-
-    @ApiModelProperty("营销功能1开2关")
-    private Integer marketingFunctionFlag;
-
-    @ApiModelProperty("领券1开2关")
-    private Integer platformCouponFlag;
-
-    @ApiModelProperty("生日卡1开2关")
-    private Integer platformBirthdayFlag;
-
-    @ApiModelProperty("推荐人")
-    private String recommendPerson;
-
-    @ApiModelProperty("商户标签id 多个用,隔开")
-    private String shopTagIds;
-
-    @ApiModelProperty("商户标签")
-    private String shopTags;
-
-    @ApiModelProperty("关联用户id 多个用,隔开")
-    private String relUserIds;
-
-    @ApiModelProperty("关联用户")
-    private String relUsers;
-
-    @ApiModelProperty("商户封面")
-    private String shopPicture;
-
-    @ApiModelProperty("商户banner 多个用,隔开")
-    private String shopBanners;
-
-    @ApiModelProperty("证书list")
-    private List<ShopCertificate> shopCertificateList;
-
-
-
-
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopPageVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopPageVo.java
deleted file mode 100644
index 040e0ea..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopPageVo.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author jqs34
- * @ClassName MgtShopPageVo
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtShopPageVo {
-
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty("签约时间")
-    private String signTime;
-
-    @ApiModelProperty("商户名称")
-    private String shopName;
-
-    @ApiModelProperty("商户编号")
-    private String shopNumber;
-
-    @ApiModelProperty("商户标签")
-    private String shopTags;
-
-    @ApiModelProperty("签约人")
-    private String signUser;
-
-    @ApiModelProperty("首提金额")
-    private BigDecimal firstWithdraw;
-
-    @ApiModelProperty("关联员工")
-    private BigDecimal belongUser;
-
-    @ApiModelProperty("关联部门")
-    private BigDecimal belongDept;
-
-    @ApiModelProperty("来源渠道")
-    private String shopSource;
-
-    @ApiModelProperty("签约区域")
-    private String signAreaName;
-
-    @ApiModelProperty("合作期限")
-    private String cooperationTime;
-
-    @ApiModelProperty("店铺地址")
-    private String shopAddress;
-
-    @ApiModelProperty("店主姓名")
-    private String shopownerName;
-
-    @ApiModelProperty("店主联系方式")
-    private String shopownerPhone;
-
-    @ApiModelProperty("商户状态-1删除0冻结1正常2终止合作")
-    private Integer shopStatus;
-
-    @ApiModelProperty("商户活动次数")
-    private Integer shopActivityCount;
-
-    @ApiModelProperty("店铺设置状态")
-    private String shopCustomStatus;
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopTagVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopTagVo.java
deleted file mode 100644
index c6482d0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/MgtShopTagVo.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @author jqs34
- * @ClassName MgtShopTagVo
- * @description: TODO
- * @date 2023年04月21日
- * @version: 1.0
- */
-@Data
-public class MgtShopTagVo {
-
-    @ApiModelProperty(value = "标签id")
-    private Long tagId;
-
-    @ApiModelProperty(value = "标签名称")
-    private String tagName;
-
-    @ApiModelProperty(value = "是否选择0否1是")
-    private Integer selectFlag;
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/RouterVo.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/RouterVo.java
deleted file mode 100644
index ad6cbdb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/RouterVo.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import java.util.List;
-
-/**
- * 路由配置信息
- * 
- * @author jqs
- */
-@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public class RouterVo
-{
-    /**
-     * 路由名字
-     */
-    private String name;
-
-    /**
-     * 路由地址
-     */
-    private String path;
-
-    /**
-     * 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现
-     */
-    private boolean hidden;
-
-    /**
-     * 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
-     */
-    private String redirect;
-
-    /**
-     * 组件地址
-     */
-    private String component;
-
-    /**
-     * 路由参数:如 {"id": 1, "name": "ry"}
-     */
-    private String query;
-
-    /**
-     * 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
-     */
-    private Boolean alwaysShow;
-
-    /**
-     * 其他元素
-     */
-    private MetaVo meta;
-
-    /**
-     * 子路由
-     */
-    private List<RouterVo> children;
-
-    public String getName()
-    {
-        return name;
-    }
-
-    public void setName(String name)
-    {
-        this.name = name;
-    }
-
-    public String getPath()
-    {
-        return path;
-    }
-
-    public void setPath(String path)
-    {
-        this.path = path;
-    }
-
-    public boolean getHidden()
-    {
-        return hidden;
-    }
-
-    public void setHidden(boolean hidden)
-    {
-        this.hidden = hidden;
-    }
-
-    public String getRedirect()
-    {
-        return redirect;
-    }
-
-    public void setRedirect(String redirect)
-    {
-        this.redirect = redirect;
-    }
-
-    public String getComponent()
-    {
-        return component;
-    }
-
-    public void setComponent(String component)
-    {
-        this.component = component;
-    }
-
-    public String getQuery()
-    {
-        return query;
-    }
-
-    public void setQuery(String query)
-    {
-        this.query = query;
-    }
-
-    public Boolean getAlwaysShow()
-    {
-        return alwaysShow;
-    }
-
-    public void setAlwaysShow(Boolean alwaysShow)
-    {
-        this.alwaysShow = alwaysShow;
-    }
-
-    public MetaVo getMeta()
-    {
-        return meta;
-    }
-
-    public void setMeta(MetaVo meta)
-    {
-        this.meta = meta;
-    }
-
-    public List<RouterVo> getChildren()
-    {
-        return children;
-    }
-
-    public void setChildren(List<RouterVo> children)
-    {
-        this.children = children;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/TreeSelect.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/TreeSelect.java
deleted file mode 100644
index 9a00e21..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/domain/vo/TreeSelect.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.hrt.system.domain.vo;
-
-import java.io.Serializable;
-import java.util.List;
-import java.util.stream.Collectors;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.hrt.system.api.domain.SysDept;
-import com.hrt.system.domain.poji.user.SysMenu;
-
-/**
- * Treeselect树结构实体类
- * 
- * @author jqs
- */
-public class TreeSelect implements Serializable
-{
-    private static final long serialVersionUID = 1L;
-
-    /** 节点ID */
-    private Long id;
-
-    /** 节点名称 */
-    private String label;
-
-    /** 子节点 */
-    @JsonInclude(JsonInclude.Include.NON_EMPTY)
-    private List<TreeSelect> children;
-
-    public TreeSelect()
-    {
-
-    }
-
-    public TreeSelect(SysDept dept)
-    {
-        this.id = dept.getDeptId();
-        this.label = dept.getDeptName();
-        this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
-    }
-
-    public TreeSelect(SysMenu menu)
-    {
-        this.id = menu.getMenuId();
-        this.label = menu.getMenuName();
-        this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
-    }
-
-    public Long getId()
-    {
-        return id;
-    }
-
-    public void setId(Long id)
-    {
-        this.id = id;
-    }
-
-    public String getLabel()
-    {
-        return label;
-    }
-
-    public void setLabel(String label)
-    {
-        this.label = label;
-    }
-
-    public List<TreeSelect> getChildren()
-    {
-        return children;
-    }
-
-    public void setChildren(List<TreeSelect> children)
-    {
-        this.children = children;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/activity/ActivityGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/activity/ActivityGoodsMapper.java
deleted file mode 100644
index fda05cc..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/activity/ActivityGoodsMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hrt.system.mapper.activity;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.activity.ActivityGoods;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-21
- */
-public interface ActivityGoodsMapper extends BaseMapper<ActivityGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponMapper.java
deleted file mode 100644
index 1410465..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.coupon;
-
-import com.hrt.system.domain.poji.coupon.Coupon;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponMapper extends BaseMapper<Coupon> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelGoodsMapper.java
deleted file mode 100644
index 88cba61..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelGoodsMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.coupon;
-
-import com.hrt.system.domain.poji.coupon.CouponRelGoods;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 优惠券商品关联 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponRelGoodsMapper extends BaseMapper<CouponRelGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelUserMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelUserMapper.java
deleted file mode 100644
index b3d2d06..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponRelUserMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.coupon;
-
-import com.hrt.system.domain.poji.coupon.CouponRelUser;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 优惠券用户关联 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponRelUserMapper extends BaseMapper<CouponRelUser> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponTotalMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponTotalMapper.java
deleted file mode 100644
index 283b6a0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/coupon/CouponTotalMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.coupon;
-
-import com.hrt.system.domain.poji.coupon.CouponTotal;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponTotalMapper extends BaseMapper<CouponTotal> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsFileMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsFileMapper.java
deleted file mode 100644
index acca2c9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsFileMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsFile;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商品图片 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsFileMapper extends BaseMapper<GoodsFile> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsMapper.java
deleted file mode 100644
index 16d9f88..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsMapper.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hrt.system.mapper.goods;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.hrt.system.domain.dto.AppSearchGoodsPageDto;
-import com.hrt.system.domain.dto.AppShopGoodsPageDto;
-import com.hrt.system.domain.poji.goods.Goods;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.vo.AppSimpleActivityGoodsVo;
-import com.hrt.system.domain.vo.AppSimpleGoodsVo;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * <p>
- * 商品表 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsMapper extends BaseMapper<Goods> {
-
-    /**
-     * 获取推荐商品列表
-     * @param page
-     * @return
-     */
-    List<AppSimpleGoodsVo> pageRecommendGoods(Page page, @Param("shopId")Long shopId);
-
-    /**
-     * 获取商城商品列表
-     * @param page
-     * @param appShopGoodsPageDto
-     * @return
-     */
-    List<AppSimpleGoodsVo> pageShopGoods(Page page, @Param("param")AppShopGoodsPageDto appShopGoodsPageDto);
-
-    /**
-     * 获取搜索商品列表
-     * @param page
-     * @param appSearchGoodsPageDto
-     * @return
-     */
-    List<AppSimpleGoodsVo> pageSearchGoods(Page page, @Param("param")AppSearchGoodsPageDto appSearchGoodsPageDto);
-
-    /**
-     * 获取搜索商品列表
-     * @param page
-     * @param appSearchGoodsPageDto
-     * @return
-     */
-    List<AppSimpleActivityGoodsVo> pageSearchActivityGoods(Page page, @Param("param")AppSearchGoodsPageDto appSearchGoodsPageDto);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelNurseMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelNurseMapper.java
deleted file mode 100644
index c8c46d8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelNurseMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsRelNurse;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商品调理问题 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsRelNurseMapper extends BaseMapper<GoodsRelNurse> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelTagMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelTagMapper.java
deleted file mode 100644
index 61f38f0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsRelTagMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsRelTag;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商品标签 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsRelTagMapper extends BaseMapper<GoodsRelTag> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsTotalMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsTotalMapper.java
deleted file mode 100644
index 039040d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/goods/GoodsTotalMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsTotal;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface GoodsTotalMapper extends BaseMapper<GoodsTotal> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveFieldsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveFieldsMapper.java
deleted file mode 100644
index 39967f4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveFieldsMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.member;
-
-import com.hrt.system.domain.poji.member.MemberArchiveFields;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 档案字段 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberArchiveFieldsMapper extends BaseMapper<MemberArchiveFields> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveMapper.java
deleted file mode 100644
index 068ef15..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberArchiveMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.member;
-
-import com.hrt.system.domain.poji.member.MemberArchive;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 会员档案信息 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberArchiveMapper extends BaseMapper<MemberArchive> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberMapper.java
deleted file mode 100644
index b453378..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.system.mapper.member;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.member.Member;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-19
- */
-public interface MemberMapper extends BaseMapper<Member> {
-
-    /**
-     *
-     * @param miniOpenid
-     * @return
-     */
-    Member getOneByMiniOpenid(@Param("miniOpenid")String miniOpenid);
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberNurseMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberNurseMapper.java
deleted file mode 100644
index b1d4edb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/MemberNurseMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.member;
-
-import com.hrt.system.domain.poji.member.MemberNurse;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 用户调理问题 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-public interface MemberNurseMapper extends BaseMapper<MemberNurse> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/UserCouponMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/UserCouponMapper.java
deleted file mode 100644
index 8423d02..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/member/UserCouponMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.member;
-
-import com.hrt.system.domain.poji.member.UserCoupon;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface UserCouponMapper extends BaseMapper<UserCoupon> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ConsumerGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ConsumerGoodsMapper.java
deleted file mode 100644
index 0a62d64..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ConsumerGoodsMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.order;
-
-import com.hrt.system.domain.poji.order.ConsumerGoods;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 服务 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ConsumerGoodsMapper extends BaseMapper<ConsumerGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderGoodsMapper.java
deleted file mode 100644
index 99b7530..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderGoodsMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.order;
-
-import com.hrt.system.domain.poji.order.OrderGoods;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 订单商品 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderMapper.java
deleted file mode 100644
index d5a3cc5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/OrderMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.order;
-
-import com.hrt.system.domain.poji.order.Order;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 订单 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface OrderMapper extends BaseMapper<Order> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ShoppingCartMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ShoppingCartMapper.java
deleted file mode 100644
index f2cb7d4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/ShoppingCartMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.order;
-
-import com.hrt.system.domain.poji.order.ShoppingCart;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 购物车 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShoppingCartMapper extends BaseMapper<ShoppingCart> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/UserServiceRecordMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/UserServiceRecordMapper.java
deleted file mode 100644
index 291ae14..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/order/UserServiceRecordMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.order;
-
-import com.hrt.system.domain.poji.order.UserServiceRecord;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 服务记录 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface UserServiceRecordMapper extends BaseMapper<UserServiceRecord> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskMapper.java
deleted file mode 100644
index bfbf526..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.MemberTask;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 会员跟进任务 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberTaskMapper extends BaseMapper<MemberTask> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskRecordMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskRecordMapper.java
deleted file mode 100644
index c8e7ff0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/MemberTaskRecordMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.MemberTaskRecord;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 会员跟进任务记录 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberTaskRecordMapper extends BaseMapper<MemberTaskRecord> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopCertificateMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopCertificateMapper.java
deleted file mode 100644
index 8b7adaf..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopCertificateMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.shop.ShopCertificate;
-
-
-/**
- * <p>
- * 商户证书 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-public interface ShopCertificateMapper extends BaseMapper<ShopCertificate> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopFileMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopFileMapper.java
deleted file mode 100644
index f6f2407..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopFileMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.ShopFile;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商户图片 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopFileMapper extends BaseMapper<ShopFile> {
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    void deleteByShopId(Long shopId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopGoodsMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopGoodsMapper.java
deleted file mode 100644
index a1438fc..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopGoodsMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.ShopGoods;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商户定制商品 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopGoodsMapper extends BaseMapper<ShopGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMapper.java
deleted file mode 100644
index a44158f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMapper.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.hrt.system.domain.dto.MgtShopPageDto;
-import com.hrt.system.domain.poji.shop.Shop;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.vo.MgtShopPageVo;
-
-import java.util.List;
-
-/**
- * <p>
- * 商户表 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopMapper extends BaseMapper<Shop> {
-    /**
-     * 分页获取商户
-     * @param page
-     * @param mgtShopPageDto
-     * @return
-     */
-    List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMarketingMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMarketingMapper.java
deleted file mode 100644
index 471754f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopMarketingMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.ShopMarketing;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商户营销 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopMarketingMapper extends BaseMapper<ShopMarketing> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelTagMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelTagMapper.java
deleted file mode 100644
index 8f447a0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelTagMapper.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.ShopRelTag;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.vo.MgtShopTagVo;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * <p>
- * 商户标签 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopRelTagMapper extends BaseMapper<ShopRelTag> {
-
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    void deleteByShopId(@Param("param") Long shopId);
-
-    /**
-     * 获取商户标签
-     * @param shopId
-     * @return
-     */
-    List<MgtShopTagVo> listShopTagVo(@Param("param")Long shopId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelUserMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelUserMapper.java
deleted file mode 100644
index a064295..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopRelUserMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.ShopRelUser;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商户关联员工 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopRelUserMapper extends BaseMapper<ShopRelUser> {
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    void deleteByShopId(Long shopId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTaskMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTaskMapper.java
deleted file mode 100644
index f569f13..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTaskMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.ShopTask;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商户跟进任务 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopTaskMapper extends BaseMapper<ShopTask> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTransferRecordMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTransferRecordMapper.java
deleted file mode 100644
index f191304..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/ShopTransferRecordMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.ShopTransferRecord;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 商户员工转移记录 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopTransferRecordMapper extends BaseMapper<ShopTransferRecord> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/TaskFileMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/TaskFileMapper.java
deleted file mode 100644
index 8863120..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/shop/TaskFileMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.shop;
-
-import com.hrt.system.domain.poji.shop.TaskFile;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 跟进附件 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface TaskFileMapper extends BaseMapper<TaskFile> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AdvertMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AdvertMapper.java
deleted file mode 100644
index 0f1dfff..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AdvertMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.sys.Advert;
-import com.hrt.system.domain.vo.AppAdvertVo;
-
-/**
- * <p>
- * 快速入口 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-public interface AdvertMapper extends BaseMapper<Advert> {
-
-    /**
-     * 获取首页广告
-     * @return
-     */
-    AppAdvertVo getAdvertVo();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AgreementMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AgreementMapper.java
deleted file mode 100644
index 93349c5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/AgreementMapper.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.hrt.system.domain.poji.sys.Agreement;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.vo.AppAgreementVo;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * 协议 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface AgreementMapper extends BaseMapper<Agreement> {
-
-    /**
-     * 通过协议类型获取协议
-     * @param type
-     * @return
-     */
-    AppAgreementVo getAppAgreementVoByType(@Param("type")Integer type);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/BannerMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/BannerMapper.java
deleted file mode 100644
index 4431e2b..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/BannerMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.hrt.system.domain.poji.sys.Banner;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.vo.AppBannerVo;
-
-import java.util.List;
-
-/**
- * <p>
- * banner Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface BannerMapper extends BaseMapper<Banner> {
-
-
-    /**
-     * 获取首页banner
-     * @return
-     */
-    List<AppBannerVo> listHomeBannerVo();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/CustomeConfigMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/CustomeConfigMapper.java
deleted file mode 100644
index 0d4e335..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/CustomeConfigMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.hrt.system.domain.poji.sys.CustomeConfig;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 系统配置 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface CustomeConfigMapper extends BaseMapper<CustomeConfig> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/PopMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/PopMapper.java
deleted file mode 100644
index eb603f8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/PopMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.hrt.system.domain.poji.sys.Pop;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 弹窗 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface PopMapper extends BaseMapper<Pop> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/QuickEntryMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/QuickEntryMapper.java
deleted file mode 100644
index 9824358..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/QuickEntryMapper.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.hrt.system.domain.poji.sys.QuickEntry;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.vo.AppQuickEntryVo;
-
-import java.util.List;
-
-/**
- * <p>
- * 快速入口 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface QuickEntryMapper extends BaseMapper<QuickEntry> {
-
-    /**
-     * 获取快速入口列表
-     * @return
-     */
-    List<AppQuickEntryVo> listQuickEntryVo();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysClassificationMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysClassificationMapper.java
deleted file mode 100644
index b93b026..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysClassificationMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.hrt.system.domain.poji.sys.SysClassification;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 分类 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface SysClassificationMapper extends BaseMapper<SysClassification> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysConfigMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysConfigMapper.java
deleted file mode 100644
index 1b93f76..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysConfigMapper.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.sys.SysConfig;
-
-/**
- * 参数配置 数据层
- * 
- * @author jqs
- */
-public interface SysConfigMapper extends BaseMapper<SysConfig>
-{
-    /**
-     * 查询参数配置信息
-     * 
-     * @param config 参数配置信息
-     * @return 参数配置信息
-     */
-    public SysConfig selectConfig(SysConfig config);
-
-    /**
-     * 通过ID查询配置
-     * 
-     * @param configId 参数ID
-     * @return 参数配置信息
-     */
-    public SysConfig selectConfigById(Long configId);
-
-    /**
-     * 查询参数配置列表
-     * 
-     * @param config 参数配置信息
-     * @return 参数配置集合
-     */
-    public List<SysConfig> selectConfigList(SysConfig config);
-
-    /**
-     * 根据键名查询参数配置信息
-     * 
-     * @param configKey 参数键名
-     * @return 参数配置信息
-     */
-    public SysConfig checkConfigKeyUnique(String configKey);
-
-    /**
-     * 新增参数配置
-     * 
-     * @param config 参数配置信息
-     * @return 结果
-     */
-    public int insertConfig(SysConfig config);
-
-    /**
-     * 修改参数配置
-     * 
-     * @param config 参数配置信息
-     * @return 结果
-     */
-    public int updateConfig(SysConfig config);
-
-    /**
-     * 删除参数配置
-     * 
-     * @param configId 参数ID
-     * @return 结果
-     */
-    public int deleteConfigById(Long configId);
-
-    /**
-     * 批量删除参数信息
-     * 
-     * @param configIds 需要删除的参数ID
-     * @return 结果
-     */
-    public int deleteConfigByIds(Long[] configIds);
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictDataMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictDataMapper.java
deleted file mode 100644
index e276335..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictDataMapper.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
-import com.hrt.system.api.domain.SysDictData;
-
-/**
- * 字典表 数据层
- * 
- * @author jqs
- */
-public interface SysDictDataMapper extends BaseMapper<SysDictData>
-{
-    /**
-     * 根据条件分页查询字典数据
-     * 
-     * @param dictData 字典数据信息
-     * @return 字典数据集合信息
-     */
-    public List<SysDictData> selectDictDataList(SysDictData dictData);
-
-    /**
-     * 根据字典类型查询字典数据
-     * 
-     * @param dictType 字典类型
-     * @return 字典数据集合信息
-     */
-    public List<SysDictData> selectDictDataByType(String dictType);
-
-    /**
-     * 根据字典类型和字典键值查询字典数据信息
-     * 
-     * @param dictType 字典类型
-     * @param dictValue 字典键值
-     * @return 字典标签
-     */
-    public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue);
-
-    /**
-     * 根据字典数据ID查询信息
-     * 
-     * @param dictCode 字典数据ID
-     * @return 字典数据
-     */
-    public SysDictData selectDictDataById(Long dictCode);
-
-    /**
-     * 查询字典数据
-     * 
-     * @param dictType 字典类型
-     * @return 字典数据
-     */
-    public int countDictDataByType(String dictType);
-
-    /**
-     * 通过字典ID删除字典数据信息
-     * 
-     * @param dictCode 字典数据ID
-     * @return 结果
-     */
-    public int deleteDictDataById(Long dictCode);
-
-    /**
-     * 批量删除字典数据信息
-     * 
-     * @param dictCodes 需要删除的字典数据ID
-     * @return 结果
-     */
-    public int deleteDictDataByIds(Long[] dictCodes);
-
-    /**
-     * 新增字典数据信息
-     * 
-     * @param dictData 字典数据信息
-     * @return 结果
-     */
-    public int insertDictData(SysDictData dictData);
-
-    /**
-     * 修改字典数据信息
-     * 
-     * @param dictData 字典数据信息
-     * @return 结果
-     */
-    public int updateDictData(SysDictData dictData);
-
-    /**
-     * 同步修改字典类型
-     * 
-     * @param oldDictType 旧字典类型
-     * @param newDictType 新旧字典类型
-     * @return 结果
-     */
-    public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictTypeMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictTypeMapper.java
deleted file mode 100644
index 0711e9f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysDictTypeMapper.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.api.domain.SysDictData;
-import com.hrt.system.api.domain.SysDictType;
-
-/**
- * 字典表 数据层
- * 
- * @author jqs
- */
-public interface SysDictTypeMapper extends BaseMapper<SysDictType>
-{
-    /**
-     * 根据条件分页查询字典类型
-     * 
-     * @param dictType 字典类型信息
-     * @return 字典类型集合信息
-     */
-    public List<SysDictType> selectDictTypeList(SysDictType dictType);
-
-    /**
-     * 根据所有字典类型
-     * 
-     * @return 字典类型集合信息
-     */
-    public List<SysDictType> selectDictTypeAll();
-
-    /**
-     * 根据字典类型ID查询信息
-     * 
-     * @param dictId 字典类型ID
-     * @return 字典类型
-     */
-    public SysDictType selectDictTypeById(Long dictId);
-
-    /**
-     * 根据字典类型查询信息
-     * 
-     * @param dictType 字典类型
-     * @return 字典类型
-     */
-    public SysDictType selectDictTypeByType(String dictType);
-
-    /**
-     * 通过字典ID删除字典信息
-     * 
-     * @param dictId 字典ID
-     * @return 结果
-     */
-    public int deleteDictTypeById(Long dictId);
-
-    /**
-     * 批量删除字典类型信息
-     * 
-     * @param dictIds 需要删除的字典ID
-     * @return 结果
-     */
-    public int deleteDictTypeByIds(Long[] dictIds);
-
-    /**
-     * 新增字典类型信息
-     * 
-     * @param dictType 字典类型信息
-     * @return 结果
-     */
-    public int insertDictType(SysDictType dictType);
-
-    /**
-     * 修改字典类型信息
-     * 
-     * @param dictType 字典类型信息
-     * @return 结果
-     */
-    public int updateDictType(SysDictType dictType);
-
-    /**
-     * 校验字典类型称是否唯一
-     * 
-     * @param dictType 字典类型
-     * @return 结果
-     */
-    public SysDictType checkDictTypeUnique(String dictType);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysNoticeMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysNoticeMapper.java
deleted file mode 100644
index 6ced696..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysNoticeMapper.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.sys.SysNotice;
-
-/**
- * 通知公告表 数据层
- * 
- * @author jqs
- */
-public interface SysNoticeMapper extends BaseMapper<SysNotice>
-{
-    /**
-     * 查询公告信息
-     * 
-     * @param noticeId 公告ID
-     * @return 公告信息
-     */
-    public SysNotice selectNoticeById(Long noticeId);
-
-    /**
-     * 查询公告列表
-     * 
-     * @param notice 公告信息
-     * @return 公告集合
-     */
-    public List<SysNotice> selectNoticeList(SysNotice notice);
-
-    /**
-     * 新增公告
-     * 
-     * @param notice 公告信息
-     * @return 结果
-     */
-    public int insertNotice(SysNotice notice);
-
-    /**
-     * 修改公告
-     * 
-     * @param notice 公告信息
-     * @return 结果
-     */
-    public int updateNotice(SysNotice notice);
-
-    /**
-     * 批量删除公告
-     * 
-     * @param noticeId 公告ID
-     * @return 结果
-     */
-    public int deleteNoticeById(Long noticeId);
-
-    /**
-     * 批量删除公告信息
-     * 
-     * @param noticeIds 需要删除的公告ID
-     * @return 结果
-     */
-    public int deleteNoticeByIds(Long[] noticeIds);
-}
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysTagMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysTagMapper.java
deleted file mode 100644
index b583a35..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/sys/SysTagMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.mapper.sys;
-
-import com.hrt.system.domain.poji.sys.SysTag;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- * 系统标签 Mapper 接口
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface SysTagMapper extends BaseMapper<SysTag> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysDeptMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysDeptMapper.java
deleted file mode 100644
index 88aae29..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysDeptMapper.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.api.domain.SysDictType;
-import org.apache.ibatis.annotations.Param;
-import com.hrt.system.api.domain.SysDept;
-
-/**
- * 部门管理 数据层
- * 
- * @author jqs
- */
-public interface SysDeptMapper extends BaseMapper<SysDept>
-{
-    /**
-     * 查询部门管理数据
-     * 
-     * @param dept 部门信息
-     * @return 部门信息集合
-     */
-    public List<SysDept> selectDeptList(SysDept dept);
-
-    /**
-     * 根据角色ID查询部门树信息
-     * 
-     * @param roleId 角色ID
-     * @param deptCheckStrictly 部门树选择项是否关联显示
-     * @return 选中部门列表
-     */
-    public List<Long> selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly);
-
-    /**
-     * 根据部门ID查询信息
-     * 
-     * @param deptId 部门ID
-     * @return 部门信息
-     */
-    public SysDept selectDeptById(Long deptId);
-
-    /**
-     * 根据ID查询所有子部门
-     * 
-     * @param deptId 部门ID
-     * @return 部门列表
-     */
-    public List<SysDept> selectChildrenDeptById(Long deptId);
-
-    /**
-     * 根据ID查询所有子部门(正常状态)
-     * 
-     * @param deptId 部门ID
-     * @return 子部门数
-     */
-    public int selectNormalChildrenDeptById(Long deptId);
-
-    /**
-     * 是否存在子节点
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    public int hasChildByDeptId(Long deptId);
-
-    /**
-     * 查询部门是否存在用户
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    public int checkDeptExistUser(Long deptId);
-
-    /**
-     * 校验部门名称是否唯一
-     * 
-     * @param deptName 部门名称
-     * @param parentId 父部门ID
-     * @return 结果
-     */
-    public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId);
-
-    /**
-     * 新增部门信息
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    public int insertDept(SysDept dept);
-
-    /**
-     * 修改部门信息
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    public int updateDept(SysDept dept);
-
-    /**
-     * 修改所在部门正常状态
-     * 
-     * @param deptIds 部门ID组
-     */
-    public void updateDeptStatusNormal(Long[] deptIds);
-
-    /**
-     * 修改子元素关系
-     * 
-     * @param depts 子元素
-     * @return 结果
-     */
-    public int updateDeptChildren(@Param("depts") List<SysDept> depts);
-
-    /**
-     * 删除部门管理信息
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    public int deleteDeptById(Long deptId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysLogininforMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysLogininforMapper.java
deleted file mode 100644
index 2780b63..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysLogininforMapper.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.api.domain.SysDept;
-import com.hrt.system.api.domain.SysLogininfor;
-
-/**
- * 系统访问日志情况信息 数据层
- * 
- * @author jqs
- */
-public interface SysLogininforMapper extends BaseMapper<SysLogininfor>
-{
-    /**
-     * 新增系统登录日志
-     * 
-     * @param logininfor 访问日志对象
-     */
-    public int insertLogininfor(SysLogininfor logininfor);
-
-    /**
-     * 查询系统登录日志集合
-     * 
-     * @param logininfor 访问日志对象
-     * @return 登录记录集合
-     */
-    public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor);
-
-    /**
-     * 批量删除系统登录日志
-     * 
-     * @param infoIds 需要删除的登录日志ID
-     * @return 结果
-     */
-    public int deleteLogininforByIds(Long[] infoIds);
-
-    /**
-     * 清空系统登录日志
-     * 
-     * @return 结果
-     */
-    public int cleanLogininfor();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysMenuMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysMenuMapper.java
deleted file mode 100644
index 779375f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysMenuMapper.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
-import com.hrt.system.domain.poji.user.SysMenu;
-
-/**
- * 菜单表 数据层
- * 
- * @author jqs
- */
-public interface SysMenuMapper extends BaseMapper<SysMenu>
-{
-    /**
-     * 查询系统菜单列表
-     * 
-     * @param menu 菜单信息
-     * @return 菜单列表
-     */
-    public List<SysMenu> selectMenuList(SysMenu menu);
-
-    /**
-     * 根据用户所有权限
-     * 
-     * @return 权限列表
-     */
-    public List<String> selectMenuPerms();
-
-    /**
-     * 根据用户查询系统菜单列表
-     * 
-     * @param menu 菜单信息
-     * @return 菜单列表
-     */
-    public List<SysMenu> selectMenuListByUserId(SysMenu menu);
-
-    /**
-     * 根据角色ID查询权限
-     * 
-     * @param roleId 角色ID
-     * @return 权限列表
-     */
-    public List<String> selectMenuPermsByRoleId(Long roleId);
-
-    /**
-     * 根据用户ID查询权限
-     * 
-     * @param userId 用户ID
-     * @return 权限列表
-     */
-    public List<String> selectMenuPermsByUserId(Long userId);
-
-    /**
-     * 根据用户ID查询菜单
-     * 
-     * @return 菜单列表
-     */
-    public List<SysMenu> selectMenuTreeAll();
-
-    /**
-     * 根据用户ID查询菜单
-     * 
-     * @param userId 用户ID
-     * @return 菜单列表
-     */
-    public List<SysMenu> selectMenuTreeByUserId(Long userId);
-
-    /**
-     * 根据角色ID查询菜单树信息
-     * 
-     * @param roleId 角色ID
-     * @param menuCheckStrictly 菜单树选择项是否关联显示
-     * @return 选中菜单列表
-     */
-    public List<Long> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly);
-
-    /**
-     * 根据菜单ID查询信息
-     * 
-     * @param menuId 菜单ID
-     * @return 菜单信息
-     */
-    public SysMenu selectMenuById(Long menuId);
-
-    /**
-     * 是否存在菜单子节点
-     * 
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    public int hasChildByMenuId(Long menuId);
-
-    /**
-     * 新增菜单信息
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public int insertMenu(SysMenu menu);
-
-    /**
-     * 修改菜单信息
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public int updateMenu(SysMenu menu);
-
-    /**
-     * 删除菜单管理信息
-     * 
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    public int deleteMenuById(Long menuId);
-
-    /**
-     * 校验菜单名称是否唯一
-     * 
-     * @param menuName 菜单名称
-     * @param parentId 父菜单ID
-     * @return 结果
-     */
-    public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysOperLogMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysOperLogMapper.java
deleted file mode 100644
index d7cb1f1..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysOperLogMapper.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.api.domain.SysOperLog;
-
-/**
- * 操作日志 数据层
- * 
- * @author jqs
- */
-public interface SysOperLogMapper extends BaseMapper<SysOperLog>
-{
-    /**
-     * 新增操作日志
-     * 
-     * @param operLog 操作日志对象
-     */
-    public int insertOperlog(SysOperLog operLog);
-
-    /**
-     * 查询系统操作日志集合
-     * 
-     * @param operLog 操作日志对象
-     * @return 操作日志集合
-     */
-    public List<SysOperLog> selectOperLogList(SysOperLog operLog);
-
-    /**
-     * 批量删除系统操作日志
-     * 
-     * @param operIds 需要删除的操作日志ID
-     * @return 结果
-     */
-    public int deleteOperLogByIds(Long[] operIds);
-
-    /**
-     * 查询操作日志详细
-     * 
-     * @param operId 操作ID
-     * @return 操作日志对象
-     */
-    public SysOperLog selectOperLogById(Long operId);
-
-    /**
-     * 清空操作日志
-     */
-    public void cleanOperLog();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysPostMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysPostMapper.java
deleted file mode 100644
index f78e0b9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysPostMapper.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.user.SysPost;
-
-/**
- * 岗位信息 数据层
- * 
- * @author jqs
- */
-public interface SysPostMapper extends BaseMapper<SysPost>
-{
-    /**
-     * 查询岗位数据集合
-     * 
-     * @param post 岗位信息
-     * @return 岗位数据集合
-     */
-    public List<SysPost> selectPostList(SysPost post);
-
-    /**
-     * 查询所有岗位
-     * 
-     * @return 岗位列表
-     */
-    public List<SysPost> selectPostAll();
-
-    /**
-     * 通过岗位ID查询岗位信息
-     * 
-     * @param postId 岗位ID
-     * @return 角色对象信息
-     */
-    public SysPost selectPostById(Long postId);
-
-    /**
-     * 根据用户ID获取岗位选择框列表
-     * 
-     * @param userId 用户ID
-     * @return 选中岗位ID列表
-     */
-    public List<Long> selectPostListByUserId(Long userId);
-
-    /**
-     * 查询用户所属岗位组
-     * 
-     * @param userName 用户名
-     * @return 结果
-     */
-    public List<SysPost> selectPostsByUserName(String userName);
-
-    /**
-     * 删除岗位信息
-     * 
-     * @param postId 岗位ID
-     * @return 结果
-     */
-    public int deletePostById(Long postId);
-
-    /**
-     * 批量删除岗位信息
-     * 
-     * @param postIds 需要删除的岗位ID
-     * @return 结果
-     */
-    public int deletePostByIds(Long[] postIds);
-
-    /**
-     * 修改岗位信息
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    public int updatePost(SysPost post);
-
-    /**
-     * 新增岗位信息
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    public int insertPost(SysPost post);
-
-    /**
-     * 校验岗位名称
-     * 
-     * @param postName 岗位名称
-     * @return 结果
-     */
-    public SysPost checkPostNameUnique(String postName);
-
-    /**
-     * 校验岗位编码
-     * 
-     * @param postCode 岗位编码
-     * @return 结果
-     */
-    public SysPost checkPostCodeUnique(String postCode);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleDeptMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleDeptMapper.java
deleted file mode 100644
index ce94ea4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleDeptMapper.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.user.SysRoleDept;
-
-/**
- * 角色与部门关联表 数据层
- * 
- * @author jqs
- */
-public interface SysRoleDeptMapper extends BaseMapper<SysRoleDept>
-{
-    /**
-     * 通过角色ID删除角色和部门关联
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    public int deleteRoleDeptByRoleId(Long roleId);
-
-    /**
-     * 批量删除角色部门关联信息
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteRoleDept(Long[] ids);
-
-    /**
-     * 查询部门使用数量
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    public int selectCountRoleDeptByDeptId(Long deptId);
-
-    /**
-     * 批量新增角色部门信息
-     * 
-     * @param roleDeptList 角色部门列表
-     * @return 结果
-     */
-    public int batchRoleDept(List<SysRoleDept> roleDeptList);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMapper.java
deleted file mode 100644
index 680ac85..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMapper.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.api.domain.SysRole;
-
-/**
- * 角色表 数据层
- * 
- * @author jqs
- */
-public interface SysRoleMapper extends BaseMapper<SysRole>
-{
-    /**
-     * 根据条件分页查询角色数据
-     * 
-     * @param role 角色信息
-     * @return 角色数据集合信息
-     */
-    public List<SysRole> selectRoleList(SysRole role);
-
-    /**
-     * 根据用户ID查询角色
-     * 
-     * @param userId 用户ID
-     * @return 角色列表
-     */
-    public List<SysRole> selectRolePermissionByUserId(Long userId);
-
-    /**
-     * 查询所有角色
-     * 
-     * @return 角色列表
-     */
-    public List<SysRole> selectRoleAll();
-
-    /**
-     * 根据用户ID获取角色选择框列表
-     * 
-     * @param userId 用户ID
-     * @return 选中角色ID列表
-     */
-    public List<Long> selectRoleListByUserId(Long userId);
-
-    /**
-     * 通过角色ID查询角色
-     * 
-     * @param roleId 角色ID
-     * @return 角色对象信息
-     */
-    public SysRole selectRoleById(Long roleId);
-
-    /**
-     * 根据用户ID查询角色
-     * 
-     * @param userName 用户名
-     * @return 角色列表
-     */
-    public List<SysRole> selectRolesByUserName(String userName);
-
-    /**
-     * 校验角色名称是否唯一
-     * 
-     * @param roleName 角色名称
-     * @return 角色信息
-     */
-    public SysRole checkRoleNameUnique(String roleName);
-
-    /**
-     * 校验角色权限是否唯一
-     * 
-     * @param roleKey 角色权限
-     * @return 角色信息
-     */
-    public SysRole checkRoleKeyUnique(String roleKey);
-
-    /**
-     * 修改角色信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public int updateRole(SysRole role);
-
-    /**
-     * 新增角色信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public int insertRole(SysRole role);
-
-    /**
-     * 通过角色ID删除角色
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    public int deleteRoleById(Long roleId);
-
-    /**
-     * 批量删除角色信息
-     * 
-     * @param roleIds 需要删除的角色ID
-     * @return 结果
-     */
-    public int deleteRoleByIds(Long[] roleIds);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMenuMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMenuMapper.java
deleted file mode 100644
index b5508fa..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysRoleMenuMapper.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.user.SysRoleMenu;
-
-/**
- * 角色与菜单关联表 数据层
- * 
- * @author jqs
- */
-public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu>
-{
-    /**
-     * 查询菜单使用数量
-     * 
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    public int checkMenuExistRole(Long menuId);
-
-    /**
-     * 通过角色ID删除角色和菜单关联
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    public int deleteRoleMenuByRoleId(Long roleId);
-
-    /**
-     * 批量删除角色菜单关联信息
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteRoleMenu(Long[] ids);
-
-    /**
-     * 批量新增角色菜单信息
-     * 
-     * @param roleMenuList 角色菜单列表
-     * @return 结果
-     */
-    public int batchRoleMenu(List<SysRoleMenu> roleMenuList);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserMapper.java
deleted file mode 100644
index 57f5735..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserMapper.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
-import com.hrt.system.api.domain.SysUser;
-
-/**
- * 用户表 数据层
- * 
- * @author jqs
- */
-public interface SysUserMapper extends BaseMapper<SysUser>
-{
-    /**
-     * 根据条件分页查询用户列表
-     * 
-     * @param sysUser 用户信息
-     * @return 用户信息集合信息
-     */
-    public List<SysUser> selectUserList(SysUser sysUser);
-
-    /**
-     * 根据条件分页查询已配用户角色列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    public List<SysUser> selectAllocatedList(SysUser user);
-
-    /**
-     * 根据条件分页查询未分配用户角色列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    public List<SysUser> selectUnallocatedList(SysUser user);
-
-    /**
-     * 通过用户名查询用户
-     * 
-     * @param userName 用户名
-     * @return 用户对象信息
-     */
-    public SysUser selectUserByUserName(String userName);
-
-    /**
-     * 通过用户ID查询用户
-     * 
-     * @param userId 用户ID
-     * @return 用户对象信息
-     */
-    public SysUser selectUserById(Long userId);
-
-    /**
-     * 新增用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public int insertUser(SysUser user);
-
-    /**
-     * 修改用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public int updateUser(SysUser user);
-
-    /**
-     * 修改用户头像
-     * 
-     * @param userName 用户名
-     * @param avatar 头像地址
-     * @return 结果
-     */
-    public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar);
-
-    /**
-     * 重置用户密码
-     * 
-     * @param userName 用户名
-     * @param password 密码
-     * @return 结果
-     */
-    public int resetUserPwd(@Param("userName") String userName, @Param("password") String password);
-
-    /**
-     * 通过用户ID删除用户
-     * 
-     * @param userId 用户ID
-     * @return 结果
-     */
-    public int deleteUserById(Long userId);
-
-    /**
-     * 批量删除用户信息
-     * 
-     * @param userIds 需要删除的用户ID
-     * @return 结果
-     */
-    public int deleteUserByIds(Long[] userIds);
-
-    /**
-     * 校验用户名称是否唯一
-     * 
-     * @param userName 用户名称
-     * @return 结果
-     */
-    public SysUser checkUserNameUnique(String userName);
-
-    /**
-     * 校验手机号码是否唯一
-     *
-     * @param phonenumber 手机号码
-     * @return 结果
-     */
-    public SysUser checkPhoneUnique(String phonenumber);
-
-    /**
-     * 校验email是否唯一
-     *
-     * @param email 用户邮箱
-     * @return 结果
-     */
-    public SysUser checkEmailUnique(String email);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserPostMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserPostMapper.java
deleted file mode 100644
index 1217f96..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserPostMapper.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.user.SysUserPost;
-
-/**
- * 用户与岗位关联表 数据层
- * 
- * @author jqs
- */
-public interface SysUserPostMapper extends BaseMapper<SysUserPost>
-{
-    /**
-     * 通过用户ID删除用户和岗位关联
-     * 
-     * @param userId 用户ID
-     * @return 结果
-     */
-    public int deleteUserPostByUserId(Long userId);
-
-    /**
-     * 通过岗位ID查询岗位使用数量
-     * 
-     * @param postId 岗位ID
-     * @return 结果
-     */
-    public int countUserPostById(Long postId);
-
-    /**
-     * 批量删除用户和岗位关联
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteUserPost(Long[] ids);
-
-    /**
-     * 批量新增用户岗位信息
-     * 
-     * @param userPostList 用户角色列表
-     * @return 结果
-     */
-    public int batchUserPost(List<SysUserPost> userPostList);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserRoleMapper.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserRoleMapper.java
deleted file mode 100644
index fadfcc0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/mapper/user/SysUserRoleMapper.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.hrt.system.mapper.user;
-
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.hrt.system.domain.poji.user.SysUserRole;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * 用户与角色关联表 数据层
- * 
- * @author jqs
- */
-public interface SysUserRoleMapper extends BaseMapper<SysUserRole>
-{
-    /**
-     * 通过用户ID删除用户和角色关联
-     * 
-     * @param userId 用户ID
-     * @return 结果
-     */
-    public int deleteUserRoleByUserId(Long userId);
-
-    /**
-     * 批量删除用户和角色关联
-     * 
-     * @param ids 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteUserRole(Long[] ids);
-
-    /**
-     * 通过角色ID查询角色使用数量
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    public int countUserRoleByRoleId(Long roleId);
-
-    /**
-     * 批量新增用户角色信息
-     * 
-     * @param userRoleList 用户角色列表
-     * @return 结果
-     */
-    public int batchUserRole(List<SysUserRole> userRoleList);
-
-    /**
-     * 删除用户和角色关联信息
-     * 
-     * @param userRole 用户和角色关联信息
-     * @return 结果
-     */
-    public int deleteUserRoleInfo(SysUserRole userRole);
-
-    /**
-     * 批量取消授权用户角色
-     * 
-     * @param roleId 角色ID
-     * @param userIds 需要删除的用户数据ID
-     * @return 结果
-     */
-    public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/activity/ActivityGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/activity/ActivityGoodsService.java
deleted file mode 100644
index 56f96ee..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/activity/ActivityGoodsService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.system.service.activity;
-
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.poji.activity.ActivityGoods;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-21
- */
-public interface ActivityGoodsService extends IService<ActivityGoods> {
-
-    /**
-     * 通过id获取活动商品
-     * @param goodsId
-     * @return
-     */
-    ActivityGoods getByGoodsId(String goodsId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelGoodsService.java
deleted file mode 100644
index a57c139..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelGoodsService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.coupon;
-
-import com.hrt.system.domain.poji.coupon.CouponRelGoods;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 优惠券商品关联 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponRelGoodsService extends IService<CouponRelGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelUserService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelUserService.java
deleted file mode 100644
index 5d32478..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponRelUserService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.coupon;
-
-import com.hrt.system.domain.poji.coupon.CouponRelUser;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 优惠券用户关联 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponRelUserService extends IService<CouponRelUser> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponService.java
deleted file mode 100644
index 9e2513d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.coupon;
-
-import com.hrt.system.domain.poji.coupon.Coupon;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponService extends IService<Coupon> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponTotalService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponTotalService.java
deleted file mode 100644
index 11f504f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/coupon/CouponTotalService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.coupon;
-
-import com.hrt.system.domain.poji.coupon.CouponTotal;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface CouponTotalService extends IService<CouponTotal> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsFileService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsFileService.java
deleted file mode 100644
index 519d098..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsFileService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsFile;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 商品图片 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsFileService extends IService<GoodsFile> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelNurseService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelNurseService.java
deleted file mode 100644
index 2cb1f45..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelNurseService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsRelNurse;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 商品调理问题 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsRelNurseService extends IService<GoodsRelNurse> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelTagService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelTagService.java
deleted file mode 100644
index 2d83e64..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsRelTagService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsRelTag;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 商品标签 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsRelTagService extends IService<GoodsRelTag> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsService.java
deleted file mode 100644
index efdc5ce..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsService.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.hrt.system.service.goods;
-
-import com.hrt.system.domain.dto.AppGoodsInfoGetDto;
-import com.hrt.system.domain.dto.AppSearchGoodsPageDto;
-import com.hrt.system.domain.dto.AppShopGoodsPageDto;
-import com.hrt.system.domain.poji.goods.Goods;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.vo.AppGoodsInfoVo;
-import com.hrt.system.domain.vo.AppSimpleActivityGoodsVo;
-import com.hrt.system.domain.vo.AppSimpleGoodsVo;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-
-import java.util.List;
-
-/**
- * <p>
- * 商品表 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface GoodsService extends IService<Goods> {
-
-    /**
-     * 获取推荐商品列表
-     * @param page
-     * @return
-     */
-    List<AppSimpleGoodsVo> pageRecommendGoods(Page page,Long shopId);
-
-    /**
-     * 获取商城商品列表
-     * @param page
-     * @param appShopGoodsPageDto
-     * @return
-     */
-    List<AppSimpleGoodsVo> pageShopGoods(Page page, AppShopGoodsPageDto appShopGoodsPageDto);
-
-    /**
-     * 获取搜索商品列表
-     * @param page
-     * @param appSearchGoodsPageDto
-     * @return
-     */
-    List<AppSimpleGoodsVo> pageSearchGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto);
-
-    /**
-     * 获取搜索商品列表
-     * @param page
-     * @param appSearchGoodsPageDto
-     * @return
-     */
-    List<AppSimpleActivityGoodsVo> pageSearchActivityGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto);
-
-    /**
-     * 获取商品详情
-     * @param appGoodsInfoGetDto
-     * @return
-     */
-    AppGoodsInfoVo getGoodsInfo(AppGoodsInfoGetDto appGoodsInfoGetDto);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsTotalService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsTotalService.java
deleted file mode 100644
index b94b264..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/goods/GoodsTotalService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.goods;
-
-import com.hrt.system.domain.poji.goods.GoodsTotal;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface GoodsTotalService extends IService<GoodsTotal> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ActivityGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ActivityGoodsServiceImpl.java
deleted file mode 100644
index 4f9b89f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ActivityGoodsServiceImpl.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.hrt.system.service.impl;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hrt.system.domain.poji.activity.ActivityGoods;
-import com.hrt.system.domain.poji.shop.ShopRelTag;
-import com.hrt.system.mapper.activity.ActivityGoodsMapper;
-import com.hrt.system.service.activity.ActivityGoodsService;
-
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-21
- */
-@Service
-public class ActivityGoodsServiceImpl extends ServiceImpl<ActivityGoodsMapper, ActivityGoods> implements ActivityGoodsService {
-
-
-    /**
-     * 通过id获取活动商品
-     * @param goodsId
-     * @return
-     */
-    @Override
-    public ActivityGoods getByGoodsId(String goodsId){
-        LambdaQueryWrapper<ActivityGoods> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(ActivityGoods::getDelFlag, 0).eq(ActivityGoods::getGoodsId, goodsId);
-        ActivityGoods activityGoods = this.getOne(queryWrapper);
-        return activityGoods;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AdvertServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AdvertServiceImpl.java
deleted file mode 100644
index dd97ba8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AdvertServiceImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.sys.Advert;
-import com.hrt.system.domain.vo.AppAdvertVo;
-import com.hrt.system.mapper.sys.AdvertMapper;
-import com.hrt.system.service.sys.AdvertService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-
-/**
- * <p>
- * 快速入口 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-@Service
-public class AdvertServiceImpl extends ServiceImpl<AdvertMapper, Advert> implements AdvertService {
-
-    @Resource
-    private AdvertMapper advertMapper;
-
-    /**
-     * 获取首页广告
-     * @return
-     */
-    @Override
-    public AppAdvertVo getAdvertVo(){
-        return advertMapper.getAdvertVo();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AgreementServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AgreementServiceImpl.java
deleted file mode 100644
index a9d9bfa..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/AgreementServiceImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.system.constant.AppErrorConstant;
-import com.hrt.system.domain.dto.AppAgreementDto;
-import com.hrt.system.domain.poji.sys.Agreement;
-import com.hrt.system.domain.vo.AppAgreementVo;
-import com.hrt.system.mapper.sys.AgreementMapper;
-import com.hrt.system.service.sys.AgreementService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-
-/**
- * <p>
- * 协议 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class AgreementServiceImpl extends ServiceImpl<AgreementMapper, Agreement> implements AgreementService {
-
-
-    @Resource
-    private AgreementMapper agreementMapper;
-
-    /**
-     * 获取各种协议
-     * @param appAgreementDto
-     * @return
-     */
-    @Override
-    public AppAgreementVo getAppAgreement(AppAgreementDto appAgreementDto){
-        AppAgreementVo appAgreementVo = agreementMapper.getAppAgreementVoByType(appAgreementDto.getType());
-        if(appAgreementVo==null){
-            throw new ServiceException(AppErrorConstant.AGREEMENT_FAILED);
-        }
-        return appAgreementVo;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/BannerServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/BannerServiceImpl.java
deleted file mode 100644
index 8c38b11..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/BannerServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.sys.Banner;
-import com.hrt.system.domain.vo.AppBannerVo;
-import com.hrt.system.mapper.sys.BannerMapper;
-import com.hrt.system.service.sys.BannerService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * <p>
- * banner 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class BannerServiceImpl extends ServiceImpl<BannerMapper, Banner> implements BannerService {
-
-    @Resource
-    private BannerMapper bannerMapper;
-
-    /**
-     * 获取首页banner
-     * @return
-     */
-    @Override
-    public List<AppBannerVo> listHomeBannerVo(){
-        return bannerMapper.listHomeBannerVo();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ConsumerGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ConsumerGoodsServiceImpl.java
deleted file mode 100644
index b2a6764..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ConsumerGoodsServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.order.ConsumerGoods;
-import com.hrt.system.mapper.order.ConsumerGoodsMapper;
-import com.hrt.system.service.order.ConsumerGoodsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 服务 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ConsumerGoodsServiceImpl extends ServiceImpl<ConsumerGoodsMapper, ConsumerGoods> implements ConsumerGoodsService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelGoodsServiceImpl.java
deleted file mode 100644
index d96438e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelGoodsServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.coupon.CouponRelGoods;
-import com.hrt.system.mapper.coupon.CouponRelGoodsMapper;
-import com.hrt.system.service.coupon.CouponRelGoodsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 优惠券商品关联 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Service
-public class CouponRelGoodsServiceImpl extends ServiceImpl<CouponRelGoodsMapper, CouponRelGoods> implements CouponRelGoodsService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelUserServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelUserServiceImpl.java
deleted file mode 100644
index 72f4a55..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponRelUserServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.coupon.CouponRelUser;
-import com.hrt.system.mapper.coupon.CouponRelUserMapper;
-import com.hrt.system.service.coupon.CouponRelUserService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 优惠券用户关联 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Service
-public class CouponRelUserServiceImpl extends ServiceImpl<CouponRelUserMapper, CouponRelUser> implements CouponRelUserService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponServiceImpl.java
deleted file mode 100644
index 409efa5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.coupon.Coupon;
-import com.hrt.system.mapper.coupon.CouponMapper;
-import com.hrt.system.service.coupon.CouponService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Service
-public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements CouponService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponTotalServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponTotalServiceImpl.java
deleted file mode 100644
index 1cd30c2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CouponTotalServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.coupon.CouponTotal;
-import com.hrt.system.mapper.coupon.CouponTotalMapper;
-import com.hrt.system.service.coupon.CouponTotalService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Service
-public class CouponTotalServiceImpl extends ServiceImpl<CouponTotalMapper, CouponTotal> implements CouponTotalService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CustomeConfigServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CustomeConfigServiceImpl.java
deleted file mode 100644
index a2ce739..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/CustomeConfigServiceImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hrt.system.domain.poji.sys.CustomeConfig;
-import com.hrt.system.mapper.sys.CustomeConfigMapper;
-import com.hrt.system.service.sys.CustomeConfigService;
-
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 系统配置 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class CustomeConfigServiceImpl extends ServiceImpl<CustomeConfigMapper, CustomeConfig> implements CustomeConfigService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsFileServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsFileServiceImpl.java
deleted file mode 100644
index e3faaa9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsFileServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.goods.GoodsFile;
-import com.hrt.system.mapper.goods.GoodsFileMapper;
-import com.hrt.system.service.goods.GoodsFileService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 商品图片 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class GoodsFileServiceImpl extends ServiceImpl<GoodsFileMapper, GoodsFile> implements GoodsFileService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelNurseServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelNurseServiceImpl.java
deleted file mode 100644
index 081038e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelNurseServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.goods.GoodsRelNurse;
-import com.hrt.system.mapper.goods.GoodsRelNurseMapper;
-import com.hrt.system.service.goods.GoodsRelNurseService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 商品调理问题 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class GoodsRelNurseServiceImpl extends ServiceImpl<GoodsRelNurseMapper, GoodsRelNurse> implements GoodsRelNurseService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelTagServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelTagServiceImpl.java
deleted file mode 100644
index 6f99da4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsRelTagServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.goods.GoodsRelTag;
-import com.hrt.system.mapper.goods.GoodsRelTagMapper;
-import com.hrt.system.service.goods.GoodsRelTagService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 商品标签 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class GoodsRelTagServiceImpl extends ServiceImpl<GoodsRelTagMapper, GoodsRelTag> implements GoodsRelTagService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java
deleted file mode 100644
index ece3105..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.hrt.common.core.utils.bean.BeanUtils;
-import com.hrt.system.domain.dto.AppGoodsInfoGetDto;
-import com.hrt.system.domain.dto.AppSearchGoodsPageDto;
-import com.hrt.system.domain.dto.AppShopGoodsPageDto;
-import com.hrt.system.domain.poji.activity.ActivityGoods;
-import com.hrt.system.domain.poji.goods.Goods;
-import com.hrt.system.domain.poji.shop.ShopGoods;
-import com.hrt.system.domain.vo.AppGoodsInfoVo;
-import com.hrt.system.domain.vo.AppSimpleActivityGoodsVo;
-import com.hrt.system.domain.vo.AppSimpleGoodsVo;
-import com.hrt.system.mapper.goods.GoodsMapper;
-import com.hrt.system.service.activity.ActivityGoodsService;
-import com.hrt.system.service.goods.GoodsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hrt.system.service.shop.ShopGoodsService;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.util.List;
-
-/**
- * <p>
- * 商品表 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements GoodsService {
-
-    @Resource
-    private GoodsMapper goodsMapper;
-
-    @Resource
-    private ActivityGoodsService activityGoodsService;
-
-    @Resource
-    private ShopGoodsService shopGoodsService;
-
-    /**
-     * 获取推荐商品列表
-     * @param page
-     * @return
-     */
-    @Override
-    public List<AppSimpleGoodsVo> pageRecommendGoods(Page page,Long shopId){
-        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageRecommendGoods(page,shopId);
-        return appSimpleGoodsVoList;
-    }
-
-    /**
-     * 获取商城商品列表
-     * @param page
-     * @param appShopGoodsPageDto
-     * @return
-     */
-    @Override
-    public List<AppSimpleGoodsVo> pageShopGoods(Page page, AppShopGoodsPageDto appShopGoodsPageDto){
-        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageShopGoods(page,appShopGoodsPageDto);
-        return appSimpleGoodsVoList;
-    }
-
-    /**
-     * 获取搜索商品列表
-     * @param page
-     * @param appSearchGoodsPageDto
-     * @return
-     */
-    @Override
-    public List<AppSimpleGoodsVo> pageSearchGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto){
-        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageSearchGoods(page,appSearchGoodsPageDto);
-        return appSimpleGoodsVoList;
-    }
-
-    /**
-     * 获取搜索商品列表
-     * @param page
-     * @param appSearchGoodsPageDto
-     * @return
-     */
-    @Override
-    public List<AppSimpleActivityGoodsVo> pageSearchActivityGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto){
-        List<AppSimpleActivityGoodsVo> appSimpleGoodsVoList = goodsMapper.pageSearchActivityGoods(page,appSearchGoodsPageDto);
-        Integer activityNumber;
-        BigDecimal activityNumberBig;
-        Integer salesNumber;
-        BigDecimal salesNumberBig;
-        BigDecimal salesPercent;
-        for(AppSimpleActivityGoodsVo appSimpleActivityGoodsVo : appSimpleGoodsVoList){
-            activityNumber = appSimpleActivityGoodsVo.getActivityNumber();
-            salesNumber = appSimpleActivityGoodsVo.getSalesNumber();
-            activityNumberBig = BigDecimal.valueOf(activityNumber);
-            salesNumberBig = BigDecimal.valueOf(salesNumber);
-            salesPercent = salesNumberBig.divide(activityNumberBig,2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.00"));
-            appSimpleActivityGoodsVo.setSalesPercent(salesPercent);
-        }
-        return appSimpleGoodsVoList;
-    }
-
-    /**
-     * 获取商品详情
-     * @param appGoodsInfoGetDto
-     * @return
-     */
-    @Override
-    public AppGoodsInfoVo getGoodsInfo(AppGoodsInfoGetDto appGoodsInfoGetDto){
-        AppGoodsInfoVo appGoodsInfoVo = new AppGoodsInfoVo();
-        Goods goods = this.getById(appGoodsInfoGetDto.getId());
-        BeanUtils.copyProperties(goods, appGoodsInfoVo);
-        //商户定制价格
-        ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(appGoodsInfoGetDto.getShopId(),goods.getGoodsId());
-        if(shopGoods!=null){
-            appGoodsInfoVo.setSalesPrice(shopGoods.getSalesPrice());
-            appGoodsInfoVo.setSalesNum(shopGoods.getServiceNum());
-        }
-        //活动商品判断
-        if(appGoodsInfoGetDto.getActivityFlag()==1){
-            ActivityGoods activityGoods = activityGoodsService.getByGoodsId(goods.getGoodsId());
-            //原价取较大值
-            if(shopGoods!=null&&goods.getSalesPrice().compareTo(shopGoods.getSalesPrice())>0){
-                appGoodsInfoVo.setSalesPrice(goods.getSalesPrice());
-            }
-            appGoodsInfoVo.setActivityFlag(1);
-            appGoodsInfoVo.setActivityPrice(activityGoods.getActivityPrice());
-            appGoodsInfoVo.setSalesNum(activityGoods.getSalesNumber());
-            appGoodsInfoVo.setActivityDeadline(activityGoods.getActivityDeadline());
-            //售罄判断
-            if(activityGoods.getActivityNumber()==activityGoods.getSalesNumber()){
-                appGoodsInfoVo.setSellOutFlag(1);
-            }else{
-                appGoodsInfoVo.setSellOutFlag(0);
-            }
-        }else{
-            appGoodsInfoVo.setActivityFlag(0);
-        }
-        return appGoodsInfoVo;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsTotalServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsTotalServiceImpl.java
deleted file mode 100644
index 33bb79b..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsTotalServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.goods.GoodsTotal;
-import com.hrt.system.mapper.goods.GoodsTotalMapper;
-import com.hrt.system.service.goods.GoodsTotalService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Service
-public class GoodsTotalServiceImpl extends ServiceImpl<GoodsTotalMapper, GoodsTotal> implements GoodsTotalService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveFieldsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveFieldsServiceImpl.java
deleted file mode 100644
index 0f1b05d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveFieldsServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.member.MemberArchiveFields;
-import com.hrt.system.mapper.member.MemberArchiveFieldsMapper;
-import com.hrt.system.service.member.MemberArchiveFieldsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 档案字段 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class MemberArchiveFieldsServiceImpl extends ServiceImpl<MemberArchiveFieldsMapper, MemberArchiveFields> implements MemberArchiveFieldsService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveServiceImpl.java
deleted file mode 100644
index 62f5d09..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberArchiveServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.member.MemberArchive;
-import com.hrt.system.mapper.member.MemberArchiveMapper;
-import com.hrt.system.service.member.MemberArchiveService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 会员档案信息 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class MemberArchiveServiceImpl extends ServiceImpl<MemberArchiveMapper, MemberArchive> implements MemberArchiveService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberNurseServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberNurseServiceImpl.java
deleted file mode 100644
index c87a98c..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberNurseServiceImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hrt.system.domain.poji.member.MemberNurse;
-import com.hrt.system.mapper.member.MemberNurseMapper;
-import com.hrt.system.service.member.MemberNurseService;
-
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 用户调理问题 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-@Service
-public class MemberNurseServiceImpl extends ServiceImpl<MemberNurseMapper, MemberNurse> implements MemberNurseService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberServiceImpl.java
deleted file mode 100644
index d41678f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberServiceImpl.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package com.hrt.system.service.impl;
-
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
-import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.uuid.UUID;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.constant.AppErrorConstant;
-import com.hrt.system.constant.SecurityConstant;
-import com.hrt.system.domain.dto.AppMiniLoginDto;
-import com.hrt.system.domain.dto.AppNearbyShopDto;
-import com.hrt.system.domain.dto.AppUserAuthorizeDto;
-import com.hrt.system.domain.poji.member.Member;
-import com.hrt.system.domain.poji.shop.Shop;
-import com.hrt.system.domain.vo.AppMiniLoginVo;
-import com.hrt.system.domain.vo.AppNearbyShopVo;
-import com.hrt.system.domain.vo.AppUserAuthorizeVo;
-import com.hrt.system.mapper.member.MemberMapper;
-import com.hrt.system.service.member.MemberService;
-import com.hrt.system.service.shop.ShopService;
-import com.hrt.system.service.user.ISysUserService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.StringRedisTemplate;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.Date;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-19
- */
-@Service
-public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService {
-
-
-    @Resource
-    private WxMaService wxMaService;
-
-    @Resource
-    private ISysUserService sysUserService;
-
-    @Resource
-    private MemberMapper memberMapper;
-
-    @Resource
-    private ShopService shopService;
-
-    @Resource
-    private StringRedisTemplate stringRedisTemplate;
-
-    /**
-     *
-     * @param appMiniLoginDto
-     * @return
-     */
-    @Override
-    public AppMiniLoginVo getMemberByCode(AppMiniLoginDto appMiniLoginDto){
-
-        AppMiniLoginVo appMiniLoginVo = new AppMiniLoginVo();
-        WxMaJscode2SessionResult session = null;
-        String unionid;
-        String openid;
-        String sessionKey = null;
-        //获取session
-        try {
-            session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode());
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-        }
-        if(session!=null&& StringUtils.isNotBlank(session.getOpenid())){
-            unionid = session.getUnionid();
-            openid = session.getOpenid();
-            sessionKey = session.getSessionKey();
-            //获取用户
-            Member member = memberMapper.getOneByMiniOpenid(openid);
-            SysUser sysUser;
-            if(member==null){
-                //创建新用户
-                String memberId = UUID.randomUUID().toString();
-                sysUser = new SysUser();
-                sysUser.setUserName(memberId);
-                sysUser.setNickName("微信用户");
-                String password = "hongruitang";
-                sysUser.setPassword(SecurityUtils.encryptPassword(password));
-                sysUserService.registerUser(sysUser);
-                member = new Member();
-                member.setUserId(sysUser.getUserId());
-                member.setDelFlag(0);
-                member.setMemberId(memberId);
-                member.setWxUnionid(unionid);
-                member.setMiniOpenid(openid);
-                member.setCreateTime(new Date());
-                this.save(member);
-            }else{
-                sysUser = sysUserService.selectUserById(member.getUserId());
-            }
-            appMiniLoginVo.setMiniOpenid(openid);
-            appMiniLoginVo.setWxUnionid(unionid);
-            appMiniLoginVo.setSysUser(sysUser);
-            appMiniLoginVo.setSessionKey(sessionKey);
-            //sessionKey
-            stringRedisTemplate.opsForValue().set(SecurityConstant.SESSION_KEY+openid,sessionKey);
-        }else{
-            return null;
-        }
-        return appMiniLoginVo;
-    }
-
-    /**
-     * 获取授权信息
-     * @param appUserAuthorizeDto
-     * @return
-     */
-    @Override
-    public AppUserAuthorizeVo getAppUserAuthorize(AppUserAuthorizeDto appUserAuthorizeDto){
-        Member member = this.getById(appUserAuthorizeDto.getUserId());
-        AppUserAuthorizeVo appUserAuthorizeVo = new AppUserAuthorizeVo();
-        //获取code接口在redis里存放的sessionkey用于解密
-        String sessionkey = stringRedisTemplate.opsForValue().get(SecurityConstant.SESSION_KEY+ member.getMiniOpenid());
-        if(StringUtils.isBlank(sessionkey)){
-            throw new ServiceException(AppErrorConstant.USER_NOT_LOGIN);
-        }
-        String mobile = null;
-        try {
-            //解密微信加密用户信息和手机号
-            WxMaPhoneNumberInfo wxPhoneInfo;
-            if(StringUtils.isNotBlank(appUserAuthorizeDto.getPhoneEncryptedData())&&StringUtils.isNotBlank(appUserAuthorizeDto.getPhoneIv())){
-                wxPhoneInfo = wxMaService.getUserService().getPhoneNoInfo(sessionkey, appUserAuthorizeDto.getPhoneEncryptedData(), appUserAuthorizeDto.getPhoneIv());
-            }else{
-                throw new ServiceException(AppErrorConstant.AUTHORIZE_MISS);
-            }
-            if(StringUtils.isBlank(wxPhoneInfo.getPhoneNumber())){
-                throw new ServiceException(AppErrorConstant.AUTHORIZE_FAILED);
-            }
-            mobile = wxPhoneInfo.getPhoneNumber();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        //更新用户手机信息
-        SysUser sysUser = sysUserService.selectUserById(appUserAuthorizeDto.getUserId());
-        sysUser.setPhonenumber(mobile);
-        sysUserService.updateUser(sysUser);
-        member.setMobile(mobile);
-        this.saveOrUpdate(member);
-        appUserAuthorizeVo.setMobile(mobile);
-        appUserAuthorizeVo.setNickName(sysUser.getNickName());
-        appUserAuthorizeVo.setOpenid(member.getMiniOpenid());
-        appUserAuthorizeVo.setUnionid(member.getWxUnionid());
-        return appUserAuthorizeVo;
-    }
-
-    /**
-     * 获取附近门店
-     * @param appNearbyShopDto
-     * @return
-     */
-    @Override
-    public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto){
-        Member member = this.getById(appNearbyShopDto.getUserId());
-        AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo();
-        Shop shop = null;
-        if(member.getRealtionShopId()!=null){
-            //获取绑定商户
-            shop = shopService.getById(member.getRealtionShopId());
-        }else{
-            //获取附近商户
-            shop = shopService.getById(1L);
-        }
-        appNearbyShopVo.setShopId(shop.getShopId());
-        appNearbyShopVo.setShopName(shop.getShopName());
-        appNearbyShopVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress());
-        appNearbyShopVo.setShopLatitude(shop.getShopLatitude());
-        appNearbyShopVo.setShopLongitude(shop.getShopLongitude());
-        return appNearbyShopVo;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskRecordServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskRecordServiceImpl.java
deleted file mode 100644
index 7d55b58..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskRecordServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.shop.MemberTaskRecord;
-import com.hrt.system.mapper.shop.MemberTaskRecordMapper;
-import com.hrt.system.service.shop.MemberTaskRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 会员跟进任务记录 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class MemberTaskRecordServiceImpl extends ServiceImpl<MemberTaskRecordMapper, MemberTaskRecord> implements MemberTaskRecordService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskServiceImpl.java
deleted file mode 100644
index bd37e7e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/MemberTaskServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.shop.MemberTask;
-import com.hrt.system.mapper.shop.MemberTaskMapper;
-import com.hrt.system.service.shop.MemberTaskService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 会员跟进任务 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class MemberTaskServiceImpl extends ServiceImpl<MemberTaskMapper, MemberTask> implements MemberTaskService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderGoodsServiceImpl.java
deleted file mode 100644
index 42b8d92..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderGoodsServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.order.OrderGoods;
-import com.hrt.system.mapper.order.OrderGoodsMapper;
-import com.hrt.system.service.order.OrderGoodsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 订单商品 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGoods> implements OrderGoodsService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderServiceImpl.java
deleted file mode 100644
index ec3985a..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/OrderServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.order.Order;
-import com.hrt.system.mapper.order.OrderMapper;
-import com.hrt.system.service.order.OrderService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 订单 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/PopServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/PopServiceImpl.java
deleted file mode 100644
index 7d4edd9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/PopServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.sys.Pop;
-import com.hrt.system.mapper.sys.PopMapper;
-import com.hrt.system.service.sys.PopService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 弹窗 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class PopServiceImpl extends ServiceImpl<PopMapper, Pop> implements PopService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/QuickEntryServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/QuickEntryServiceImpl.java
deleted file mode 100644
index 9db7d92..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/QuickEntryServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.sys.QuickEntry;
-import com.hrt.system.domain.vo.AppQuickEntryVo;
-import com.hrt.system.mapper.sys.QuickEntryMapper;
-import com.hrt.system.service.sys.QuickEntryService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * <p>
- * 快速入口 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class QuickEntryServiceImpl extends ServiceImpl<QuickEntryMapper, QuickEntry> implements QuickEntryService {
-
-    @Resource
-    private QuickEntryMapper quickEntryMapper;
-
-    /**
-     * 获取快速入口列表
-     * @return
-     */
-    @Override
-    public List<AppQuickEntryVo> listQuickEntryVo(){
-        return quickEntryMapper.listQuickEntryVo();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopCertificateServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopCertificateServiceImpl.java
deleted file mode 100644
index 639e380..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopCertificateServiceImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hrt.system.domain.poji.shop.ShopCertificate;
-import com.hrt.system.domain.poji.shop.ShopFile;
-import com.hrt.system.mapper.shop.ShopCertificateMapper;
-import com.hrt.system.service.shop.ShopCertificateService;
-
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * <p>
- * 商户证书 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-@Service
-public class ShopCertificateServiceImpl extends ServiceImpl<ShopCertificateMapper, ShopCertificate> implements ShopCertificateService {
-
-
-    /**
-     * 通过商户id获取商户证书
-     * @param shopId
-     * @return
-     */
-    @Override
-    public List<ShopCertificate> listShopCertificateByShopId(Long shopId){
-        LambdaQueryWrapper<ShopCertificate> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(ShopCertificate::getDelFlag, 0).eq(ShopCertificate::getShopId, shopId).eq(ShopCertificate::getCerStatus,1);
-        return this.list(queryWrapper);
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopFileServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopFileServiceImpl.java
deleted file mode 100644
index c19e97e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopFileServiceImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.hrt.system.domain.poji.shop.ShopFile;
-import com.hrt.system.mapper.shop.ShopFileMapper;
-import com.hrt.system.service.shop.ShopFileService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * <p>
- * 商户图片 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopFileServiceImpl extends ServiceImpl<ShopFileMapper, ShopFile> implements ShopFileService {
-
-    @Resource
-    private ShopFileMapper shopFileMapper;
-
-    /**
-     * 通过商户id获取商户文件
-     * @param shopId
-     * @return
-     */
-    @Override
-    public List<ShopFile> listShopFileByShopId(Long shopId){
-        LambdaQueryWrapper<ShopFile> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(ShopFile::getDelFlag, 0).eq(ShopFile::getShopId, shopId);
-        return this.list(queryWrapper);
-    }
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    @Override
-    public void deleteByShopId(Long shopId){
-        shopFileMapper.deleteByShopId(shopId);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopGoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopGoodsServiceImpl.java
deleted file mode 100644
index 63f131f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopGoodsServiceImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.hrt.system.domain.poji.activity.ActivityGoods;
-import com.hrt.system.domain.poji.shop.ShopGoods;
-import com.hrt.system.mapper.shop.ShopGoodsMapper;
-import com.hrt.system.service.shop.ShopGoodsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 商户定制商品 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopGoodsServiceImpl extends ServiceImpl<ShopGoodsMapper, ShopGoods> implements ShopGoodsService {
-
-    /**
-     * 通过商户id和商品id获取
-     * @param shopId
-     * @param goodsId
-     * @return
-     */
-    @Override
-    public ShopGoods getByShopIdAndGoodsId(Long shopId,String goodsId){
-        LambdaQueryWrapper<ShopGoods> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(ShopGoods::getDelFlag, 0).eq(ShopGoods::getShopId, shopId).eq(ShopGoods::getGoodsId, goodsId);
-        ShopGoods shopGoods = this.getOne(queryWrapper);
-        return shopGoods;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopMarketingServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopMarketingServiceImpl.java
deleted file mode 100644
index 49eee93..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopMarketingServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.shop.ShopMarketing;
-import com.hrt.system.mapper.shop.ShopMarketingMapper;
-import com.hrt.system.service.shop.ShopMarketingService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 商户营销 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopMarketingServiceImpl extends ServiceImpl<ShopMarketingMapper, ShopMarketing> implements ShopMarketingService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelTagServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelTagServiceImpl.java
deleted file mode 100644
index 1b735bb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelTagServiceImpl.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.hrt.system.domain.poji.shop.ShopFile;
-import com.hrt.system.domain.poji.shop.ShopRelTag;
-import com.hrt.system.domain.vo.MgtShopTagVo;
-import com.hrt.system.mapper.shop.ShopRelTagMapper;
-import com.hrt.system.service.shop.ShopRelTagService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * <p>
- * 商户标签 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopRelTagServiceImpl extends ServiceImpl<ShopRelTagMapper, ShopRelTag> implements ShopRelTagService {
-
-    @Resource
-    private ShopRelTagMapper shopRelTagMapper;
-
-    /**
-     * 通过商户id获取标签
-     * @param shopId
-     * @return
-     */
-    @Override
-    public List<ShopRelTag> listShopRelTagByShopId(Long shopId){
-        LambdaQueryWrapper<ShopRelTag> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(ShopRelTag::getDelFlag, 0).eq(ShopRelTag::getShopId, shopId);
-        return this.list(queryWrapper);
-    }
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    @Override
-    public void deleteByShopId(Long shopId){
-        shopRelTagMapper.deleteByShopId(shopId);
-    }
-
-    /**
-     * 获取商户标签
-     * @param shopId
-     * @return
-     */
-    @Override
-    public List<MgtShopTagVo> listShopTagVo(Long shopId){
-        return shopRelTagMapper.listShopTagVo(shopId);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelUserServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelUserServiceImpl.java
deleted file mode 100644
index 758b46a..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopRelUserServiceImpl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.hrt.system.domain.poji.shop.ShopRelTag;
-import com.hrt.system.domain.poji.shop.ShopRelUser;
-import com.hrt.system.mapper.shop.ShopRelUserMapper;
-import com.hrt.system.service.shop.ShopRelUserService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * <p>
- * 商户关联员工 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopRelUserServiceImpl extends ServiceImpl<ShopRelUserMapper, ShopRelUser> implements ShopRelUserService {
-
-    @Resource
-    private ShopRelUserMapper shopRelUserMapper;
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    @Override
-    public void deleteByShopId(Long shopId){
-        shopRelUserMapper.deleteByShopId(shopId);
-    }
-
-    /**
-     * 通过商户id获取关联用户
-     * @param shopId
-     * @return
-     */
-    @Override
-    public List<ShopRelUser> listByShopId(Long shopId){
-        LambdaQueryWrapper<ShopRelUser> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(ShopRelUser::getDelFlag, 0).eq(ShopRelUser::getShopId, shopId);
-        return this.list(queryWrapper);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java
deleted file mode 100644
index 8cd7f37..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java
+++ /dev/null
@@ -1,316 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.domain.dto.MgtChangeCoopDto;
-import com.hrt.system.domain.dto.MgtEditShopDto;
-import com.hrt.system.domain.dto.MgtEditShopTagDto;
-import com.hrt.system.domain.dto.MgtShopPageDto;
-import com.hrt.system.domain.poji.shop.*;
-import com.hrt.system.domain.poji.sys.SysTag;
-import com.hrt.system.domain.vo.AppShopInfoVo;
-import com.hrt.system.domain.vo.MgtShopInfoVo;
-import com.hrt.system.domain.vo.MgtShopPageVo;
-import com.hrt.system.mapper.shop.ShopMapper;
-import com.hrt.system.service.shop.*;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.hrt.system.service.sys.SysTagService;
-import com.hrt.system.service.user.ISysUserService;
-import com.hrt.system.util.CodeFactoryUtil;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.StringJoiner;
-
-/**
- * <p>
- * 商户表 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements ShopService {
-
-    @Resource
-    private ShopMapper shopMapper;
-
-    @Resource
-    private ShopFileService shopFileService;
-
-    @Resource
-    private ShopCertificateService shopCertificateService;
-
-    @Resource
-    private SysTagService sysTagService;
-
-    @Resource
-    private ShopRelTagService shopRelTagService;
-
-    @Resource
-    private ShopRelUserService shopRelUserService;
-
-    @Resource
-    private ISysUserService sysUserService;
-
-    /**
-     * 获取商户详情
-     * @param shopId
-     * @return
-     */
-    @Override
-    public AppShopInfoVo getAppShopInfo(Long shopId){
-        AppShopInfoVo appShopInfoVo = new AppShopInfoVo();
-        Shop shop = this.getById(shopId);
-        BeanUtils.copyProperties(shop,appShopInfoVo);
-        //商户地址
-        appShopInfoVo.setShopAddress(shop.getShopAreaName()+shop.getShopAddress());
-        //商品图片
-        List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId);
-        String shopPicture = null;
-        StringJoiner shopBanners = new StringJoiner(",");
-        if(shopFileList!=null&&!shopFileList.isEmpty()){
-            for(ShopFile shopFile : shopFileList){
-                if(shopFile.getFileType()==1){
-                    shopPicture = shopFile.getFileUrl();
-                }else{
-                    shopBanners.add(shopFile.getFileUrl());
-                }
-            }
-        }
-        appShopInfoVo.setShopPicture(shopPicture);
-        appShopInfoVo.setShopBanners(shopBanners.toString());
-        //商户证书
-        List<ShopCertificate> shopCertificateList = shopCertificateService.listShopCertificateByShopId(shopId);
-        if(shopCertificateList!=null&&!shopCertificateList.isEmpty()){
-            appShopInfoVo.setShopCertificateList(shopCertificateList);
-        }
-        return appShopInfoVo;
-    }
-
-    /**
-     * 创建商户
-     * @param MGTEditShopDto
-     */
-    @Override
-    public void createShop(MgtEditShopDto MGTEditShopDto){
-        Shop shop = new Shop();
-        if(MGTEditShopDto.getShopId()!=null){
-            shop = this.getById(MGTEditShopDto.getShopId());
-            shop.setUpdateTime(new Date());
-            shop.setUpdateUserId(MGTEditShopDto.getUserId());
-            shop.setShopTags(null);
-            //清空关联记录
-            shopFileService.deleteByShopId(shop.getShopId());
-            shopRelTagService.deleteByShopId(shop.getShopId());
-            shopRelUserService.deleteByShopId(shop.getShopId());
-        }else{
-            shop.setShopStatus(2);
-            shop.setCreateTime(new Date());
-            shop.setCreateUserId(MGTEditShopDto.getUserId());
-        }
-        BeanUtils.copyProperties(MGTEditShopDto,shop);
-        this.saveOrUpdate(shop);
-        //商户编号
-        if(MGTEditShopDto.getShopId()==null){
-            String shopNo = CodeFactoryUtil.getShopNo(shop.getShopId());
-            shop.setShopNumber(shopNo);
-        }
-        //商户标签
-        String shopTagIds = MGTEditShopDto.getShopTagIds();
-        if(StringUtils.isNotBlank(shopTagIds)){
-            String[] shopTagIdArray = shopTagIds.split(",");
-            ShopRelTag shopRelTag;
-            Long tagid;
-            StringJoiner shopTagSj = new StringJoiner(",");
-            SysTag sysTag;
-            for(String str : shopTagIdArray){
-                shopRelTag = new ShopRelTag();
-                tagid = Long.valueOf(str);
-                sysTag = sysTagService.getById(tagid);
-                shopRelTag.setDelFlag(0);
-                shopRelTag.setShopId(shop.getShopId());
-                shopRelTag.setTagId(tagid);
-                shopRelTagService.save(shopRelTag);
-                shopTagSj.add(sysTag.getTagName());
-            }
-            shop.setShopTags(shopTagSj.toString());
-            this.saveOrUpdate(shop);
-        }
-        //商户关联人员
-        String relUserIds = MGTEditShopDto.getRelUserIds();
-        if(StringUtils.isNotBlank(relUserIds)){
-            String[] relUserIdArray = relUserIds.split(",");
-            ShopRelUser shopRelUser;
-            Long userId;
-            SysUser sysUser;
-            for(String str : relUserIdArray){
-                shopRelUser = new ShopRelUser();
-                userId = Long.valueOf(str);
-                sysUser = sysUserService.selectUserById(userId);
-                shopRelUser.setDelFlag(0);
-                shopRelUser.setShopId(shop.getShopId());
-                shopRelUser.setUserId(userId);
-                shopRelUser.setUserName(sysUser.getNickName());
-                shopRelUser.setUserMobile(sysUser.getPhonenumber());
-                shopRelUser.setUserDeptId(sysUser.getDeptId());
-                shopRelUserService.save(shopRelUser);
-            }
-        }
-        //商户封面
-        ShopFile shopFile = new ShopFile();
-        shopFile.setDelFlag(0);
-        shopFile.setFileType(1);
-        shopFile.setFileUrl(MGTEditShopDto.getShopPicture());
-        shopFile.setShopId(shop.getShopId());
-        shopFileService.save(shopFile);
-        //商户banner
-        if(StringUtils.isNotBlank(MGTEditShopDto.getShopBanners())){
-            String shopBanners= MGTEditShopDto.getShopBanners();
-            String[] shopBannerArray = shopBanners.split(",");
-            for(String str : shopBannerArray){
-                shopFile = new ShopFile();
-                shopFile.setDelFlag(0);
-                shopFile.setFileType(2);
-                shopFile.setFileUrl(str);
-                shopFile.setShopId(shop.getShopId());
-                shopFileService.save(shopFile);
-            }
-        }
-    }
-
-    /**
-     * 修改合作时间
-     * @param mgtChangeCoopDto
-     */
-    @Override
-    public void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto){
-        Shop shop = this.getById(mgtChangeCoopDto.getShopId());
-        String coopStartTime = mgtChangeCoopDto.getCoopStartTime();
-        String coopEndTime = mgtChangeCoopDto.getCoopEndTime();
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        try {
-            Date coopStartDate = simpleDateFormat.parse(coopStartTime);
-            Date coopEndDate = simpleDateFormat.parse(coopEndTime);
-            Date nowTime = new Date();
-            shop.setCooperationStartTime(coopStartDate);
-            shop.setCooperationEndTime(coopEndDate);
-            Boolean inTime = false;
-           if(coopStartDate.compareTo(nowTime)<0&&coopEndDate.compareTo(nowTime)>0){
-               inTime = true;
-           }
-           if(shop.getShopStatus()==2&&inTime){
-               shop.setShopStatus(1);
-           }
-           shop.setUpdateTime(nowTime);
-           shop.setUpdateUserId(mgtChangeCoopDto.getUserId());
-           this.saveOrUpdate(shop);
-        } catch (ParseException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 分页获取商户
-     * @param page
-     * @param mgtShopPageDto
-     * @return
-     */
-    @Override
-    public List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto){
-        List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageShop(page, mgtShopPageDto);
-        return mgtShopPageVoList;
-    }
-
-    /**
-     * 获取商户详情
-     * @param shopId
-     * @return
-     */
-    @Override
-    public MgtShopInfoVo getMgtShopInfo(Long shopId){
-        MgtShopInfoVo mgtShopInfoVo = new MgtShopInfoVo();
-        Shop shop = this.getById(shopId);
-        //基本信息拷贝
-        BeanUtils.copyProperties(shop,mgtShopInfoVo);
-        //商户标签
-        List<ShopRelTag> shopRelTagList = shopRelTagService.listShopRelTagByShopId(shopId);
-        if(shopRelTagList!=null&&!shopRelTagList.isEmpty()){
-            StringJoiner shopTagJs = new StringJoiner(",");
-            for(ShopRelTag shopRelTag : shopRelTagList){
-                shopTagJs.add(shopRelTag.getTagId().toString());
-            }
-            mgtShopInfoVo.setShopTagIds(shopTagJs.toString());
-        }
-        //商户关联用户
-        List<ShopRelUser> shopRelUserList = shopRelUserService.listByShopId(shopId);
-        if(shopRelUserList!=null&&!shopRelUserList.isEmpty()){
-            StringJoiner shopUserJs = new StringJoiner(",");
-            StringJoiner shopUserNameJs = new StringJoiner(",");
-            for(ShopRelUser shopRelUser : shopRelUserList){
-                shopUserJs.add(shopRelUser.getUserId().toString());
-                shopUserNameJs.add(shopRelUser.getUserName());
-            }
-            mgtShopInfoVo.setRelUserIds(shopUserJs.toString());
-            mgtShopInfoVo.setRelUsers(shopUserNameJs.toString());
-        }
-        //商户图片
-        List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId);
-        if(shopFileList!=null&&!shopFileList.isEmpty()){
-            StringJoiner shopBannerJs = new StringJoiner(",");
-            for(ShopFile shopFile : shopFileList){
-                if(shopFile.getFileType()==1){
-                    mgtShopInfoVo.setShopPicture(shopFile.getFileUrl());
-                }else{
-                    shopBannerJs.add(shopFile.getFileUrl());
-                }
-            }
-            mgtShopInfoVo.setShopBanners(shopBannerJs.toString());
-        }
-        //商户证书
-        List<ShopCertificate> shopCertificateList = shopCertificateService.listShopCertificateByShopId(shopId);
-        mgtShopInfoVo.setShopCertificateList(shopCertificateList);
-        return mgtShopInfoVo;
-    }
-
-    /**
-     * 修改商户标签
-     * @param mgtEditShopTagDto
-     */
-    @Override
-    public void editShopTag(MgtEditShopTagDto mgtEditShopTagDto){
-        Long shopId = Long.valueOf(mgtEditShopTagDto.getId());
-        String shopTagIds = mgtEditShopTagDto.getShopTagIds();
-        String shopTags = null;
-        //删除以前的标签
-        shopRelTagService.deleteByShopId(shopId);
-        if(StringUtils.isNotBlank(shopTagIds)){
-            ShopRelTag shopRelTag;
-            SysTag sysTag;
-            Long tagId;
-            String[] shopTagIdArray = shopTagIds.split(",");
-            StringJoiner shopTagSj = new StringJoiner(",");
-            for(String str : shopTagIdArray){
-                tagId = Long.valueOf(str);
-                sysTag = sysTagService.getById(tagId);
-                shopRelTag = new ShopRelTag();
-                shopRelTag.setDelFlag(0);
-                shopRelTag.setShopId(shopId);
-                shopRelTag.setTagId(tagId);
-                shopRelTagService.save(shopRelTag);
-                shopTagSj.add(sysTag.getTagName());
-            }
-            shopTags = shopTagSj.toString();
-        }
-        Shop shop = this.getById(shopId);
-        shop.setShopTags(shopTags);
-        this.saveOrUpdate(shop);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTaskServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTaskServiceImpl.java
deleted file mode 100644
index ac7b5eb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTaskServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.shop.ShopTask;
-import com.hrt.system.mapper.shop.ShopTaskMapper;
-import com.hrt.system.service.shop.ShopTaskService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 商户跟进任务 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopTaskServiceImpl extends ServiceImpl<ShopTaskMapper, ShopTask> implements ShopTaskService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTransferRecordServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTransferRecordServiceImpl.java
deleted file mode 100644
index 041c89e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopTransferRecordServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.shop.ShopTransferRecord;
-import com.hrt.system.mapper.shop.ShopTransferRecordMapper;
-import com.hrt.system.service.shop.ShopTransferRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 商户员工转移记录 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShopTransferRecordServiceImpl extends ServiceImpl<ShopTransferRecordMapper, ShopTransferRecord> implements ShopTransferRecordService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShoppingCartServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShoppingCartServiceImpl.java
deleted file mode 100644
index aa57b32..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShoppingCartServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.order.ShoppingCart;
-import com.hrt.system.mapper.order.ShoppingCartMapper;
-import com.hrt.system.service.order.ShoppingCartService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 购物车 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, ShoppingCart> implements ShoppingCartService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysClassificationServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysClassificationServiceImpl.java
deleted file mode 100644
index 36f0b56..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysClassificationServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.sys.SysClassification;
-import com.hrt.system.mapper.sys.SysClassificationMapper;
-import com.hrt.system.service.sys.SysClassificationService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 分类 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Service
-public class SysClassificationServiceImpl extends ServiceImpl<SysClassificationMapper, SysClassification> implements SysClassificationService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysConfigServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysConfigServiceImpl.java
deleted file mode 100644
index d78b743..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysConfigServiceImpl.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.Collection;
-import java.util.List;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-
-import com.hrt.system.domain.poji.sys.SysConfig;
-import org.springframework.stereotype.Service;
-import com.hrt.common.core.constant.CacheConstants;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.redis.service.RedisService;
-import com.hrt.system.mapper.sys.SysConfigMapper;
-import com.hrt.system.service.sys.ISysConfigService;
-
-/**
- * 参数配置 服务层实现
- * 
- * @author jqs
- */
-@Service
-public class SysConfigServiceImpl implements ISysConfigService
-{
-    @Resource
-    private SysConfigMapper configMapper;
-
-    @Resource
-    private RedisService redisService;
-
-    /**
-     * 项目启动时,初始化参数到缓存
-     */
-    @PostConstruct
-    public void init()
-    {
-        loadingConfigCache();
-    }
-
-    /**
-     * 查询参数配置信息
-     * 
-     * @param configId 参数配置ID
-     * @return 参数配置信息
-     */
-    @Override
-    public SysConfig selectConfigById(Long configId)
-    {
-        SysConfig config = new SysConfig();
-        config.setConfigId(configId);
-        return configMapper.selectConfig(config);
-    }
-
-    /**
-     * 根据键名查询参数配置信息
-     * 
-     * @param configKey 参数key
-     * @return 参数键值
-     */
-    @Override
-    public String selectConfigByKey(String configKey)
-    {
-        String configValue = Convert.toStr(redisService.getCacheObject(getCacheKey(configKey)));
-        if (StringUtils.isNotEmpty(configValue))
-        {
-            return configValue;
-        }
-        SysConfig config = new SysConfig();
-        config.setConfigKey(configKey);
-        SysConfig retConfig = configMapper.selectConfig(config);
-        if (StringUtils.isNotNull(retConfig))
-        {
-            redisService.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue());
-            return retConfig.getConfigValue();
-        }
-        return StringUtils.EMPTY;
-    }
-
-    /**
-     * 查询参数配置列表
-     * 
-     * @param config 参数配置信息
-     * @return 参数配置集合
-     */
-    @Override
-    public List<SysConfig> selectConfigList(SysConfig config)
-    {
-        return configMapper.selectConfigList(config);
-    }
-
-    /**
-     * 新增参数配置
-     * 
-     * @param config 参数配置信息
-     * @return 结果
-     */
-    @Override
-    public int insertConfig(SysConfig config)
-    {
-        int row = configMapper.insertConfig(config);
-        if (row > 0)
-        {
-            redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
-        }
-        return row;
-    }
-
-    /**
-     * 修改参数配置
-     * 
-     * @param config 参数配置信息
-     * @return 结果
-     */
-    @Override
-    public int updateConfig(SysConfig config)
-    {
-        SysConfig temp = configMapper.selectConfigById(config.getConfigId());
-        if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey()))
-        {
-            redisService.deleteObject(getCacheKey(temp.getConfigKey()));
-        }
-
-        int row = configMapper.updateConfig(config);
-        if (row > 0)
-        {
-            redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
-        }
-        return row;
-    }
-
-    /**
-     * 批量删除参数信息
-     * 
-     * @param configIds 需要删除的参数ID
-     */
-    @Override
-    public void deleteConfigByIds(Long[] configIds)
-    {
-        for (Long configId : configIds)
-        {
-            SysConfig config = selectConfigById(configId);
-            if (StringUtils.equals(UserConstants.YES, config.getConfigType()))
-            {
-                throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey()));
-            }
-            configMapper.deleteConfigById(configId);
-            redisService.deleteObject(getCacheKey(config.getConfigKey()));
-        }
-    }
-
-    /**
-     * 加载参数缓存数据
-     */
-    @Override
-    public void loadingConfigCache()
-    {
-        List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig());
-        for (SysConfig config : configsList)
-        {
-            redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
-        }
-    }
-
-    /**
-     * 清空参数缓存数据
-     */
-    @Override
-    public void clearConfigCache()
-    {
-        Collection<String> keys = redisService.keys(CacheConstants.SYS_CONFIG_KEY + "*");
-        redisService.deleteObject(keys);
-    }
-
-    /**
-     * 重置参数缓存数据
-     */
-    @Override
-    public void resetConfigCache()
-    {
-        clearConfigCache();
-        loadingConfigCache();
-    }
-
-    /**
-     * 校验参数键名是否唯一
-     * 
-     * @param config 参数配置信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkConfigKeyUnique(SysConfig config)
-    {
-        Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId();
-        SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey());
-        if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 设置cache key
-     * 
-     * @param configKey 参数键
-     * @return 缓存键key
-     */
-    private String getCacheKey(String configKey)
-    {
-        return CacheConstants.SYS_CONFIG_KEY + configKey;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDeptServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDeptServiceImpl.java
deleted file mode 100644
index 34e8f82..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDeptServiceImpl.java
+++ /dev/null
@@ -1,340 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import com.hrt.system.domain.vo.TreeSelect;
-import com.hrt.system.mapper.user.SysRoleMapper;
-import org.springframework.stereotype.Service;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.text.Convert;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.datascope.annotation.DataScope;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysDept;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.mapper.user.SysDeptMapper;
-import com.hrt.system.service.user.ISysDeptService;
-
-import javax.annotation.Resource;
-
-/**
- * 部门管理 服务实现
- * 
- * @author jqs
- */
-@Service
-public class SysDeptServiceImpl implements ISysDeptService
-{
-    @Resource
-    private SysDeptMapper deptMapper;
-
-    @Resource
-    private SysRoleMapper roleMapper;
-
-    /**
-     * 查询部门管理数据
-     * 
-     * @param dept 部门信息
-     * @return 部门信息集合
-     */
-    @Override
-    @DataScope(deptAlias = "d")
-    public List<SysDept> selectDeptList(SysDept dept)
-    {
-        return deptMapper.selectDeptList(dept);
-    }
-
-    /**
-     * 查询部门树结构信息
-     * 
-     * @param dept 部门信息
-     * @return 部门树信息集合
-     */
-    @Override
-    public List<TreeSelect> selectDeptTreeList(SysDept dept)
-    {
-        List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
-        return buildDeptTreeSelect(depts);
-    }
-
-    /**
-     * 构建前端所需要树结构
-     * 
-     * @param depts 部门列表
-     * @return 树结构列表
-     */
-    @Override
-    public List<SysDept> buildDeptTree(List<SysDept> depts)
-    {
-        List<SysDept> returnList = new ArrayList<SysDept>();
-        List<Long> tempList = depts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
-        for (SysDept dept : depts)
-        {
-            // 如果是顶级节点, 遍历该父节点的所有子节点
-            if (!tempList.contains(dept.getParentId()))
-            {
-                recursionFn(depts, dept);
-                returnList.add(dept);
-            }
-        }
-        if (returnList.isEmpty())
-        {
-            returnList = depts;
-        }
-        return returnList;
-    }
-
-    /**
-     * 构建前端所需要下拉树结构
-     * 
-     * @param depts 部门列表
-     * @return 下拉树结构列表
-     */
-    @Override
-    public List<TreeSelect> buildDeptTreeSelect(List<SysDept> depts)
-    {
-        List<SysDept> deptTrees = buildDeptTree(depts);
-        return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
-    }
-
-    /**
-     * 根据角色ID查询部门树信息
-     * 
-     * @param roleId 角色ID
-     * @return 选中部门列表
-     */
-    @Override
-    public List<Long> selectDeptListByRoleId(Long roleId)
-    {
-        SysRole role = roleMapper.selectRoleById(roleId);
-        return deptMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly());
-    }
-
-    /**
-     * 根据部门ID查询信息
-     * 
-     * @param deptId 部门ID
-     * @return 部门信息
-     */
-    @Override
-    public SysDept selectDeptById(Long deptId)
-    {
-        return deptMapper.selectDeptById(deptId);
-    }
-
-    /**
-     * 根据ID查询所有子部门(正常状态)
-     * 
-     * @param deptId 部门ID
-     * @return 子部门数
-     */
-    @Override
-    public int selectNormalChildrenDeptById(Long deptId)
-    {
-        return deptMapper.selectNormalChildrenDeptById(deptId);
-    }
-
-    /**
-     * 是否存在子节点
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    @Override
-    public boolean hasChildByDeptId(Long deptId)
-    {
-        int result = deptMapper.hasChildByDeptId(deptId);
-        return result > 0;
-    }
-
-    /**
-     * 查询部门是否存在用户
-     * 
-     * @param deptId 部门ID
-     * @return 结果 true 存在 false 不存在
-     */
-    @Override
-    public boolean checkDeptExistUser(Long deptId)
-    {
-        int result = deptMapper.checkDeptExistUser(deptId);
-        return result > 0;
-    }
-
-    /**
-     * 校验部门名称是否唯一
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkDeptNameUnique(SysDept dept)
-    {
-        Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
-        SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId());
-        if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 校验部门是否有数据权限
-     * 
-     * @param deptId 部门id
-     */
-    @Override
-    public void checkDeptDataScope(Long deptId)
-    {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId()))
-        {
-            SysDept dept = new SysDept();
-            dept.setDeptId(deptId);
-            List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
-            if (StringUtils.isEmpty(depts))
-            {
-                throw new ServiceException("没有权限访问部门数据!");
-            }
-        }
-    }
-
-    /**
-     * 新增保存部门信息
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    @Override
-    public int insertDept(SysDept dept)
-    {
-        SysDept info = deptMapper.selectDeptById(dept.getParentId());
-        // 如果父节点不为正常状态,则不允许新增子节点
-        if (!UserConstants.DEPT_NORMAL.equals(info.getStatus()))
-        {
-            throw new ServiceException("部门停用,不允许新增");
-        }
-        dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
-        return deptMapper.insertDept(dept);
-    }
-
-    /**
-     * 修改保存部门信息
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    @Override
-    public int updateDept(SysDept dept)
-    {
-        SysDept newParentDept = deptMapper.selectDeptById(dept.getParentId());
-        SysDept oldDept = deptMapper.selectDeptById(dept.getDeptId());
-        if (StringUtils.isNotNull(newParentDept) && StringUtils.isNotNull(oldDept))
-        {
-            String newAncestors = newParentDept.getAncestors() + "," + newParentDept.getDeptId();
-            String oldAncestors = oldDept.getAncestors();
-            dept.setAncestors(newAncestors);
-            updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors);
-        }
-        int result = deptMapper.updateDept(dept);
-        if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors())
-                && !StringUtils.equals("0", dept.getAncestors()))
-        {
-            // 如果该部门是启用状态,则启用该部门的所有上级部门
-            updateParentDeptStatusNormal(dept);
-        }
-        return result;
-    }
-
-    /**
-     * 修改该部门的父级部门状态
-     * 
-     * @param dept 当前部门
-     */
-    private void updateParentDeptStatusNormal(SysDept dept)
-    {
-        String ancestors = dept.getAncestors();
-        Long[] deptIds = Convert.toLongArray(ancestors);
-        deptMapper.updateDeptStatusNormal(deptIds);
-    }
-
-    /**
-     * 修改子元素关系
-     * 
-     * @param deptId 被修改的部门ID
-     * @param newAncestors 新的父ID集合
-     * @param oldAncestors 旧的父ID集合
-     */
-    public void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors)
-    {
-        List<SysDept> children = deptMapper.selectChildrenDeptById(deptId);
-        for (SysDept child : children)
-        {
-            child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
-        }
-        if (children.size() > 0)
-        {
-            deptMapper.updateDeptChildren(children);
-        }
-    }
-
-    /**
-     * 删除部门管理信息
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    @Override
-    public int deleteDeptById(Long deptId)
-    {
-        return deptMapper.deleteDeptById(deptId);
-    }
-
-    /**
-     * 递归列表
-     */
-    private void recursionFn(List<SysDept> list, SysDept t)
-    {
-        // 得到子节点列表
-        List<SysDept> childList = getChildList(list, t);
-        t.setChildren(childList);
-        for (SysDept tChild : childList)
-        {
-            if (hasChild(list, tChild))
-            {
-                recursionFn(list, tChild);
-            }
-        }
-    }
-
-    /**
-     * 得到子节点列表
-     */
-    private List<SysDept> getChildList(List<SysDept> list, SysDept t)
-    {
-        List<SysDept> tlist = new ArrayList<SysDept>();
-        Iterator<SysDept> it = list.iterator();
-        while (it.hasNext())
-        {
-            SysDept n = (SysDept) it.next();
-            if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue())
-            {
-                tlist.add(n);
-            }
-        }
-        return tlist;
-    }
-
-    /**
-     * 判断是否有子节点
-     */
-    private boolean hasChild(List<SysDept> list, SysDept t)
-    {
-        return getChildList(list, t).size() > 0 ? true : false;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictDataServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictDataServiceImpl.java
deleted file mode 100644
index 775f6e2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictDataServiceImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.List;
-
-import com.hrt.system.mapper.sys.SysDictDataMapper;
-import org.springframework.stereotype.Service;
-import com.hrt.common.security.utils.DictUtils;
-import com.hrt.system.api.domain.SysDictData;
-import com.hrt.system.service.sys.ISysDictDataService;
-
-import javax.annotation.Resource;
-
-/**
- * 字典 业务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysDictDataServiceImpl implements ISysDictDataService
-{
-    @Resource
-    private SysDictDataMapper dictDataMapper;
-
-    /**
-     * 根据条件分页查询字典数据
-     * 
-     * @param dictData 字典数据信息
-     * @return 字典数据集合信息
-     */
-    @Override
-    public List<SysDictData> selectDictDataList(SysDictData dictData)
-    {
-        return dictDataMapper.selectDictDataList(dictData);
-    }
-
-    /**
-     * 根据字典类型和字典键值查询字典数据信息
-     * 
-     * @param dictType 字典类型
-     * @param dictValue 字典键值
-     * @return 字典标签
-     */
-    @Override
-    public String selectDictLabel(String dictType, String dictValue)
-    {
-        return dictDataMapper.selectDictLabel(dictType, dictValue);
-    }
-
-    /**
-     * 根据字典数据ID查询信息
-     * 
-     * @param dictCode 字典数据ID
-     * @return 字典数据
-     */
-    @Override
-    public SysDictData selectDictDataById(Long dictCode)
-    {
-        return dictDataMapper.selectDictDataById(dictCode);
-    }
-
-    /**
-     * 批量删除字典数据信息
-     * 
-     * @param dictCodes 需要删除的字典数据ID
-     */
-    @Override
-    public void deleteDictDataByIds(Long[] dictCodes)
-    {
-        for (Long dictCode : dictCodes)
-        {
-            SysDictData data = selectDictDataById(dictCode);
-            dictDataMapper.deleteDictDataById(dictCode);
-            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType());
-            DictUtils.setDictCache(data.getDictType(), dictDatas);
-        }
-    }
-
-    /**
-     * 新增保存字典数据信息
-     * 
-     * @param data 字典数据信息
-     * @return 结果
-     */
-    @Override
-    public int insertDictData(SysDictData data)
-    {
-        int row = dictDataMapper.insertDictData(data);
-        if (row > 0)
-        {
-            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType());
-            DictUtils.setDictCache(data.getDictType(), dictDatas);
-        }
-        return row;
-    }
-
-    /**
-     * 修改保存字典数据信息
-     * 
-     * @param data 字典数据信息
-     * @return 结果
-     */
-    @Override
-    public int updateDictData(SysDictData data)
-    {
-        int row = dictDataMapper.updateDictData(data);
-        if (row > 0)
-        {
-            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType());
-            DictUtils.setDictCache(data.getDictType(), dictDatas);
-        }
-        return row;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictTypeServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictTypeServiceImpl.java
deleted file mode 100644
index 5430980..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysDictTypeServiceImpl.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-
-import com.hrt.system.mapper.sys.SysDictDataMapper;
-import com.hrt.system.mapper.sys.SysDictTypeMapper;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.security.utils.DictUtils;
-import com.hrt.system.api.domain.SysDictData;
-import com.hrt.system.api.domain.SysDictType;
-import com.hrt.system.service.sys.ISysDictTypeService;
-
-/**
- * 字典 业务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysDictTypeServiceImpl implements ISysDictTypeService
-{
-    @Resource
-    private SysDictTypeMapper dictTypeMapper;
-
-    @Resource
-    private SysDictDataMapper dictDataMapper;
-
-    /**
-     * 项目启动时,初始化字典到缓存
-     */
-    @PostConstruct
-    public void init()
-    {
-        loadingDictCache();
-    }
-
-    /**
-     * 根据条件分页查询字典类型
-     * 
-     * @param dictType 字典类型信息
-     * @return 字典类型集合信息
-     */
-    @Override
-    public List<SysDictType> selectDictTypeList(SysDictType dictType)
-    {
-        return dictTypeMapper.selectDictTypeList(dictType);
-    }
-
-    /**
-     * 根据所有字典类型
-     * 
-     * @return 字典类型集合信息
-     */
-    @Override
-    public List<SysDictType> selectDictTypeAll()
-    {
-        return dictTypeMapper.selectDictTypeAll();
-    }
-
-    /**
-     * 根据字典类型查询字典数据
-     * 
-     * @param dictType 字典类型
-     * @return 字典数据集合信息
-     */
-    @Override
-    public List<SysDictData> selectDictDataByType(String dictType)
-    {
-        List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
-        if (StringUtils.isNotEmpty(dictDatas))
-        {
-            return dictDatas;
-        }
-        dictDatas = dictDataMapper.selectDictDataByType(dictType);
-        if (StringUtils.isNotEmpty(dictDatas))
-        {
-            DictUtils.setDictCache(dictType, dictDatas);
-            return dictDatas;
-        }
-        return null;
-    }
-
-    /**
-     * 根据字典类型ID查询信息
-     * 
-     * @param dictId 字典类型ID
-     * @return 字典类型
-     */
-    @Override
-    public SysDictType selectDictTypeById(Long dictId)
-    {
-        return dictTypeMapper.selectDictTypeById(dictId);
-    }
-
-    /**
-     * 根据字典类型查询信息
-     * 
-     * @param dictType 字典类型
-     * @return 字典类型
-     */
-    @Override
-    public SysDictType selectDictTypeByType(String dictType)
-    {
-        return dictTypeMapper.selectDictTypeByType(dictType);
-    }
-
-    /**
-     * 批量删除字典类型信息
-     * 
-     * @param dictIds 需要删除的字典ID
-     */
-    @Override
-    public void deleteDictTypeByIds(Long[] dictIds)
-    {
-        for (Long dictId : dictIds)
-        {
-            SysDictType dictType = selectDictTypeById(dictId);
-            if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0)
-            {
-                throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName()));
-            }
-            dictTypeMapper.deleteDictTypeById(dictId);
-            DictUtils.removeDictCache(dictType.getDictType());
-        }
-    }
-
-    /**
-     * 加载字典缓存数据
-     */
-    @Override
-    public void loadingDictCache()
-    {
-        SysDictData dictData = new SysDictData();
-        dictData.setStatus("0");
-        Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
-        for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet())
-        {
-            DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList()));
-        }
-    }
-
-    /**
-     * 清空字典缓存数据
-     */
-    @Override
-    public void clearDictCache()
-    {
-        DictUtils.clearDictCache();
-    }
-
-    /**
-     * 重置字典缓存数据
-     */
-    @Override
-    public void resetDictCache()
-    {
-        clearDictCache();
-        loadingDictCache();
-    }
-
-    /**
-     * 新增保存字典类型信息
-     * 
-     * @param dict 字典类型信息
-     * @return 结果
-     */
-    @Override
-    public int insertDictType(SysDictType dict)
-    {
-        int row = dictTypeMapper.insertDictType(dict);
-        if (row > 0)
-        {
-            DictUtils.setDictCache(dict.getDictType(), null);
-        }
-        return row;
-    }
-
-    /**
-     * 修改保存字典类型信息
-     * 
-     * @param dict 字典类型信息
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int updateDictType(SysDictType dict)
-    {
-        SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId());
-        dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType());
-        int row = dictTypeMapper.updateDictType(dict);
-        if (row > 0)
-        {
-            List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType());
-            DictUtils.setDictCache(dict.getDictType(), dictDatas);
-        }
-        return row;
-    }
-
-    /**
-     * 校验字典类型称是否唯一
-     * 
-     * @param dict 字典类型
-     * @return 结果
-     */
-    @Override
-    public boolean checkDictTypeUnique(SysDictType dict)
-    {
-        Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
-        SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType());
-        if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysLogininforServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysLogininforServiceImpl.java
deleted file mode 100644
index 5bb84ff..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysLogininforServiceImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.List;
-
-import com.hrt.system.mapper.user.SysLogininforMapper;
-import org.springframework.stereotype.Service;
-import com.hrt.system.api.domain.SysLogininfor;
-import com.hrt.system.service.user.ISysLogininforService;
-
-import javax.annotation.Resource;
-
-/**
- * 系统访问日志情况信息 服务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysLogininforServiceImpl implements ISysLogininforService
-{
-
-    @Resource
-    private SysLogininforMapper logininforMapper;
-
-    /**
-     * 新增系统登录日志
-     * 
-     * @param logininfor 访问日志对象
-     */
-    @Override
-    public int insertLogininfor(SysLogininfor logininfor)
-    {
-        return logininforMapper.insertLogininfor(logininfor);
-    }
-
-    /**
-     * 查询系统登录日志集合
-     * 
-     * @param logininfor 访问日志对象
-     * @return 登录记录集合
-     */
-    @Override
-    public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor)
-    {
-        return logininforMapper.selectLogininforList(logininfor);
-    }
-
-    /**
-     * 批量删除系统登录日志
-     * 
-     * @param infoIds 需要删除的登录日志ID
-     * @return 结果
-     */
-    @Override
-    public int deleteLogininforByIds(Long[] infoIds)
-    {
-        return logininforMapper.deleteLogininforByIds(infoIds);
-    }
-
-    /**
-     * 清空系统登录日志
-     */
-    @Override
-    public void cleanLogininfor()
-    {
-        logininforMapper.cleanLogininfor();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysMenuServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysMenuServiceImpl.java
deleted file mode 100644
index 312e32d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysMenuServiceImpl.java
+++ /dev/null
@@ -1,533 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import com.hrt.system.domain.poji.user.SysMenu;
-import com.hrt.system.domain.vo.MetaVo;
-import com.hrt.system.domain.vo.RouterVo;
-import com.hrt.system.domain.vo.TreeSelect;
-import com.hrt.system.mapper.user.SysMenuMapper;
-import com.hrt.system.mapper.user.SysRoleMapper;
-import com.hrt.system.mapper.user.SysRoleMenuMapper;
-import org.springframework.stereotype.Service;
-import com.hrt.common.core.constant.Constants;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.service.user.ISysMenuService;
-
-import javax.annotation.Resource;
-
-/**
- * 菜单 业务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysMenuServiceImpl implements ISysMenuService
-{
-    public static final String PREMISSION_STRING = "perms[\"{0}\"]";
-
-    @Resource
-    private SysMenuMapper menuMapper;
-
-    @Resource
-    private SysRoleMapper roleMapper;
-
-    @Resource
-    private SysRoleMenuMapper roleMenuMapper;
-
-    /**
-     * 根据用户查询系统菜单列表
-     * 
-     * @param userId 用户ID
-     * @return 菜单列表
-     */
-    @Override
-    public List<SysMenu> selectMenuList(Long userId)
-    {
-        return selectMenuList(new SysMenu(), userId);
-    }
-
-    /**
-     * 查询系统菜单列表
-     * 
-     * @param menu 菜单信息
-     * @return 菜单列表
-     */
-    @Override
-    public List<SysMenu> selectMenuList(SysMenu menu, Long userId)
-    {
-        List<SysMenu> menuList = null;
-        // 管理员显示所有菜单信息
-        if (SysUser.isAdmin(userId))
-        {
-            menuList = menuMapper.selectMenuList(menu);
-        }
-        else
-        {
-            menu.getParams().put("userId", userId);
-            menuList = menuMapper.selectMenuListByUserId(menu);
-        }
-        return menuList;
-    }
-
-    /**
-     * 根据用户ID查询权限
-     * 
-     * @param userId 用户ID
-     * @return 权限列表
-     */
-    @Override
-    public Set<String> selectMenuPermsByUserId(Long userId)
-    {
-        List<String> perms = menuMapper.selectMenuPermsByUserId(userId);
-        Set<String> permsSet = new HashSet<>();
-        for (String perm : perms)
-        {
-            if (StringUtils.isNotEmpty(perm))
-            {
-                permsSet.addAll(Arrays.asList(perm.trim().split(",")));
-            }
-        }
-        return permsSet;
-    }
-
-    /**
-     * 根据角色ID查询权限
-     * 
-     * @param roleId 角色ID
-     * @return 权限列表
-     */
-    @Override
-    public Set<String> selectMenuPermsByRoleId(Long roleId)
-    {
-        List<String> perms = menuMapper.selectMenuPermsByRoleId(roleId);
-        Set<String> permsSet = new HashSet<>();
-        for (String perm : perms)
-        {
-            if (StringUtils.isNotEmpty(perm))
-            {
-                permsSet.addAll(Arrays.asList(perm.trim().split(",")));
-            }
-        }
-        return permsSet;
-    }
-
-    /**
-     * 根据用户ID查询菜单
-     * 
-     * @param userId 用户名称
-     * @return 菜单列表
-     */
-    @Override
-    public List<SysMenu> selectMenuTreeByUserId(Long userId)
-    {
-        List<SysMenu> menus = null;
-        if (SecurityUtils.isAdmin(userId))
-        {
-            menus = menuMapper.selectMenuTreeAll();
-        }
-        else
-        {
-            menus = menuMapper.selectMenuTreeByUserId(userId);
-        }
-        return getChildPerms(menus, 0);
-    }
-
-    /**
-     * 根据角色ID查询菜单树信息
-     * 
-     * @param roleId 角色ID
-     * @return 选中菜单列表
-     */
-    @Override
-    public List<Long> selectMenuListByRoleId(Long roleId)
-    {
-        SysRole role = roleMapper.selectRoleById(roleId);
-        return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
-    }
-
-    /**
-     * 构建前端路由所需要的菜单
-     * 
-     * @param menus 菜单列表
-     * @return 路由列表
-     */
-    @Override
-    public List<RouterVo> buildMenus(List<SysMenu> menus)
-    {
-        List<RouterVo> routers = new LinkedList<RouterVo>();
-        for (SysMenu menu : menus)
-        {
-            RouterVo router = new RouterVo();
-            router.setHidden("1".equals(menu.getVisible()));
-            router.setName(getRouteName(menu));
-            router.setPath(getRouterPath(menu));
-            router.setComponent(getComponent(menu));
-            router.setQuery(menu.getQuery());
-            router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
-            List<SysMenu> cMenus = menu.getChildren();
-            if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()))
-            {
-                router.setAlwaysShow(true);
-                router.setRedirect("noRedirect");
-                router.setChildren(buildMenus(cMenus));
-            }
-            else if (isMenuFrame(menu))
-            {
-                router.setMeta(null);
-                List<RouterVo> childrenList = new ArrayList<RouterVo>();
-                RouterVo children = new RouterVo();
-                children.setPath(menu.getPath());
-                children.setComponent(menu.getComponent());
-                children.setName(StringUtils.capitalize(menu.getPath()));
-                children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
-                children.setQuery(menu.getQuery());
-                childrenList.add(children);
-                router.setChildren(childrenList);
-            }
-            else if (menu.getParentId().intValue() == 0 && isInnerLink(menu))
-            {
-                router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon()));
-                router.setPath("/");
-                List<RouterVo> childrenList = new ArrayList<RouterVo>();
-                RouterVo children = new RouterVo();
-                String routerPath = innerLinkReplaceEach(menu.getPath());
-                children.setPath(routerPath);
-                children.setComponent(UserConstants.INNER_LINK);
-                children.setName(StringUtils.capitalize(routerPath));
-                children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath()));
-                childrenList.add(children);
-                router.setChildren(childrenList);
-            }
-            routers.add(router);
-        }
-        return routers;
-    }
-
-    /**
-     * 构建前端所需要树结构
-     * 
-     * @param menus 菜单列表
-     * @return 树结构列表
-     */
-    @Override
-    public List<SysMenu> buildMenuTree(List<SysMenu> menus)
-    {
-        List<SysMenu> returnList = new ArrayList<SysMenu>();
-        List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList());
-        for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext();)
-        {
-            SysMenu menu = (SysMenu) iterator.next();
-            // 如果是顶级节点, 遍历该父节点的所有子节点
-            if (!tempList.contains(menu.getParentId()))
-            {
-                recursionFn(menus, menu);
-                returnList.add(menu);
-            }
-        }
-        if (returnList.isEmpty())
-        {
-            returnList = menus;
-        }
-        return returnList;
-    }
-
-    /**
-     * 构建前端所需要下拉树结构
-     * 
-     * @param menus 菜单列表
-     * @return 下拉树结构列表
-     */
-    @Override
-    public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus)
-    {
-        List<SysMenu> menuTrees = buildMenuTree(menus);
-        return menuTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
-    }
-
-    /**
-     * 根据菜单ID查询信息
-     * 
-     * @param menuId 菜单ID
-     * @return 菜单信息
-     */
-    @Override
-    public SysMenu selectMenuById(Long menuId)
-    {
-        return menuMapper.selectMenuById(menuId);
-    }
-
-    /**
-     * 是否存在菜单子节点
-     * 
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    @Override
-    public boolean hasChildByMenuId(Long menuId)
-    {
-        int result = menuMapper.hasChildByMenuId(menuId);
-        return result > 0;
-    }
-
-    /**
-     * 查询菜单使用数量
-     * 
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    @Override
-    public boolean checkMenuExistRole(Long menuId)
-    {
-        int result = roleMenuMapper.checkMenuExistRole(menuId);
-        return result > 0;
-    }
-
-    /**
-     * 新增保存菜单信息
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    @Override
-    public int insertMenu(SysMenu menu)
-    {
-        return menuMapper.insertMenu(menu);
-    }
-
-    /**
-     * 修改保存菜单信息
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    @Override
-    public int updateMenu(SysMenu menu)
-    {
-        return menuMapper.updateMenu(menu);
-    }
-
-    /**
-     * 删除菜单管理信息
-     * 
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    @Override
-    public int deleteMenuById(Long menuId)
-    {
-        return menuMapper.deleteMenuById(menuId);
-    }
-
-    /**
-     * 校验菜单名称是否唯一
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkMenuNameUnique(SysMenu menu)
-    {
-        Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
-        SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId());
-        if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 获取路由名称
-     * 
-     * @param menu 菜单信息
-     * @return 路由名称
-     */
-    public String getRouteName(SysMenu menu)
-    {
-        String routerName = StringUtils.capitalize(menu.getPath());
-        // 非外链并且是一级目录(类型为目录)
-        if (isMenuFrame(menu))
-        {
-            routerName = StringUtils.EMPTY;
-        }
-        return routerName;
-    }
-
-    /**
-     * 获取路由地址
-     * 
-     * @param menu 菜单信息
-     * @return 路由地址
-     */
-    public String getRouterPath(SysMenu menu)
-    {
-        String routerPath = menu.getPath();
-        // 内链打开外网方式
-        if (menu.getParentId().intValue() != 0 && isInnerLink(menu))
-        {
-            routerPath = innerLinkReplaceEach(routerPath);
-        }
-        // 非外链并且是一级目录(类型为目录)
-        if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType())
-                && UserConstants.NO_FRAME.equals(menu.getIsFrame()))
-        {
-            routerPath = "/" + menu.getPath();
-        }
-        // 非外链并且是一级目录(类型为菜单)
-        else if (isMenuFrame(menu))
-        {
-            routerPath = "/";
-        }
-        return routerPath;
-    }
-
-    /**
-     * 获取组件信息
-     * 
-     * @param menu 菜单信息
-     * @return 组件信息
-     */
-    public String getComponent(SysMenu menu)
-    {
-        String component = UserConstants.LAYOUT;
-        if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu))
-        {
-            component = menu.getComponent();
-        }
-        else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu))
-        {
-            component = UserConstants.INNER_LINK;
-        }
-        else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu))
-        {
-            component = UserConstants.PARENT_VIEW;
-        }
-        return component;
-    }
-
-    /**
-     * 是否为菜单内部跳转
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public boolean isMenuFrame(SysMenu menu)
-    {
-        return menu.getParentId().intValue() == 0 && UserConstants.TYPE_MENU.equals(menu.getMenuType())
-                && menu.getIsFrame().equals(UserConstants.NO_FRAME);
-    }
-
-    /**
-     * 是否为内链组件
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public boolean isInnerLink(SysMenu menu)
-    {
-        return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath());
-    }
-
-    /**
-     * 是否为parent_view组件
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public boolean isParentView(SysMenu menu)
-    {
-        return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType());
-    }
-
-    /**
-     * 根据父节点的ID获取所有子节点
-     * 
-     * @param list 分类表
-     * @param parentId 传入的父节点ID
-     * @return String
-     */
-    public List<SysMenu> getChildPerms(List<SysMenu> list, int parentId)
-    {
-        List<SysMenu> returnList = new ArrayList<SysMenu>();
-        for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext();)
-        {
-            SysMenu t = (SysMenu) iterator.next();
-            // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
-            if (t.getParentId() == parentId)
-            {
-                recursionFn(list, t);
-                returnList.add(t);
-            }
-        }
-        return returnList;
-    }
-
-    /**
-     * 递归列表
-     * 
-     * @param list
-     * @param t
-     */
-    private void recursionFn(List<SysMenu> list, SysMenu t)
-    {
-        // 得到子节点列表
-        List<SysMenu> childList = getChildList(list, t);
-        t.setChildren(childList);
-        for (SysMenu tChild : childList)
-        {
-            if (hasChild(list, tChild))
-            {
-                recursionFn(list, tChild);
-            }
-        }
-    }
-
-    /**
-     * 得到子节点列表
-     */
-    private List<SysMenu> getChildList(List<SysMenu> list, SysMenu t)
-    {
-        List<SysMenu> tlist = new ArrayList<SysMenu>();
-        Iterator<SysMenu> it = list.iterator();
-        while (it.hasNext())
-        {
-            SysMenu n = (SysMenu) it.next();
-            if (n.getParentId().longValue() == t.getMenuId().longValue())
-            {
-                tlist.add(n);
-            }
-        }
-        return tlist;
-    }
-
-    /**
-     * 判断是否有子节点
-     */
-    private boolean hasChild(List<SysMenu> list, SysMenu t)
-    {
-        return getChildList(list, t).size() > 0;
-    }
-
-    /**
-     * 内链域名特殊字符替换
-     * 
-     * @return
-     */
-    public String innerLinkReplaceEach(String path)
-    {
-        return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, "." },
-                new String[] { "", "", "", "/" });
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysNoticeServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysNoticeServiceImpl.java
deleted file mode 100644
index 53042a9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysNoticeServiceImpl.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.List;
-
-import com.hrt.system.domain.poji.sys.SysNotice;
-import com.hrt.system.mapper.sys.SysNoticeMapper;
-import org.springframework.stereotype.Service;
-import com.hrt.system.service.sys.ISysNoticeService;
-
-import javax.annotation.Resource;
-
-/**
- * 公告 服务层实现
- * 
- * @author jqs
- */
-@Service
-public class SysNoticeServiceImpl implements ISysNoticeService
-{
-    @Resource
-    private SysNoticeMapper noticeMapper;
-
-    /**
-     * 查询公告信息
-     * 
-     * @param noticeId 公告ID
-     * @return 公告信息
-     */
-    @Override
-    public SysNotice selectNoticeById(Long noticeId)
-    {
-        return noticeMapper.selectNoticeById(noticeId);
-    }
-
-    /**
-     * 查询公告列表
-     * 
-     * @param notice 公告信息
-     * @return 公告集合
-     */
-    @Override
-    public List<SysNotice> selectNoticeList(SysNotice notice)
-    {
-        return noticeMapper.selectNoticeList(notice);
-    }
-
-    /**
-     * 新增公告
-     * 
-     * @param notice 公告信息
-     * @return 结果
-     */
-    @Override
-    public int insertNotice(SysNotice notice)
-    {
-        return noticeMapper.insertNotice(notice);
-    }
-
-    /**
-     * 修改公告
-     * 
-     * @param notice 公告信息
-     * @return 结果
-     */
-    @Override
-    public int updateNotice(SysNotice notice)
-    {
-        return noticeMapper.updateNotice(notice);
-    }
-
-    /**
-     * 删除公告对象
-     * 
-     * @param noticeId 公告ID
-     * @return 结果
-     */
-    @Override
-    public int deleteNoticeById(Long noticeId)
-    {
-        return noticeMapper.deleteNoticeById(noticeId);
-    }
-
-    /**
-     * 批量删除公告信息
-     * 
-     * @param noticeIds 需要删除的公告ID
-     * @return 结果
-     */
-    @Override
-    public int deleteNoticeByIds(Long[] noticeIds)
-    {
-        return noticeMapper.deleteNoticeByIds(noticeIds);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysOperLogServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysOperLogServiceImpl.java
deleted file mode 100644
index 078b63e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysOperLogServiceImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.List;
-
-import com.hrt.system.service.user.ISysOperLogService;
-import org.springframework.stereotype.Service;
-import com.hrt.system.api.domain.SysOperLog;
-import com.hrt.system.mapper.user.SysOperLogMapper;
-
-import javax.annotation.Resource;
-
-/**
- * 操作日志 服务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysOperLogServiceImpl implements ISysOperLogService
-{
-    @Resource
-    private SysOperLogMapper operLogMapper;
-
-    /**
-     * 新增操作日志
-     * 
-     * @param operLog 操作日志对象
-     * @return 结果
-     */
-    @Override
-    public int insertOperlog(SysOperLog operLog)
-    {
-        return operLogMapper.insertOperlog(operLog);
-    }
-
-    /**
-     * 查询系统操作日志集合
-     * 
-     * @param operLog 操作日志对象
-     * @return 操作日志集合
-     */
-    @Override
-    public List<SysOperLog> selectOperLogList(SysOperLog operLog)
-    {
-        return operLogMapper.selectOperLogList(operLog);
-    }
-
-    /**
-     * 批量删除系统操作日志
-     * 
-     * @param operIds 需要删除的操作日志ID
-     * @return 结果
-     */
-    @Override
-    public int deleteOperLogByIds(Long[] operIds)
-    {
-        return operLogMapper.deleteOperLogByIds(operIds);
-    }
-
-    /**
-     * 查询操作日志详细
-     * 
-     * @param operId 操作ID
-     * @return 操作日志对象
-     */
-    @Override
-    public SysOperLog selectOperLogById(Long operId)
-    {
-        return operLogMapper.selectOperLogById(operId);
-    }
-
-    /**
-     * 清空操作日志
-     */
-    @Override
-    public void cleanOperLog()
-    {
-        operLogMapper.cleanOperLog();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPermissionServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPermissionServiceImpl.java
deleted file mode 100644
index aa147a2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPermissionServiceImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.springframework.stereotype.Service;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.service.user.ISysMenuService;
-import com.hrt.system.service.user.ISysPermissionService;
-import com.hrt.system.service.user.ISysRoleService;
-
-import javax.annotation.Resource;
-
-/**
- * 用户权限处理
- * 
- * @author jqs
- */
-@Service
-public class SysPermissionServiceImpl implements ISysPermissionService
-{
-    @Resource
-    private ISysRoleService roleService;
-
-    @Resource
-    private ISysMenuService menuService;
-
-    /**
-     * 获取角色数据权限
-     * 
-     * @param user 用户Id
-     * @return 角色权限信息
-     */
-    @Override
-    public Set<String> getRolePermission(SysUser user)
-    {
-        Set<String> roles = new HashSet<String>();
-        // 管理员拥有所有权限
-        if (user.isAdmin())
-        {
-            roles.add("admin");
-        }
-        else
-        {
-            roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId()));
-        }
-        return roles;
-    }
-
-    /**
-     * 获取菜单数据权限
-     * 
-     * @param user 用户Id
-     * @return 菜单权限信息
-     */
-    @Override
-    public Set<String> getMenuPermission(SysUser user)
-    {
-        Set<String> perms = new HashSet<String>();
-        // 管理员拥有所有权限
-        if (user.isAdmin())
-        {
-            perms.add("*:*:*");
-        }
-        else
-        {
-            List<SysRole> roles = user.getRoles();
-            if (!roles.isEmpty() && roles.size() > 1)
-            {
-                // 多角色设置permissions属性,以便数据权限匹配权限
-                for (SysRole role : roles)
-                {
-                    Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
-                    role.setPermissions(rolePerms);
-                    perms.addAll(rolePerms);
-                }
-            }
-            else
-            {
-                perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId()));
-            }
-        }
-        return perms;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPostServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPostServiceImpl.java
deleted file mode 100644
index 63ff8a6..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysPostServiceImpl.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.List;
-
-import com.hrt.system.domain.poji.user.SysPost;
-import com.hrt.system.mapper.user.SysUserPostMapper;
-import org.springframework.stereotype.Service;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.system.mapper.user.SysPostMapper;
-import com.hrt.system.service.user.ISysPostService;
-
-import javax.annotation.Resource;
-
-/**
- * 岗位信息 服务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysPostServiceImpl implements ISysPostService
-{
-    @Resource
-    private SysPostMapper postMapper;
-
-    @Resource
-    private SysUserPostMapper userPostMapper;
-
-    /**
-     * 查询岗位信息集合
-     * 
-     * @param post 岗位信息
-     * @return 岗位信息集合
-     */
-    @Override
-    public List<SysPost> selectPostList(SysPost post)
-    {
-        return postMapper.selectPostList(post);
-    }
-
-    /**
-     * 查询所有岗位
-     * 
-     * @return 岗位列表
-     */
-    @Override
-    public List<SysPost> selectPostAll()
-    {
-        return postMapper.selectPostAll();
-    }
-
-    /**
-     * 通过岗位ID查询岗位信息
-     * 
-     * @param postId 岗位ID
-     * @return 角色对象信息
-     */
-    @Override
-    public SysPost selectPostById(Long postId)
-    {
-        return postMapper.selectPostById(postId);
-    }
-
-    /**
-     * 根据用户ID获取岗位选择框列表
-     * 
-     * @param userId 用户ID
-     * @return 选中岗位ID列表
-     */
-    @Override
-    public List<Long> selectPostListByUserId(Long userId)
-    {
-        return postMapper.selectPostListByUserId(userId);
-    }
-
-    /**
-     * 校验岗位名称是否唯一
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkPostNameUnique(SysPost post)
-    {
-        Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
-        SysPost info = postMapper.checkPostNameUnique(post.getPostName());
-        if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 校验岗位编码是否唯一
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkPostCodeUnique(SysPost post)
-    {
-        Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
-        SysPost info = postMapper.checkPostCodeUnique(post.getPostCode());
-        if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 通过岗位ID查询岗位使用数量
-     * 
-     * @param postId 岗位ID
-     * @return 结果
-     */
-    @Override
-    public int countUserPostById(Long postId)
-    {
-        return userPostMapper.countUserPostById(postId);
-    }
-
-    /**
-     * 删除岗位信息
-     * 
-     * @param postId 岗位ID
-     * @return 结果
-     */
-    @Override
-    public int deletePostById(Long postId)
-    {
-        return postMapper.deletePostById(postId);
-    }
-
-    /**
-     * 批量删除岗位信息
-     * 
-     * @param postIds 需要删除的岗位ID
-     * @return 结果
-     */
-    @Override
-    public int deletePostByIds(Long[] postIds)
-    {
-        for (Long postId : postIds)
-        {
-            SysPost post = selectPostById(postId);
-            if (countUserPostById(postId) > 0)
-            {
-                throw new ServiceException(String.format("%1$s已分配,不能删除", post.getPostName()));
-            }
-        }
-        return postMapper.deletePostByIds(postIds);
-    }
-
-    /**
-     * 新增保存岗位信息
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    @Override
-    public int insertPost(SysPost post)
-    {
-        return postMapper.insertPost(post);
-    }
-
-    /**
-     * 修改保存岗位信息
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    @Override
-    public int updatePost(SysPost post)
-    {
-        return postMapper.updatePost(post);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysRoleServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysRoleServiceImpl.java
deleted file mode 100644
index 2eaeb63..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysRoleServiceImpl.java
+++ /dev/null
@@ -1,426 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import com.hrt.system.domain.poji.user.SysRoleDept;
-import com.hrt.system.domain.poji.user.SysRoleMenu;
-import com.hrt.system.domain.poji.user.SysUserRole;
-import com.hrt.system.mapper.user.SysRoleDeptMapper;
-import com.hrt.system.mapper.user.SysRoleMapper;
-import com.hrt.system.mapper.user.SysRoleMenuMapper;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.datascope.annotation.DataScope;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.mapper.user.SysUserRoleMapper;
-import com.hrt.system.service.user.ISysRoleService;
-
-import javax.annotation.Resource;
-
-/**
- * 角色 业务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysRoleServiceImpl implements ISysRoleService
-{
-    @Resource
-    private SysRoleMapper roleMapper;
-
-    @Resource
-    private SysRoleMenuMapper roleMenuMapper;
-
-    @Resource
-    private SysUserRoleMapper userRoleMapper;
-
-    @Resource
-    private SysRoleDeptMapper roleDeptMapper;
-
-    /**
-     * 根据条件分页查询角色数据
-     * 
-     * @param role 角色信息
-     * @return 角色数据集合信息
-     */
-    @Override
-    @DataScope(deptAlias = "d")
-    public List<SysRole> selectRoleList(SysRole role)
-    {
-        return roleMapper.selectRoleList(role);
-    }
-
-    /**
-     * 根据用户ID查询角色
-     * 
-     * @param userId 用户ID
-     * @return 角色列表
-     */
-    @Override
-    public List<SysRole> selectRolesByUserId(Long userId)
-    {
-        List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId);
-        List<SysRole> roles = selectRoleAll();
-        for (SysRole role : roles)
-        {
-            for (SysRole userRole : userRoles)
-            {
-                if (role.getRoleId().longValue() == userRole.getRoleId().longValue())
-                {
-                    role.setFlag(true);
-                    break;
-                }
-            }
-        }
-        return roles;
-    }
-
-    /**
-     * 根据用户ID查询权限
-     * 
-     * @param userId 用户ID
-     * @return 权限列表
-     */
-    @Override
-    public Set<String> selectRolePermissionByUserId(Long userId)
-    {
-        List<SysRole> perms = roleMapper.selectRolePermissionByUserId(userId);
-        Set<String> permsSet = new HashSet<>();
-        for (SysRole perm : perms)
-        {
-            if (StringUtils.isNotNull(perm))
-            {
-                permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
-            }
-        }
-        return permsSet;
-    }
-
-    /**
-     * 查询所有角色
-     * 
-     * @return 角色列表
-     */
-    @Override
-    public List<SysRole> selectRoleAll()
-    {
-        return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());
-    }
-
-    /**
-     * 根据用户ID获取角色选择框列表
-     * 
-     * @param userId 用户ID
-     * @return 选中角色ID列表
-     */
-    @Override
-    public List<Long> selectRoleListByUserId(Long userId)
-    {
-        return roleMapper.selectRoleListByUserId(userId);
-    }
-
-    /**
-     * 通过角色ID查询角色
-     * 
-     * @param roleId 角色ID
-     * @return 角色对象信息
-     */
-    @Override
-    public SysRole selectRoleById(Long roleId)
-    {
-        return roleMapper.selectRoleById(roleId);
-    }
-
-    /**
-     * 校验角色名称是否唯一
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkRoleNameUnique(SysRole role)
-    {
-        Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
-        SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName());
-        if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 校验角色权限是否唯一
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkRoleKeyUnique(SysRole role)
-    {
-        Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
-        SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey());
-        if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 校验角色是否允许操作
-     * 
-     * @param role 角色信息
-     */
-    @Override
-    public void checkRoleAllowed(SysRole role)
-    {
-        if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin())
-        {
-            throw new ServiceException("不允许操作超级管理员角色");
-        }
-    }
-
-    /**
-     * 校验角色是否有数据权限
-     * 
-     * @param roleId 角色id
-     */
-    @Override
-    public void checkRoleDataScope(Long roleId)
-    {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId()))
-        {
-            SysRole role = new SysRole();
-            role.setRoleId(roleId);
-            List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role);
-            if (StringUtils.isEmpty(roles))
-            {
-                throw new ServiceException("没有权限访问角色数据!");
-            }
-        }
-    }
-
-    /**
-     * 通过角色ID查询角色使用数量
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    @Override
-    public int countUserRoleByRoleId(Long roleId)
-    {
-        return userRoleMapper.countUserRoleByRoleId(roleId);
-    }
-
-    /**
-     * 新增保存角色信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int insertRole(SysRole role)
-    {
-        // 新增角色信息
-        roleMapper.insertRole(role);
-        return insertRoleMenu(role);
-    }
-
-    /**
-     * 修改保存角色信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int updateRole(SysRole role)
-    {
-        // 修改角色信息
-        roleMapper.updateRole(role);
-        // 删除角色与菜单关联
-        roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId());
-        return insertRoleMenu(role);
-    }
-
-    /**
-     * 修改角色状态
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    @Override
-    public int updateRoleStatus(SysRole role)
-    {
-        return roleMapper.updateRole(role);
-    }
-
-    /**
-     * 修改数据权限信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int authDataScope(SysRole role)
-    {
-        // 修改角色信息
-        roleMapper.updateRole(role);
-        // 删除角色与部门关联
-        roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId());
-        // 新增角色和部门信息(数据权限)
-        return insertRoleDept(role);
-    }
-
-    /**
-     * 新增角色菜单信息
-     * 
-     * @param role 角色对象
-     */
-    public int insertRoleMenu(SysRole role)
-    {
-        int rows = 1;
-        // 新增用户与角色管理
-        List<SysRoleMenu> list = new ArrayList<SysRoleMenu>();
-        for (Long menuId : role.getMenuIds())
-        {
-            SysRoleMenu rm = new SysRoleMenu();
-            rm.setRoleId(role.getRoleId());
-            rm.setMenuId(menuId);
-            list.add(rm);
-        }
-        if (list.size() > 0)
-        {
-            rows = roleMenuMapper.batchRoleMenu(list);
-        }
-        return rows;
-    }
-
-    /**
-     * 新增角色部门信息(数据权限)
-     *
-     * @param role 角色对象
-     */
-    public int insertRoleDept(SysRole role)
-    {
-        int rows = 1;
-        // 新增角色与部门(数据权限)管理
-        List<SysRoleDept> list = new ArrayList<SysRoleDept>();
-        for (Long deptId : role.getDeptIds())
-        {
-            SysRoleDept rd = new SysRoleDept();
-            rd.setRoleId(role.getRoleId());
-            rd.setDeptId(deptId);
-            list.add(rd);
-        }
-        if (list.size() > 0)
-        {
-            rows = roleDeptMapper.batchRoleDept(list);
-        }
-        return rows;
-    }
-
-    /**
-     * 通过角色ID删除角色
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int deleteRoleById(Long roleId)
-    {
-        // 删除角色与菜单关联
-        roleMenuMapper.deleteRoleMenuByRoleId(roleId);
-        // 删除角色与部门关联
-        roleDeptMapper.deleteRoleDeptByRoleId(roleId);
-        return roleMapper.deleteRoleById(roleId);
-    }
-
-    /**
-     * 批量删除角色信息
-     * 
-     * @param roleIds 需要删除的角色ID
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int deleteRoleByIds(Long[] roleIds)
-    {
-        for (Long roleId : roleIds)
-        {
-            checkRoleAllowed(new SysRole(roleId));
-            checkRoleDataScope(roleId);
-            SysRole role = selectRoleById(roleId);
-            if (countUserRoleByRoleId(roleId) > 0)
-            {
-                throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName()));
-            }
-        }
-        // 删除角色与菜单关联
-        roleMenuMapper.deleteRoleMenu(roleIds);
-        // 删除角色与部门关联
-        roleDeptMapper.deleteRoleDept(roleIds);
-        return roleMapper.deleteRoleByIds(roleIds);
-    }
-
-    /**
-     * 取消授权用户角色
-     * 
-     * @param userRole 用户和角色关联信息
-     * @return 结果
-     */
-    @Override
-    public int deleteAuthUser(SysUserRole userRole)
-    {
-        return userRoleMapper.deleteUserRoleInfo(userRole);
-    }
-
-    /**
-     * 批量取消授权用户角色
-     * 
-     * @param roleId 角色ID
-     * @param userIds 需要取消授权的用户数据ID
-     * @return 结果
-     */
-    @Override
-    public int deleteAuthUsers(Long roleId, Long[] userIds)
-    {
-        return userRoleMapper.deleteUserRoleInfos(roleId, userIds);
-    }
-
-    /**
-     * 批量选择授权用户角色
-     * 
-     * @param roleId 角色ID
-     * @param userIds 需要授权的用户数据ID
-     * @return 结果
-     */
-    @Override
-    public int insertAuthUsers(Long roleId, Long[] userIds)
-    {
-        // 新增用户与角色管理
-        List<SysUserRole> list = new ArrayList<SysUserRole>();
-        for (Long userId : userIds)
-        {
-            SysUserRole ur = new SysUserRole();
-            ur.setUserId(userId);
-            ur.setRoleId(roleId);
-            list.add(ur);
-        }
-        return userRoleMapper.batchUserRole(list);
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysTagServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysTagServiceImpl.java
deleted file mode 100644
index c35521f..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysTagServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.sys.SysTag;
-import com.hrt.system.mapper.sys.SysTagMapper;
-import com.hrt.system.service.sys.SysTagService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 系统标签 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class SysTagServiceImpl extends ServiceImpl<SysTagMapper, SysTag> implements SysTagService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserOnlineServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserOnlineServiceImpl.java
deleted file mode 100644
index 7179fca..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserOnlineServiceImpl.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.user.SysUserOnline;
-import org.springframework.stereotype.Service;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.system.api.model.LoginUser;
-import com.hrt.system.service.user.ISysUserOnlineService;
-
-/**
- * 在线用户 服务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysUserOnlineServiceImpl implements ISysUserOnlineService
-{
-    /**
-     * 通过登录地址查询信息
-     * 
-     * @param ipaddr 登录地址
-     * @param user 用户信息
-     * @return 在线用户信息
-     */
-    @Override
-    public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user)
-    {
-        if (StringUtils.equals(ipaddr, user.getIpaddr()))
-        {
-            return loginUserToUserOnline(user);
-        }
-        return null;
-    }
-
-    /**
-     * 通过用户名称查询信息
-     * 
-     * @param userName 用户名称
-     * @param user 用户信息
-     * @return 在线用户信息
-     */
-    @Override
-    public SysUserOnline selectOnlineByUserName(String userName, LoginUser user)
-    {
-        if (StringUtils.equals(userName, user.getUsername()))
-        {
-            return loginUserToUserOnline(user);
-        }
-        return null;
-    }
-
-    /**
-     * 通过登录地址/用户名称查询信息
-     * 
-     * @param ipaddr 登录地址
-     * @param userName 用户名称
-     * @param user 用户信息
-     * @return 在线用户信息
-     */
-    @Override
-    public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user)
-    {
-        if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
-        {
-            return loginUserToUserOnline(user);
-        }
-        return null;
-    }
-
-    /**
-     * 设置在线用户信息
-     * 
-     * @param user 用户信息
-     * @return 在线用户
-     */
-    @Override
-    public SysUserOnline loginUserToUserOnline(LoginUser user)
-    {
-        if (StringUtils.isNull(user))
-        {
-            return null;
-        }
-        SysUserOnline sysUserOnline = new SysUserOnline();
-        sysUserOnline.setTokenId(user.getToken());
-        sysUserOnline.setUserName(user.getUsername());
-        sysUserOnline.setIpaddr(user.getIpaddr());
-        sysUserOnline.setLoginTime(user.getLoginTime());
-        return sysUserOnline;
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserServiceImpl.java
deleted file mode 100644
index fef64c0..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/SysUserServiceImpl.java
+++ /dev/null
@@ -1,546 +0,0 @@
-package com.hrt.system.service.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-import javax.annotation.Resource;
-import javax.validation.Validator;
-
-import com.hrt.system.domain.poji.user.SysPost;
-import com.hrt.system.domain.poji.user.SysUserPost;
-import com.hrt.system.domain.poji.user.SysUserRole;
-import com.hrt.system.mapper.user.SysRoleMapper;
-import com.hrt.system.mapper.user.SysUserMapper;
-import com.hrt.system.mapper.user.SysUserPostMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-import com.hrt.common.core.constant.UserConstants;
-import com.hrt.common.core.exception.ServiceException;
-import com.hrt.common.core.utils.SpringUtils;
-import com.hrt.common.core.utils.StringUtils;
-import com.hrt.common.core.utils.bean.BeanValidators;
-import com.hrt.common.datascope.annotation.DataScope;
-import com.hrt.common.security.utils.SecurityUtils;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.api.domain.SysUser;
-import com.hrt.system.mapper.user.SysPostMapper;
-import com.hrt.system.mapper.user.SysUserRoleMapper;
-import com.hrt.system.service.sys.ISysConfigService;
-import com.hrt.system.service.user.ISysUserService;
-
-/**
- * 用户 业务层处理
- * 
- * @author jqs
- */
-@Service
-public class SysUserServiceImpl implements ISysUserService
-{
-    private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
-
-    @Resource
-    private SysUserMapper userMapper;
-
-    @Resource
-    private SysRoleMapper roleMapper;
-
-    @Resource
-    private SysPostMapper postMapper;
-
-    @Resource
-    private SysUserRoleMapper userRoleMapper;
-
-    @Resource
-    private SysUserPostMapper userPostMapper;
-
-    @Resource
-    private ISysConfigService configService;
-
-    @Resource
-    protected Validator validator;
-
-    /**
-     * 根据条件分页查询用户列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    @Override
-    @DataScope(deptAlias = "d", userAlias = "u")
-    public List<SysUser> selectUserList(SysUser user)
-    {
-        return userMapper.selectUserList(user);
-    }
-
-    /**
-     * 根据条件分页查询已分配用户角色列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    @Override
-    @DataScope(deptAlias = "d", userAlias = "u")
-    public List<SysUser> selectAllocatedList(SysUser user)
-    {
-        return userMapper.selectAllocatedList(user);
-    }
-
-    /**
-     * 根据条件分页查询未分配用户角色列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    @Override
-    @DataScope(deptAlias = "d", userAlias = "u")
-    public List<SysUser> selectUnallocatedList(SysUser user)
-    {
-        return userMapper.selectUnallocatedList(user);
-    }
-
-    /**
-     * 通过用户名查询用户
-     * 
-     * @param userName 用户名
-     * @return 用户对象信息
-     */
-    @Override
-    public SysUser selectUserByUserName(String userName)
-    {
-        return userMapper.selectUserByUserName(userName);
-    }
-
-    /**
-     * 通过用户ID查询用户
-     * 
-     * @param userId 用户ID
-     * @return 用户对象信息
-     */
-    @Override
-    public SysUser selectUserById(Long userId)
-    {
-        return userMapper.selectUserById(userId);
-    }
-
-    /**
-     * 查询用户所属角色组
-     * 
-     * @param userName 用户名
-     * @return 结果
-     */
-    @Override
-    public String selectUserRoleGroup(String userName)
-    {
-        List<SysRole> list = roleMapper.selectRolesByUserName(userName);
-        if (CollectionUtils.isEmpty(list))
-        {
-            return StringUtils.EMPTY;
-        }
-        return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(","));
-    }
-
-    /**
-     * 查询用户所属岗位组
-     * 
-     * @param userName 用户名
-     * @return 结果
-     */
-    @Override
-    public String selectUserPostGroup(String userName)
-    {
-        List<SysPost> list = postMapper.selectPostsByUserName(userName);
-        if (CollectionUtils.isEmpty(list))
-        {
-            return StringUtils.EMPTY;
-        }
-        return list.stream().map(SysPost::getPostName).collect(Collectors.joining(","));
-    }
-
-    /**
-     * 校验用户名称是否唯一
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    @Override
-    public boolean checkUserNameUnique(SysUser user)
-    {
-        Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        SysUser info = userMapper.checkUserNameUnique(user.getUserName());
-        if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 校验手机号码是否唯一
-     *
-     * @param user 用户信息
-     * @return
-     */
-    @Override
-    public boolean checkPhoneUnique(SysUser user)
-    {
-        Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber());
-        if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 校验email是否唯一
-     *
-     * @param user 用户信息
-     * @return
-     */
-    @Override
-    public boolean checkEmailUnique(SysUser user)
-    {
-        Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        SysUser info = userMapper.checkEmailUnique(user.getEmail());
-        if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
-        {
-            return UserConstants.NOT_UNIQUE;
-        }
-        return UserConstants.UNIQUE;
-    }
-
-    /**
-     * 校验用户是否允许操作
-     * 
-     * @param user 用户信息
-     */
-    @Override
-    public void checkUserAllowed(SysUser user)
-    {
-        if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin())
-        {
-            throw new ServiceException("不允许操作超级管理员用户");
-        }
-    }
-
-    /**
-     * 校验用户是否有数据权限
-     * 
-     * @param userId 用户id
-     */
-    @Override
-    public void checkUserDataScope(Long userId)
-    {
-        if (!SysUser.isAdmin(SecurityUtils.getUserId()))
-        {
-            SysUser user = new SysUser();
-            user.setUserId(userId);
-            List<SysUser> users = SpringUtils.getAopProxy(this).selectUserList(user);
-            if (StringUtils.isEmpty(users))
-            {
-                throw new ServiceException("没有权限访问用户数据!");
-            }
-        }
-    }
-
-    /**
-     * 新增保存用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int insertUser(SysUser user)
-    {
-        // 新增用户信息
-        int rows = userMapper.insertUser(user);
-        // 新增用户岗位关联
-        insertUserPost(user);
-        // 新增用户与角色管理
-        insertUserRole(user);
-        return rows;
-    }
-
-    /**
-     * 注册用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    @Override
-    public boolean registerUser(SysUser user)
-    {
-        return userMapper.insertUser(user) > 0;
-    }
-
-    /**
-     * 修改保存用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int updateUser(SysUser user)
-    {
-        Long userId = user.getUserId();
-        // 删除用户与角色关联
-        userRoleMapper.deleteUserRoleByUserId(userId);
-        // 新增用户与角色管理
-        insertUserRole(user);
-        // 删除用户与岗位关联
-        userPostMapper.deleteUserPostByUserId(userId);
-        // 新增用户与岗位管理
-        insertUserPost(user);
-        return userMapper.updateUser(user);
-    }
-
-    /**
-     * 用户授权角色
-     * 
-     * @param userId 用户ID
-     * @param roleIds 角色组
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void insertUserAuth(Long userId, Long[] roleIds)
-    {
-        userRoleMapper.deleteUserRoleByUserId(userId);
-        insertUserRole(userId, roleIds);
-    }
-
-    /**
-     * 修改用户状态
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    @Override
-    public int updateUserStatus(SysUser user)
-    {
-        return userMapper.updateUser(user);
-    }
-
-    /**
-     * 修改用户基本信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    @Override
-    public int updateUserProfile(SysUser user)
-    {
-        return userMapper.updateUser(user);
-    }
-
-    /**
-     * 修改用户头像
-     * 
-     * @param userName 用户名
-     * @param avatar 头像地址
-     * @return 结果
-     */
-    @Override
-    public boolean updateUserAvatar(String userName, String avatar)
-    {
-        return userMapper.updateUserAvatar(userName, avatar) > 0;
-    }
-
-    /**
-     * 重置用户密码
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    @Override
-    public int resetPwd(SysUser user)
-    {
-        return userMapper.updateUser(user);
-    }
-
-    /**
-     * 重置用户密码
-     * 
-     * @param userName 用户名
-     * @param password 密码
-     * @return 结果
-     */
-    @Override
-    public int resetUserPwd(String userName, String password)
-    {
-        return userMapper.resetUserPwd(userName, password);
-    }
-
-    /**
-     * 新增用户角色信息
-     * 
-     * @param user 用户对象
-     */
-    public void insertUserRole(SysUser user)
-    {
-        this.insertUserRole(user.getUserId(), user.getRoleIds());
-    }
-
-    /**
-     * 新增用户岗位信息
-     * 
-     * @param user 用户对象
-     */
-    public void insertUserPost(SysUser user)
-    {
-        Long[] posts = user.getPostIds();
-        if (StringUtils.isNotEmpty(posts))
-        {
-            // 新增用户与岗位管理
-            List<SysUserPost> list = new ArrayList<SysUserPost>();
-            for (Long postId : posts)
-            {
-                SysUserPost up = new SysUserPost();
-                up.setUserId(user.getUserId());
-                up.setPostId(postId);
-                list.add(up);
-            }
-            userPostMapper.batchUserPost(list);
-        }
-    }
-
-    /**
-     * 新增用户角色信息
-     * 
-     * @param userId 用户ID
-     * @param roleIds 角色组
-     */
-    public void insertUserRole(Long userId, Long[] roleIds)
-    {
-        if (StringUtils.isNotEmpty(roleIds))
-        {
-            // 新增用户与角色管理
-            List<SysUserRole> list = new ArrayList<SysUserRole>();
-            for (Long roleId : roleIds)
-            {
-                SysUserRole ur = new SysUserRole();
-                ur.setUserId(userId);
-                ur.setRoleId(roleId);
-                list.add(ur);
-            }
-            userRoleMapper.batchUserRole(list);
-        }
-    }
-
-    /**
-     * 通过用户ID删除用户
-     * 
-     * @param userId 用户ID
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int deleteUserById(Long userId)
-    {
-        // 删除用户与角色关联
-        userRoleMapper.deleteUserRoleByUserId(userId);
-        // 删除用户与岗位表
-        userPostMapper.deleteUserPostByUserId(userId);
-        return userMapper.deleteUserById(userId);
-    }
-
-    /**
-     * 批量删除用户信息
-     * 
-     * @param userIds 需要删除的用户ID
-     * @return 结果
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int deleteUserByIds(Long[] userIds)
-    {
-        for (Long userId : userIds)
-        {
-            checkUserAllowed(new SysUser(userId));
-            checkUserDataScope(userId);
-        }
-        // 删除用户与角色关联
-        userRoleMapper.deleteUserRole(userIds);
-        // 删除用户与岗位关联
-        userPostMapper.deleteUserPost(userIds);
-        return userMapper.deleteUserByIds(userIds);
-    }
-
-    /**
-     * 导入用户数据
-     * 
-     * @param userList 用户数据列表
-     * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
-     * @param operName 操作用户
-     * @return 结果
-     */
-    @Override
-    public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName)
-    {
-        if (StringUtils.isNull(userList) || userList.size() == 0)
-        {
-            throw new ServiceException("导入用户数据不能为空!");
-        }
-        int successNum = 0;
-        int failureNum = 0;
-        StringBuilder successMsg = new StringBuilder();
-        StringBuilder failureMsg = new StringBuilder();
-        String password = configService.selectConfigByKey("sys.user.initPassword");
-        for (SysUser user : userList)
-        {
-            try
-            {
-                // 验证是否存在这个用户
-                SysUser u = userMapper.selectUserByUserName(user.getUserName());
-                if (StringUtils.isNull(u))
-                {
-                    BeanValidators.validateWithException(validator, user);
-                    user.setPassword(SecurityUtils.encryptPassword(password));
-                    user.setCreateBy(operName);
-                    userMapper.insertUser(user);
-                    successNum++;
-                    successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功");
-                }
-                else if (isUpdateSupport)
-                {
-                    BeanValidators.validateWithException(validator, user);
-                    checkUserAllowed(u);
-                    checkUserDataScope(u.getUserId());
-                    user.setUserId(u.getUserId());
-                    user.setUpdateBy(operName);
-                    userMapper.updateUser(user);
-                    successNum++;
-                    successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功");
-                }
-                else
-                {
-                    failureNum++;
-                    failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 已存在");
-                }
-            }
-            catch (Exception e)
-            {
-                failureNum++;
-                String msg = "<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:";
-                failureMsg.append(msg + e.getMessage());
-                log.error(msg, e);
-            }
-        }
-        if (failureNum > 0)
-        {
-            failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
-            throw new ServiceException(failureMsg.toString());
-        }
-        else
-        {
-            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
-        }
-        return successMsg.toString();
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/TaskFileServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/TaskFileServiceImpl.java
deleted file mode 100644
index bd3c829..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/TaskFileServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.shop.TaskFile;
-import com.hrt.system.mapper.shop.TaskFileMapper;
-import com.hrt.system.service.shop.TaskFileService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 跟进附件 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class TaskFileServiceImpl extends ServiceImpl<TaskFileMapper, TaskFile> implements TaskFileService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserCouponServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserCouponServiceImpl.java
deleted file mode 100644
index 685d1c2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserCouponServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.member.UserCoupon;
-import com.hrt.system.mapper.member.UserCouponMapper;
-import com.hrt.system.service.member.UserCouponService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-@Service
-public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCoupon> implements UserCouponService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserServiceRecordServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserServiceRecordServiceImpl.java
deleted file mode 100644
index e801fb9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/UserServiceRecordServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hrt.system.service.impl;
-
-import com.hrt.system.domain.poji.order.UserServiceRecord;
-import com.hrt.system.mapper.order.UserServiceRecordMapper;
-import com.hrt.system.service.shop.UserServiceRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 服务记录 服务实现类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-@Service
-public class UserServiceRecordServiceImpl extends ServiceImpl<UserServiceRecordMapper, UserServiceRecord> implements UserServiceRecordService {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveFieldsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveFieldsService.java
deleted file mode 100644
index c839aae..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveFieldsService.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hrt.system.service.member;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.poji.member.MemberArchiveFields;
-
-
-/**
- * <p>
- * 档案字段 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberArchiveFieldsService extends IService<MemberArchiveFields> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveService.java
deleted file mode 100644
index fc0c7aa..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberArchiveService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.member;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.poji.member.MemberArchive;
-
-/**
- * <p>
- * 会员档案信息 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberArchiveService extends IService<MemberArchive> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberNurseService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberNurseService.java
deleted file mode 100644
index e628573..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberNurseService.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hrt.system.service.member;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.poji.member.MemberNurse;
-
-
-/**
- * <p>
- * 用户调理问题 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-public interface MemberNurseService extends IService<MemberNurse> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberService.java
deleted file mode 100644
index c6c97a9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/MemberService.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.hrt.system.service.member;
-
-import com.hrt.system.domain.dto.AppMiniLoginDto;
-import com.hrt.system.domain.dto.AppNearbyShopDto;
-import com.hrt.system.domain.dto.AppUserAuthorizeDto;
-import com.hrt.system.domain.vo.AppMiniLoginVo;
-import com.hrt.system.domain.vo.AppNearbyShopVo;
-import com.hrt.system.domain.vo.AppUserAuthorizeVo;
-import com.hrt.system.domain.poji.member.Member;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-19
- */
-public interface MemberService extends IService<Member> {
-
-    /**
-     * 小程序登录
-     * @param appMiniLoginDto
-     * @return
-     */
-    AppMiniLoginVo getMemberByCode(AppMiniLoginDto appMiniLoginDto);
-
-    /**
-     * 获取授权信息
-     * @param appUserAuthorizeDto
-     * @return
-     */
-    AppUserAuthorizeVo getAppUserAuthorize(AppUserAuthorizeDto appUserAuthorizeDto);
-
-    /**
-     * 获取附近门店
-     * @param appNearbyShopDto
-     * @return
-     */
-    AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/UserCouponService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/UserCouponService.java
deleted file mode 100644
index c8fb424..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/member/UserCouponService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.member;
-
-import com.hrt.system.domain.poji.member.UserCoupon;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface UserCouponService extends IService<UserCoupon> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ConsumerGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ConsumerGoodsService.java
deleted file mode 100644
index e2e7bb7..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ConsumerGoodsService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.order;
-
-import com.hrt.system.domain.poji.order.ConsumerGoods;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 服务 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ConsumerGoodsService extends IService<ConsumerGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderGoodsService.java
deleted file mode 100644
index 7d7c41c..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderGoodsService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.order;
-
-import com.hrt.system.domain.poji.order.OrderGoods;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 订单商品 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface OrderGoodsService extends IService<OrderGoods> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderService.java
deleted file mode 100644
index d76081e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/OrderService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.order;
-
-import com.hrt.system.domain.poji.order.Order;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 订单 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface OrderService extends IService<Order> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ShoppingCartService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ShoppingCartService.java
deleted file mode 100644
index a00e751..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/order/ShoppingCartService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.order;
-
-import com.hrt.system.domain.poji.order.ShoppingCart;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 购物车 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShoppingCartService extends IService<ShoppingCart> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskRecordService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskRecordService.java
deleted file mode 100644
index c69b9e3..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskRecordService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.MemberTaskRecord;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 会员跟进任务记录 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberTaskRecordService extends IService<MemberTaskRecord> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskService.java
deleted file mode 100644
index 9e1f9c7..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/MemberTaskService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.MemberTask;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 会员跟进任务 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface MemberTaskService extends IService<MemberTask> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopCertificateService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopCertificateService.java
deleted file mode 100644
index 59d02a8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopCertificateService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.poji.shop.ShopCertificate;
-
-import java.util.List;
-
-
-/**
- * <p>
- * 商户证书 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-public interface ShopCertificateService extends IService<ShopCertificate> {
-
-    /**
-     * 通过商户id获取商户证书
-     * @param shopId
-     * @return
-     */
-    List<ShopCertificate> listShopCertificateByShopId(Long shopId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopFileService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopFileService.java
deleted file mode 100644
index 6745348..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopFileService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.ShopFile;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.List;
-
-/**
- * <p>
- * 商户图片 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopFileService extends IService<ShopFile> {
-
-    /**
-     * 通过商户id获取商户文件
-     * @param shopId
-     * @return
-     */
-    List<ShopFile> listShopFileByShopId(Long shopId);
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    void deleteByShopId(Long shopId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopGoodsService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopGoodsService.java
deleted file mode 100644
index e825729..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopGoodsService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.ShopGoods;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 商户定制商品 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopGoodsService extends IService<ShopGoods> {
-
-    /**
-     * 通过商户id和商品id获取
-     * @param shopId
-     * @param goodsId
-     * @return
-     */
-    ShopGoods getByShopIdAndGoodsId(Long shopId,String goodsId);
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopMarketingService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopMarketingService.java
deleted file mode 100644
index 17a8447..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopMarketingService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.ShopMarketing;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 商户营销 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopMarketingService extends IService<ShopMarketing> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelTagService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelTagService.java
deleted file mode 100644
index 7eab011..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelTagService.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.ShopRelTag;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.vo.MgtShopTagVo;
-
-import java.util.List;
-
-/**
- * <p>
- * 商户标签 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopRelTagService extends IService<ShopRelTag> {
-
-    /**
-     * 通过商户id获取标签
-     * @param shopId
-     * @return
-     */
-    List<ShopRelTag> listShopRelTagByShopId(Long shopId);
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    void deleteByShopId(Long shopId);
-
-    /**
-     * 获取商户标签
-     * @param shopId
-     * @return
-     */
-    List<MgtShopTagVo> listShopTagVo(Long shopId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelUserService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelUserService.java
deleted file mode 100644
index 2e0f0de..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopRelUserService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.ShopRelUser;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.List;
-
-/**
- * <p>
- * 商户关联员工 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopRelUserService extends IService<ShopRelUser> {
-
-    /**
-     * 通过商户id删除关联
-     * @param shopId
-     */
-    void deleteByShopId(Long shopId);
-
-    /**
-     * 通过商户id获取关联用户
-     * @param shopId
-     * @return
-     */
-    List<ShopRelUser> listByShopId(Long shopId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopService.java
deleted file mode 100644
index 32cedf2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopService.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.hrt.system.domain.dto.MgtChangeCoopDto;
-import com.hrt.system.domain.dto.MgtEditShopDto;
-import com.hrt.system.domain.dto.MgtEditShopTagDto;
-import com.hrt.system.domain.dto.MgtShopPageDto;
-import com.hrt.system.domain.poji.shop.Shop;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.vo.AppShopInfoVo;
-import com.hrt.system.domain.vo.MgtShopInfoVo;
-import com.hrt.system.domain.vo.MgtShopPageVo;
-
-import java.util.List;
-
-/**
- * <p>
- * 商户表 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopService extends IService<Shop> {
-
-    /**
-     * 获取商户详情
-     * @param shopId
-     * @return
-     */
-    AppShopInfoVo getAppShopInfo(Long shopId);
-
-    /**
-     * 创建商户
-     * @param MGTEditShopDto
-     */
-    void createShop(MgtEditShopDto MGTEditShopDto);
-
-    /**
-     * 修改合作时间
-     * @param mgtChangeCoopDto
-     */
-    void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto);
-
-    /**
-     * 分页获取商户
-     * @param page
-     * @param mgtShopPageDto
-     * @return
-     */
-    List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto);
-
-    /**
-     * 获取商户详情
-     * @param shopId
-     * @return
-     */
-    MgtShopInfoVo getMgtShopInfo(Long shopId);
-
-    /**
-     * 修改商户标签
-     * @param mgtEditShopTagDto
-     */
-    void editShopTag(MgtEditShopTagDto mgtEditShopTagDto);
-
-    /**
-     * 获取商户详情
-     * @param userId
-     * @return
-     */
-    //MgtShopInfoVo getMerShopInfo(Long userId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTaskService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTaskService.java
deleted file mode 100644
index 09500dd..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTaskService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.ShopTask;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 商户跟进任务 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopTaskService extends IService<ShopTask> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTransferRecordService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTransferRecordService.java
deleted file mode 100644
index d3a7bc4..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/ShopTransferRecordService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.ShopTransferRecord;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 商户员工转移记录 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface ShopTransferRecordService extends IService<ShopTransferRecord> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/TaskFileService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/TaskFileService.java
deleted file mode 100644
index 236f2d2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/TaskFileService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.shop.TaskFile;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 跟进附件 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface TaskFileService extends IService<TaskFile> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/UserServiceRecordService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/UserServiceRecordService.java
deleted file mode 100644
index d72d5eb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/shop/UserServiceRecordService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.shop;
-
-import com.hrt.system.domain.poji.order.UserServiceRecord;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 服务记录 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface UserServiceRecordService extends IService<UserServiceRecord> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AdvertService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AdvertService.java
deleted file mode 100644
index 0a52fcf..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AdvertService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.poji.sys.Advert;
-import com.hrt.system.domain.vo.AppAdvertVo;
-
-
-/**
- * <p>
- * 快速入口 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-20
- */
-public interface AdvertService extends IService<Advert> {
-
-    /**
-     * 获取首页广告
-     * @return
-     */
-    AppAdvertVo getAdvertVo();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AgreementService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AgreementService.java
deleted file mode 100644
index 6f12808..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/AgreementService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.hrt.system.domain.dto.AppAgreementDto;
-import com.hrt.system.domain.poji.sys.Agreement;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.vo.AppAgreementVo;
-
-/**
- * <p>
- * 协议 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface AgreementService extends IService<Agreement> {
-
-    /**
-     * 获取各种协议
-     * @param appAgreementDto
-     * @return
-     */
-    AppAgreementVo getAppAgreement(AppAgreementDto appAgreementDto);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/BannerService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/BannerService.java
deleted file mode 100644
index 14a5fee..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/BannerService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.hrt.system.domain.poji.sys.Banner;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.vo.AppBannerVo;
-
-import java.util.List;
-
-/**
- * <p>
- * banner 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface BannerService extends IService<Banner> {
-
-    /**
-     * 获取首页banner
-     * @return
-     */
-    List<AppBannerVo> listHomeBannerVo();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/CustomeConfigService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/CustomeConfigService.java
deleted file mode 100644
index 6f6a76e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/CustomeConfigService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.hrt.system.domain.poji.sys.CustomeConfig;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 系统配置 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface CustomeConfigService extends IService<CustomeConfig> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysConfigService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysConfigService.java
deleted file mode 100644
index 5f68e2c..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysConfigService.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.hrt.system.service.sys;
-
-import java.util.List;
-
-import com.hrt.system.domain.poji.sys.SysConfig;
-
-/**
- * 参数配置 服务层
- * 
- * @author jqs
- */
-public interface ISysConfigService
-{
-    /**
-     * 查询参数配置信息
-     * 
-     * @param configId 参数配置ID
-     * @return 参数配置信息
-     */
-    public SysConfig selectConfigById(Long configId);
-
-    /**
-     * 根据键名查询参数配置信息
-     * 
-     * @param configKey 参数键名
-     * @return 参数键值
-     */
-    public String selectConfigByKey(String configKey);
-
-    /**
-     * 查询参数配置列表
-     * 
-     * @param config 参数配置信息
-     * @return 参数配置集合
-     */
-    public List<SysConfig> selectConfigList(SysConfig config);
-
-    /**
-     * 新增参数配置
-     * 
-     * @param config 参数配置信息
-     * @return 结果
-     */
-    public int insertConfig(SysConfig config);
-
-    /**
-     * 修改参数配置
-     * 
-     * @param config 参数配置信息
-     * @return 结果
-     */
-    public int updateConfig(SysConfig config);
-
-    /**
-     * 批量删除参数信息
-     * 
-     * @param configIds 需要删除的参数ID
-     */
-    public void deleteConfigByIds(Long[] configIds);
-
-    /**
-     * 加载参数缓存数据
-     */
-    public void loadingConfigCache();
-
-    /**
-     * 清空参数缓存数据
-     */
-    public void clearConfigCache();
-
-    /**
-     * 重置参数缓存数据
-     */
-    public void resetConfigCache();
-
-    /**
-     * 校验参数键名是否唯一
-     * 
-     * @param config 参数信息
-     * @return 结果
-     */
-    public boolean checkConfigKeyUnique(SysConfig config);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictDataService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictDataService.java
deleted file mode 100644
index 779da34..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictDataService.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.hrt.system.service.sys;
-
-import java.util.List;
-import com.hrt.system.api.domain.SysDictData;
-
-/**
- * 字典 业务层
- * 
- * @author jqs
- */
-public interface ISysDictDataService
-{
-    /**
-     * 根据条件分页查询字典数据
-     * 
-     * @param dictData 字典数据信息
-     * @return 字典数据集合信息
-     */
-    public List<SysDictData> selectDictDataList(SysDictData dictData);
-
-    /**
-     * 根据字典类型和字典键值查询字典数据信息
-     * 
-     * @param dictType 字典类型
-     * @param dictValue 字典键值
-     * @return 字典标签
-     */
-    public String selectDictLabel(String dictType, String dictValue);
-
-    /**
-     * 根据字典数据ID查询信息
-     * 
-     * @param dictCode 字典数据ID
-     * @return 字典数据
-     */
-    public SysDictData selectDictDataById(Long dictCode);
-
-    /**
-     * 批量删除字典数据信息
-     * 
-     * @param dictCodes 需要删除的字典数据ID
-     */
-    public void deleteDictDataByIds(Long[] dictCodes);
-
-    /**
-     * 新增保存字典数据信息
-     * 
-     * @param dictData 字典数据信息
-     * @return 结果
-     */
-    public int insertDictData(SysDictData dictData);
-
-    /**
-     * 修改保存字典数据信息
-     * 
-     * @param dictData 字典数据信息
-     * @return 结果
-     */
-    public int updateDictData(SysDictData dictData);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictTypeService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictTypeService.java
deleted file mode 100644
index d4629d8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysDictTypeService.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.hrt.system.service.sys;
-
-import java.util.List;
-import com.hrt.system.api.domain.SysDictData;
-import com.hrt.system.api.domain.SysDictType;
-
-/**
- * 字典 业务层
- * 
- * @author jqs
- */
-public interface ISysDictTypeService
-{
-    /**
-     * 根据条件分页查询字典类型
-     * 
-     * @param dictType 字典类型信息
-     * @return 字典类型集合信息
-     */
-    public List<SysDictType> selectDictTypeList(SysDictType dictType);
-
-    /**
-     * 根据所有字典类型
-     * 
-     * @return 字典类型集合信息
-     */
-    public List<SysDictType> selectDictTypeAll();
-
-    /**
-     * 根据字典类型查询字典数据
-     * 
-     * @param dictType 字典类型
-     * @return 字典数据集合信息
-     */
-    public List<SysDictData> selectDictDataByType(String dictType);
-
-    /**
-     * 根据字典类型ID查询信息
-     * 
-     * @param dictId 字典类型ID
-     * @return 字典类型
-     */
-    public SysDictType selectDictTypeById(Long dictId);
-
-    /**
-     * 根据字典类型查询信息
-     * 
-     * @param dictType 字典类型
-     * @return 字典类型
-     */
-    public SysDictType selectDictTypeByType(String dictType);
-
-    /**
-     * 批量删除字典信息
-     * 
-     * @param dictIds 需要删除的字典ID
-     */
-    public void deleteDictTypeByIds(Long[] dictIds);
-
-    /**
-     * 加载字典缓存数据
-     */
-    public void loadingDictCache();
-
-    /**
-     * 清空字典缓存数据
-     */
-    public void clearDictCache();
-
-    /**
-     * 重置字典缓存数据
-     */
-    public void resetDictCache();
-
-    /**
-     * 新增保存字典类型信息
-     * 
-     * @param dictType 字典类型信息
-     * @return 结果
-     */
-    public int insertDictType(SysDictType dictType);
-
-    /**
-     * 修改保存字典类型信息
-     * 
-     * @param dictType 字典类型信息
-     * @return 结果
-     */
-    public int updateDictType(SysDictType dictType);
-
-    /**
-     * 校验字典类型称是否唯一
-     * 
-     * @param dictType 字典类型
-     * @return 结果
-     */
-    public boolean checkDictTypeUnique(SysDictType dictType);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysNoticeService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysNoticeService.java
deleted file mode 100644
index 07fa669..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/ISysNoticeService.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.hrt.system.service.sys;
-
-import java.util.List;
-
-import com.hrt.system.domain.poji.sys.SysNotice;
-
-/**
- * 公告 服务层
- * 
- * @author jqs
- */
-public interface ISysNoticeService
-{
-    /**
-     * 查询公告信息
-     * 
-     * @param noticeId 公告ID
-     * @return 公告信息
-     */
-    public SysNotice selectNoticeById(Long noticeId);
-
-    /**
-     * 查询公告列表
-     * 
-     * @param notice 公告信息
-     * @return 公告集合
-     */
-    public List<SysNotice> selectNoticeList(SysNotice notice);
-
-    /**
-     * 新增公告
-     * 
-     * @param notice 公告信息
-     * @return 结果
-     */
-    public int insertNotice(SysNotice notice);
-
-    /**
-     * 修改公告
-     * 
-     * @param notice 公告信息
-     * @return 结果
-     */
-    public int updateNotice(SysNotice notice);
-
-    /**
-     * 删除公告信息
-     * 
-     * @param noticeId 公告ID
-     * @return 结果
-     */
-    public int deleteNoticeById(Long noticeId);
-    
-    /**
-     * 批量删除公告信息
-     * 
-     * @param noticeIds 需要删除的公告ID
-     * @return 结果
-     */
-    public int deleteNoticeByIds(Long[] noticeIds);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/PopService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/PopService.java
deleted file mode 100644
index fc891b9..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/PopService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.hrt.system.domain.poji.sys.Pop;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 弹窗 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface PopService extends IService<Pop> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/QuickEntryService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/QuickEntryService.java
deleted file mode 100644
index 5505d44..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/QuickEntryService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.hrt.system.domain.poji.sys.QuickEntry;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.hrt.system.domain.vo.AppQuickEntryVo;
-
-import java.util.List;
-
-/**
- * <p>
- * 快速入口 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface QuickEntryService extends IService<QuickEntry> {
-
-    /**
-     * 获取快速入口列表
-     * @return
-     */
-    List<AppQuickEntryVo> listQuickEntryVo();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysClassificationService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysClassificationService.java
deleted file mode 100644
index 29e94d3..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysClassificationService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.hrt.system.domain.poji.sys.SysClassification;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 分类 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-18
- */
-public interface SysClassificationService extends IService<SysClassification> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysTagService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysTagService.java
deleted file mode 100644
index 16c5d1e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/sys/SysTagService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.hrt.system.service.sys;
-
-import com.hrt.system.domain.poji.sys.SysTag;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 系统标签 服务类
- * </p>
- *
- * @author jqs
- * @since 2023-04-17
- */
-public interface SysTagService extends IService<SysTag> {
-
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysDeptService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysDeptService.java
deleted file mode 100644
index 2d82d5c..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysDeptService.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.List;
-import com.hrt.system.api.domain.SysDept;
-import com.hrt.system.domain.vo.TreeSelect;
-
-/**
- * 部门管理 服务层
- * 
- * @author jqs
- */
-public interface ISysDeptService
-{
-    /**
-     * 查询部门管理数据
-     * 
-     * @param dept 部门信息
-     * @return 部门信息集合
-     */
-    public List<SysDept> selectDeptList(SysDept dept);
-
-    /**
-     * 查询部门树结构信息
-     * 
-     * @param dept 部门信息
-     * @return 部门树信息集合
-     */
-    public List<TreeSelect> selectDeptTreeList(SysDept dept);
-
-    /**
-     * 构建前端所需要树结构
-     * 
-     * @param depts 部门列表
-     * @return 树结构列表
-     */
-    public List<SysDept> buildDeptTree(List<SysDept> depts);
-
-    /**
-     * 构建前端所需要下拉树结构
-     * 
-     * @param depts 部门列表
-     * @return 下拉树结构列表
-     */
-    public List<TreeSelect> buildDeptTreeSelect(List<SysDept> depts);
-
-    /**
-     * 根据角色ID查询部门树信息
-     * 
-     * @param roleId 角色ID
-     * @return 选中部门列表
-     */
-    public List<Long> selectDeptListByRoleId(Long roleId);
-
-    /**
-     * 根据部门ID查询信息
-     * 
-     * @param deptId 部门ID
-     * @return 部门信息
-     */
-    public SysDept selectDeptById(Long deptId);
-
-    /**
-     * 根据ID查询所有子部门(正常状态)
-     * 
-     * @param deptId 部门ID
-     * @return 子部门数
-     */
-    public int selectNormalChildrenDeptById(Long deptId);
-
-    /**
-     * 是否存在部门子节点
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    public boolean hasChildByDeptId(Long deptId);
-
-    /**
-     * 查询部门是否存在用户
-     * 
-     * @param deptId 部门ID
-     * @return 结果 true 存在 false 不存在
-     */
-    public boolean checkDeptExistUser(Long deptId);
-
-    /**
-     * 校验部门名称是否唯一
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    public boolean checkDeptNameUnique(SysDept dept);
-
-    /**
-     * 校验部门是否有数据权限
-     * 
-     * @param deptId 部门id
-     */
-    public void checkDeptDataScope(Long deptId);
-
-    /**
-     * 新增保存部门信息
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    public int insertDept(SysDept dept);
-
-    /**
-     * 修改保存部门信息
-     * 
-     * @param dept 部门信息
-     * @return 结果
-     */
-    public int updateDept(SysDept dept);
-
-    /**
-     * 删除部门管理信息
-     * 
-     * @param deptId 部门ID
-     * @return 结果
-     */
-    public int deleteDeptById(Long deptId);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysLogininforService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysLogininforService.java
deleted file mode 100644
index ba981eb..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysLogininforService.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.List;
-import com.hrt.system.api.domain.SysLogininfor;
-
-/**
- * 系统访问日志情况信息 服务层
- * 
- * @author jqs
- */
-public interface ISysLogininforService
-{
-    /**
-     * 新增系统登录日志
-     * 
-     * @param logininfor 访问日志对象
-     */
-    public int insertLogininfor(SysLogininfor logininfor);
-
-    /**
-     * 查询系统登录日志集合
-     * 
-     * @param logininfor 访问日志对象
-     * @return 登录记录集合
-     */
-    public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor);
-
-    /**
-     * 批量删除系统登录日志
-     * 
-     * @param infoIds 需要删除的登录日志ID
-     * @return 结果
-     */
-    public int deleteLogininforByIds(Long[] infoIds);
-
-    /**
-     * 清空系统登录日志
-     */
-    public void cleanLogininfor();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysMenuService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysMenuService.java
deleted file mode 100644
index fcf34e2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysMenuService.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.List;
-import java.util.Set;
-
-import com.hrt.system.domain.poji.user.SysMenu;
-import com.hrt.system.domain.vo.RouterVo;
-import com.hrt.system.domain.vo.TreeSelect;
-
-/**
- * 菜单 业务层
- * 
- * @author jqs
- */
-public interface ISysMenuService
-{
-    /**
-     * 根据用户查询系统菜单列表
-     * 
-     * @param userId 用户ID
-     * @return 菜单列表
-     */
-    public List<SysMenu> selectMenuList(Long userId);
-
-    /**
-     * 根据用户查询系统菜单列表
-     * 
-     * @param menu 菜单信息
-     * @param userId 用户ID
-     * @return 菜单列表
-     */
-    public List<SysMenu> selectMenuList(SysMenu menu, Long userId);
-
-    /**
-     * 根据用户ID查询权限
-     * 
-     * @param userId 用户ID
-     * @return 权限列表
-     */
-    public Set<String> selectMenuPermsByUserId(Long userId);
-
-    /**
-     * 根据角色ID查询权限
-     * 
-     * @param roleId 角色ID
-     * @return 权限列表
-     */
-    public Set<String> selectMenuPermsByRoleId(Long roleId);
-
-    /**
-     * 根据用户ID查询菜单树信息
-     * 
-     * @param userId 用户ID
-     * @return 菜单列表
-     */
-    public List<SysMenu> selectMenuTreeByUserId(Long userId);
-
-    /**
-     * 根据角色ID查询菜单树信息
-     * 
-     * @param roleId 角色ID
-     * @return 选中菜单列表
-     */
-    public List<Long> selectMenuListByRoleId(Long roleId);
-
-    /**
-     * 构建前端路由所需要的菜单
-     * 
-     * @param menus 菜单列表
-     * @return 路由列表
-     */
-    public List<RouterVo> buildMenus(List<SysMenu> menus);
-
-    /**
-     * 构建前端所需要树结构
-     * 
-     * @param menus 菜单列表
-     * @return 树结构列表
-     */
-    public List<SysMenu> buildMenuTree(List<SysMenu> menus);
-
-    /**
-     * 构建前端所需要下拉树结构
-     * 
-     * @param menus 菜单列表
-     * @return 下拉树结构列表
-     */
-    public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus);
-
-    /**
-     * 根据菜单ID查询信息
-     * 
-     * @param menuId 菜单ID
-     * @return 菜单信息
-     */
-    public SysMenu selectMenuById(Long menuId);
-
-    /**
-     * 是否存在菜单子节点
-     * 
-     * @param menuId 菜单ID
-     * @return 结果 true 存在 false 不存在
-     */
-    public boolean hasChildByMenuId(Long menuId);
-
-    /**
-     * 查询菜单是否存在角色
-     * 
-     * @param menuId 菜单ID
-     * @return 结果 true 存在 false 不存在
-     */
-    public boolean checkMenuExistRole(Long menuId);
-
-    /**
-     * 新增保存菜单信息
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public int insertMenu(SysMenu menu);
-
-    /**
-     * 修改保存菜单信息
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public int updateMenu(SysMenu menu);
-
-    /**
-     * 删除菜单管理信息
-     * 
-     * @param menuId 菜单ID
-     * @return 结果
-     */
-    public int deleteMenuById(Long menuId);
-
-    /**
-     * 校验菜单名称是否唯一
-     * 
-     * @param menu 菜单信息
-     * @return 结果
-     */
-    public boolean checkMenuNameUnique(SysMenu menu);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysOperLogService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysOperLogService.java
deleted file mode 100644
index 7b14ea5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysOperLogService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.List;
-import com.hrt.system.api.domain.SysOperLog;
-
-/**
- * 操作日志 服务层
- * 
- * @author jqs
- */
-public interface ISysOperLogService
-{
-    /**
-     * 新增操作日志
-     * 
-     * @param operLog 操作日志对象
-     * @return 结果
-     */
-    public int insertOperlog(SysOperLog operLog);
-
-    /**
-     * 查询系统操作日志集合
-     * 
-     * @param operLog 操作日志对象
-     * @return 操作日志集合
-     */
-    public List<SysOperLog> selectOperLogList(SysOperLog operLog);
-
-    /**
-     * 批量删除系统操作日志
-     * 
-     * @param operIds 需要删除的操作日志ID
-     * @return 结果
-     */
-    public int deleteOperLogByIds(Long[] operIds);
-
-    /**
-     * 查询操作日志详细
-     * 
-     * @param operId 操作ID
-     * @return 操作日志对象
-     */
-    public SysOperLog selectOperLogById(Long operId);
-
-    /**
-     * 清空操作日志
-     */
-    public void cleanOperLog();
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPermissionService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPermissionService.java
deleted file mode 100644
index 48086c2..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPermissionService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.Set;
-
-import com.hrt.system.api.domain.SysUser;
-
-/**
- * 权限信息 服务层
- * 
- * @author jqs
- */
-public interface ISysPermissionService
-{
-    /**
-     * 获取角色数据权限
-     * 
-     * @param user 用户Id
-     * @return 角色权限信息
-     */
-    public Set<String> getRolePermission(SysUser user);
-
-    /**
-     * 获取菜单数据权限
-     * 
-     * @param user 用户Id
-     * @return 菜单权限信息
-     */
-    public Set<String> getMenuPermission(SysUser user);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPostService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPostService.java
deleted file mode 100644
index f93aee6..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysPostService.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.List;
-
-import com.hrt.system.domain.poji.user.SysPost;
-
-/**
- * 岗位信息 服务层
- * 
- * @author jqs
- */
-public interface ISysPostService
-{
-    /**
-     * 查询岗位信息集合
-     * 
-     * @param post 岗位信息
-     * @return 岗位列表
-     */
-    public List<SysPost> selectPostList(SysPost post);
-
-    /**
-     * 查询所有岗位
-     * 
-     * @return 岗位列表
-     */
-    public List<SysPost> selectPostAll();
-
-    /**
-     * 通过岗位ID查询岗位信息
-     * 
-     * @param postId 岗位ID
-     * @return 角色对象信息
-     */
-    public SysPost selectPostById(Long postId);
-
-    /**
-     * 根据用户ID获取岗位选择框列表
-     * 
-     * @param userId 用户ID
-     * @return 选中岗位ID列表
-     */
-    public List<Long> selectPostListByUserId(Long userId);
-
-    /**
-     * 校验岗位名称
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    public boolean checkPostNameUnique(SysPost post);
-
-    /**
-     * 校验岗位编码
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    public boolean checkPostCodeUnique(SysPost post);
-
-    /**
-     * 通过岗位ID查询岗位使用数量
-     * 
-     * @param postId 岗位ID
-     * @return 结果
-     */
-    public int countUserPostById(Long postId);
-
-    /**
-     * 删除岗位信息
-     * 
-     * @param postId 岗位ID
-     * @return 结果
-     */
-    public int deletePostById(Long postId);
-
-    /**
-     * 批量删除岗位信息
-     * 
-     * @param postIds 需要删除的岗位ID
-     * @return 结果
-     */
-    public int deletePostByIds(Long[] postIds);
-
-    /**
-     * 新增保存岗位信息
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    public int insertPost(SysPost post);
-
-    /**
-     * 修改保存岗位信息
-     * 
-     * @param post 岗位信息
-     * @return 结果
-     */
-    public int updatePost(SysPost post);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysRoleService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysRoleService.java
deleted file mode 100644
index 17ff64e..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysRoleService.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.List;
-import java.util.Set;
-import com.hrt.system.api.domain.SysRole;
-import com.hrt.system.domain.poji.user.SysUserRole;
-
-/**
- * 角色业务层
- * 
- * @author jqs
- */
-public interface ISysRoleService
-{
-    /**
-     * 根据条件分页查询角色数据
-     * 
-     * @param role 角色信息
-     * @return 角色数据集合信息
-     */
-    public List<SysRole> selectRoleList(SysRole role);
-
-    /**
-     * 根据用户ID查询角色列表
-     * 
-     * @param userId 用户ID
-     * @return 角色列表
-     */
-    public List<SysRole> selectRolesByUserId(Long userId);
-
-    /**
-     * 根据用户ID查询角色权限
-     * 
-     * @param userId 用户ID
-     * @return 权限列表
-     */
-    public Set<String> selectRolePermissionByUserId(Long userId);
-
-    /**
-     * 查询所有角色
-     * 
-     * @return 角色列表
-     */
-    public List<SysRole> selectRoleAll();
-
-    /**
-     * 根据用户ID获取角色选择框列表
-     * 
-     * @param userId 用户ID
-     * @return 选中角色ID列表
-     */
-    public List<Long> selectRoleListByUserId(Long userId);
-
-    /**
-     * 通过角色ID查询角色
-     * 
-     * @param roleId 角色ID
-     * @return 角色对象信息
-     */
-    public SysRole selectRoleById(Long roleId);
-
-    /**
-     * 校验角色名称是否唯一
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public boolean checkRoleNameUnique(SysRole role);
-
-    /**
-     * 校验角色权限是否唯一
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public boolean checkRoleKeyUnique(SysRole role);
-
-    /**
-     * 校验角色是否允许操作
-     * 
-     * @param role 角色信息
-     */
-    public void checkRoleAllowed(SysRole role);
-
-    /**
-     * 校验角色是否有数据权限
-     * 
-     * @param roleId 角色id
-     */
-    public void checkRoleDataScope(Long roleId);
-
-    /**
-     * 通过角色ID查询角色使用数量
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    public int countUserRoleByRoleId(Long roleId);
-
-    /**
-     * 新增保存角色信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public int insertRole(SysRole role);
-
-    /**
-     * 修改保存角色信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public int updateRole(SysRole role);
-
-    /**
-     * 修改角色状态
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public int updateRoleStatus(SysRole role);
-
-    /**
-     * 修改数据权限信息
-     * 
-     * @param role 角色信息
-     * @return 结果
-     */
-    public int authDataScope(SysRole role);
-
-    /**
-     * 通过角色ID删除角色
-     * 
-     * @param roleId 角色ID
-     * @return 结果
-     */
-    public int deleteRoleById(Long roleId);
-
-    /**
-     * 批量删除角色信息
-     * 
-     * @param roleIds 需要删除的角色ID
-     * @return 结果
-     */
-    public int deleteRoleByIds(Long[] roleIds);
-
-    /**
-     * 取消授权用户角色
-     * 
-     * @param userRole 用户和角色关联信息
-     * @return 结果
-     */
-    public int deleteAuthUser(SysUserRole userRole);
-
-    /**
-     * 批量取消授权用户角色
-     * 
-     * @param roleId 角色ID
-     * @param userIds 需要取消授权的用户数据ID
-     * @return 结果
-     */
-    public int deleteAuthUsers(Long roleId, Long[] userIds);
-
-    /**
-     * 批量选择授权用户角色
-     * 
-     * @param roleId 角色ID
-     * @param userIds 需要删除的用户数据ID
-     * @return 结果
-     */
-    public int insertAuthUsers(Long roleId, Long[] userIds);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserOnlineService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserOnlineService.java
deleted file mode 100644
index c61c1c8..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserOnlineService.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.hrt.system.service.user;
-
-import com.hrt.system.api.model.LoginUser;
-import com.hrt.system.domain.poji.user.SysUserOnline;
-
-/**
- * 在线用户 服务层
- * 
- * @author jqs
- */
-public interface ISysUserOnlineService
-{
-    /**
-     * 通过登录地址查询信息
-     * 
-     * @param ipaddr 登录地址
-     * @param user 用户信息
-     * @return 在线用户信息
-     */
-    public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user);
-
-    /**
-     * 通过用户名称查询信息
-     * 
-     * @param userName 用户名称
-     * @param user 用户信息
-     * @return 在线用户信息
-     */
-    public SysUserOnline selectOnlineByUserName(String userName, LoginUser user);
-
-    /**
-     * 通过登录地址/用户名称查询信息
-     * 
-     * @param ipaddr 登录地址
-     * @param userName 用户名称
-     * @param user 用户信息
-     * @return 在线用户信息
-     */
-    public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user);
-
-    /**
-     * 设置在线用户信息
-     * 
-     * @param user 用户信息
-     * @return 在线用户
-     */
-    public SysUserOnline loginUserToUserOnline(LoginUser user);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserService.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserService.java
deleted file mode 100644
index 7b5dcdf..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/user/ISysUserService.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package com.hrt.system.service.user;
-
-import java.util.List;
-import com.hrt.system.api.domain.SysUser;
-
-/**
- * 用户 业务层
- * 
- * @author jqs
- */
-public interface ISysUserService
-{
-    /**
-     * 根据条件分页查询用户列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    public List<SysUser> selectUserList(SysUser user);
-
-    /**
-     * 根据条件分页查询已分配用户角色列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    public List<SysUser> selectAllocatedList(SysUser user);
-
-    /**
-     * 根据条件分页查询未分配用户角色列表
-     * 
-     * @param user 用户信息
-     * @return 用户信息集合信息
-     */
-    public List<SysUser> selectUnallocatedList(SysUser user);
-
-    /**
-     * 通过用户名查询用户
-     * 
-     * @param userName 用户名
-     * @return 用户对象信息
-     */
-    public SysUser selectUserByUserName(String userName);
-
-    /**
-     * 通过用户ID查询用户
-     * 
-     * @param userId 用户ID
-     * @return 用户对象信息
-     */
-    public SysUser selectUserById(Long userId);
-
-    /**
-     * 根据用户ID查询用户所属角色组
-     * 
-     * @param userName 用户名
-     * @return 结果
-     */
-    public String selectUserRoleGroup(String userName);
-
-    /**
-     * 根据用户ID查询用户所属岗位组
-     * 
-     * @param userName 用户名
-     * @return 结果
-     */
-    public String selectUserPostGroup(String userName);
-
-    /**
-     * 校验用户名称是否唯一
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public boolean checkUserNameUnique(SysUser user);
-
-    /**
-     * 校验手机号码是否唯一
-     *
-     * @param user 用户信息
-     * @return 结果
-     */
-    public boolean checkPhoneUnique(SysUser user);
-
-    /**
-     * 校验email是否唯一
-     *
-     * @param user 用户信息
-     * @return 结果
-     */
-    public boolean checkEmailUnique(SysUser user);
-
-    /**
-     * 校验用户是否允许操作
-     * 
-     * @param user 用户信息
-     */
-    public void checkUserAllowed(SysUser user);
-
-    /**
-     * 校验用户是否有数据权限
-     * 
-     * @param userId 用户id
-     */
-    public void checkUserDataScope(Long userId);
-
-    /**
-     * 新增用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public int insertUser(SysUser user);
-
-    /**
-     * 注册用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public boolean registerUser(SysUser user);
-
-    /**
-     * 修改用户信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public int updateUser(SysUser user);
-
-    /**
-     * 用户授权角色
-     * 
-     * @param userId 用户ID
-     * @param roleIds 角色组
-     */
-    public void insertUserAuth(Long userId, Long[] roleIds);
-
-    /**
-     * 修改用户状态
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public int updateUserStatus(SysUser user);
-
-    /**
-     * 修改用户基本信息
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public int updateUserProfile(SysUser user);
-
-    /**
-     * 修改用户头像
-     * 
-     * @param userName 用户名
-     * @param avatar 头像地址
-     * @return 结果
-     */
-    public boolean updateUserAvatar(String userName, String avatar);
-
-    /**
-     * 重置用户密码
-     * 
-     * @param user 用户信息
-     * @return 结果
-     */
-    public int resetPwd(SysUser user);
-
-    /**
-     * 重置用户密码
-     * 
-     * @param userName 用户名
-     * @param password 密码
-     * @return 结果
-     */
-    public int resetUserPwd(String userName, String password);
-
-    /**
-     * 通过用户ID删除用户
-     * 
-     * @param userId 用户ID
-     * @return 结果
-     */
-    public int deleteUserById(Long userId);
-
-    /**
-     * 批量删除用户信息
-     * 
-     * @param userIds 需要删除的用户ID
-     * @return 结果
-     */
-    public int deleteUserByIds(Long[] userIds);
-
-    /**
-     * 导入用户数据
-     * 
-     * @param userList 用户数据列表
-     * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
-     * @param operName 操作用户
-     * @return 结果
-     */
-    public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/CodeFactoryUtil.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/CodeFactoryUtil.java
deleted file mode 100644
index a0a28d5..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/CodeFactoryUtil.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package com.hrt.system.util;
-
-
-
-import com.hrt.common.core.utils.DateUtils;
-import org.apache.poi.ss.usermodel.DateUtil;
-
-import java.security.SecureRandom;
-import java.util.Date;
-import java.util.Random;
-
-/**
- * @author jqs34
- * @ClassName CodeFactoryUtil
- * @description: TODO
- * @date 2023年02月13日
- * @version: 1.0
- */
-public class CodeFactoryUtil {
-
-    /**
-     * APP用户编码
-     */
-    private static final String APP_USER_PREFIX = "HRT_M";
-
-    /**
-     * 商户编号
-     */
-    private static final String SHOP_PREFIX = "HRT_S";
-
-    /**
-     * 订单前缀
-     */
-    private static final String ORDER_PREFIX = "BO";
-
-    /**
-     * 退款订单前缀
-     */
-    private static final String ORDER_REFUND_PREFIX = "RO";
-
-    /**
-     * 用户id和随机数总长度
-     */
-
-    private static final int maxLength = 4;
-
-    /**
-     * 更具id进行加密+加随机数组成固定长度编码
-     */
-
-    public static void main(String[] args) {
-        Long orderId = 1L;
-        String userNo = getShopNo(orderId);
-        System.out.println(userNo);
-    }
-
-    /**
-     * 获取商户编号
-     *
-     * @param shopId
-     * @return
-     */
-    public static String getShopNo(Long shopId) {
-        String prefix = SHOP_PREFIX;
-        return toFillZeroCode(prefix, maxLength, shopId);
-    }
-
-    /**
-     * 获取会员编号
-     * @param userId
-     * @return
-     */
-    public static String getMemberNo(Long userId) {
-        String prefix = APP_USER_PREFIX;
-        return toFillZeroCode(prefix, maxLength, userId);
-    }
-
-    /**
-     * 获取订单编号
-     *
-     * @param userId
-     * @return
-     */
-    public static String getOrderNo(Long userId) {
-
-        String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date());
-        prefix = ORDER_PREFIX + prefix;
-        return toFillZeroCode(prefix, maxLength, userId);
-    }
-
-
-
-    /**
-     * 获取用户编号
-     *
-     * @param userId
-     * @return
-     */
-    public static String getAppUserNo(Long userId) {
-        return toFillZeroCode(APP_USER_PREFIX, 9, userId);
-    }
-
-    /**
-     * 0补位
-     *
-     * @param prefix
-     * @param totalLength
-     * @param id
-     * @return
-     */
-    private static String toFillZeroCode(String prefix, int totalLength, Long id) {
-        String idStr = id.toString();
-        int length = idStr.length();
-
-        int fillLength = totalLength - length;
-        StringBuilder idsbs = new StringBuilder(prefix);
-        for (int i = 0; i < fillLength; i++) {
-            idsbs.append("0");
-        }
-        return idsbs.append(idStr).toString();
-    }
-
-    /**
-     * 随机6位数生成
-     */
-    public static String getRandStr(int num) {
-        // 默认6位
-        num = num != 0 ? num : 6;
-        Random r = new SecureRandom();
-        StringBuffer str = new StringBuffer();
-        int i = 0;
-        while (i < num) {
-            str.append(r.nextInt(10));
-            i++;
-        }
-        return str.toString();
-    }
-}
diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/EmojiUtil.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/EmojiUtil.java
deleted file mode 100644
index 5790c8d..0000000
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/util/EmojiUtil.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.hrt.system.util;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class EmojiUtil {
-    /**
-     * 编码
-     *
-     * @param str 待转换字符串
-     * @return 转换后字符串
-     * @throws UnsupportedEncodingException exception
-     * @Description 将字符串中的emoji表情转换成可以在utf-8字符集数据库中保存的格式(表情占4个字节,需要utf8mb4字符集)
-     */
-    public static String emojiEncode(String str)
-            throws UnsupportedEncodingException {
-        String patternString = "([\\x{10000}-\\x{10ffff}\ud800-\udfff])";
-
-        Pattern pattern = Pattern.compile(patternString);
-        Matcher matcher = pattern.matcher(str);
-        StringBuffer sb = new StringBuffer();
-        while (matcher.find()) {
-            try {
-                matcher.appendReplacement(
-                        sb,
-                        "[["
-                                + URLEncoder.encode(matcher.group(1),
-                                "UTF-8") + "]]");
-            } catch (UnsupportedEncodingException e) {
-//                LOG.error("emojiConvert error", e);
-                throw e;
-            }
-        }
-        matcher.appendTail(sb);
-//        LOG.debug("emojiConvert " + str + " to " + sb.toString()
-//                + ", len:" + sb.length());
-        return sb.toString();
-    }
-
-    /**
-     * 解码
-     *
-     * @param str 转换后的字符串
-     * @return 转换前的字符串
-     * @throws UnsupportedEncodingException exception
-     * @Description 还原utf8数据库中保存的含转换后emoji表情的字符串
-     */
-    public static String emojiDecode(String str)
-            throws UnsupportedEncodingException {
-        String patternString = "\\[\\[(.*?)\\]\\]";
-
-        Pattern pattern = Pattern.compile(patternString);
-        if (str == null) {
-            return str;
-        }
-        Matcher matcher = pattern.matcher(str);
-
-        StringBuffer sb = new StringBuffer();
-        while (matcher.find()) {
-            try {
-                matcher.appendReplacement(sb,
-                        URLDecoder.decode(matcher.group(1), "UTF-8"));
-            } catch (UnsupportedEncodingException e) {
-//                LOG.error("emojiRecovery error", e);
-                throw e;
-            }
-        }
-        matcher.appendTail(sb);
-//        LOG.debug("emojiRecovery " + str + " to " + sb.toString());
-//        System.out.println("emojiRecovery " + str + " to " + sb.toString());
-        return sb.toString();
-    }
-
-    /**
-     * @param str 待过滤字符串
-     * @return 过滤后字符串
-     * exception
-     * @Description 将字符串中的emoji表情过滤掉
-     */
-    public static String emojiSub(String str) {
-        String patternString = "([\\x{10000}-\\x{10ffff}\ud800-\udfff])";
-        Pattern pattern = Pattern.compile(patternString);
-        Matcher matcher = pattern.matcher(str);
-        StringBuffer sb = new StringBuffer();
-        while (matcher.find()) {
-            matcher.appendReplacement(sb, "");
-        }
-        matcher.appendTail(sb);
-        return sb.toString();
-    }
-
-}
diff --git a/hrt-modules/hrt-system/src/main/resources/banner.txt b/hrt-modules/hrt-system/src/main/resources/banner.txt
deleted file mode 100644
index fbd45f5..0000000
--- a/hrt-modules/hrt-system/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Spring Boot Version: ${spring-boot.version}
-Spring Application Name: ${spring.application.name}
-                            _                           _                    
-                           (_)                         | |                   
- _ __  _   _   ___   _   _  _  ______  ___  _   _  ___ | |_   ___  _ __ ___  
-| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \ 
-| |   | |_| || (_) || |_| || |        \__ \| |_| |\__ \| |_ |  __/| | | | | |
-|_|    \__,_| \___/  \__, ||_|        |___/ \__, ||___/ \__| \___||_| |_| |_|
-                      __/ |                  __/ |                           
-                     |___/                  |___/                            
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/bootstrap.yml b/hrt-modules/hrt-system/src/main/resources/bootstrap.yml
deleted file mode 100644
index cc85dd0..0000000
--- a/hrt-modules/hrt-system/src/main/resources/bootstrap.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Tomcat
-server:
-  port: 9201
-
-# Spring
-spring: 
-  application:
-    # 应用名称
-    name: hrt-system
-  profiles:
-    # 环境配置
-    active: dev
-  cloud:
-    nacos:
-      discovery:
-        # 服务注册地址
-        server-addr: 47.109.78.184:5000
-      config:
-        # 配置中心地址
-        server-addr: 47.109.78.184:5000
-        # 配置文件格式
-        file-extension: yml
-        # 共享配置
-        shared-configs:
-          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
-        group: haiheng
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/logback.xml b/hrt-modules/hrt-system/src/main/resources/logback.xml
deleted file mode 100644
index 161d285..0000000
--- a/hrt-modules/hrt-system/src/main/resources/logback.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <!-- 日志存放路径 -->
-	<property name="log.path" value="logs/hrt-system" />
-   <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
-
-    <!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
-
-    <!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-	</appender>
-
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-			<!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- 系统模块日志级别控制  -->
-	<logger name="com.hrt" level="info" />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
-
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-</configuration>
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/activity/ActivityGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/activity/ActivityGoodsMapper.xml
deleted file mode 100644
index ed78e4d..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/activity/ActivityGoodsMapper.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.activity.ActivityGoodsMapper">
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponMapper.xml
deleted file mode 100644
index 5a757be..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.coupon.CouponMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelGoodsMapper.xml
deleted file mode 100644
index 9c80269..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelGoodsMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.coupon.CouponRelGoodsMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelUserMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelUserMapper.xml
deleted file mode 100644
index 4b638f9..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponRelUserMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.coupon.CouponRelUserMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponTotalMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponTotalMapper.xml
deleted file mode 100644
index 6e176bd..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/coupon/CouponTotalMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.coupon.CouponTotalMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsFileMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsFileMapper.xml
deleted file mode 100644
index 18428c8..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsFileMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.goods.GoodsFileMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsMapper.xml
deleted file mode 100644
index 4ae4811..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsMapper.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.goods.GoodsMapper">
-
-    <!--分页获取推荐商品-->
-    <select id="pageRecommendGoods" resultType="com.hrt.system.domain.vo.AppSimpleGoodsVo">
-        SELECT
-        tg.goods_id goodsId,
-        tg.goods_name goodsName,
-        tg.goods_introduction goodsIntroduction,
-        tg.goods_type goodsType,
-        CASE tg.goods_type
-        WHEN 1 THEN "周期"
-        WHEN 2 THEN "服务"
-        WHEN 3 THEN "体验"
-        WHEN 4 THEN "单品"
-        END goodsTag,
-        IFNULL(tsg.sales_price,tg.sales_price) salesPrice,
-        tgf.file_url goodsPicture,
-        tg.goods_nurses goodsNurses
-        FROM t_goods tg
-        LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
-        LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId}
-        WHERE tg.del_flag = 0 AND tg.goods_status = 1 AND tg.recommend_flag = 1
-        ORDER BY tg.create_time DESC
-    </select>
-
-    <!--分页获取商城商品列表-->
-    <select id="pageShopGoods" resultType="com.hrt.system.domain.vo.AppSimpleGoodsVo">
-        SELECT
-        tg.goods_id goodsId,
-        tg.goods_name goodsName,
-        tg.goods_introduction goodsIntroduction,
-        tg.goods_type goodsType,
-        CASE tg.goods_type
-        WHEN 1 THEN "周期"
-        WHEN 2 THEN "服务"
-        WHEN 3 THEN "体验"
-        WHEN 4 THEN "单品"
-        END goodsTag,
-        IFNULL(tsg.sales_price,tg.sales_price) salesPrice,
-        tgf.file_url goodsPicture,
-        tg.goods_nurses goodsNurses
-        FROM t_goods tg
-        INNER JOIN t_goods_total tgt ON tg.goods_id = tgt.goods_id
-        LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
-        LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId}
-        WHERE tg.del_flag = 0 AND tg.goods_status = 1
-        <if test="param.goodsType!=null and param.goodsType != ''">
-            AND tg.goods_type = #{param.goodsType}
-        </if>
-        <if test="param.goodsClassId!=null and param.goodsClassId != ''">
-            AND tg.goods_class_id = #{param.goodsClassId}
-        </if>
-        <if test="param.keyword!=null and param.keyword != ''">
-            AND tg.goods_name LIKE CONCAT('%',#{param.keyword},'%')
-        </if>
-        ORDER BY
-        <if test="param.sort != null and param.sort != ''">
-            <choose>
-                <when test="param.sort==1">
-                    salesPrice DESC,tg.create_time DESC
-                </when>
-                <when test="param.sort==2">
-                    salesPrice ASC,tg.create_time DESC
-                </when>
-                <when test="param.sort==3">
-                    tgt.buy_num_count ASC,tg.create_time DESC
-                </when>
-                <when test="param.sort==4">
-                    tgt.buy_num_count DESC,tg.create_time DESC
-                </when>
-                <when test="param.sort==5">
-                    tg.create_time DESC
-                </when>
-                <otherwise>
-                    tg.create_time DESC
-                </otherwise>
-            </choose>
-        </if>
-    </select>
-
-    <!--分页获取搜索商品列表-->
-    <select id="pageSearchGoods" resultType="com.hrt.system.domain.vo.AppSimpleGoodsVo">
-        SELECT
-        tg.goods_id goodsId,
-        tg.goods_name goodsName,
-        tg.goods_introduction goodsIntroduction,
-        tg.goods_type goodsType,
-        CASE tg.goods_type
-        WHEN 1 THEN "周期"
-        WHEN 2 THEN "服务"
-        WHEN 3 THEN "体验"
-        WHEN 4 THEN "单品"
-        END goodsTag,
-        IFNULL(tsg.sales_price,tg.sales_price) salesPrice,
-        tgf.file_url goodsPicture,
-        tg.goods_tags goodsNurses
-        FROM t_goods tg
-        LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
-        LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId}
-        WHERE tg.del_flag = 0 AND tg.goods_status = 1
-        <if test="param.keyword!=null and param.keyword != ''">
-            AND tg.goods_name LIKE CONCAT('%',#{param.keyword},'%')
-        </if>
-        ORDER BY tg.create_time DESC
-    </select>
-
-    <!--分页获取搜索活动商品列表-->
-    <select id="pageSearchActivityGoods" resultType="com.hrt.system.domain.vo.AppSimpleActivityGoodsVo">
-        SELECT
-        tg.goods_id goodsId,
-        tg.goods_name goodsName,
-        tg.goods_introduction goodsIntroduction,
-        tg.goods_type goodsType,
-        CASE tg.goods_type
-        WHEN 1 THEN "周期"
-        WHEN 2 THEN "服务"
-        WHEN 3 THEN "体验"
-        WHEN 4 THEN "单品"
-        END goodsTag,
-        GREATEST(tg.sales_price,IFNULL(tsg.sales_price,'0.00')) salesPrice,
-        tag.activity_price activityPrice,
-        tgf.file_url goodsPicture,
-        tg.goods_tags goodsNurses,
-        tag.activity_number activityNumber,
-        tag.sales_number salesNumber
-        FROM t_goods tg
-        INNER JOIN t_activity_goods tag ON tg.goods_id = tag.goods_id
-        LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
-        LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId}
-        WHERE tg.del_flag = 0 AND tg.goods_status = 1
-        <if test="param.keyword!=null and param.keyword != ''">
-            AND tg.goods_name LIKE CONCAT('%',#{param.keyword},'%')
-        </if>
-        ORDER BY tg.create_time DESC
-    </select>
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelNurseMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelNurseMapper.xml
deleted file mode 100644
index e2d4da8..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelNurseMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.goods.GoodsRelNurseMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelTagMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelTagMapper.xml
deleted file mode 100644
index de64034..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsRelTagMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.goods.GoodsRelTagMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsTotalMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsTotalMapper.xml
deleted file mode 100644
index 09cf849..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/goods/GoodsTotalMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.goods.GoodsTotalMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveFieldsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveFieldsMapper.xml
deleted file mode 100644
index 1587146..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveFieldsMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.member.MemberArchiveFieldsMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveMapper.xml
deleted file mode 100644
index 974bdaf..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberArchiveMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.member.MemberArchiveMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberMapper.xml
deleted file mode 100644
index ab1041a..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberMapper.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.member.MemberMapper">
-
-    <select id="getOneByMiniOpenid" resultType="com.hrt.system.domain.poji.member.Member">
-        SELECT * FROM t_member WHERE mini_openid = #{miniOpenid}
-    </select>
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberNurseMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberNurseMapper.xml
deleted file mode 100644
index a556601..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/MemberNurseMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.member.MemberNurseMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/UserCouponMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/member/UserCouponMapper.xml
deleted file mode 100644
index 43922ae..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/member/UserCouponMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.member.UserCouponMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ConsumerGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ConsumerGoodsMapper.xml
deleted file mode 100644
index 90dc325..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ConsumerGoodsMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.order.ConsumerGoodsMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderGoodsMapper.xml
deleted file mode 100644
index 9f2f314..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderGoodsMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.order.OrderGoodsMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderMapper.xml
deleted file mode 100644
index 15b3b2d..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/OrderMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.order.OrderMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ShoppingCartMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ShoppingCartMapper.xml
deleted file mode 100644
index 4ea4d3d..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/order/ShoppingCartMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.order.ShoppingCartMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskMapper.xml
deleted file mode 100644
index ff9c5fb..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.MemberTaskMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskRecordMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskRecordMapper.xml
deleted file mode 100644
index 6b61d30..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/MemberTaskRecordMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.MemberTaskRecordMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopCertificateMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopCertificateMapper.xml
deleted file mode 100644
index 20f9c3e..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopCertificateMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopCertificateMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopFileMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopFileMapper.xml
deleted file mode 100644
index 241186b..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopFileMapper.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopFileMapper">
-
-    <update id="deleteByShopId">
-        UPDATE shop_file SET del_flag = 1 WHERE shop_id = #{shopId}
-    </update>
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopGoodsMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopGoodsMapper.xml
deleted file mode 100644
index 126552f..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopGoodsMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopGoodsMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMapper.xml
deleted file mode 100644
index 228a9bd..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMapper.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopMapper">
-
-    <select id="pageShop" resultType="com.hrt.system.domain.vo.MgtShopPageVo">
-        SELECT
-        ts.shop_id shopId,
-        ts.sign_time signTime,
-        ts.shop_name shopName,
-        ts.shop_number shopNumber,
-        ts.shop_tags shopTags,
-        sus.nick_name signUser,
-        null firstWithdraw,
-        sub.nick_name belongUser,
-        sd.dept_name belongDept,
-        ts.shop_source shopSource,
-        ts.sign_area_name signAreaName,
-        CONCAT(ts.cooperation_start_time,'-',ts.cooperation_end_time) cooperationTime,
-        CONCAT(ts.shop_area_name,ts.shop_address) shopAddress,
-        ts.shopowner_name shopownerName,
-        ts.shopowner_phone shopownerPhone,
-        ts.shop_status shopStatus,
-        tsm.shop_marketing_total shopActivityCount,
-        ts.shop_custom_status shopCustomStatus
-        FROM t_shop ts
-        LEFT JOIN sys_user sus ON sus.user_id = ts.sign_user_id
-        LEFT JOIN sys_user sub ON sub.user_id = ts.belong_user_id
-        LEFT JOIN sys_dept sd ON sub.dept_id = sd.dept_id
-        LEFT JOIN t_shop_marketing tsm ON tsm.shop_id = ts.shop_id
-
-    </select>
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMarketingMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMarketingMapper.xml
deleted file mode 100644
index 7cd070d..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopMarketingMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopMarketingMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelTagMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelTagMapper.xml
deleted file mode 100644
index 21b188e..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelTagMapper.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopRelTagMapper">
-
-    <update id="deleteByShopId">
-        UPDATE shop_rel_tag SET del_flag = 1 WHERE shop_id = #{shopId}
-    </update>
-
-    <select id="listShopTagVo" resultType="com.hrt.system.domain.vo.MgtShopTagVo">
-        SELECT
-        srt.tag_id tagId,
-        st.tag_name tagName,
-        CASE WHEN srt.id IS NULL THEN 0 ELSE 1 END selectFlag
-        FROM sys_tag st
-        LEFT JOIN shop_rel_tag srt ON srt.tag_id = st.tag_id
-        WHERE srt.del_flag = 0 AND shop_id = #{shopId}
-    </select>
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelUserMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelUserMapper.xml
deleted file mode 100644
index 8e48c11..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopRelUserMapper.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopRelUserMapper">
-
-    <update id="deleteByShopId">
-        UPDATE shop_rel_user SET del_flag = 1 WHERE shop_id = #{shopId}
-    </update>
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTaskMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTaskMapper.xml
deleted file mode 100644
index 529c95c..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTaskMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopTaskMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTransferRecordMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTransferRecordMapper.xml
deleted file mode 100644
index 160206e..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/ShopTransferRecordMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.ShopTransferRecordMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/TaskFileMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/TaskFileMapper.xml
deleted file mode 100644
index 4b8e0db..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/TaskFileMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.shop.TaskFileMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/UserServiceRecordMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/UserServiceRecordMapper.xml
deleted file mode 100644
index 05539b0..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/shop/UserServiceRecordMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.order.UserServiceRecordMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AdvertMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AdvertMapper.xml
deleted file mode 100644
index ed5d936..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AdvertMapper.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.AdvertMapper">
-
-    <select id="getAdvertVo" resultType="com.hrt.system.domain.vo.AppAdvertVo">
-        SELECT
-        ad_id adId,
-        ad_url adUrl,
-        ad_content adContent,
-        target_type targetType,
-        link_url linkUrl,
-        jump_id jumpId,
-        logo_url logoUrl
-        FROM t_advert WHERE del_flag = 0 ORDER BY create_time DESC LIMIT 1
-    </select>
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AgreementMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AgreementMapper.xml
deleted file mode 100644
index c55217d..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/AgreementMapper.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.AgreementMapper">
-
-    <select id="getAppAgreementVoByType" resultType="com.hrt.system.domain.vo.AppAgreementVo">
-        SELECT agreement_id agreementId,agreement_content agreementContent FROM t_agreement WHERE del_flag = 0 AND agreement_type = #{type}
-    </select>
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/BannerMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/BannerMapper.xml
deleted file mode 100644
index a596b92..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/BannerMapper.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.BannerMapper">
-
-    <select id="listHomeBannerVo" resultType="com.hrt.system.domain.vo.AppBannerVo">
-        SELECT
-        banner_id bannerId,
-        banner_url bannerUrl,
-        target_type targetType,
-        link_type linkType,
-        link_url linkUrl,
-        jump_type jumpType,
-        jump_id jumpId
-        FROM t_banner WHERE del_flag = 0 AND banner_position = 1
-        ORDER BY create_time ASC
-    </select>
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/CustomeConfigMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/CustomeConfigMapper.xml
deleted file mode 100644
index e556414..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/CustomeConfigMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.CustomeConfigMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/PopMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/PopMapper.xml
deleted file mode 100644
index 1154cac..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/PopMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.PopMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/QuickEntryMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/QuickEntryMapper.xml
deleted file mode 100644
index b1e8569..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/QuickEntryMapper.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.QuickEntryMapper">
-
-    <select id="listQuickEntryVo" resultType="com.hrt.system.domain.vo.AppQuickEntryVo">
-        SELECT
-        entry_id entryId,
-        entry_url entryUrl,
-        entry_name entryName,
-        target_type targetType,
-        link_url linkUrl,
-        jump_id jumpId
-        FROM t_quick_entry WHERE del_flag = 0
-        ORDER BY entry_sort DESC
-    </select>
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysClassificationMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysClassificationMapper.xml
deleted file mode 100644
index 838df2f..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysClassificationMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.SysClassificationMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysConfigMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysConfigMapper.xml
deleted file mode 100644
index 3653252..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysConfigMapper.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.SysConfigMapper">
-    
-    <resultMap type="com.hrt.system.domain.poji.sys.SysConfig" id="SysConfigResult">
-    	<id     property="configId"      column="config_id"      />
-        <result property="configName"    column="config_name"    />
-        <result property="configKey"     column="config_key"     />
-        <result property="configValue"   column="config_value"   />
-        <result property="configType"    column="config_type"    />
-        <result property="createBy"      column="create_by"      />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateBy"      column="update_by"      />
-        <result property="updateTime"    column="update_time"    />
-    </resultMap>
-    
-    <sql id="selectConfigVo">
-        select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark 
-		from sys_config
-    </sql>
-    
-    <!-- 查询条件 -->
-	<sql id="sqlwhereSearch">
-		<where>
-			<if test="configId !=null">
-				and config_id = #{configId}
-			</if>
-			<if test="configKey !=null and configKey != ''">
-				and config_key = #{configKey}
-			</if>
-		</where>
-	</sql>
-    
-    <select id="selectConfig" parameterType="com.hrt.system.domain.poji.sys.SysConfig" resultMap="SysConfigResult">
-        <include refid="selectConfigVo"/>
-        <include refid="sqlwhereSearch"/>
-    </select>
-    
-    <select id="selectConfigList" parameterType="com.hrt.system.domain.poji.sys.SysConfig" resultMap="SysConfigResult">
-        <include refid="selectConfigVo"/>
-        <where>
-			<if test="configName != null and configName != ''">
-				AND config_name like concat('%', #{configName}, '%')
-			</if>
-			<if test="configType != null and configType != ''">
-				AND config_type = #{configType}
-			</if>
-			<if test="configKey != null and configKey != ''">
-				AND config_key like concat('%', #{configKey}, '%')
-			</if>
-			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-				and date_format(create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-			</if>
-			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-				and date_format(create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-			</if>
-		</where>
-    </select>
-    
-    <select id="selectConfigById" parameterType="Long" resultMap="SysConfigResult">
-        <include refid="selectConfigVo"/>
-        where config_id = #{configId}
-    </select>
-    
-    <select id="checkConfigKeyUnique" parameterType="String" resultMap="SysConfigResult">
-        <include refid="selectConfigVo"/>
-        where config_key = #{configKey} limit 1
-    </select>
-    
-    <insert id="insertConfig" parameterType="com.hrt.system.domain.poji.sys.SysConfig">
-        insert into sys_config (
-			<if test="configName != null and configName != '' ">config_name,</if>
-			<if test="configKey != null and configKey != '' ">config_key,</if>
-			<if test="configValue != null and configValue != '' ">config_value,</if>
-			<if test="configType != null and configType != '' ">config_type,</if>
-			<if test="createBy != null and createBy != ''">create_by,</if>
-			<if test="remark != null and remark != ''">remark,</if>
- 			create_time
-        )values(
-			<if test="configName != null and configName != ''">#{configName},</if>
-			<if test="configKey != null and configKey != ''">#{configKey},</if>
-			<if test="configValue != null and configValue != ''">#{configValue},</if>
-			<if test="configType != null and configType != ''">#{configType},</if>
-			<if test="createBy != null and createBy != ''">#{createBy},</if>
-			<if test="remark != null and remark != ''">#{remark},</if>
- 			sysdate()
-		)
-    </insert>
-	 
-    <update id="updateConfig" parameterType="com.hrt.system.domain.poji.sys.SysConfig">
-        update sys_config 
-        <set>
-            <if test="configName != null and configName != ''">config_name = #{configName},</if>
-            <if test="configKey != null and configKey != ''">config_key = #{configKey},</if>
-            <if test="configValue != null and configValue != ''">config_value = #{configValue},</if>
-            <if test="configType != null and configType != ''">config_type = #{configType},</if>
-            <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
-            <if test="remark != null">remark = #{remark},</if>
- 			update_time = sysdate()
-        </set>
-        where config_id = #{configId}
-    </update>
-	
-    <delete id="deleteConfigById" parameterType="Long">
-        delete from sys_config where config_id = #{configId}
-    </delete>
-    
-    <delete id="deleteConfigByIds" parameterType="Long">
-        delete from sys_config where config_id in 
-        <foreach item="configId" collection="array" open="(" separator="," close=")">
-        	#{configId}
-        </foreach>
-    </delete>
-    
-</mapper>
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictDataMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictDataMapper.xml
deleted file mode 100644
index 3a05c72..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictDataMapper.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.SysDictDataMapper">
-	
-	<resultMap type="com.hrt.system.api.domain.SysDictData" id="SysDictDataResult">
-		<id     property="dictCode"   column="dict_code"   />
-		<result property="dictSort"   column="dict_sort"   />
-		<result property="dictLabel"  column="dict_label"  />
-		<result property="dictValue"  column="dict_value"  />
-		<result property="dictType"   column="dict_type"   />
-		<result property="cssClass"   column="css_class"   />
-		<result property="listClass"  column="list_class"  />
-		<result property="isDefault"  column="is_default"  />
-		<result property="status"     column="status"      />
-		<result property="createBy"   column="create_by"   />
-		<result property="createTime" column="create_time" />
-		<result property="updateBy"   column="update_by"   />
-		<result property="updateTime" column="update_time" />
-	</resultMap>
-	
-	<sql id="selectDictDataVo">
-        select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark 
-		from sys_dict_data
-    </sql>
-
-	<select id="selectDictDataList" parameterType="com.hrt.system.api.domain.SysDictData" resultMap="SysDictDataResult">
-	    <include refid="selectDictDataVo"/>
-		<where>
-		    <if test="dictType != null and dictType != ''">
-				AND dict_type = #{dictType}
-			</if>
-			<if test="dictLabel != null and dictLabel != ''">
-				AND dict_label like concat('%', #{dictLabel}, '%')
-			</if>
-			<if test="status != null and status != ''">
-				AND status = #{status}
-			</if>
-		</where>
-		order by dict_sort asc
-	</select>
-	
-	<select id="selectDictDataByType" parameterType="com.hrt.system.api.domain.SysDictData" resultMap="SysDictDataResult">
-		<include refid="selectDictDataVo"/>
-		where status = '0' and dict_type = #{dictType} order by dict_sort asc
-	</select>
-	
-	<select id="selectDictLabel" resultType="String">
-		select dict_label from sys_dict_data
-		where dict_type = #{dictType} and dict_value = #{dictValue}
-	</select>
-	
-	<select id="selectDictDataById" parameterType="Long" resultMap="SysDictDataResult">
-		<include refid="selectDictDataVo"/>
-		where dict_code = #{dictCode}
-	</select>
-	
-	<select id="countDictDataByType" resultType="Integer">
-	    select count(1) from sys_dict_data where dict_type=#{dictType}  
-	</select>
-	
-	<delete id="deleteDictDataById" parameterType="Long">
- 		delete from sys_dict_data where dict_code = #{dictCode}
- 	</delete>
- 	
- 	<delete id="deleteDictDataByIds" parameterType="Long">
- 		delete from sys_dict_data where dict_code in
- 		<foreach collection="array" item="dictCode" open="(" separator="," close=")">
- 			#{dictCode}
-        </foreach> 
- 	</delete>
-	
-	<update id="updateDictData" parameterType="com.hrt.system.api.domain.SysDictData">
- 		update sys_dict_data
- 		<set>
- 			<if test="dictSort != null">dict_sort = #{dictSort},</if>
- 			<if test="dictLabel != null and dictLabel != ''">dict_label = #{dictLabel},</if>
- 			<if test="dictValue != null and dictValue != ''">dict_value = #{dictValue},</if>
- 			<if test="dictType != null and dictType != ''">dict_type = #{dictType},</if>
- 			<if test="cssClass != null">css_class = #{cssClass},</if>
- 			<if test="listClass != null">list_class = #{listClass},</if>
- 			<if test="isDefault != null and isDefault != ''">is_default = #{isDefault},</if>
- 			<if test="status != null">status = #{status},</if>
- 			<if test="remark != null">remark = #{remark},</if>
- 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
- 		</set>
- 		where dict_code = #{dictCode}
-	</update>
-	
-	<update id="updateDictDataType" parameterType="String">
- 		update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType}
-	</update>
- 	
- 	<insert id="insertDictData" parameterType="com.hrt.system.api.domain.SysDictData">
- 		insert into sys_dict_data(
- 			<if test="dictSort != null">dict_sort,</if>
- 			<if test="dictLabel != null and dictLabel != ''">dict_label,</if>
- 			<if test="dictValue != null and dictValue != ''">dict_value,</if>
- 			<if test="dictType != null and dictType != ''">dict_type,</if>
- 			<if test="cssClass != null and cssClass != ''">css_class,</if>
- 			<if test="listClass != null and listClass != ''">list_class,</if>
- 			<if test="isDefault != null and isDefault != ''">is_default,</if>
- 			<if test="status != null">status,</if>
- 			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
- 		    <if test="dictSort != null">#{dictSort},</if>
- 		    <if test="dictLabel != null and dictLabel != ''">#{dictLabel},</if>
- 			<if test="dictValue != null and dictValue != ''">#{dictValue},</if>
- 			<if test="dictType != null and dictType != ''">#{dictType},</if>
- 			<if test="cssClass != null and cssClass != ''">#{cssClass},</if>
- 			<if test="listClass != null and listClass != ''">#{listClass},</if>
- 			<if test="isDefault != null and isDefault != ''">#{isDefault},</if>
- 			<if test="status != null">#{status},</if>
- 			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
- 		)
-	</insert>
-	
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictTypeMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictTypeMapper.xml
deleted file mode 100644
index d925e4a..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysDictTypeMapper.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.SysDictTypeMapper">
-
-	<resultMap type="com.hrt.system.api.domain.SysDictType" id="SysDictTypeResult">
-		<id     property="dictId"     column="dict_id"     />
-		<result property="dictName"   column="dict_name"   />
-		<result property="dictType"   column="dict_type"   />
-		<result property="status"     column="status"      />
-		<result property="createBy"   column="create_by"   />
-		<result property="createTime" column="create_time" />
-		<result property="updateBy"   column="update_by"   />
-		<result property="updateTime" column="update_time" />
-	</resultMap>
-	
-	<sql id="selectDictTypeVo">
-        select dict_id, dict_name, dict_type, status, create_by, create_time, remark 
-		from sys_dict_type
-    </sql>
-
-	<select id="selectDictTypeList" parameterType="com.hrt.system.api.domain.SysDictType" resultMap="SysDictTypeResult">
-	    <include refid="selectDictTypeVo"/>
-		<where>
-		    <if test="dictName != null and dictName != ''">
-				AND dict_name like concat('%', #{dictName}, '%')
-			</if>
-			<if test="status != null and status != ''">
-				AND status = #{status}
-			</if>
-			<if test="dictType != null and dictType != ''">
-				AND dict_type like concat('%', #{dictType}, '%')
-			</if>
-			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-				and date_format(create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-			</if>
-			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-				and date_format(create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-			</if>
-	    </where>
-	</select>
-	
-	<select id="selectDictTypeAll" resultMap="SysDictTypeResult">
-		<include refid="selectDictTypeVo"/>
-	</select>
-	
-	<select id="selectDictTypeById" parameterType="Long" resultMap="SysDictTypeResult">
-		<include refid="selectDictTypeVo"/>
-		where dict_id = #{dictId}
-	</select>
-	
-	<select id="selectDictTypeByType" parameterType="String" resultMap="SysDictTypeResult">
-		<include refid="selectDictTypeVo"/>
-		where dict_type = #{dictType}
-	</select>
-	
-	<select id="checkDictTypeUnique" parameterType="String" resultMap="SysDictTypeResult">
-		<include refid="selectDictTypeVo"/>
-		where dict_type = #{dictType} limit 1
-	</select>
-	
-	<delete id="deleteDictTypeById" parameterType="Long">
- 		delete from sys_dict_type where dict_id = #{dictId}
- 	</delete>
- 	
- 	<delete id="deleteDictTypeByIds" parameterType="Long">
- 		delete from sys_dict_type where dict_id in
- 		<foreach collection="array" item="dictId" open="(" separator="," close=")">
- 			#{dictId}
-        </foreach> 
- 	</delete>
-
- 	<update id="updateDictType" parameterType="com.hrt.system.api.domain.SysDictType">
- 		update sys_dict_type
- 		<set>
- 			<if test="dictName != null and dictName != ''">dict_name = #{dictName},</if>
- 			<if test="dictType != null and dictType != ''">dict_type = #{dictType},</if>
- 			<if test="status != null">status = #{status},</if>
- 			<if test="remark != null">remark = #{remark},</if>
- 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
- 		</set>
- 		where dict_id = #{dictId}
-	</update>
- 	
- 	<insert id="insertDictType" parameterType="com.hrt.system.api.domain.SysDictType">
- 		insert into sys_dict_type(
- 			<if test="dictName != null and dictName != ''">dict_name,</if>
- 			<if test="dictType != null and dictType != ''">dict_type,</if>
- 			<if test="status != null">status,</if>
- 			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
- 			<if test="dictName != null and dictName != ''">#{dictName},</if>
- 			<if test="dictType != null and dictType != ''">#{dictType},</if>
- 			<if test="status != null">#{status},</if>
- 			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
- 		)
-	</insert>
-	
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysNoticeMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysNoticeMapper.xml
deleted file mode 100644
index 13996a1..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysNoticeMapper.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.SysNoticeMapper">
-    
-    <resultMap type="com.hrt.system.domain.poji.sys.SysNotice" id="SysNoticeResult">
-        <result property="noticeId"       column="notice_id"       />
-        <result property="noticeTitle"    column="notice_title"    />
-        <result property="noticeType"     column="notice_type"     />
-        <result property="noticeContent"  column="notice_content"  />
-        <result property="status"         column="status"          />
-        <result property="createBy"       column="create_by"       />
-        <result property="createTime"     column="create_time"     />
-        <result property="updateBy"       column="update_by"       />
-        <result property="updateTime"     column="update_time"     />
-        <result property="remark"         column="remark"          />
-    </resultMap>
-    
-    <sql id="selectNoticeVo">
-        select notice_id, notice_title, notice_type, cast(notice_content as char) as notice_content, status, create_by, create_time, update_by, update_time, remark 
-		from sys_notice
-    </sql>
-    
-    <select id="selectNoticeById" parameterType="Long" resultMap="SysNoticeResult">
-        <include refid="selectNoticeVo"/>
-        where notice_id = #{noticeId}
-    </select>
-    
-    <select id="selectNoticeList" parameterType="com.hrt.system.domain.poji.sys.SysNotice" resultMap="SysNoticeResult">
-        <include refid="selectNoticeVo"/>
-        <where>
-			<if test="noticeTitle != null and noticeTitle != ''">
-				AND notice_title like concat('%', #{noticeTitle}, '%')
-			</if>
-			<if test="noticeType != null and noticeType != ''">
-				AND notice_type = #{noticeType}
-			</if>
-			<if test="createBy != null and createBy != ''">
-				AND create_by like concat('%', #{createBy}, '%')
-			</if>
-		</where>
-    </select>
-    
-    <insert id="insertNotice" parameterType="com.hrt.system.domain.poji.sys.SysNotice">
-        insert into sys_notice (
-			<if test="noticeTitle != null and noticeTitle != '' ">notice_title, </if>
-			<if test="noticeType != null and noticeType != '' ">notice_type, </if>
-			<if test="noticeContent != null and noticeContent != '' ">notice_content, </if>
-			<if test="status != null and status != '' ">status, </if>
-			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
-			<if test="noticeTitle != null and noticeTitle != ''">#{noticeTitle}, </if>
-			<if test="noticeType != null and noticeType != ''">#{noticeType}, </if>
-			<if test="noticeContent != null and noticeContent != ''">#{noticeContent}, </if>
-			<if test="status != null and status != ''">#{status}, </if>
-			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
-		)
-    </insert>
-	 
-    <update id="updateNotice" parameterType="com.hrt.system.domain.poji.sys.SysNotice">
-        update sys_notice 
-        <set>
-            <if test="noticeTitle != null and noticeTitle != ''">notice_title = #{noticeTitle}, </if>
-            <if test="noticeType != null and noticeType != ''">notice_type = #{noticeType}, </if>
-            <if test="noticeContent != null">notice_content = #{noticeContent}, </if>
-            <if test="status != null and status != ''">status = #{status}, </if>
-            <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
-        </set>
-        where notice_id = #{noticeId}
-    </update>
-	
-    <delete id="deleteNoticeById" parameterType="Long">
-        delete from sys_notice where notice_id = #{noticeId}
-    </delete>
-    
-    <delete id="deleteNoticeByIds" parameterType="Long">
-        delete from sys_notice where notice_id in 
-        <foreach item="noticeId" collection="array" open="(" separator="," close=")">
-            #{noticeId}
-        </foreach>
-    </delete>
-    
-</mapper>
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysTagMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysTagMapper.xml
deleted file mode 100644
index a34e089..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/sys/SysTagMapper.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.sys.SysTagMapper">
-
-
-
-</mapper>
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysDeptMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysDeptMapper.xml
deleted file mode 100644
index d9afd51..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysDeptMapper.xml
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysDeptMapper">
-
-	<resultMap type="com.hrt.system.api.domain.SysDept" id="SysDeptResult">
-		<id     property="deptId"     column="dept_id"     />
-		<result property="parentId"   column="parent_id"   />
-		<result property="ancestors"  column="ancestors"   />
-		<result property="deptName"   column="dept_name"   />
-		<result property="orderNum"   column="order_num"   />
-		<result property="leader"     column="leader"      />
-		<result property="phone"      column="phone"       />
-		<result property="email"      column="email"       />
-		<result property="status"     column="status"      />
-		<result property="delFlag"    column="del_flag"    />
-		<result property="parentName" column="parent_name" />
-		<result property="createBy"   column="create_by"   />
-		<result property="createTime" column="create_time" />
-		<result property="updateBy"   column="update_by"   />
-		<result property="updateTime" column="update_time" />
-	</resultMap>
-	
-	<sql id="selectDeptVo">
-        select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time 
-        from sys_dept d
-    </sql>
-    
-	<select id="selectDeptList" parameterType="com.hrt.system.api.domain.SysDept" resultMap="SysDeptResult">
-        <include refid="selectDeptVo"/>
-        where d.del_flag = '0'
-		<if test="deptId != null and deptId != 0">
-			AND dept_id = #{deptId}
-		</if>
-        <if test="parentId != null and parentId != 0">
-			AND parent_id = #{parentId}
-		</if>
-		<if test="deptName != null and deptName != ''">
-			AND dept_name like concat('%', #{deptName}, '%')
-		</if>
-		<if test="status != null and status != ''">
-			AND status = #{status}
-		</if>
-		<!-- 数据范围过滤 -->
-		${params.dataScope}
-		order by d.parent_id, d.order_num
-    </select>
-    
-    <select id="selectDeptListByRoleId" resultType="Long">
-		select d.dept_id
-		from sys_dept d
-            left join sys_role_dept rd on d.dept_id = rd.dept_id
-        where rd.role_id = #{roleId}
-            <if test="deptCheckStrictly">
-              and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId})
-            </if>
-		order by d.parent_id, d.order_num
-	</select>
-    
-    <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
-		<include refid="selectDeptVo"/>
-		where dept_id = #{deptId}
-	</select>
-    
-    <select id="checkDeptExistUser" parameterType="Long" resultType="int">
-		select count(1) from sys_user where dept_id = #{deptId} and del_flag = '0'
-	</select>
-	
-	<select id="hasChildByDeptId" parameterType="Long" resultType="int">
-		select count(1) from sys_dept
-		where del_flag = '0' and parent_id = #{deptId} limit 1
-	</select>
-	
-	<select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult">
-		select * from sys_dept where find_in_set(#{deptId}, ancestors)
-	</select>
-	
-	<select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int">
-		select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)
-	</select>
-	
-	<select id="checkDeptNameUnique" resultMap="SysDeptResult">
-	    <include refid="selectDeptVo"/>
-		where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1
-	</select>
-    
-    <insert id="insertDept" parameterType="com.hrt.system.api.domain.SysDept">
- 		insert into sys_dept(
- 			<if test="deptId != null and deptId != 0">dept_id,</if>
- 			<if test="parentId != null and parentId != 0">parent_id,</if>
- 			<if test="deptName != null and deptName != ''">dept_name,</if>
- 			<if test="ancestors != null and ancestors != ''">ancestors,</if>
- 			<if test="orderNum != null">order_num,</if>
- 			<if test="leader != null and leader != ''">leader,</if>
- 			<if test="phone != null and phone != ''">phone,</if>
- 			<if test="email != null and email != ''">email,</if>
- 			<if test="status != null">status,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
- 			<if test="deptId != null and deptId != 0">#{deptId},</if>
- 			<if test="parentId != null and parentId != 0">#{parentId},</if>
- 			<if test="deptName != null and deptName != ''">#{deptName},</if>
- 			<if test="ancestors != null and ancestors != ''">#{ancestors},</if>
- 			<if test="orderNum != null">#{orderNum},</if>
- 			<if test="leader != null and leader != ''">#{leader},</if>
- 			<if test="phone != null and phone != ''">#{phone},</if>
- 			<if test="email != null and email != ''">#{email},</if>
- 			<if test="status != null">#{status},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
- 		)
-	</insert>
-	
-	<update id="updateDept" parameterType="com.hrt.system.api.domain.SysDept">
- 		update sys_dept
- 		<set>
- 			<if test="parentId != null and parentId != 0">parent_id = #{parentId},</if>
- 			<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
- 			<if test="ancestors != null and ancestors != ''">ancestors = #{ancestors},</if>
- 			<if test="orderNum != null">order_num = #{orderNum},</if>
- 			<if test="leader != null">leader = #{leader},</if>
- 			<if test="phone != null">phone = #{phone},</if>
- 			<if test="email != null">email = #{email},</if>
- 			<if test="status != null and status != ''">status = #{status},</if>
- 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
- 		</set>
- 		where dept_id = #{deptId}
-	</update>
-	
-	<update id="updateDeptChildren" parameterType="java.util.List">
-	    update sys_dept set ancestors =
-	    <foreach collection="depts" item="item" index="index"
-	        separator=" " open="case dept_id" close="end">
-	        when #{item.deptId} then #{item.ancestors}
-	    </foreach>
-	    where dept_id in
-	    <foreach collection="depts" item="item" index="index"
-	        separator="," open="(" close=")">
-	        #{item.deptId}
-	    </foreach>
-	</update>
-	 
-	<update id="updateDeptStatusNormal" parameterType="Long">
- 	    update sys_dept set status = '0' where dept_id in 
- 	    <foreach collection="array" item="deptId" open="(" separator="," close=")">
-        	#{deptId}
-        </foreach>
-	</update>
-	
-	<delete id="deleteDeptById" parameterType="Long">
-		update sys_dept set del_flag = '2' where dept_id = #{deptId}
-	</delete>
-
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysLogininforMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysLogininforMapper.xml
deleted file mode 100644
index 14f21bd..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysLogininforMapper.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysLogininforMapper">
-
-	<resultMap type="com.hrt.system.api.domain.SysLogininfor" id="SysLogininforResult">
-		<id     property="infoId"        column="info_id"           />
-		<result property="userName"      column="user_name"         />
-		<result property="status"        column="status"            />
-		<result property="ipaddr"        column="ipaddr"            />
-		<result property="msg"           column="msg"               />
-		<result property="accessTime"    column="access_time"       />
-	</resultMap>
-
-	<insert id="insertLogininfor" parameterType="com.hrt.system.api.domain.SysLogininfor">
-		insert into sys_logininfor (user_name, status, ipaddr, msg, access_time)
-		values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate())
-	</insert>
-	
-	<select id="selectLogininforList" parameterType="com.hrt.system.api.domain.SysLogininfor" resultMap="SysLogininforResult">
-		select info_id, user_name, ipaddr, status, msg, access_time from sys_logininfor
-		<where>
-			<if test="ipaddr != null and ipaddr != ''">
-				AND ipaddr like concat('%', #{ipaddr}, '%')
-			</if>
-			<if test="status != null and status != ''">
-				AND status = #{status}
-			</if>
-			<if test="userName != null and userName != ''">
-				AND user_name like concat('%', #{userName}, '%')
-			</if>
-			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-				AND access_time &gt;= #{params.beginTime}
-			</if>
-			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-				AND access_time &lt;= #{params.endTime}
-			</if>
-		</where>
-		order by info_id desc
-	</select>
-	
-	<delete id="deleteLogininforByIds" parameterType="Long">
- 		delete from sys_logininfor where info_id in
- 		<foreach collection="array" item="infoId" open="(" separator="," close=")">
- 			#{infoId}
-        </foreach> 
- 	</delete>
-    
-    <update id="cleanLogininfor">
-        truncate table sys_logininfor
-    </update>
-    
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysMenuMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysMenuMapper.xml
deleted file mode 100644
index 355695c..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysMenuMapper.xml
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-		PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-		"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysMenuMapper">
-
-	<resultMap type="com.hrt.system.domain.poji.user.SysMenu" id="SysMenuResult">
-		<id     property="menuId"         column="menu_id"        />
-		<result property="menuName"       column="menu_name"      />
-		<result property="parentName"     column="parent_name"    />
-		<result property="parentId"       column="parent_id"      />
-		<result property="orderNum"       column="order_num"      />
-		<result property="path"           column="path"           />
-		<result property="component"      column="component"      />
-		<result property="query"          column="query"          />
-		<result property="isFrame"        column="is_frame"       />
-		<result property="isCache"        column="is_cache"       />
-		<result property="menuType"       column="menu_type"      />
-		<result property="visible"        column="visible"        />
-		<result property="status"         column="status"         />
-		<result property="perms"          column="perms"          />
-		<result property="icon"           column="icon"           />
-		<result property="createBy"       column="create_by"      />
-		<result property="createTime"     column="create_time"    />
-		<result property="updateTime"     column="update_time"    />
-		<result property="updateBy"       column="update_by"      />
-		<result property="remark"         column="remark"         />
-	</resultMap>
-
-	<sql id="selectMenuVo">
-        select menu_id, menu_name, parent_id, order_num, path, component, `query`, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time 
-		from sys_menu
-    </sql>
-    
-    <select id="selectMenuList" parameterType="com.hrt.system.domain.poji.user.SysMenu" resultMap="SysMenuResult">
-		<include refid="selectMenuVo"/>
-		<where>
-			<if test="menuName != null and menuName != ''">
-				AND menu_name like concat('%', #{menuName}, '%')
-			</if>
-			<if test="visible != null and visible != ''">
-				AND visible = #{visible}
-			</if>
-			<if test="status != null and status != ''">
-				AND status = #{status}
-			</if>
-		</where>
-		order by parent_id, order_num
-	</select>
-	
-	<select id="selectMenuTreeAll" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
-		from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
-		order by m.parent_id, m.order_num
-	</select>
-	
-	<select id="selectMenuListByUserId" parameterType="com.hrt.system.domain.poji.user.SysMenu" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
-		from sys_menu m
-		left join sys_role_menu rm on m.menu_id = rm.menu_id
-		left join sys_user_role ur on rm.role_id = ur.role_id
-		left join sys_role ro on ur.role_id = ro.role_id
-		where ur.user_id = #{params.userId}
-		<if test="menuName != null and menuName != ''">
-            AND m.menu_name like concat('%', #{menuName}, '%')
-		</if>
-		<if test="visible != null and visible != ''">
-            AND m.visible = #{visible}
-		</if>
-		<if test="status != null and status != ''">
-            AND m.status = #{status}
-		</if>
-		order by m.parent_id, m.order_num
-	</select>
-    
-    <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
-		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
-		from sys_menu m
-			 left join sys_role_menu rm on m.menu_id = rm.menu_id
-			 left join sys_user_role ur on rm.role_id = ur.role_id
-			 left join sys_role ro on ur.role_id = ro.role_id
-			 left join sys_user u on ur.user_id = u.user_id
-		where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0  AND ro.status = 0
-		order by m.parent_id, m.order_num
-	</select>
-	
-	<select id="selectMenuListByRoleId" resultType="Long">
-		select m.menu_id
-		from sys_menu m
-            left join sys_role_menu rm on m.menu_id = rm.menu_id
-        where rm.role_id = #{roleId}
-            <if test="menuCheckStrictly">
-              and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId})
-            </if>
-		order by m.parent_id, m.order_num
-	</select>
-	
-	<select id="selectMenuPerms" resultType="String">
-		select distinct m.perms
-		from sys_menu m
-			 left join sys_role_menu rm on m.menu_id = rm.menu_id
-			 left join sys_user_role ur on rm.role_id = ur.role_id
-	</select>
-
-	<select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
-		select distinct m.perms
-		from sys_menu m
-			 left join sys_role_menu rm on m.menu_id = rm.menu_id
-			 left join sys_user_role ur on rm.role_id = ur.role_id
-			 left join sys_role r on r.role_id = ur.role_id
-		where m.status = '0' and r.status = '0' and ur.user_id = #{userId}
-	</select>
-	
-	<select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
-		select distinct m.perms
-		from sys_menu m
-			 left join sys_role_menu rm on m.menu_id = rm.menu_id
-		where m.status = '0' and rm.role_id = #{roleId}
-	</select>
-	
-	<select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
-		<include refid="selectMenuVo"/>
-		where menu_id = #{menuId}
-	</select>
-	
-	<select id="hasChildByMenuId" resultType="Integer">
-	    select count(1) from sys_menu where parent_id = #{menuId}  
-	</select>
-	
-	<select id="checkMenuNameUnique" parameterType="com.hrt.system.domain.poji.user.SysMenu" resultMap="SysMenuResult">
-		<include refid="selectMenuVo"/>
-		where menu_name=#{menuName} and parent_id = #{parentId} limit 1
-	</select>
-	
-	<update id="updateMenu" parameterType="com.hrt.system.domain.poji.user.SysMenu">
-		update sys_menu
-		<set>
-			<if test="menuName != null and menuName != ''">menu_name = #{menuName},</if>
-			<if test="parentId != null">parent_id = #{parentId},</if>
-			<if test="orderNum != null">order_num = #{orderNum},</if>
-			<if test="path != null and path != ''">path = #{path},</if>
-			<if test="component != null">component = #{component},</if>
-			<if test="query != null">`query` = #{query},</if>
-			<if test="isFrame != null and isFrame != ''">is_frame = #{isFrame},</if>
-			<if test="isCache != null and isCache != ''">is_cache = #{isCache},</if>
-			<if test="menuType != null and menuType != ''">menu_type = #{menuType},</if>
-			<if test="visible != null">visible = #{visible},</if>
-			<if test="status != null">status = #{status},</if>
-			<if test="perms !=null">perms = #{perms},</if>
-			<if test="icon !=null and icon != ''">icon = #{icon},</if>
-			<if test="remark != null and remark != ''">remark = #{remark},</if>
-			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
-			update_time = sysdate()
-		</set>
-		where menu_id = #{menuId}
-	</update>
-
-	<insert id="insertMenu" parameterType="com.hrt.system.domain.poji.user.SysMenu">
-		insert into sys_menu(
-		<if test="menuId != null and menuId != 0">menu_id,</if>
-		<if test="parentId != null and parentId != 0">parent_id,</if>
-		<if test="menuName != null and menuName != ''">menu_name,</if>
-		<if test="orderNum != null">order_num,</if>
-		<if test="path != null and path != ''">path,</if>
-		<if test="component != null and component != ''">component,</if>
-		<if test="query != null and query != ''">`query`,</if>
-		<if test="isFrame != null and isFrame != ''">is_frame,</if>
-		<if test="isCache != null and isCache != ''">is_cache,</if>
-		<if test="menuType != null and menuType != ''">menu_type,</if>
-		<if test="visible != null">visible,</if>
-		<if test="status != null">status,</if>
-		<if test="perms !=null and perms != ''">perms,</if>
-		<if test="icon != null and icon != ''">icon,</if>
-		<if test="remark != null and remark != ''">remark,</if>
-		<if test="createBy != null and createBy != ''">create_by,</if>
-		create_time
-		)values(
-		<if test="menuId != null and menuId != 0">#{menuId},</if>
-		<if test="parentId != null and parentId != 0">#{parentId},</if>
-		<if test="menuName != null and menuName != ''">#{menuName},</if>
-		<if test="orderNum != null">#{orderNum},</if>
-		<if test="path != null and path != ''">#{path},</if>
-		<if test="component != null and component != ''">#{component},</if>
-		<if test="query != null and query != ''">#{query},</if>
-		<if test="isFrame != null and isFrame != ''">#{isFrame},</if>
-		<if test="isCache != null and isCache != ''">#{isCache},</if>
-		<if test="menuType != null and menuType != ''">#{menuType},</if>
-		<if test="visible != null">#{visible},</if>
-		<if test="status != null">#{status},</if>
-		<if test="perms !=null and perms != ''">#{perms},</if>
-		<if test="icon != null and icon != ''">#{icon},</if>
-		<if test="remark != null and remark != ''">#{remark},</if>
-		<if test="createBy != null and createBy != ''">#{createBy},</if>
-		sysdate()
-		)
-	</insert>
-	
-	<delete id="deleteMenuById" parameterType="Long">
-	    delete from sys_menu where menu_id = #{menuId}
-	</delete>
-
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysOperLogMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysOperLogMapper.xml
deleted file mode 100644
index 527add5..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysOperLogMapper.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysOperLogMapper">
-
-	<resultMap type="com.hrt.system.api.domain.SysOperLog" id="SysOperLogResult">
-		<id     property="operId"         column="oper_id"        />
-		<result property="title"          column="title"          />
-		<result property="businessType"   column="business_type"  />
-		<result property="method"         column="method"         />
-		<result property="requestMethod"  column="request_method" />
-		<result property="operatorType"   column="operator_type"  />
-		<result property="operName"       column="oper_name"      />
-		<result property="deptName"       column="dept_name"      />
-		<result property="operUrl"        column="oper_url"       />
-		<result property="operIp"         column="oper_ip"        />
-		<result property="operParam"      column="oper_param"     />
-		<result property="jsonResult"     column="json_result"    />
-		<result property="status"         column="status"         />
-		<result property="errorMsg"       column="error_msg"      />
-		<result property="operTime"       column="oper_time"      />
-		<result property="costTime"       column="cost_time"      />
-	</resultMap>
-
-	<sql id="selectOperLogVo">
-        select oper_id, title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, oper_time, cost_time
-        from sys_oper_log
-    </sql>
-    
-	<insert id="insertOperlog" parameterType="com.hrt.system.api.domain.SysOperLog">
-		insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, cost_time, oper_time)
-        values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate())
-	</insert>
-	
-	<select id="selectOperLogList" parameterType="com.hrt.system.api.domain.SysOperLog" resultMap="SysOperLogResult">
-		<include refid="selectOperLogVo"/>
-		<where>
-			<if test="title != null and title != ''">
-				AND title like concat('%', #{title}, '%')
-			</if>
-			<if test="businessType != null">
-				AND business_type = #{businessType}
-			</if>
-			<if test="businessTypes != null and businessTypes.length > 0">
-			    AND business_type in
-			    <foreach collection="businessTypes" item="businessType" open="(" separator="," close=")">
-		 			#{businessType}
-		        </foreach> 
-			</if>
-			<if test="status != null">
-				AND status = #{status}
-			</if>
-			<if test="operName != null and operName != ''">
-				AND oper_name like concat('%', #{operName}, '%')
-			</if>
-			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-				AND oper_time &gt;= #{params.beginTime}
-			</if>
-			<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-				AND oper_time &lt;= #{params.endTime}
-			</if>
-		</where>
-		order by oper_id desc
-	</select>
-	
-	<delete id="deleteOperLogByIds" parameterType="Long">
- 		delete from sys_oper_log where oper_id in
- 		<foreach collection="array" item="operId" open="(" separator="," close=")">
- 			#{operId}
-        </foreach> 
- 	</delete>
- 	
- 	<select id="selectOperLogById" parameterType="Long" resultMap="SysOperLogResult">
-		<include refid="selectOperLogVo"/>
-		where oper_id = #{operId}
-	</select>
-	
-	<update id="cleanOperLog">
-        truncate table sys_oper_log
-    </update>
-
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysPostMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysPostMapper.xml
deleted file mode 100644
index 015d3e5..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysPostMapper.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysPostMapper">
-
-	<resultMap type="com.hrt.system.domain.poji.user.SysPost" id="SysPostResult">
-		<id     property="postId"        column="post_id"       />
-		<result property="postCode"      column="post_code"     />
-		<result property="postName"      column="post_name"     />
-		<result property="postSort"      column="post_sort"     />
-		<result property="status"        column="status"        />
-		<result property="createBy"      column="create_by"     />
-		<result property="createTime"    column="create_time"   />
-		<result property="updateBy"      column="update_by"     />
-		<result property="updateTime"    column="update_time"   />
-		<result property="remark"        column="remark"        />
-	</resultMap>
-	
-	<sql id="selectPostVo">
-        select post_id, post_code, post_name, post_sort, status, create_by, create_time, remark 
-		from sys_post
-    </sql>
-	
-	<select id="selectPostList" parameterType="com.hrt.system.domain.poji.user.SysPost" resultMap="SysPostResult">
-	    <include refid="selectPostVo"/>
-		<where>
-			<if test="postCode != null and postCode != ''">
-				AND post_code like concat('%', #{postCode}, '%')
-			</if>
-			<if test="status != null and status != ''">
-				AND status = #{status}
-			</if>
-			<if test="postName != null and postName != ''">
-				AND post_name like concat('%', #{postName}, '%')
-			</if>
-		</where>
-	</select>
-	
-	<select id="selectPostAll" resultMap="SysPostResult">
-		<include refid="selectPostVo"/>
-	</select>
-	
-	<select id="selectPostById" parameterType="Long" resultMap="SysPostResult">
-		<include refid="selectPostVo"/>
-		where post_id = #{postId}
-	</select>
-	
-	<select id="selectPostListByUserId" parameterType="Long" resultType="Long">
-		select p.post_id
-        from sys_post p
-	        left join sys_user_post up on up.post_id = p.post_id
-	        left join sys_user u on u.user_id = up.user_id
-	    where u.user_id = #{userId}
-	</select>
-	
-	<select id="selectPostsByUserName" parameterType="String" resultMap="SysPostResult">
-		select p.post_id, p.post_name, p.post_code
-		from sys_post p
-			 left join sys_user_post up on up.post_id = p.post_id
-			 left join sys_user u on u.user_id = up.user_id
-		where u.user_name = #{userName}
-	</select>
-	
-	<select id="checkPostNameUnique" parameterType="String" resultMap="SysPostResult">
-		<include refid="selectPostVo"/>
-		 where post_name=#{postName} limit 1
-	</select>
-	
-	<select id="checkPostCodeUnique" parameterType="String" resultMap="SysPostResult">
-		<include refid="selectPostVo"/>
-		 where post_code=#{postCode} limit 1
-	</select>
-	
-	<update id="updatePost" parameterType="com.hrt.system.domain.poji.user.SysPost">
- 		update sys_post
- 		<set>
- 			<if test="postCode != null and postCode != ''">post_code = #{postCode},</if>
- 			<if test="postName != null and postName != ''">post_name = #{postName},</if>
- 			<if test="postSort != null">post_sort = #{postSort},</if>
- 			<if test="status != null and status != ''">status = #{status},</if>
- 			<if test="remark != null">remark = #{remark},</if>
- 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
- 		</set>
- 		where post_id = #{postId}
-	</update>
- 	
- 	<insert id="insertPost" parameterType="com.hrt.system.domain.poji.user.SysPost" useGeneratedKeys="true" keyProperty="postId">
- 		insert into sys_post(
- 			<if test="postId != null and postId != 0">post_id,</if>
- 			<if test="postCode != null and postCode != ''">post_code,</if>
- 			<if test="postName != null and postName != ''">post_name,</if>
- 			<if test="postSort != null">post_sort,</if>
- 			<if test="status != null and status != ''">status,</if>
- 			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
- 			<if test="postId != null and postId != 0">#{postId},</if>
- 			<if test="postCode != null and postCode != ''">#{postCode},</if>
- 			<if test="postName != null and postName != ''">#{postName},</if>
- 			<if test="postSort != null">#{postSort},</if>
- 			<if test="status != null and status != ''">#{status},</if>
- 			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
- 		)
-	</insert>
-	
-	<delete id="deletePostById" parameterType="Long">
-		delete from sys_post where post_id = #{postId}
-	</delete>
-	
-	<delete id="deletePostByIds" parameterType="Long">
- 		delete from sys_post where post_id in
- 		<foreach collection="array" item="postId" open="(" separator="," close=")">
- 			#{postId}
-        </foreach> 
- 	</delete>
-
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleDeptMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleDeptMapper.xml
deleted file mode 100644
index a04a07c..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleDeptMapper.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysRoleDeptMapper">
-
-	<resultMap type="com.hrt.system.domain.poji.user.SysRoleDept" id="SysRoleDeptResult">
-		<result property="roleId"     column="role_id"      />
-		<result property="deptId"     column="dept_id"      />
-	</resultMap>
-
-	<delete id="deleteRoleDeptByRoleId" parameterType="Long">
-		delete from sys_role_dept where role_id=#{roleId}
-	</delete>
-	
-	<select id="selectCountRoleDeptByDeptId" resultType="Integer">
-	    select count(1) from sys_role_dept where dept_id=#{deptId}
-	</select>
-	
-	<delete id="deleteRoleDept" parameterType="Long">
- 		delete from sys_role_dept where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
- 			#{roleId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchRoleDept">
-		insert into sys_role_dept(role_id, dept_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.roleId},#{item.deptId})
-		</foreach>
-	</insert>
-	
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMapper.xml
deleted file mode 100644
index 7635ccf..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMapper.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysRoleMapper">
-
-	<resultMap type="com.hrt.system.api.domain.SysRole" id="SysRoleResult">
-		<id     property="roleId"             column="role_id"               />
-		<result property="roleName"           column="role_name"             />
-		<result property="roleKey"            column="role_key"              />
-		<result property="roleSort"           column="role_sort"             />
-		<result property="dataScope"          column="data_scope"            />
-		<result property="menuCheckStrictly"  column="menu_check_strictly"   />
-		<result property="deptCheckStrictly"  column="dept_check_strictly"   />
-		<result property="status"             column="status"                />
-		<result property="delFlag"            column="del_flag"              />
-		<result property="createBy"           column="create_by"             />
-		<result property="createTime"         column="create_time"           />
-		<result property="updateBy"           column="update_by"             />
-		<result property="updateTime"         column="update_time"           />
-		<result property="remark"             column="remark"                />
-	</resultMap>
-	
-	<sql id="selectRoleVo">
-	    select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly,
-            r.status, r.del_flag, r.create_time, r.remark 
-        from sys_role r
-	        left join sys_user_role ur on ur.role_id = r.role_id
-	        left join sys_user u on u.user_id = ur.user_id
-	        left join sys_dept d on u.dept_id = d.dept_id
-    </sql>
-    
-    <select id="selectRoleList" parameterType="com.hrt.system.api.domain.SysRole" resultMap="SysRoleResult">
-		<include refid="selectRoleVo"/>
-		where r.del_flag = '0'
-		<if test="roleId != null and roleId != 0">
-			AND r.role_id = #{roleId}
-		</if>
-		<if test="roleName != null and roleName != ''">
-			AND r.role_name like concat('%', #{roleName}, '%')
-		</if>
-		<if test="status != null and status != ''">
-			AND r.status = #{status}
-		</if>
-		<if test="roleKey != null and roleKey != ''">
-			AND r.role_key like concat('%', #{roleKey}, '%')
-		</if>
-		<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-			and date_format(r.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-		</if>
-		<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-			and date_format(r.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-		</if>
-		<!-- 数据范围过滤 -->
-		${params.dataScope}
-		order by r.role_sort
-	</select>
-    
-	<select id="selectRolePermissionByUserId" parameterType="Long" resultMap="SysRoleResult">
-		<include refid="selectRoleVo"/>
-		WHERE r.del_flag = '0' and ur.user_id = #{userId}
-	</select>
-	
-	<select id="selectRoleAll" resultMap="SysRoleResult">
-		<include refid="selectRoleVo"/>
-	</select>
-	
-	<select id="selectRoleListByUserId" parameterType="Long" resultType="Long">
-		select r.role_id
-        from sys_role r
-	        left join sys_user_role ur on ur.role_id = r.role_id
-	        left join sys_user u on u.user_id = ur.user_id
-	    where u.user_id = #{userId}
-	</select>
-	
-	<select id="selectRoleById" parameterType="Long" resultMap="SysRoleResult">
-		<include refid="selectRoleVo"/>
-		where r.role_id = #{roleId}
-	</select>
-	
-	<select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult">
-		<include refid="selectRoleVo"/>
-		WHERE r.del_flag = '0' and u.user_name = #{userName}
-	</select>
-	
-	<select id="checkRoleNameUnique" parameterType="String" resultMap="SysRoleResult">
-		<include refid="selectRoleVo"/>
-		 where r.role_name=#{roleName} and r.del_flag = '0' limit 1
-	</select>
-	
-	<select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult">
-		<include refid="selectRoleVo"/>
-		 where r.role_key=#{roleKey} and r.del_flag = '0' limit 1
-	</select>
-	
- 	<insert id="insertRole" parameterType="com.hrt.system.api.domain.SysRole" useGeneratedKeys="true" keyProperty="roleId">
- 		insert into sys_role(
- 			<if test="roleId != null and roleId != 0">role_id,</if>
- 			<if test="roleName != null and roleName != ''">role_name,</if>
- 			<if test="roleKey != null and roleKey != ''">role_key,</if>
- 			<if test="roleSort != null">role_sort,</if>
- 			<if test="dataScope != null and dataScope != ''">data_scope,</if>
- 			<if test="menuCheckStrictly != null">menu_check_strictly,</if>
- 			<if test="deptCheckStrictly != null">dept_check_strictly,</if>
- 			<if test="status != null and status != ''">status,</if>
- 			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			create_time
- 		)values(
- 			<if test="roleId != null and roleId != 0">#{roleId},</if>
- 			<if test="roleName != null and roleName != ''">#{roleName},</if>
- 			<if test="roleKey != null and roleKey != ''">#{roleKey},</if>
- 			<if test="roleSort != null">#{roleSort},</if>
- 			<if test="dataScope != null and dataScope != ''">#{dataScope},</if>
- 			<if test="menuCheckStrictly != null">#{menuCheckStrictly},</if>
- 			<if test="deptCheckStrictly != null">#{deptCheckStrictly},</if>
- 			<if test="status != null and status != ''">#{status},</if>
- 			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			sysdate()
- 		)
-	</insert>
-	
-	<update id="updateRole" parameterType="com.hrt.system.api.domain.SysRole">
- 		update sys_role
- 		<set>
- 			<if test="roleName != null and roleName != ''">role_name = #{roleName},</if>
- 			<if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if>
- 			<if test="roleSort != null">role_sort = #{roleSort},</if>
- 			<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if>
- 			<if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if>
- 			<if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if>
- 			<if test="status != null and status != ''">status = #{status},</if>
- 			<if test="remark != null">remark = #{remark},</if>
- 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
- 		</set>
- 		where role_id = #{roleId}
-	</update>
-	
-	<delete id="deleteRoleById" parameterType="Long">
- 		update sys_role set del_flag = '2' where role_id = #{roleId}
- 	</delete>
- 	
- 	<delete id="deleteRoleByIds" parameterType="Long">
- 	    update sys_role set del_flag = '2' where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
- 			#{roleId}
-        </foreach> 
- 	</delete>
- 	
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMenuMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMenuMapper.xml
deleted file mode 100644
index 7bb0e38..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysRoleMenuMapper.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysRoleMenuMapper">
-
-	<resultMap type="com.hrt.system.domain.poji.user.SysRoleMenu" id="SysRoleMenuResult">
-		<result property="roleId"     column="role_id"      />
-		<result property="menuId"     column="menu_id"      />
-	</resultMap>
-	
-	<select id="checkMenuExistRole" resultType="Integer">
-	    select count(1) from sys_role_menu where menu_id = #{menuId}
-	</select>
-
-	<delete id="deleteRoleMenuByRoleId" parameterType="Long">
-		delete from sys_role_menu where role_id=#{roleId}
-	</delete>
-	
-	<delete id="deleteRoleMenu" parameterType="Long">
- 		delete from sys_role_menu where role_id in
- 		<foreach collection="array" item="roleId" open="(" separator="," close=")">
- 			#{roleId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchRoleMenu">
-		insert into sys_role_menu(role_id, menu_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.roleId},#{item.menuId})
-		</foreach>
-	</insert>
-	
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserMapper.xml
deleted file mode 100644
index 1766163..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserMapper.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysUserMapper">
-
-    <resultMap type="com.hrt.system.api.domain.SysUser" id="SysUserResult">
-        <id     property="userId"       column="user_id"      />
-        <result property="deptId"       column="dept_id"      />
-        <result property="userName"     column="user_name"    />
-        <result property="nickName"     column="nick_name"    />
-        <result property="email"        column="email"        />
-        <result property="phonenumber"  column="phonenumber"  />
-        <result property="sex"          column="sex"          />
-        <result property="avatar"       column="avatar"       />
-        <result property="password"     column="password"     />
-        <result property="status"       column="status"       />
-        <result property="delFlag"      column="del_flag"     />
-        <result property="loginIp"      column="login_ip"     />
-        <result property="loginDate"    column="login_date"   />
-        <result property="createBy"     column="create_by"    />
-        <result property="createTime"   column="create_time"  />
-        <result property="updateBy"     column="update_by"    />
-        <result property="updateTime"   column="update_time"  />
-        <result property="remark"       column="remark"       />
-        <association property="dept"    column="dept_id" javaType="com.hrt.system.api.domain.SysDept" resultMap="deptResult" />
-        <collection  property="roles"   javaType="java.util.List"           resultMap="RoleResult" />
-    </resultMap>
-	
-    <resultMap id="deptResult" type="com.hrt.system.api.domain.SysDept">
-        <id     property="deptId"    column="dept_id"     />
-        <result property="parentId"  column="parent_id"   />
-        <result property="deptName"  column="dept_name"   />
-        <result property="ancestors" column="ancestors"   />
-        <result property="orderNum"  column="order_num"   />
-        <result property="leader"    column="leader"      />
-        <result property="status"    column="dept_status" />
-    </resultMap>
-	
-    <resultMap id="RoleResult" type="com.hrt.system.api.domain.SysRole">
-        <id     property="roleId"       column="role_id"        />
-        <result property="roleName"     column="role_name"      />
-        <result property="roleKey"      column="role_key"       />
-        <result property="roleSort"     column="role_sort"      />
-        <result property="dataScope"     column="data_scope"    />
-        <result property="status"       column="role_status"    />
-    </resultMap>
-	
-	<sql id="selectUserVo">
-        select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, 
-        d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
-        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
-        from sys_user u
-		    left join sys_dept d on u.dept_id = d.dept_id
-		    left join sys_user_role ur on u.user_id = ur.user_id
-		    left join sys_role r on r.role_id = ur.role_id
-    </sql>
-    
-    <select id="selectUserList" parameterType="com.hrt.system.api.domain.SysUser" resultMap="SysUserResult">
-		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
-		left join sys_dept d on u.dept_id = d.dept_id
-		where u.del_flag = '0'
-		<if test="userId != null and userId != 0">
-			AND u.user_id = #{userId}
-		</if>
-		<if test="userName != null and userName != ''">
-			AND u.user_name like concat('%', #{userName}, '%')
-		</if>
-		<if test="status != null and status != ''">
-			AND u.status = #{status}
-		</if>
-		<if test="phonenumber != null and phonenumber != ''">
-			AND u.phonenumber like concat('%', #{phonenumber}, '%')
-		</if>
-		<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-			AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-		</if>
-		<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-			AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-		</if>
-		<if test="deptId != null and deptId != 0">
-			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
-		</if>
-		<!-- 数据范围过滤 -->
-		${params.dataScope}
-	</select>
-	
-	<select id="selectAllocatedList" parameterType="com.hrt.system.api.domain.SysUser" resultMap="SysUserResult">
-	    select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
-	    from sys_user u
-			 left join sys_dept d on u.dept_id = d.dept_id
-			 left join sys_user_role ur on u.user_id = ur.user_id
-			 left join sys_role r on r.role_id = ur.role_id
-	    where u.del_flag = '0' and r.role_id = #{roleId}
-	    <if test="userName != null and userName != ''">
-			AND u.user_name like concat('%', #{userName}, '%')
-		</if>
-		<if test="phonenumber != null and phonenumber != ''">
-			AND u.phonenumber like concat('%', #{phonenumber}, '%')
-		</if>
-		<!-- 数据范围过滤 -->
-		${params.dataScope}
-	</select>
-	
-	<select id="selectUnallocatedList" parameterType="com.hrt.system.api.domain.SysUser" resultMap="SysUserResult">
-	    select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
-	    from sys_user u
-			 left join sys_dept d on u.dept_id = d.dept_id
-			 left join sys_user_role ur on u.user_id = ur.user_id
-			 left join sys_role r on r.role_id = ur.role_id
-	    where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
-	    and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId})
-	    <if test="userName != null and userName != ''">
-			AND u.user_name like concat('%', #{userName}, '%')
-		</if>
-		<if test="phonenumber != null and phonenumber != ''">
-			AND u.phonenumber like concat('%', #{phonenumber}, '%')
-		</if>
-		<!-- 数据范围过滤 -->
-		${params.dataScope}
-	</select>
-	
-	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
-	    <include refid="selectUserVo"/>
-		where u.user_name = #{userName} and u.del_flag = '0'
-	</select>
-	
-	<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
-		<include refid="selectUserVo"/>
-		where u.user_id = #{userId}
-	</select>
-	
-	<select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
-		select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1
-	</select>
-	
-	<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
-		select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1
-	</select>
-	
-	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
-		select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
-	</select>
-	
-	<insert id="insertUser" parameterType="com.hrt.system.api.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
- 		insert into sys_user(
- 			<if test="userId != null and userId != 0">user_id,</if>
- 			<if test="deptId != null and deptId != 0">dept_id,</if>
- 			<if test="userName != null and userName != ''">user_name,</if>
- 			<if test="nickName != null and nickName != ''">nick_name,</if>
- 			<if test="email != null and email != ''">email,</if>
- 			<if test="avatar != null and avatar != ''">avatar,</if>
- 			<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
- 			<if test="sex != null and sex != ''">sex,</if>
- 			<if test="password != null and password != ''">password,</if>
- 			<if test="status != null and status != ''">status,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
- 			<if test="remark != null and remark != ''">remark,</if>
- 			create_time
- 		)values(
- 			<if test="userId != null and userId != ''">#{userId},</if>
- 			<if test="deptId != null and deptId != ''">#{deptId},</if>
- 			<if test="userName != null and userName != ''">#{userName},</if>
- 			<if test="nickName != null and nickName != ''">#{nickName},</if>
- 			<if test="email != null and email != ''">#{email},</if>
- 			<if test="avatar != null and avatar != ''">#{avatar},</if>
- 			<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
- 			<if test="sex != null and sex != ''">#{sex},</if>
- 			<if test="password != null and password != ''">#{password},</if>
- 			<if test="status != null and status != ''">#{status},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
- 			<if test="remark != null and remark != ''">#{remark},</if>
- 			sysdate()
- 		)
-	</insert>
-	
-	<update id="updateUser" parameterType="com.hrt.system.api.domain.SysUser">
- 		update sys_user
- 		<set>
- 			<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
- 			<if test="userName != null and userName != ''">user_name = #{userName},</if>
- 			<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
- 			<if test="email != null ">email = #{email},</if>
- 			<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
- 			<if test="sex != null and sex != ''">sex = #{sex},</if>
- 			<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
- 			<if test="password != null and password != ''">password = #{password},</if>
- 			<if test="status != null and status != ''">status = #{status},</if>
- 			<if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
- 			<if test="loginDate != null">login_date = #{loginDate},</if>
- 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			<if test="remark != null">remark = #{remark},</if>
- 			update_time = sysdate()
- 		</set>
- 		where user_id = #{userId}
-	</update>
-	
-	<update id="updateUserStatus" parameterType="com.hrt.system.api.domain.SysUser">
- 		update sys_user set status = #{status} where user_id = #{userId}
-	</update>
-	
-	<update id="updateUserAvatar" parameterType="com.hrt.system.api.domain.SysUser">
- 		update sys_user set avatar = #{avatar} where user_name = #{userName}
-	</update>
-	
-	<update id="resetUserPwd" parameterType="com.hrt.system.api.domain.SysUser">
- 		update sys_user set password = #{password} where user_name = #{userName}
-	</update>
-	
-	<delete id="deleteUserById" parameterType="Long">
- 		update sys_user set del_flag = '2' where user_id = #{userId}
- 	</delete>
- 	
- 	<delete id="deleteUserByIds" parameterType="Long">
- 		update sys_user set del_flag = '2' where user_id in
- 		<foreach collection="array" item="userId" open="(" separator="," close=")">
- 			#{userId}
-        </foreach> 
- 	</delete>
-	
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserPostMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserPostMapper.xml
deleted file mode 100644
index 6629244..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserPostMapper.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysUserPostMapper">
-
-	<resultMap type="com.hrt.system.domain.poji.user.SysUserPost" id="SysUserPostResult">
-		<result property="userId"     column="user_id"      />
-		<result property="postId"     column="post_id"      />
-	</resultMap>
-
-	<delete id="deleteUserPostByUserId" parameterType="Long">
-		delete from sys_user_post where user_id=#{userId}
-	</delete>
-	
-	<select id="countUserPostById" resultType="Integer">
-	    select count(1) from sys_user_post where post_id=#{postId}  
-	</select>
-	
-	<delete id="deleteUserPost" parameterType="Long">
- 		delete from sys_user_post where user_id in
- 		<foreach collection="array" item="userId" open="(" separator="," close=")">
- 			#{userId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchUserPost">
-		insert into sys_user_post(user_id, post_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.userId},#{item.postId})
-		</foreach>
-	</insert>
-	
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserRoleMapper.xml b/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserRoleMapper.xml
deleted file mode 100644
index b9062b9..0000000
--- a/hrt-modules/hrt-system/src/main/resources/mapper/system/user/SysUserRoleMapper.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.hrt.system.mapper.user.SysUserRoleMapper">
-
-	<resultMap type="com.hrt.system.domain.poji.user.SysUserRole" id="SysUserRoleResult">
-		<result property="userId"     column="user_id"      />
-		<result property="roleId"     column="role_id"      />
-	</resultMap>
-
-	<delete id="deleteUserRoleByUserId" parameterType="Long">
-		delete from sys_user_role where user_id=#{userId}
-	</delete>
-	
-	<select id="countUserRoleByRoleId" resultType="Integer">
-	    select count(1) from sys_user_role where role_id=#{roleId}  
-	</select>
-	
-	<delete id="deleteUserRole" parameterType="Long">
- 		delete from sys_user_role where user_id in
- 		<foreach collection="array" item="userId" open="(" separator="," close=")">
- 			#{userId}
-        </foreach> 
- 	</delete>
-	
-	<insert id="batchUserRole">
-		insert into sys_user_role(user_id, role_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.userId},#{item.roleId})
-		</foreach>
-	</insert>
-	
-	<delete id="deleteUserRoleInfo" parameterType="com.hrt.system.domain.poji.user.SysUserRole">
-		delete from sys_user_role where user_id=#{userId} and role_id=#{roleId}
-	</delete>
-	
-	<delete id="deleteUserRoleInfos">
-	    delete from sys_user_role where role_id=#{roleId} and user_id in
- 	    <foreach collection="userIds" item="userId" open="(" separator="," close=")">
- 	        #{userId}
-            </foreach> 
-	</delete>
-</mapper> 
\ No newline at end of file
diff --git a/hrt-modules/pom.xml b/hrt-modules/pom.xml
deleted file mode 100644
index c502e03..0000000
--- a/hrt-modules/pom.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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">
-    <parent>
-        <groupId>com.hrt</groupId>
-        <artifactId>hrt</artifactId>
-        <version>3.6.2</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <modules>
-        <module>hrt-system</module>
-        <module>hrt-gen</module>
-        <module>hrt-job</module>
-        <module>hrt-file</module>
-    </modules>
-
-    <artifactId>hrt-modules</artifactId>
-    <packaging>pom</packaging>
-
-    <description>
-        hrt-modules业务模块
-    </description>
-
-</project>
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index e093730..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,284 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         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>
-
-    <groupId>com.hrt</groupId>
-        <artifactId>hrt</artifactId>
-    <version>3.6.2</version>
-
-    <name>hrt</name>
-    <url>https://www.rhkj168.com/</url>
-    <description>洪瑞堂微服务系统</description>
-
-    <properties>
-        <hrt.version>3.6.2</hrt.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <java.version>1.8</java.version>
-        <spring-boot.version>2.7.7</spring-boot.version>
-        <spring-cloud.version>2021.0.5</spring-cloud.version>
-        <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>
-        <spring-boot-admin.version>2.7.10</spring-boot-admin.version>
-        <swagger.fox.version>3.0.0</swagger.fox.version>
-        <swagger.core.version>1.6.2</swagger.core.version>
-        <tobato.version>1.27.2</tobato.version>
-        <kaptcha.version>2.3.3</kaptcha.version>
-        <pagehelper.boot.version>1.4.6</pagehelper.boot.version>
-        <druid.version>1.2.16</druid.version>
-        <dynamic-ds.version>3.5.2</dynamic-ds.version>
-        <commons.io.version>2.11.0</commons.io.version>
-        <velocity.version>2.3</velocity.version>
-        <fastjson.version>2.0.25</fastjson.version>
-        <jjwt.version>0.9.1</jjwt.version>
-        <minio.version>8.2.2</minio.version>
-        <poi.version>4.1.2</poi.version>
-        <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version>
-    </properties>
-
-    <!-- 依赖声明 -->
-    <dependencyManagement>
-        <dependencies>
-
-            <!-- SpringCloud 微服务 -->
-            <dependency>
-                <groupId>org.springframework.cloud</groupId>
-                <artifactId>spring-cloud-dependencies</artifactId>
-                <version>${spring-cloud.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-
-            <!-- SpringCloud Alibaba 微服务 -->
-            <dependency>
-                <groupId>com.alibaba.cloud</groupId>
-                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
-                <version>${spring-cloud-alibaba.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-
-            <!-- SpringBoot 依赖配置 -->
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-                <version>${spring-boot.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-
-            <!-- FastDFS 分布式文件系统 -->
-            <dependency>
-                <groupId>com.github.tobato</groupId>
-                <artifactId>fastdfs-client</artifactId>
-                <version>${tobato.version}</version>
-            </dependency>
-
-            <!-- Swagger 依赖配置 -->
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-models</artifactId>
-                <version>${swagger.core.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>io.swagger</groupId>
-                <artifactId>swagger-annotations</artifactId>
-                <version>${swagger.core.version}</version>
-            </dependency>
-
-            <!-- 验证码 -->
-            <dependency>
-                <groupId>pro.fessional</groupId>
-                <artifactId>kaptcha</artifactId>
-                <version>${kaptcha.version}</version>
-            </dependency>
-
-            <!-- pagehelper 分页插件 -->
-            <dependency>
-                <groupId>com.github.pagehelper</groupId>
-                <artifactId>pagehelper-spring-boot-starter</artifactId>
-                <version>${pagehelper.boot.version}</version>
-            </dependency>
-
-            <!-- io常用工具类 -->
-            <dependency>
-                <groupId>commons-io</groupId>
-                <artifactId>commons-io</artifactId>
-                <version>${commons.io.version}</version>
-            </dependency>
-
-            <!-- excel工具 -->
-            <dependency>
-                <groupId>org.apache.poi</groupId>
-                <artifactId>poi-ooxml</artifactId>
-                <version>${poi.version}</version>
-            </dependency>
-
-            <!-- 代码生成使用模板 -->
-            <dependency>
-                <groupId>org.apache.velocity</groupId>
-                <artifactId>velocity-engine-core</artifactId>
-                <version>${velocity.version}</version>
-            </dependency>
-
-            <!-- JSON 解析器和生成器 -->
-            <dependency>
-                <groupId>com.alibaba.fastjson2</groupId>
-                <artifactId>fastjson2</artifactId>
-                <version>${fastjson.version}</version>
-            </dependency>
-
-            <!-- JWT -->
-            <dependency>
-                <groupId>io.jsonwebtoken</groupId>
-                <artifactId>jjwt</artifactId>
-                <version>${jjwt.version}</version>
-            </dependency>
-
-            <!-- 线程传递值 -->
-            <dependency>
-                <groupId>com.alibaba</groupId>
-                <artifactId>transmittable-thread-local</artifactId>
-                <version>${transmittable-thread-local.version}</version>
-            </dependency>
-
-            <!-- 核心模块 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-core</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 接口模块 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-swagger</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 安全模块 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-security</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 权限范围 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-datascope</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 多数据源 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-datasource</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 分布式事务 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-seata</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 日志记录 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-log</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 缓存服务 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-common-redis</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-            <!-- 系统接口 -->
-            <dependency>
-                <groupId>com.hrt</groupId>
-        <artifactId>hrt-api-system</artifactId>
-                <version>${hrt.version}</version>
-            </dependency>
-
-        </dependencies>
-    </dependencyManagement>
-
-    <modules>
-        <module>hrt-auth</module>
-        <module>hrt-gateway</module>
-        <module>hrt-modules</module>
-        <module>hrt-api</module>
-        <module>hrt-common</module>
-    </modules>
-    <packaging>pom</packaging>
-
-    <dependencies>
-        <!-- bootstrap 启动器 -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${java.version}</source>
-                    <target>${java.version}</target>
-                    <encoding>${project.build.sourceEncoding}</encoding>
-                </configuration>
-            </plugin>
-        </plugins>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-maven-plugin</artifactId>
-                    <version>${spring-boot.version}</version>
-                    <executions>
-                        <execution>
-                            <goals>
-                                <goal>repackage</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-    <repositories>
-        <repository>
-            <id>public</id>
-            <name>aliyun nexus</name>
-            <url>https://maven.aliyun.com/repository/public</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </repository>
-    </repositories>
-
-    <pluginRepositories>
-        <pluginRepository>
-            <id>public</id>
-            <name>aliyun nexus</name>
-            <url>https://maven.aliyun.com/repository/public</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-
-</project>
\ No newline at end of file

--
Gitblit v1.7.1