diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 72e54ec37..0be310016 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -46,7 +46,6 @@
${ruoyi.version}
-
com.ruoyi
@@ -54,6 +53,12 @@
${ruoyi.version}
+
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
index 656e05bfc..7e7b977e2 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
@@ -43,7 +43,6 @@ public class SysLogininforController extends BaseController
@ResponseBody
public TableDataInfo list(SysLogininfor logininfor)
{
- startPage();
List list = logininforService.selectLogininforList(logininfor);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
index a4945211f..c441aa88c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
@@ -45,7 +45,6 @@ public class SysOperlogController extends BaseController
@ResponseBody
public TableDataInfo list(SysOperLog operLog)
{
- startPage();
List list = operLogService.selectOperLogList(operLog);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
index cb8f944ac..69c355dd1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
@@ -50,7 +50,6 @@ public class SysUserOnlineController extends BaseController
@ResponseBody
public TableDataInfo list(SysUserOnline userOnline)
{
- startPage();
List list = userOnlineService.selectUserOnlineList(userOnline);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
index 31c670e8b..08da5deb9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
@@ -49,7 +49,6 @@ public class SysConfigController extends BaseController
@ResponseBody
public TableDataInfo list(SysConfig config)
{
- startPage();
List list = configService.selectConfigList(config);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
index 29f8d8715..e92361500 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
@@ -46,7 +46,6 @@ public class SysDictDataController extends BaseController
@ResponseBody
public TableDataInfo list(SysDictData dictData)
{
- startPage();
List list = dictDataService.selectDictDataList(dictData);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
index 0d17fde61..f76a8f728 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
@@ -46,7 +46,6 @@ public class SysDictTypeController extends BaseController
@ResponseBody
public TableDataInfo list(SysDictType dictType)
{
- startPage();
List list = dictTypeService.selectDictTypeList(dictType);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
index b2ca9e439..b73473191 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
@@ -48,7 +48,6 @@ public class SysNoticeController extends BaseController
@ResponseBody
public TableDataInfo list(SysNotice notice)
{
- startPage();
List list = noticeService.selectNoticeList(notice);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
index b6d7267a7..068fc97b1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
@@ -46,7 +46,6 @@ public class SysPostController extends BaseController
@ResponseBody
public TableDataInfo list(SysPost post)
{
- startPage();
List list = postService.selectPostList(post);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
index 0ea0f386d..e5970d39c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -47,7 +47,7 @@ public class SysRoleController extends BaseController
@ResponseBody
public TableDataInfo list(SysRole role)
{
- startPage();
+
List list = roleService.selectRoleList(role);
return getDataTable(list);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index c00f7439b..c0fe2e03f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -60,7 +60,7 @@ public class SysUserController extends BaseController
@ResponseBody
public TableDataInfo list(SysUser user)
{
- startPage();
+
List list = userService.selectUserList(user);
return getDataTable(list);
}
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 32552e111..b4f93f892 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -69,7 +69,13 @@
org.yaml
snakeyaml
-
-
+
+
+ tk.mybatis
+ mapper-spring-boot-starter
+ 2.1.0
+
+
+
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseEntity.java
index a3a9c4bb4..e881c4865 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseEntity.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/base/BaseEntity.java
@@ -67,7 +67,6 @@ public class BaseEntity implements Serializable
{
this.createTime = createTime;
}
-
public String getUpdateBy()
{
return updateBy;
diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml
index 8815cc5f7..b94d18a75 100644
--- a/ruoyi-framework/pom.xml
+++ b/ruoyi-framework/pom.xml
@@ -90,20 +90,19 @@
${bitwalker.version}
-
-
- com.ruoyi
- ruoyi-system
- ${ruoyi.version}
-
-
-
-
- com.ruoyi
- ruoyi-quartz
- ${ruoyi.version}
-
+
+
+ com.ruoyi
+ ruoyi-common
+ ${ruoyi.version}
+
+
+
+ tk.mybatis
+ mapper-spring-boot-starter
+ 2.1.0
+
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/web/filter/LogoutFilter.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/web/filter/LogoutFilter.java
index bf70f17cd..c371c2746 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/web/filter/LogoutFilter.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/web/filter/LogoutFilter.java
@@ -2,6 +2,8 @@ package com.ruoyi.framework.shiro.web.filter;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
+
+import com.ruoyi.system.domain.SysUser;
import org.apache.shiro.session.SessionException;
import org.apache.shiro.subject.Subject;
import org.slf4j.Logger;
@@ -12,7 +14,6 @@ import com.ruoyi.framework.manager.AsyncManager;
import com.ruoyi.framework.manager.factory.AsyncFactory;
import com.ruoyi.framework.util.MessageUtils;
import com.ruoyi.framework.util.ShiroUtils;
-import com.ruoyi.system.domain.SysUser;
/**
* 退出过滤器
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/util/EntityUtils.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/util/EntityUtils.java
new file mode 100644
index 000000000..6be47cfbc
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/util/EntityUtils.java
@@ -0,0 +1,75 @@
+package com.ruoyi.framework.util;
+
+import org.springframework.util.ReflectionUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.URLDecoder;
+import java.util.Date;
+
+
+/**
+ * 实体类相关工具类
+ * 解决问题: 1、快速对实体的常驻字段,如:createUser、updateUser等值快速注入
+ *
+ * @author Ace
+ * @version 1.0
+ * @date 2016年4月18日
+ * @since 1.7
+ */
+public class EntityUtils {
+ /**
+ * 快速将bean的crtUser、crtHost、crtTime、updUser、updHost、updTime附上相关值
+ *
+ * @param entity 实体bean
+ * @author 王浩彬
+ */
+ public static void setCreatAndUpdatInfo(T entity) {
+ setCreateInfo(entity);
+ setUpdatedInfo(entity);
+ }
+
+ /**
+ * 快速将bean的crtUser、crtHost、crtTime附上相关值
+ *
+ * @param entity 实体bean
+ * @author 王浩彬
+ */
+ public static void setCreateInfo(T entity){
+ try {
+ Method[] methods = entity.getClass().getMethods();
+ for(Method m : methods){
+ if(m.getName().equals("setCreateBy")){
+ m.invoke(entity, ShiroUtils.getUserId());
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 快速将bean的updUser、updHost、updTime附上相关值
+ *
+ * @param entity 实体bean
+ * @author 王浩彬
+ */
+ public static void setUpdatedInfo(T entity){
+ try {
+ Method[] methods = entity.getClass().getMethods();
+ for(Method m : methods){
+ if(m.getName().equals("setCreateBy")){
+ m.invoke(entity, ShiroUtils.getUserId());
+ }else if(m.getName().equals("setUpdateBy")){
+ m.invoke(entity, ShiroUtils.getUserId());
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/AbstractBaseService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/AbstractBaseService.java
new file mode 100644
index 000000000..b67c58336
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/AbstractBaseService.java
@@ -0,0 +1,56 @@
+package com.ruoyi.framework.web.base;
+
+import java.util.List;
+
+/**
+ * @Author agile
+ * Date: 17/1/13
+ * Time: 15:13
+ * Version 1.0.0
+ */
+public abstract interface AbstractBaseService {
+
+ public T selectOne(T entity);
+
+
+ public T selectById(Object id);
+
+
+ public List selectList(T entity) ;
+
+
+ public List selectListAll();
+
+
+ public Long selectCount(T entity);
+
+
+ public void insert(T entity);
+
+
+ public void insertSelective(T entity);
+
+
+ public void delete(T entity) ;
+
+
+ public void deleteById(Object id);
+
+
+ public void updateById(T entity) ;
+
+
+ public void updateSelectiveById(T entity);
+
+ public List selectByExample(Object example);
+
+ public int selectCountByExample(Object example);
+
+
+
+ public List selectByQuery(T entity) ;
+ /**
+ * 设置请求分页数据
+ */
+ public void startPage();
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/AbstractBaseServiceImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/AbstractBaseServiceImpl.java
new file mode 100644
index 000000000..32d254a7f
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/AbstractBaseServiceImpl.java
@@ -0,0 +1,127 @@
+package com.ruoyi.framework.web.base;
+
+import com.github.pagehelper.PageHelper;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.util.EntityUtils;
+import com.ruoyi.framework.web.page.PageDomain;
+import com.ruoyi.framework.web.page.TableSupport;
+import org.springframework.beans.factory.annotation.Autowired;
+import tk.mybatis.mapper.common.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author agile
+ * Date: 17/1/13
+ * Time: 15:13
+ * Version 1.0.0
+ */
+public abstract class AbstractBaseServiceImpl, T> implements AbstractBaseService{
+ @Autowired
+ protected M mapper;
+ public void setMapper(M mapper) {
+ this.mapper = mapper;
+ }
+ @Override
+ public T selectOne(T entity) {
+ return mapper.selectOne(entity);
+ }
+
+
+ @Override
+ public T selectById(Object id) {
+ return mapper.selectByPrimaryKey(id);
+ }
+
+
+ @Override
+ public List selectList(T entity) {
+ return mapper.select(entity);
+ }
+
+
+ @Override
+ public List selectListAll() {
+ return mapper.selectAll();
+ }
+
+
+ @Override
+ public Long selectCount(T entity) {
+ return new Long(mapper.selectCount(entity));
+ }
+
+
+ @Override
+ public void insert(T entity) {
+ EntityUtils.setCreatAndUpdatInfo(entity);
+ mapper.insert(entity);
+ }
+
+
+ @Override
+ public void insertSelective(T entity) {
+ EntityUtils.setCreatAndUpdatInfo(entity);
+ mapper.insertSelective(entity);
+ }
+
+
+ @Override
+ public void delete(T entity) {
+ mapper.delete(entity);
+ }
+
+
+ @Override
+ public void deleteById(Object id) {
+ mapper.deleteByPrimaryKey(id);
+ }
+
+
+ @Override
+ public void updateById(T entity) {
+ EntityUtils.setUpdatedInfo(entity);
+ mapper.updateByPrimaryKey(entity);
+ }
+
+
+ @Override
+ public void updateSelectiveById(T entity) {
+ EntityUtils.setUpdatedInfo(entity);
+ mapper.updateByPrimaryKeySelective(entity);
+
+ }
+
+ @Override
+ public List selectByExample(Object example) {
+ return mapper.selectByExample(example);
+ }
+
+ @Override
+ public int selectCountByExample(Object example) {
+ return mapper.selectCountByExample(example);
+ }
+
+
+
+ @Override
+ public List selectByQuery(T entity) {
+ startPage();
+ return mapper.select(entity);
+ }
+ /**
+ * 设置请求分页数据
+ */
+ @Override
+ public void startPage()
+ {
+ PageDomain pageDomain = TableSupport.buildPageRequest();
+ Integer pageNum = pageDomain.getPageNum();
+ Integer pageSize = pageDomain.getPageSize();
+ if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
+ {
+ String orderBy = pageDomain.getOrderBy();
+ PageHelper.startPage(pageNum, pageSize, orderBy);
+ }
+ }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/BaseController.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/BaseController.java
index 2d9e62573..f8f956009 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/BaseController.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/base/BaseController.java
@@ -3,6 +3,8 @@ package com.ruoyi.framework.web.base;
import java.beans.PropertyEditorSupport;
import java.util.Date;
import java.util.List;
+
+import com.ruoyi.system.domain.SysUser;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import com.github.pagehelper.PageHelper;
@@ -14,7 +16,6 @@ import com.ruoyi.framework.util.ShiroUtils;
import com.ruoyi.framework.web.page.PageDomain;
import com.ruoyi.framework.web.page.TableDataInfo;
import com.ruoyi.framework.web.page.TableSupport;
-import com.ruoyi.system.domain.SysUser;
/**
* web层通用数据处理
@@ -40,20 +41,6 @@ public class BaseController
});
}
- /**
- * 设置请求分页数据
- */
- protected void startPage()
- {
- PageDomain pageDomain = TableSupport.buildPageRequest();
- Integer pageNum = pageDomain.getPageNum();
- Integer pageSize = pageDomain.getPageSize();
- if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
- {
- String orderBy = pageDomain.getOrderBy();
- PageHelper.startPage(pageNum, pageSize, orderBy);
- }
- }
/**
* 响应请求分页数据
@@ -70,7 +57,7 @@ public class BaseController
/**
* 响应返回结果
- *
+ *
* @param rows 影响行数
* @return 操作结果
*/
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysConfig.java
new file mode 100644
index 000000000..d1209a0b5
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysConfig.java
@@ -0,0 +1,102 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 参数配置表 sys_config
+ *
+ * @author ruoyi
+ */
+public class SysConfig extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 参数主键 */
+ @Excel(name = "参数主键")
+ 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;
+ }
+
+ public String getConfigName()
+ {
+ return configName;
+ }
+
+ public void setConfigName(String configName)
+ {
+ this.configName = configName;
+ }
+
+ public String getConfigKey()
+ {
+ return configKey;
+ }
+
+ public void setConfigKey(String configKey)
+ {
+ this.configKey = configKey;
+ }
+
+ 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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDept.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDept.java
new file mode 100644
index 000000000..e3bd54906
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDept.java
@@ -0,0 +1,178 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 部门表 sys_dept
+ *
+ * @author ruoyi
+ */
+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 String orderNum;
+
+ /** 负责人 */
+ private String leader;
+
+ /** 联系电话 */
+ private String phone;
+
+ /** 邮箱 */
+ private String email;
+
+ /** 部门状态:0正常,1停用 */
+ private String status;
+
+ /** 删除标志(0代表存在 2代表删除) */
+ private String delFlag;
+
+ /** 父部门名称 */
+ private String parentName;
+
+ 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;
+ }
+
+ public String getDeptName()
+ {
+ return deptName;
+ }
+
+ public void setDeptName(String deptName)
+ {
+ this.deptName = deptName;
+ }
+
+ public String getOrderNum()
+ {
+ return orderNum;
+ }
+
+ public void setOrderNum(String orderNum)
+ {
+ this.orderNum = orderNum;
+ }
+
+ public String getLeader()
+ {
+ return leader;
+ }
+
+ public void setLeader(String leader)
+ {
+ this.leader = leader;
+ }
+
+ public String getPhone()
+ {
+ return phone;
+ }
+
+ public void setPhone(String phone)
+ {
+ this.phone = phone;
+ }
+
+ 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;
+ }
+
+ @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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDictData.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDictData.java
new file mode 100644
index 000000000..dcfd57dc3
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDictData.java
@@ -0,0 +1,161 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 字典数据表 sys_dict_data
+ *
+ * @author ruoyi
+ */
+public class SysDictData extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 字典编码 */
+ @Excel(name = "字典编码")
+ private Long dictCode;
+
+ /** 字典排序 */
+ @Excel(name = "字典排序")
+ private Long dictSort;
+
+ /** 字典标签 */
+ @Excel(name = "字典标签")
+ private String dictLabel;
+
+ /** 字典键值 */
+ @Excel(name = "字典键值")
+ private String dictValue;
+
+ /** 字典类型 */
+ @Excel(name = "字典类型")
+ private String dictType;
+
+ /** 样式属性(其他样式扩展) */
+ @Excel(name = "字典样式")
+ 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;
+ }
+
+ public String getDictLabel()
+ {
+ return dictLabel;
+ }
+
+ public void setDictLabel(String dictLabel)
+ {
+ this.dictLabel = dictLabel;
+ }
+
+ public String getDictValue()
+ {
+ return dictValue;
+ }
+
+ public void setDictValue(String dictValue)
+ {
+ this.dictValue = dictValue;
+ }
+
+ public String getDictType()
+ {
+ return dictType;
+ }
+
+ public void setDictType(String dictType)
+ {
+ this.dictType = dictType;
+ }
+
+ 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 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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDictType.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDictType.java
new file mode 100644
index 000000000..f7b04b1f5
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysDictType.java
@@ -0,0 +1,87 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 字典类型表 sys_dict_type
+ *
+ * @author ruoyi
+ */
+public class SysDictType extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 字典主键 */
+ @Excel(name = "字典主键")
+ 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;
+ }
+
+ public String getDictName()
+ {
+ return dictName;
+ }
+
+ public void setDictName(String dictName)
+ {
+ this.dictName = dictName;
+ }
+
+ 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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysLogininfor.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysLogininfor.java
new file mode 100644
index 000000000..2f112516b
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysLogininfor.java
@@ -0,0 +1,158 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.util.Date;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 系统访问记录表 sys_logininfor
+ *
+ * @author ruoyi
+ */
+public class SysLogininfor extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** ID */
+ @Excel(name = "序号")
+ private Long infoId;
+
+ /** 用户账号 */
+ @Excel(name = "用户账号")
+ private String loginName;
+
+ /** 登录状态 0成功 1失败 */
+ @Excel(name = "登录状态", readConverterExp = "0=成功,1=失败")
+ private String status;
+
+ /** 登录IP地址 */
+ @Excel(name = "登录地址")
+ private String ipaddr;
+
+ /** 登录地点 */
+ @Excel(name = "登录地点")
+ private String loginLocation;
+
+ /** 浏览器类型 */
+ @Excel(name = "浏览器")
+ private String browser;
+
+ /** 操作系统 */
+ @Excel(name = "操作系统 ")
+ private String os;
+
+ /** 提示消息 */
+ @Excel(name = "提示消息")
+ private String msg;
+
+ /** 访问时间 */
+ @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ private Date loginTime;
+
+ public Long getInfoId()
+ {
+ return infoId;
+ }
+
+ public void setInfoId(Long infoId)
+ {
+ this.infoId = infoId;
+ }
+
+ public String getLoginName()
+ {
+ return loginName;
+ }
+
+ public void setLoginName(String loginName)
+ {
+ this.loginName = loginName;
+ }
+
+ 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 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 String getMsg()
+ {
+ return msg;
+ }
+
+ public void setMsg(String msg)
+ {
+ this.msg = msg;
+ }
+
+ public Date getLoginTime()
+ {
+ return loginTime;
+ }
+
+ public void setLoginTime(Date loginTime)
+ {
+ this.loginTime = loginTime;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("infoId", getInfoId())
+ .append("loginName", getLoginName())
+ .append("ipaddr", getIpaddr())
+ .append("loginLocation", getLoginLocation())
+ .append("browser", getBrowser())
+ .append("os", getOs())
+ .append("status", getStatus())
+ .append("msg", getMsg())
+ .append("loginTime", getLoginTime())
+ .toString();
+ }
+}
\ No newline at end of file
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysMenu.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysMenu.java
new file mode 100644
index 000000000..69e9bcf8a
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysMenu.java
@@ -0,0 +1,180 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.util.ArrayList;
+import java.util.List;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 菜单权限表 sys_menu
+ *
+ * @author ruoyi
+ */
+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 String orderNum;
+
+ /** 菜单URL */
+ private String url;
+
+ /** 类型:0目录,1菜单,2按钮 */
+ private String menuType;
+
+ /** 菜单状态:0显示,1隐藏 */
+ private String visible;
+
+ /** 权限字符串 */
+ private String perms;
+
+ /** 菜单图标 */
+ private String icon;
+
+ /** 子菜单 */
+ private List children = new ArrayList();
+
+ public Long getMenuId()
+ {
+ return menuId;
+ }
+
+ public void setMenuId(Long menuId)
+ {
+ this.menuId = menuId;
+ }
+
+ 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;
+ }
+
+ public String getOrderNum()
+ {
+ return orderNum;
+ }
+
+ public void setOrderNum(String orderNum)
+ {
+ this.orderNum = orderNum;
+ }
+
+ public String getUrl()
+ {
+ return url;
+ }
+
+ public void setUrl(String url)
+ {
+ this.url = url;
+ }
+
+ 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 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 getChildren()
+ {
+ return children;
+ }
+
+ public void setChildren(List 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("url", getUrl())
+ .append("menuType", getMenuType())
+ .append("visible", getVisible())
+ .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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysNotice.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysNotice.java
new file mode 100644
index 000000000..d43e88df5
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysNotice.java
@@ -0,0 +1,96 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 通知公告表 sys_notice
+ *
+ * @author ruoyi
+ */
+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;
+ }
+
+ 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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysOperLog.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysOperLog.java
new file mode 100644
index 000000000..3c32fb3b8
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysOperLog.java
@@ -0,0 +1,233 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.util.Date;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 操作日志记录表 oper_log
+ *
+ * @author ruoyi
+ */
+public class SysOperLog extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 日志主键 */
+ @Excel(name = "操作序号")
+ 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;
+
+ /** 请求方法 */
+ @Excel(name = "请求方法")
+ private String method;
+
+ /** 操作类别(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 operLocation;
+
+ /** 请求参数 */
+ @Excel(name = "请求参数")
+ private String operParam;
+
+ /** 操作状态(0正常 1异常) */
+ @Excel(name = "状态", readConverterExp = "0=正常,1=异常")
+ private Integer status;
+
+ /** 错误消息 */
+ @Excel(name = "错误消息")
+ private String errorMsg;
+
+ /** 操作时间 */
+ @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ private Date operTime;
+
+ 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 String getMethod()
+ {
+ return method;
+ }
+
+ public void setMethod(String method)
+ {
+ this.method = method;
+ }
+
+ 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 getOperLocation()
+ {
+ return operLocation;
+ }
+
+ public void setOperLocation(String operLocation)
+ {
+ this.operLocation = operLocation;
+ }
+
+ public String getOperParam()
+ {
+ return operParam;
+ }
+
+ public void setOperParam(String operParam)
+ {
+ this.operParam = operParam;
+ }
+
+ 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;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("operId", getOperId())
+ .append("title", getTitle())
+ .append("businessType", getBusinessType())
+ .append("method", getMethod())
+ .append("operatorType", getOperatorType())
+ .append("operName", getOperName())
+ .append("deptName", getDeptName())
+ .append("operUrl", getOperUrl())
+ .append("operIp", getOperIp())
+ .append("operLocation", getOperLocation())
+ .append("operParam", getOperParam())
+ .append("status", getStatus())
+ .append("errorMsg", getErrorMsg())
+ .append("operTime", getOperTime())
+ .toString();
+ }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysPost.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysPost.java
new file mode 100644
index 000000000..8c36405b6
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysPost.java
@@ -0,0 +1,115 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 岗位表 sys_post
+ *
+ * @author ruoyi
+ */
+public class SysPost extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 岗位序号 */
+ @Excel(name = "岗位序号")
+ private Long postId;
+
+ /** 岗位编码 */
+ @Excel(name = "岗位编码")
+ private String postCode;
+
+ /** 岗位名称 */
+ @Excel(name = "岗位名称")
+ private String postName;
+
+ /** 岗位排序 */
+ @Excel(name = "岗位排序")
+ private String 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;
+ }
+
+ public String getPostCode()
+ {
+ return postCode;
+ }
+
+ public void setPostCode(String postCode)
+ {
+ this.postCode = postCode;
+ }
+
+ public String getPostName()
+ {
+ return postName;
+ }
+
+ public void setPostName(String postName)
+ {
+ this.postName = postName;
+ }
+
+ public String getPostSort()
+ {
+ return postSort;
+ }
+
+ public void setPostSort(String 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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRole.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRole.java
new file mode 100644
index 000000000..1927ed6d8
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRole.java
@@ -0,0 +1,170 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 角色表 sys_role
+ *
+ * @author ruoyi
+ */
+public class SysRole extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 角色ID */
+ @Excel(name = "角色序号")
+ private Long roleId;
+
+ /** 角色名称 */
+ @Excel(name = "角色名称")
+ private String roleName;
+
+ /** 角色权限 */
+ @Excel(name = "角色权限")
+ private String roleKey;
+
+ /** 角色排序 */
+ @Excel(name = "角色排序")
+ private String roleSort;
+
+ /** 数据范围(1:所有数据权限;2:自定数据权限) */
+ @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限")
+ private String dataScope;
+
+ /** 角色状态(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;
+
+ public Long getRoleId()
+ {
+ return roleId;
+ }
+
+ public void setRoleId(Long roleId)
+ {
+ this.roleId = roleId;
+ }
+
+ public String getDataScope()
+ {
+ return dataScope;
+ }
+
+ public void setDataScope(String dataScope)
+ {
+ this.dataScope = dataScope;
+ }
+
+ public String getRoleName()
+ {
+ return roleName;
+ }
+
+ public void setRoleName(String roleName)
+ {
+ this.roleName = roleName;
+ }
+
+ public String getRoleKey()
+ {
+ return roleKey;
+ }
+
+ public void setRoleKey(String roleKey)
+ {
+ this.roleKey = roleKey;
+ }
+
+ public String getRoleSort()
+ {
+ return roleSort;
+ }
+
+ public void setRoleSort(String roleSort)
+ {
+ this.roleSort = roleSort;
+ }
+
+ public String getStatus()
+ {
+ return status;
+ }
+
+ public String getDelFlag()
+ {
+ return delFlag;
+ }
+
+ public void setDelFlag(String delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public void setStatus(String status)
+ {
+ this.status = status;
+ }
+
+ 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;
+ }
+
+ @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("status", getStatus())
+ .append("delFlag", getDelFlag())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("remark", getRemark())
+ .toString();
+ }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRoleDept.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRoleDept.java
new file mode 100644
index 000000000..47b21bf79
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRoleDept.java
@@ -0,0 +1,46 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 角色和部门关联 sys_role_dept
+ *
+ * @author ruoyi
+ */
+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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java
new file mode 100644
index 000000000..de10a7470
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java
@@ -0,0 +1,46 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 角色和菜单关联 sys_role_menu
+ *
+ * @author ruoyi
+ */
+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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUser.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUser.java
new file mode 100644
index 000000000..3a6dcd951
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUser.java
@@ -0,0 +1,308 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.util.Date;
+import java.util.List;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.base.BaseEntity;
+
+/**
+ * 用户对象 sys_user
+ *
+ * @author ruoyi
+ */
+public class SysUser extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 用户ID */
+ @Excel(name = "用户序号")
+ private Long userId;
+
+ /** 部门ID */
+ private Long deptId;
+
+ /** 部门父ID */
+ private Long parentId;
+
+ /** 登录名称 */
+ @Excel(name = "登录名称")
+ private String loginName;
+
+ /** 用户名称 */
+ @Excel(name = "用户名称")
+ private String userName;
+
+ /** 用户邮箱 */
+ @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;
+
+ /** 盐加密 */
+ private String salt;
+
+ /** 帐号状态(0正常 1停用) */
+ @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
+ private String status;
+
+ /** 删除标志(0代表存在 2代表删除) */
+ private String delFlag;
+
+ /** 最后登陆IP */
+ @Excel(name = "最后登陆IP")
+ private String loginIp;
+
+ /** 最后登陆时间 */
+ @Excel(name = "最后登陆时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+ private Date loginDate;
+
+ /** 部门对象 */
+ private SysDept dept;
+
+ private List roles;
+
+ /** 角色组 */
+ private Long[] roleIds;
+
+ /** 岗位组 */
+ private Long[] postIds;
+
+ 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;
+ }
+
+ public Long getParentId()
+ {
+ return parentId;
+ }
+
+ public void setParentId(Long parentId)
+ {
+ this.parentId = parentId;
+ }
+
+ public String getLoginName()
+ {
+ return loginName;
+ }
+
+ public void setLoginName(String loginName)
+ {
+ this.loginName = loginName;
+ }
+
+ public String getUserName()
+ {
+ return userName;
+ }
+
+ public void setUserName(String userName)
+ {
+ this.userName = userName;
+ }
+
+ public String getEmail()
+ {
+ return email;
+ }
+
+ public void setEmail(String email)
+ {
+ this.email = email;
+ }
+
+ 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 getSalt()
+ {
+ return salt;
+ }
+
+ public void setSalt(String salt)
+ {
+ this.salt = salt;
+ }
+
+ 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 getRoles()
+ {
+ return roles;
+ }
+
+ public void setRoles(List 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;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("userId", getUserId())
+ .append("deptId", getDeptId())
+ .append("loginName", getLoginName())
+ .append("userName", getUserName())
+ .append("email", getEmail())
+ .append("phonenumber", getPhonenumber())
+ .append("sex", getSex())
+ .append("avatar", getAvatar())
+ .append("password", getPassword())
+ .append("salt", getSalt())
+ .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())
+ .toString();
+ }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserOnline.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserOnline.java
new file mode 100644
index 000000000..5f01feb21
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserOnline.java
@@ -0,0 +1,177 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.base.BaseEntity;
+import com.ruoyi.common.enums.OnlineStatus;
+
+/**
+ * 当前在线会话 sys_user_online
+ *
+ * @author ruoyi
+ */
+public class SysUserOnline extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 用户会话id */
+ private String sessionId;
+
+ /** 部门名称 */
+ private String deptName;
+
+ /** 登录名称 */
+ private String loginName;
+
+ /** 登录IP地址 */
+ private String ipaddr;
+
+ /** 登录地址 */
+ private String loginLocation;
+
+ /** 浏览器类型 */
+ private String browser;
+
+ /** 操作系统 */
+ private String os;
+
+ /** session创建时间 */
+ private Date startTimestamp;
+
+ /** session最后访问时间 */
+ private Date lastAccessTime;
+
+ /** 超时时间,单位为分钟 */
+ private Long expireTime;
+
+ /** 在线状态 */
+ private OnlineStatus status = OnlineStatus.on_line;
+
+ public String getSessionId()
+ {
+ return sessionId;
+ }
+
+ public void setSessionId(String sessionId)
+ {
+ this.sessionId = sessionId;
+ }
+
+ public String getDeptName()
+ {
+ return deptName;
+ }
+
+ public void setDeptName(String deptName)
+ {
+ this.deptName = deptName;
+ }
+
+ public String getLoginName()
+ {
+ return loginName;
+ }
+
+ public void setLoginName(String loginName)
+ {
+ this.loginName = loginName;
+ }
+
+ 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 Date getStartTimestamp()
+ {
+ return startTimestamp;
+ }
+
+ public void setStartTimestamp(Date startTimestamp)
+ {
+ this.startTimestamp = startTimestamp;
+ }
+
+ public Date getLastAccessTime()
+ {
+ return lastAccessTime;
+ }
+
+ public void setLastAccessTime(Date lastAccessTime)
+ {
+ this.lastAccessTime = lastAccessTime;
+ }
+
+ public Long getExpireTime()
+ {
+ return expireTime;
+ }
+
+ public void setExpireTime(Long expireTime)
+ {
+ this.expireTime = expireTime;
+ }
+
+ public OnlineStatus getStatus()
+ {
+ return status;
+ }
+
+ public void setStatus(OnlineStatus status)
+ {
+ this.status = status;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("sessionId", getSessionId())
+ .append("loginName", getLoginName())
+ .append("deptName", getDeptName())
+ .append("ipaddr", getIpaddr())
+ .append("loginLocation", getLoginLocation())
+ .append("browser", getBrowser())
+ .append("os", getOs())
+ .append("status", getStatus())
+ .append("startTimestamp", getStartTimestamp())
+ .append("lastAccessTime", getLastAccessTime())
+ .append("expireTime", getExpireTime())
+ .toString();
+ }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserPost.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserPost.java
new file mode 100644
index 000000000..6e8c416f2
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserPost.java
@@ -0,0 +1,46 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 用户和岗位关联 sys_user_post
+ *
+ * @author ruoyi
+ */
+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/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserRole.java b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserRole.java
new file mode 100644
index 000000000..4d1581014
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/domain/SysUserRole.java
@@ -0,0 +1,46 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 用户和角色关联 sys_user_role
+ *
+ * @author ruoyi
+ */
+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/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java
new file mode 100644
index 000000000..3d1847d04
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysConfig;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 参数配置 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysConfigMapper extends Mapper
+{
+ /**
+ * 查询参数配置信息
+ *
+ * @param config 参数配置信息
+ * @return 参数配置信息
+ */
+ public SysConfig selectConfig(SysConfig config);
+
+ /**
+ * 查询参数配置列表
+ *
+ * @param config 参数配置信息
+ * @return 参数配置集合
+ */
+ public List 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 configIds 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteConfigByIds(String[] configIds);
+}
\ No newline at end of file
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
new file mode 100644
index 000000000..b365bb61d
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
@@ -0,0 +1,97 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+
+import com.ruoyi.system.domain.SysConfig;
+import org.apache.ibatis.annotations.Param;
+import com.ruoyi.system.domain.SysDept;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 部门管理 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysDeptMapper extends Mapper
+{
+ /**
+ * 查询部门人数
+ *
+ * @param dept 部门信息
+ * @return 结果
+ */
+ public int selectDeptCount(SysDept dept);
+
+ /**
+ * 查询部门是否存在用户
+ *
+ * @param deptId 部门ID
+ * @return 结果
+ */
+ public int checkDeptExistUser(Long deptId);
+
+ /**
+ * 查询部门管理数据
+ *
+ * @param dept 部门信息
+ * @return 部门信息集合
+ */
+ public List selectDeptList(SysDept dept);
+
+ /**
+ * 删除部门管理信息
+ *
+ * @param deptId 部门ID
+ * @return 结果
+ */
+ public int deleteDeptById(Long deptId);
+
+ /**
+ * 新增部门信息
+ *
+ * @param dept 部门信息
+ * @return 结果
+ */
+ public int insertDept(SysDept dept);
+
+ /**
+ * 修改部门信息
+ *
+ * @param dept 部门信息
+ * @return 结果
+ */
+ public int updateDept(SysDept dept);
+
+ /**
+ * 修改子元素关系
+ *
+ * @param depts 子元素
+ * @return 结果
+ */
+ public int updateDeptChildren(@Param("depts") List depts);
+
+ /**
+ * 根据部门ID查询信息
+ *
+ * @param deptId 部门ID
+ * @return 部门信息
+ */
+ public SysDept selectDeptById(Long deptId);
+
+ /**
+ * 校验部门名称是否唯一
+ *
+ * @param deptName 部门名称
+ * @param parentId 父部门ID
+ * @return 结果
+ */
+ public SysDept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") Long parentId);
+
+ /**
+ * 根据角色ID查询部门
+ *
+ * @param roleId 角色ID
+ * @return 部门列表
+ */
+ public List selectRoleDeptTree(Long roleId);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
new file mode 100644
index 000000000..d0ae3db67
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
@@ -0,0 +1,98 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+
+import com.ruoyi.system.domain.SysDept;
+import org.apache.ibatis.annotations.Param;
+import com.ruoyi.system.domain.SysDictData;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 字典表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysDictDataMapper extends Mapper
+{
+ /**
+ * 根据条件分页查询字典数据
+ *
+ * @param dictData 字典数据信息
+ * @return 字典数据集合信息
+ */
+ public List selectDictDataList(SysDictData dictData);
+
+ /**
+ * 根据字典类型查询字典数据
+ *
+ * @param dictType 字典类型
+ * @return 字典数据集合信息
+ */
+ public List 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 ids 需要删除的数据
+ * @return 结果
+ */
+ public int deleteDictDataByIds(String[] ids);
+
+ /**
+ * 新增字典数据信息
+ *
+ * @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/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java
new file mode 100644
index 000000000..6a9ef71b5
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java
@@ -0,0 +1,77 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.ruoyi.system.domain.SysDictType;
+
+/**
+ * 字典表 数据层
+ *
+ * @author ruoyi
+ */
+@Mapper
+public interface SysDictTypeMapper extends tk.mybatis.mapper.common.Mapper
+{
+ /**
+ * 根据条件分页查询字典类型
+ *
+ * @param dictType 字典类型信息
+ * @return 字典类型集合信息
+ */
+ public List selectDictTypeList(SysDictType dictType);
+
+ /**
+ * 根据所有字典类型
+ *
+ * @return 字典类型集合信息
+ */
+ public List selectDictTypeAll();
+
+ /**
+ * 根据字典类型ID查询信息
+ *
+ * @param dictId 字典类型ID
+ * @return 字典类型
+ */
+ public SysDictType selectDictTypeById(Long dictId);
+
+ /**
+ * 通过字典ID删除字典信息
+ *
+ * @param dictId 字典ID
+ * @return 结果
+ */
+ public int deleteDictTypeById(Long dictId);
+
+ /**
+ * 批量删除字典类型
+ *
+ * @param ids 需要删除的数据
+ * @return 结果
+ */
+ public int deleteDictTypeByIds(Long[] ids);
+
+ /**
+ * 新增字典类型信息
+ *
+ * @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/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java
new file mode 100644
index 000000000..fc70b92ab
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java
@@ -0,0 +1,41 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysLogininfor;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 系统访问日志情况信息 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysLogininforMapper extends Mapper
+{
+ /**
+ * 新增系统登录日志
+ *
+ * @param logininfor 访问日志对象
+ */
+ public void insertLogininfor(SysLogininfor logininfor);
+
+ /**
+ * 查询系统登录日志集合
+ *
+ * @param logininfor 访问日志对象
+ * @return 登录记录集合
+ */
+ public List selectLogininforList(SysLogininfor logininfor);
+
+ /**
+ * 批量删除系统登录日志
+ *
+ * @param ids 需要删除的数据
+ * @return
+ */
+ public int deleteLogininforByIds(String[] ids);
+
+ /**
+ * 清空系统登录日志
+ */
+ public int cleanLogininfor();
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
new file mode 100644
index 000000000..98163d966
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
@@ -0,0 +1,109 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+import com.ruoyi.system.domain.SysMenu;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 菜单表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysMenuMapper extends Mapper
+{
+ /**
+ * 查询系统所有菜单(含按钮)
+ *
+ * @return 菜单列表
+ */
+ public List selectMenuAll();
+
+ /**
+ * 查询系统正常显示菜单(不含按钮)
+ *
+ * @return 菜单列表
+ */
+ public List selectMenuNormalAll();
+
+ /**
+ * 根据用户ID查询菜单
+ *
+ * @param userId 用户ID
+ * @return 菜单列表
+ */
+ public List selectMenusByUserId(Long userId);
+
+ /**
+ * 根据用户ID查询权限
+ *
+ * @param userId 用户ID
+ * @return 权限列表
+ */
+ public List selectPermsByUserId(Long userId);
+
+ /**
+ * 根据角色ID查询菜单
+ *
+ * @param roleId 角色ID
+ * @return 菜单列表
+ */
+ public List selectMenuTree(Long roleId);
+
+ /**
+ * 查询系统菜单列表
+ *
+ * @param menu 菜单信息
+ * @return 菜单列表
+ */
+ public List selectMenuList(SysMenu menu);
+
+ /**
+ * 删除菜单管理信息
+ *
+ * @param menuId 菜单ID
+ * @return 结果
+ */
+ public int deleteMenuById(Long menuId);
+
+ /**
+ * 根据菜单ID查询信息
+ *
+ * @param menuId 菜单ID
+ * @return 菜单信息
+ */
+ public SysMenu selectMenuById(Long menuId);
+
+ /**
+ * 查询菜单数量
+ *
+ * @param parentId 菜单父ID
+ * @return 结果
+ */
+ public int selectCountMenuByParentId(Long parentId);
+
+ /**
+ * 新增菜单信息
+ *
+ * @param menu 菜单信息
+ * @return 结果
+ */
+ public int insertMenu(SysMenu menu);
+
+ /**
+ * 修改菜单信息
+ *
+ * @param menu 菜单信息
+ * @return 结果
+ */
+ public int updateMenu(SysMenu menu);
+
+ /**
+ * 校验菜单名称是否唯一
+ *
+ * @param menuName 菜单名称
+ * @param parentId 父菜单ID
+ * @return 结果
+ */
+ public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java
new file mode 100644
index 000000000..28c20bbe3
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java
@@ -0,0 +1,53 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysNotice;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 公告 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysNoticeMapper extends Mapper
+{
+ /**
+ * 查询公告信息
+ *
+ * @param noticeId 公告ID
+ * @return 公告信息
+ */
+ public SysNotice selectNoticeById(Long noticeId);
+
+ /**
+ * 查询公告列表
+ *
+ * @param notice 公告信息
+ * @return 公告集合
+ */
+ public List selectNoticeList(SysNotice notice);
+
+ /**
+ * 新增公告
+ *
+ * @param notice 公告信息
+ * @return 结果
+ */
+ public int insertNotice(SysNotice notice);
+
+ /**
+ * 修改公告
+ *
+ * @param notice 公告信息
+ * @return 结果
+ */
+ public int updateNotice(SysNotice notice);
+
+ /**
+ * 批量删除公告
+ *
+ * @param noticeIds 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteNoticeByIds(String[] noticeIds);
+}
\ No newline at end of file
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java
new file mode 100644
index 000000000..c808c5199
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java
@@ -0,0 +1,49 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysOperLog;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 操作日志 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysOperLogMapper extends Mapper
+{
+ /**
+ * 新增操作日志
+ *
+ * @param operLog 操作日志对象
+ */
+ public void insertOperlog(SysOperLog operLog);
+
+ /**
+ * 查询系统操作日志集合
+ *
+ * @param operLog 操作日志对象
+ * @return 操作日志集合
+ */
+ public List selectOperLogList(SysOperLog operLog);
+
+ /**
+ * 批量删除系统操作日志
+ *
+ * @param ids 需要删除的数据
+ * @return 结果
+ */
+ public int deleteOperLogByIds(String[] ids);
+
+ /**
+ * 查询操作日志详细
+ *
+ * @param operId 操作ID
+ * @return 操作日志对象
+ */
+ public SysOperLog selectOperLogById(Long operId);
+
+ /**
+ * 清空操作日志
+ */
+ public void cleanOperLog();
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java
new file mode 100644
index 000000000..226e8a501
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java
@@ -0,0 +1,84 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysPost;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 岗位信息 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysPostMapper extends Mapper
+{
+ /**
+ * 查询岗位数据集合
+ *
+ * @param post 岗位信息
+ * @return 岗位数据集合
+ */
+ public List selectPostList(SysPost post);
+
+ /**
+ * 查询所有岗位
+ *
+ * @return 岗位列表
+ */
+ public List selectPostAll();
+
+ /**
+ * 根据用户ID查询岗位
+ *
+ * @param userId 用户ID
+ * @return 岗位列表
+ */
+ public List selectPostsByUserId(Long userId);
+
+ /**
+ * 通过岗位ID查询岗位信息
+ *
+ * @param postId 岗位ID
+ * @return 角色对象信息
+ */
+ public SysPost selectPostById(Long postId);
+
+ /**
+ * 批量删除岗位信息
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ public int deletePostByIds(Long[] ids);
+
+ /**
+ * 修改岗位信息
+ *
+ * @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/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java
new file mode 100644
index 000000000..a3199831a
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java
@@ -0,0 +1,45 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysRoleDept;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 角色与部门关联表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysRoleDeptMapper extends Mapper
+{
+ /**
+ * 通过角色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 roleDeptList);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
new file mode 100644
index 000000000..33fbc14d4
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
@@ -0,0 +1,85 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysRole;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 角色表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysRoleMapper extends Mapper
+{
+ /**
+ * 根据条件分页查询角色数据
+ *
+ * @param role 角色信息
+ * @return 角色数据集合信息
+ */
+ public List selectRoleList(SysRole role);
+
+ /**
+ * 根据用户ID查询角色
+ *
+ * @param userId 用户ID
+ * @return 角色列表
+ */
+ public List selectRolesByUserId(Long userId);
+
+ /**
+ * 通过角色ID查询角色
+ *
+ * @param roleId 角色ID
+ * @return 角色对象信息
+ */
+ public SysRole selectRoleById(Long roleId);
+
+ /**
+ * 通过角色ID删除角色
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ public int deleteRoleById(Long roleId);
+
+ /**
+ * 批量角色用户信息
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteRoleByIds(Long[] ids);
+
+ /**
+ * 修改角色信息
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ public int updateRole(SysRole role);
+
+ /**
+ * 新增角色信息
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ public int insertRole(SysRole role);
+
+ /**
+ * 校验角色名称是否唯一
+ *
+ * @param roleName 角色名称
+ * @return 角色信息
+ */
+ public SysRole checkRoleNameUnique(String roleName);
+
+ /**
+ * 校验角色权限是否唯一
+ *
+ * @param roleKey 角色权限
+ * @return 角色信息
+ */
+ public SysRole checkRoleKeyUnique(String roleKey);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java
new file mode 100644
index 000000000..cbf392d75
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java
@@ -0,0 +1,45 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysRoleMenu;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 角色与菜单关联表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysRoleMenuMapper extends Mapper
+{
+ /**
+ * 通过角色ID删除角色和菜单关联
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ public int deleteRoleMenuByRoleId(Long roleId);
+
+ /**
+ * 批量删除角色菜单关联信息
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteRoleMenu(Long[] ids);
+
+ /**
+ * 查询菜单使用数量
+ *
+ * @param menuId 菜单ID
+ * @return 结果
+ */
+ public int selectCountRoleMenuByMenuId(Long menuId);
+
+ /**
+ * 批量新增角色菜单信息
+ *
+ * @param roleMenuList 角色菜单列表
+ * @return 结果
+ */
+ public int batchRoleMenu(List roleMenuList);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
new file mode 100644
index 000000000..cab38534e
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -0,0 +1,109 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysUser;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 用户表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysUserMapper extends Mapper
+{
+ /**
+ * 根据条件分页查询用户对象
+ *
+ * @param user 用户信息
+ * @return 用户信息集合信息
+ */
+ public List selectUserList(SysUser sysUser);
+
+ /**
+ * 通过用户名查询用户
+ *
+ * @param userName 用户名
+ * @return 用户对象信息
+ */
+ public SysUser selectUserByLoginName(String userName);
+
+ /**
+ * 通过手机号码查询用户
+ *
+ * @param phoneNumber 手机号码
+ * @return 用户对象信息
+ */
+ public SysUser selectUserByPhoneNumber(String phoneNumber);
+
+ /**
+ * 通过邮箱查询用户
+ *
+ * @param email 邮箱
+ * @return 用户对象信息
+ */
+ public SysUser selectUserByEmail(String email);
+
+ /**
+ * 通过用户ID查询用户
+ *
+ * @param userId 用户ID
+ * @return 用户对象信息
+ */
+ public SysUser selectUserById(Long userId);
+
+ /**
+ * 通过用户ID删除用户
+ *
+ * @param userId 用户ID
+ * @return 结果
+ */
+ public int deleteUserById(Long userId);
+
+ /**
+ * 批量删除用户信息
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteUserByIds(Long[] ids);
+
+ /**
+ * 修改用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int updateUser(SysUser user);
+
+ /**
+ * 新增用户信息
+ *
+ * @param user 用户信息
+ * @return 结果
+ */
+ public int insertUser(SysUser user);
+
+ /**
+ * 校验用户名称是否唯一
+ *
+ * @param loginName 登录名称
+ * @return 结果
+ */
+ public int checkLoginNameUnique(String loginName);
+
+ /**
+ * 校验手机号码是否唯一
+ *
+ * @param phonenumber 手机号码
+ * @return 结果
+ */
+ public SysUser checkPhoneUnique(String phonenumber);
+
+ /**
+ * 校验email是否唯一
+ *
+ * @param email 用户邮箱
+ * @return 结果
+ */
+ public SysUser checkEmailUnique(String email);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserOnlineMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserOnlineMapper.java
new file mode 100644
index 000000000..43e8671c1
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserOnlineMapper.java
@@ -0,0 +1,53 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysUserOnline;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 在线用户 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysUserOnlineMapper extends Mapper
+{
+ /**
+ * 通过会话序号查询信息
+ *
+ * @param sessionId 会话ID
+ * @return 在线用户信息
+ */
+ public SysUserOnline selectOnlineById(String sessionId);
+
+ /**
+ * 通过会话序号删除信息
+ *
+ * @param sessionId 会话ID
+ * @return 在线用户信息
+ */
+ public int deleteOnlineById(String sessionId);
+
+ /**
+ * 保存会话信息
+ *
+ * @param online 会话信息
+ * @return 结果
+ */
+ public int saveOnline(SysUserOnline online);
+
+ /**
+ * 查询会话集合
+ *
+ * @param userOnline 会话参数
+ * @return 会话集合
+ */
+ public List selectUserOnlineList(SysUserOnline userOnline);
+
+ /**
+ * 查询过期会话集合
+ *
+ * @param lastAccessTime 过期时间
+ * @return 会话集合
+ */
+ public List selectOnlineByExpired(String lastAccessTime);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java
new file mode 100644
index 000000000..9de998901
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java
@@ -0,0 +1,45 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysUserPost;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 用户与岗位 表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysUserPostMapper extends Mapper
+{
+ /**
+ * 通过用户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 userPostList);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
new file mode 100644
index 000000000..72e64878b
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
@@ -0,0 +1,45 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysUserRole;
+import tk.mybatis.mapper.common.Mapper;
+
+/**
+ * 用户表 数据层
+ *
+ * @author ruoyi
+ */
+public interface SysUserRoleMapper extends Mapper
+{
+ /**
+ * 通过用户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 userRoleList);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-framework/src/main/java/com/ruoyi/system/service/ISysConfigService.java
new file mode 100644
index 000000000..59e887764
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/service/ISysConfigService.java
@@ -0,0 +1,70 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+
+import com.ruoyi.framework.web.base.AbstractBaseService;
+import com.ruoyi.system.domain.SysConfig;
+
+/**
+ * 参数配置 服务层
+ *
+ * @author ruoyi
+ */
+public interface ISysConfigService extends AbstractBaseService
+{
+ /**
+ * 查询参数配置信息
+ *
+ * @param configId 参数配置ID
+ * @return 参数配置信息
+ */
+ public SysConfig selectConfigById(Long configId);
+
+ /**
+ * 根据键名查询参数配置信息
+ *
+ * @param configKey 参数键名
+ * @return 参数键值
+ */
+ public String selectConfigByKey(String configKey);
+
+ /**
+ * 查询参数配置列表
+ *
+ * @param config 参数配置信息
+ * @return 参数配置集合
+ */
+ public List selectConfigList(SysConfig config);
+
+ /**
+ * 新增参数配置
+ *
+ * @param config 参数配置信息
+ * @return 结果
+ */
+ public int insertConfig(SysConfig config);
+
+ /**
+ * 修改参数配置
+ *
+ * @param config 参数配置信息
+ * @return 结果
+ */
+ public int updateConfig(SysConfig config);
+
+ /**
+ * 批量删除参数配置信息
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteConfigByIds(String ids);
+
+ /**
+ * 校验参数键名是否唯一
+ *
+ * @param config 参数信息
+ * @return 结果
+ */
+ public String checkConfigKeyUnique(SysConfig config);
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi-framework/src/main/java/com/ruoyi/system/service/ISysDeptService.java
new file mode 100644
index 000000000..c1b543abc
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -0,0 +1,96 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.framework.web.base.AbstractBaseService;
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.domain.SysDept;
+import com.ruoyi.system.domain.SysRole;
+
+/**
+ * 部门管理 服务层
+ *
+ * @author ruoyi
+ */
+public interface ISysDeptService extends AbstractBaseService
+{
+ /**
+ * 查询部门管理数据
+ *
+ * @param dept 部门信息
+ * @return 部门信息集合
+ */
+ public List selectDeptList(SysDept dept);
+
+ /**
+ * 查询部门管理树
+ *
+ * @return 所有部门信息
+ */
+ public List