diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index c48cb3b5b..313d72117 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,6 +1,6 @@ { "name": "ruoyi-vue-plus", - "version": "1.0.2", + "version": "2.0.0", "description": "RuoYi-Vue-Plus后台管理系统", "author": "LionLi", "license": "MIT", diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue index 520e06802..84921bcea 100644 --- a/ruoyi-ui/src/views/index.vue +++ b/ruoyi-ui/src/views/index.vue @@ -4,7 +4,21 @@

RuoYi-Vue-Plus后台管理框架

- 基于RuoYi-Vue集成 Lombok+Mybatis-Plus+Undertow+knife4j+Hutool+Feign 重写所有原生业务 定期与RuoYi-Vue同步 + 基于 RuoYi-Vue 集成 Mybatis-Plus Lombok Hutool 等便捷开发工具 适配重写相关业务 便于开发 定期与 RuoYi-Vue 同步 +
+ * 前端开发框架 Vue、Element UI
+ * 后端开发框架 Spring Boot、Redis
+ * 容器框架 Undertow 基于 Netty 的高性能容器
+ * 权限认证框架 Spring Security、Jwt,支持多终端认证系统
+ * 关系数据库 MySQL 适配 8.X
+ * 缓存数据库 Redis 适配 6.X
+ * 数据库开发框架 Mybatis-Plus 快速 CRUD 增加开发效率 插件化支持各类需求
+ * 网络框架 Feign、OkHttp3 接口化管理 HTTP 请求
+ * 工具类框架 Hutool、Lombok 减少代码冗余 增加安全性
+ * 监控框架 spring-boot-admin 全方位服务监控
+ * 校验框架 validation 增强接口安全性 严谨性
+ * 文档框架 knife4j 美化接口文档
+ * 代码生成器 一键生成前后端代码

当前版本: v{{ version }} @@ -66,6 +80,36 @@ 更新日志 + +

    +
  1. springboot 升级 2.3.10 依赖全面升级适配
  2. +
  3. add 增加分页工具
  4. +
  5. add 增加 增强Mapper 与 增强Service 重写业务适配
  6. +
  7. add 代码生成器 增加校验注解
  8. +
  9. update 代码生成器修改为MP分页
  10. +
  11. update 使用 MP 分页工具 重构业务
  12. +
  13. update 重写文档介绍
  14. +
  15. remove 移除 pagehelper 分页工具
  16. +
  17. fix 修复代码生成 数据权限问题
  18. +
+ + +
    +
  1. update 更新整合打包文档 重新排版
  2. +
  3. fix vue与boot整合打包与admin页面路由冲突
  4. +
+
+ +
    +
  1. update 更新banner
  2. +
  3. update 配置转移到 yml 文件 统一管理
  4. +
  5. update 上传媒体类型添加视频格式
  6. +
  7. update 树级结构更新子节点使用replaceFirst
  8. +
  9. update 删除操作日志记录日志
  10. +
  11. fix 修正导入表权限标识
  12. +
  13. fix 文件上传时报错
  14. +
+
  1. RuoYi-Vue-Plus 后台管理系统正式发布
  2. @@ -96,7 +140,7 @@ export default { data() { return { // 版本号 - version: "1.0.0", + version: "2.0.0", }; }, methods: { diff --git a/ruoyi/pom.xml b/ruoyi/pom.xml index b04d03703..39b9fab2b 100644 --- a/ruoyi/pom.xml +++ b/ruoyi/pom.xml @@ -13,7 +13,8 @@ RuoYi-Vue-Plus后台管理系统 - 1.0.2 + 2.0.0 + 2.3.10.RELEASE UTF-8 UTF-8 1.8 @@ -37,24 +38,20 @@ - org.springframework.boot spring-boot-dependencies - 2.2.13.RELEASE + ${spring-boot.version} pom import - jar - - @@ -74,6 +71,13 @@ + + + + + + + org.springframework.boot @@ -115,8 +119,8 @@ - org.quartz-scheduler - quartz + org.springframework.boot + spring-boot-starter-quartz com.mchange @@ -162,17 +166,9 @@ spring-boot-starter-security - - com.github.pagehelper - pagehelper-spring-boot-starter - ${pagehelper.boot.version} - - - org.mybatis - mybatis - - + org.springframework.boot + spring-boot-starter-validation @@ -271,7 +267,6 @@ ${feign-okhttp.version} - de.codecentric spring-boot-admin-starter-server @@ -296,7 +291,7 @@ org.springframework.boot spring-boot-maven-plugin - 2.2.13.RELEASE + ${spring-boot.version} true diff --git a/ruoyi/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/ruoyi/src/main/java/com/ruoyi/common/core/controller/BaseController.java index 516d1023a..9b379217a 100644 --- a/ruoyi/src/main/java/com/ruoyi/common/core/controller/BaseController.java +++ b/ruoyi/src/main/java/com/ruoyi/common/core/controller/BaseController.java @@ -1,16 +1,8 @@ package com.ruoyi.common.core.controller; -import cn.hutool.core.lang.Validator; import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpStatus; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.page.PageDomain; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.core.page.TableSupport; import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.sql.SqlUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.WebDataBinder; @@ -18,7 +10,6 @@ import org.springframework.web.bind.annotation.InitBinder; import java.beans.PropertyEditorSupport; import java.util.Date; -import java.util.List; /** * web层通用数据处理 @@ -46,35 +37,6 @@ public class BaseController }); } - /** - * 设置请求分页数据 - */ - protected void startPage() - { - PageDomain pageDomain = TableSupport.buildPageRequest(); - Integer pageNum = pageDomain.getPageNum(); - Integer pageSize = pageDomain.getPageSize(); - if (Validator.isNotNull(pageNum) && Validator.isNotNull(pageSize)) - { - String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); - PageHelper.startPage(pageNum, pageSize, orderBy); - } - } - - /** - * 响应请求分页数据 - */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - protected TableDataInfo getDataTable(List list) - { - TableDataInfo rspData = new TableDataInfo(); - rspData.setCode(HttpStatus.HTTP_OK); - rspData.setMsg("查询成功"); - rspData.setRows(list); - rspData.setTotal(new PageInfo(list).getTotal()); - return rspData; - } - /** * 响应返回结果 * diff --git a/ruoyi/src/main/java/com/ruoyi/common/core/page/BaseMapperPlus.java b/ruoyi/src/main/java/com/ruoyi/common/core/page/BaseMapperPlus.java new file mode 100644 index 000000000..ebba1b7a2 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/common/core/page/BaseMapperPlus.java @@ -0,0 +1,12 @@ +package com.ruoyi.common.core.page; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 自定义 Mapper 接口, 实现 自定义扩展 + * + * @author Lion Li + * @since 2021-05-13 + */ +public interface BaseMapperPlus extends BaseMapper { +} diff --git a/ruoyi/src/main/java/com/ruoyi/common/core/page/IServicePlus.java b/ruoyi/src/main/java/com/ruoyi/common/core/page/IServicePlus.java new file mode 100644 index 000000000..864a38e83 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/common/core/page/IServicePlus.java @@ -0,0 +1,126 @@ +package com.ruoyi.common.core.page; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 自定义 Service 接口, 实现 数据库实体与 vo 对象转换返回 + * + * @author Lion Li + * @since 2021-05-13 + */ +public interface IServicePlus extends IService { + + /** + * 根据 ID 查询 + * + * @param kClass vo类型 + * @param id 主键ID + */ + default K getVoById(Serializable id, Class kClass) { + T t = getBaseMapper().selectById(id); + return BeanUtil.toBean(t, kClass); + } + + /** + * 查询(根据ID 批量查询) + * + * @param kClass vo类型 + * @param idList 主键ID列表 + */ + default List listVoByIds(Collection idList, Class kClass) { + List list = getBaseMapper().selectBatchIds(idList); + if (list == null) { + return null; + } + return list.stream() + .map(any -> BeanUtil.toBean(any, kClass)) + .collect(Collectors.toList()); + } + + /** + * 查询(根据 columnMap 条件) + * + * @param kClass vo类型 + * @param columnMap 表字段 map 对象 + */ + default List listVoByMap(Map columnMap, Class kClass) { + List list = getBaseMapper().selectByMap(columnMap); + if (list == null) { + return null; + } + return list.stream() + .map(any -> BeanUtil.toBean(any, kClass)) + .collect(Collectors.toList()); + } + + /** + * 根据 Wrapper,查询一条记录
    + *

    结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("LIMIT 1")

    + * + * @param kClass vo类型 + * @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper} + */ + default K getVoOne(Wrapper queryWrapper, Class kClass) { + return BeanUtil.toBean(getOne(queryWrapper, true), kClass); + } + + /** + * 查询列表 + * + * @param kClass vo类型 + * @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper} + */ + default List listVo(Wrapper queryWrapper, Class kClass) { + List list = getBaseMapper().selectList(queryWrapper); + if (list == null) { + return null; + } + return list.stream() + .map(any -> BeanUtil.toBean(any, kClass)) + .collect(Collectors.toList()); + } + + /** + * 查询所有 + * + * @param kClass vo类型 + * @see Wrappers#emptyWrapper() + */ + default List listVo(Class kClass) { + return listVo(Wrappers.emptyWrapper(), kClass); + } + + /** + * 翻页查询 + * + * @param page 翻页对象 + * @param queryWrapper 实体对象封装操作类 + * @param kClass vo类型 + */ + default PagePlus pageVo(PagePlus page, Wrapper queryWrapper, Class kClass) { + PagePlus e = getBaseMapper().selectPage(page, queryWrapper); + page.recordsToVo(kClass); + return page; + } + + /** + * 无条件翻页查询 + * + * @param page 翻页对象 + * @param kClass vo类型 + */ + default PagePlus pageVo(PagePlus page, Class kClass) { + return pageVo(page, Wrappers.emptyWrapper(), kClass); + } + +} + diff --git a/ruoyi/src/main/java/com/ruoyi/common/core/page/PagePlus.java b/ruoyi/src/main/java/com/ruoyi/common/core/page/PagePlus.java new file mode 100644 index 000000000..7200fc515 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/common/core/page/PagePlus.java @@ -0,0 +1,128 @@ +package com.ruoyi.common.core.page; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +@Data +@Accessors(chain = true) +public class PagePlus implements IPage { + + protected List records; + protected List recordsVo; + protected long total; + protected long size; + protected long current; + protected List orders; + protected boolean optimizeCountSql; + protected boolean isSearchCount; + protected boolean hitCount; + protected String countId; + protected Long maxLimit; + + public PagePlus() { + this.records = Collections.emptyList(); + this.recordsVo = Collections.emptyList(); + this.total = 0L; + this.size = 10L; + this.current = 1L; + this.orders = new ArrayList(); + this.optimizeCountSql = true; + this.isSearchCount = true; + this.hitCount = false; + } + + public PagePlus(long current, long size) { + this(current, size, 0L); + } + + public PagePlus(long current, long size, long total) { + this(current, size, total, true); + } + + public PagePlus(long current, long size, boolean isSearchCount) { + this(current, size, 0L, isSearchCount); + } + + public PagePlus(long current, long size, long total, boolean isSearchCount) { + this.records = Collections.emptyList(); + this.total = 0L; + this.size = 10L; + this.current = 1L; + this.orders = new ArrayList(); + this.optimizeCountSql = true; + this.isSearchCount = true; + this.hitCount = false; + if (current > 1L) { + this.current = current; + } + + this.size = size; + this.total = total; + this.isSearchCount = isSearchCount; + } + + public boolean hasPrevious() { + return this.current > 1L; + } + + public boolean hasNext() { + return this.current < this.getPages(); + } + + public void recordsToVo(Class kClass) { + this.recordsVo = this.records.stream() + .map(any -> BeanUtil.toBean(any, kClass)) + .collect(Collectors.toList()); + } + + @Override + public String countId() { + return this.getCountId(); + } + + @Override + public Long maxLimit() { + return this.getMaxLimit(); + } + + public PagePlus addOrder(OrderItem... items) { + this.orders.addAll(Arrays.asList(items)); + return this; + } + + public PagePlus addOrder(List items) { + this.orders.addAll(items); + return this; + } + + @Override + public List orders() { + return this.getOrders(); + } + + @Override + public boolean optimizeCountSql() { + return this.optimizeCountSql; + } + + @Override + public boolean isSearchCount() { + return this.total < 0L ? false : this.isSearchCount; + } + + public PagePlus setSearchCount(boolean isSearchCount) { + this.isSearchCount = isSearchCount; + return this; + } + +} + diff --git a/ruoyi/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java b/ruoyi/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java index 72c284f11..4e71fc158 100644 --- a/ruoyi/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java +++ b/ruoyi/src/main/java/com/ruoyi/common/core/page/TableDataInfo.java @@ -1,6 +1,7 @@ package com.ruoyi.common.core.page; -import lombok.*; +import lombok.Data; +import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.io.Serializable; @@ -37,7 +38,7 @@ public class TableDataInfo implements Serializable * @param list 列表数据 * @param total 总记录数 */ - public TableDataInfo(List list, int total) + public TableDataInfo(List list, long total) { this.rows = list; this.total = total; diff --git a/ruoyi/src/main/java/com/ruoyi/common/utils/PageUtils.java b/ruoyi/src/main/java/com/ruoyi/common/utils/PageUtils.java new file mode 100644 index 000000000..e484f6dd5 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/common/utils/PageUtils.java @@ -0,0 +1,101 @@ +package com.ruoyi.common.utils; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpStatus; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.page.PagePlus; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.sql.SqlUtil; + +import java.util.List; + +/** + * 分页工具 + * + * @author Lion Li + */ +public class PageUtils { + + /** + * 当前记录起始索引 + */ + 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 PagePlus buildPagePlus() { + Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM); + Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE); + String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN); + String isAsc = ServletUtils.getParameter(IS_ASC); + PagePlus page = new PagePlus<>(pageNum, pageSize); + if (StrUtil.isNotBlank(orderByColumn)) { + String orderBy = SqlUtil.escapeOrderBySql(orderByColumn); + if ("asc".equals(isAsc)) { + page.addOrder(OrderItem.asc(orderBy)); + } else if ("desc".equals(isAsc)) { + page.addOrder(OrderItem.desc(orderBy)); + } + } + return page; + } + + public static Page buildPage() { + Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM); + Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE); + String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN); + String isAsc = ServletUtils.getParameter(IS_ASC); + Page page = new Page<>(pageNum, pageSize); + if (StrUtil.isNotBlank(orderByColumn)) { + String orderBy = SqlUtil.escapeOrderBySql(orderByColumn); + if ("asc".equals(isAsc)) { + page.addOrder(OrderItem.asc(orderBy)); + } else if ("desc".equals(isAsc)) { + page.addOrder(OrderItem.desc(orderBy)); + } + } + return page; + } + + public static TableDataInfo buildDataInfo(PagePlus page) { + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(HttpStatus.HTTP_OK); + rspData.setMsg("查询成功"); + rspData.setRows(page.getRecordsVo()); + rspData.setTotal(page.getTotal()); + return rspData; + } + + public static TableDataInfo buildDataInfo(Page page) { + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(HttpStatus.HTTP_OK); + rspData.setMsg("查询成功"); + rspData.setRows(page.getRecords()); + rspData.setTotal(page.getTotal()); + return rspData; + } + + public static TableDataInfo buildDataInfo(List list) { + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(HttpStatus.HTTP_OK); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(list.size()); + return rspData; + } + +} diff --git a/ruoyi/src/main/java/com/ruoyi/generator/controller/GenController.java b/ruoyi/src/main/java/com/ruoyi/generator/controller/GenController.java index 72fea3be0..53438343a 100644 --- a/ruoyi/src/main/java/com/ruoyi/generator/controller/GenController.java +++ b/ruoyi/src/main/java/com/ruoyi/generator/controller/GenController.java @@ -1,32 +1,26 @@ package com.ruoyi.generator.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.security.access.prepost.PreAuthorize; -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 cn.hutool.core.convert.Convert; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; -import cn.hutool.core.convert.Convert; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.generator.service.IGenTableColumnService; import com.ruoyi.generator.service.IGenTableService; +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 代码生成 操作处理 @@ -50,9 +44,7 @@ public class GenController extends BaseController @GetMapping("/list") public TableDataInfo genList(GenTable genTable) { - startPage(); - List list = genTableService.selectGenTableList(genTable); - return getDataTable(list); + return genTableService.selectPageGenTableList(genTable); } /** @@ -79,9 +71,7 @@ public class GenController extends BaseController @GetMapping("/db/list") public TableDataInfo dataList(GenTable genTable) { - startPage(); - List list = genTableService.selectDbTableList(genTable); - return getDataTable(list); + return genTableService.selectPageDbTableList(genTable); } /** diff --git a/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java b/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java index d3e7e5e0b..5a2691a96 100644 --- a/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.generator.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.generator.domain.GenTableColumn; import java.util.List; @@ -10,7 +10,7 @@ import java.util.List; * * @author ruoyi */ -public interface GenTableColumnMapper extends BaseMapper { +public interface GenTableColumnMapper extends BaseMapperPlus { /** * 根据表名称查询列信息 * diff --git a/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java b/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java index 894f689d8..85da309f7 100644 --- a/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java @@ -1,7 +1,9 @@ package com.ruoyi.generator.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.generator.domain.GenTable; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -10,7 +12,13 @@ import java.util.List; * * @author ruoyi */ -public interface GenTableMapper extends BaseMapper { +public interface GenTableMapper extends BaseMapperPlus { + + + Page selectPageGenTableList(@Param("page") Page page, @Param("genTable") GenTable genTable); + + Page selectPageDbTableList(@Param("page") Page page, @Param("genTable") GenTable genTable); + /** * 查询业务列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java index 7fc96e260..e71e88962 100644 --- a/ruoyi/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java @@ -10,7 +10,9 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.GenConstants; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.generator.domain.GenTable; @@ -66,6 +68,16 @@ public class GenTableServiceImpl extends ServiceImpl i return genTable; } + @Override + public TableDataInfo selectPageGenTableList(GenTable genTable) { + return PageUtils.buildDataInfo(baseMapper.selectPageGenTableList(PageUtils.buildPage(), genTable)); + } + + @Override + public TableDataInfo selectPageDbTableList(GenTable genTable) { + return PageUtils.buildDataInfo(baseMapper.selectPageDbTableList(PageUtils.buildPage(), genTable)); + } + /** * 查询业务列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java b/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java index e0111e5d9..22946f254 100644 --- a/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java +++ b/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableColumnService.java @@ -1,6 +1,6 @@ package com.ruoyi.generator.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; import com.ruoyi.generator.domain.GenTableColumn; import java.util.List; @@ -10,7 +10,7 @@ import java.util.List; * * @author ruoyi */ -public interface IGenTableColumnService extends IService { +public interface IGenTableColumnService extends IServicePlus { /** * 查询业务字段列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableService.java b/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableService.java index c6642bad7..cbfeae4a6 100644 --- a/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableService.java +++ b/ruoyi/src/main/java/com/ruoyi/generator/service/IGenTableService.java @@ -1,6 +1,7 @@ package com.ruoyi.generator.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.generator.domain.GenTable; import java.util.List; @@ -11,7 +12,14 @@ import java.util.Map; * * @author ruoyi */ -public interface IGenTableService extends IService { +public interface IGenTableService extends IServicePlus { + + + TableDataInfo selectPageGenTableList(GenTable genTable); + + + TableDataInfo selectPageDbTableList(GenTable genTable); + /** * 查询业务列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java b/ruoyi/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java index 58c69bc34..4628cba1d 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java @@ -1,57 +1,13 @@ package com.ruoyi.quartz.config; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.quartz.SchedulerFactoryBean; -import javax.sql.DataSource; -import java.util.Properties; /** * 定时任务配置 - * - * @author ruoyi + * + * @author Lion Li */ @Configuration -public class ScheduleConfig -{ - @Bean - public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) - { - SchedulerFactoryBean factory = new SchedulerFactoryBean(); - factory.setDataSource(dataSource); +public class ScheduleConfig { - // quartz参数 - Properties prop = new Properties(); - prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler"); - 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.quartz.impl.jdbcjobstore.JobStoreTX"); - // 集群配置 - 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("RuoyiScheduler"); - // 延时启动 - factory.setStartupDelay(1); - factory.setApplicationContextSchedulerContextKey("applicationContextKey"); - // 可选,QuartzScheduler - // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 - factory.setOverwriteExistingJobs(true); - // 设置自动启动,默认为true - factory.setAutoStartup(true); - - return factory; - } } diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobController.java b/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobController.java index fc7614c93..653ef1338 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobController.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobController.java @@ -1,17 +1,5 @@ package com.ruoyi.quartz.controller; -import java.util.List; -import org.quartz.SchedulerException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -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.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -23,6 +11,12 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.quartz.domain.SysJob; import com.ruoyi.quartz.service.ISysJobService; import com.ruoyi.quartz.util.CronUtils; +import org.quartz.SchedulerException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 调度任务信息操作处理 @@ -43,9 +37,7 @@ public class SysJobController extends BaseController @GetMapping("/list") public TableDataInfo list(SysJob sysJob) { - startPage(); - List list = jobService.selectJobList(sysJob); - return getDataTable(list); + return jobService.selectPageJobList(sysJob); } /** diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java b/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java index b1f8204ed..1f6f09a3c 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java @@ -1,13 +1,5 @@ package com.ruoyi.quartz.controller; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -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.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -16,6 +8,11 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.quartz.domain.SysJobLog; import com.ruoyi.quartz.service.ISysJobLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 调度日志操作处理 @@ -36,9 +33,7 @@ public class SysJobLogController extends BaseController @GetMapping("/list") public TableDataInfo list(SysJobLog sysJobLog) { - startPage(); - List list = jobLogService.selectJobLogList(sysJobLog); - return getDataTable(list); + return jobLogService.selectPageJobLogList(sysJobLog); } /** diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java b/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java index b07ddfeb3..80c90d4c3 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobLogMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.quartz.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.quartz.domain.SysJobLog; /** @@ -8,6 +8,6 @@ import com.ruoyi.quartz.domain.SysJobLog; * * @author ruoyi */ -public interface SysJobLogMapper extends BaseMapper { +public interface SysJobLogMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java b/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java index 2188e3454..b143d4d32 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/mapper/SysJobMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.quartz.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.quartz.domain.SysJob; /** @@ -8,6 +8,6 @@ import com.ruoyi.quartz.domain.SysJob; * * @author ruoyi */ -public interface SysJobMapper extends BaseMapper { +public interface SysJobMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java b/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java index 48f085bc5..aeb1ff40f 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobLogService.java @@ -1,6 +1,7 @@ package com.ruoyi.quartz.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.quartz.domain.SysJobLog; import java.util.List; @@ -10,7 +11,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysJobLogService extends IService { +public interface ISysJobLogService extends IServicePlus { + + + TableDataInfo selectPageJobLogList(SysJobLog jobLog); + /** * 获取quartz调度器日志的计划任务 * diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobService.java b/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobService.java index f47f5b71f..b1f8737e5 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobService.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/service/ISysJobService.java @@ -1,6 +1,7 @@ package com.ruoyi.quartz.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.job.TaskException; import com.ruoyi.quartz.domain.SysJob; import org.quartz.SchedulerException; @@ -12,13 +13,15 @@ import java.util.List; * * @author ruoyi */ -public interface ISysJobService extends IService { +public interface ISysJobService extends IServicePlus { /** * 获取quartz调度器的计划任务 * * @param job 调度信息 * @return 调度任务集合 */ + public TableDataInfo selectPageJobList(SysJob job); + public List selectJobList(SysJob job); /** diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java index fb620c0db..6494492a0 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.lang.Validator; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.quartz.domain.SysJobLog; import com.ruoyi.quartz.mapper.SysJobLogMapper; import com.ruoyi.quartz.service.ISysJobLogService; @@ -21,6 +23,23 @@ import java.util.Map; @Service public class SysJobLogServiceImpl extends ServiceImpl implements ISysJobLogService { + @Override + public TableDataInfo selectPageJobLogList(SysJobLog jobLog) { + Map params = jobLog.getParams(); + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(jobLog.getJobName()), SysJobLog::getJobName, jobLog.getJobName()) + .eq(StrUtil.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup()) + .eq(StrUtil.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus()) + .like(StrUtil.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget()) + .apply(Validator.isNotEmpty(params.get("beginTime")), + "date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')", + params.get("beginTime")) + .apply(Validator.isNotEmpty(params.get("endTime")), + "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", + params.get("endTime")); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); + } + /** * 获取quartz调度器日志的计划任务 * diff --git a/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java index a9d605dcd..3a7f05360 100644 --- a/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java @@ -4,7 +4,9 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.constant.ScheduleConstants; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.job.TaskException; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.quartz.domain.SysJob; import com.ruoyi.quartz.mapper.SysJobMapper; import com.ruoyi.quartz.service.ISysJobService; @@ -43,6 +45,16 @@ public class SysJobServiceImpl extends ServiceImpl impleme } } + @Override + public TableDataInfo selectPageJobList(SysJob job) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(job.getJobName()), SysJob::getJobName, job.getJobName()) + .eq(StrUtil.isNotBlank(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup()) + .eq(StrUtil.isNotBlank(job.getStatus()), SysJob::getStatus, job.getStatus()) + .like(StrUtil.isNotBlank(job.getInvokeTarget()), SysJob::getInvokeTarget, job.getInvokeTarget()); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); + } + /** * 获取quartz调度器的计划任务列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java index f7c0b4cb6..fb3f0689b 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysConfig; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysConfig; * * @author ruoyi */ -public interface SysConfigMapper extends BaseMapper { +public interface SysConfigMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java index b59afae00..12824e753 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java @@ -1,7 +1,7 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.page.BaseMapperPlus; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -11,7 +11,7 @@ import java.util.List; * * @author ruoyi */ -public interface SysDeptMapper extends BaseMapper { +public interface SysDeptMapper extends BaseMapperPlus { /** * 查询部门管理数据 diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java index 8da79ca00..7f09d7c70 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java @@ -1,13 +1,13 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.page.BaseMapperPlus; /** * 字典表 数据层 * * @author ruoyi */ -public interface SysDictDataMapper extends BaseMapper { +public interface SysDictDataMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java index 0c81ddd5e..911386d56 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java @@ -1,13 +1,13 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.domain.entity.SysDictType; +import com.ruoyi.common.core.page.BaseMapperPlus; /** * 字典表 数据层 * * @author ruoyi */ -public interface SysDictTypeMapper extends BaseMapper { +public interface SysDictTypeMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java index 8658318b3..bf37f9b99 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysLogininforMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysLogininfor; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysLogininfor; * * @author ruoyi */ -public interface SysLogininforMapper extends BaseMapper { +public interface SysLogininforMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java index aa3055eda..6a8e7293a 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java @@ -1,7 +1,7 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.core.domain.entity.SysMenu; +import com.ruoyi.common.core.page.BaseMapperPlus; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -11,7 +11,7 @@ import java.util.List; * * @author ruoyi */ -public interface SysMenuMapper extends BaseMapper { +public interface SysMenuMapper extends BaseMapperPlus { /** * 根据用户所有权限 diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java index 9fe7165e9..006117025 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysNoticeMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysNotice; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysNotice; * * @author ruoyi */ -public interface SysNoticeMapper extends BaseMapper { +public interface SysNoticeMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java index d2bae7dec..3f3825611 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysOperLogMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysOperLog; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysOperLog; * * @author ruoyi */ -public interface SysOperLogMapper extends BaseMapper { +public interface SysOperLogMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java index d15facd76..1eef04fab 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysPost; import java.util.List; @@ -10,7 +10,7 @@ import java.util.List; * * @author ruoyi */ -public interface SysPostMapper extends BaseMapper { +public interface SysPostMapper extends BaseMapperPlus { /** * 根据用户ID获取岗位选择框列表 diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java index c609a5ada..6121490c2 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleDeptMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysRoleDept; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysRoleDept; * * @author ruoyi */ -public interface SysRoleDeptMapper extends BaseMapper { +public interface SysRoleDeptMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java index 6bd05a10b..e0792c7c3 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java @@ -1,7 +1,9 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.page.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -10,7 +12,9 @@ import java.util.List; * * @author ruoyi */ -public interface SysRoleMapper extends BaseMapper { +public interface SysRoleMapper extends BaseMapperPlus { + + Page selectPageRoleList(@Param("page") Page page, @Param("role") SysRole role); /** * 根据条件分页查询角色数据 diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java index 6bc21a339..fa8c5a34d 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysRoleMenu; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysRoleMenu; * * @author ruoyi */ -public interface SysRoleMenuMapper extends BaseMapper { +public interface SysRoleMenuMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 02d2e9666..a3fcfdbe3 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -1,7 +1,9 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.page.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -10,7 +12,10 @@ import java.util.List; * * @author ruoyi */ -public interface SysUserMapper extends BaseMapper { +public interface SysUserMapper extends BaseMapperPlus { + + Page selectPageUserList(@Param("page") Page page, @Param("user") SysUser user); + /** * 根据条件分页查询用户列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java index b56beaaae..c17dfd5fa 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysUserPost; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysUserPost; * * @author ruoyi */ -public interface SysUserPostMapper extends BaseMapper { +public interface SysUserPostMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java index 4bd3bca8b..ddebd389b 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.system.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.common.core.page.BaseMapperPlus; import com.ruoyi.system.domain.SysUserRole; /** @@ -8,6 +8,6 @@ import com.ruoyi.system.domain.SysUserRole; * * @author ruoyi */ -public interface SysUserRoleMapper extends BaseMapper { +public interface SysUserRoleMapper extends BaseMapperPlus { } diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysConfigService.java index 740e80272..83846275b 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysConfigService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysConfigService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.system.domain.SysConfig; import java.util.List; @@ -10,7 +11,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysConfigService extends IService { +public interface ISysConfigService extends IServicePlus { + + + TableDataInfo selectPageConfigList(SysConfig config); + /** * 查询参数配置信息 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysDeptService.java index f518ff5fa..59521c0c0 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysDeptService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysDeptService.java @@ -1,8 +1,8 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.TreeSelect; import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.page.IServicePlus; import java.util.List; @@ -11,7 +11,7 @@ import java.util.List; * * @author ruoyi */ -public interface ISysDeptService extends IService { +public interface ISysDeptService extends IServicePlus { /** * 查询部门管理数据 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictDataService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictDataService.java index 62babb2f4..7cf20f028 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictDataService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictDataService.java @@ -1,7 +1,8 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import java.util.List; @@ -10,7 +11,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysDictDataService extends IService { +public interface ISysDictDataService extends IServicePlus { + + + TableDataInfo selectPageDictDataList(SysDictData dictData); + /** * 根据条件分页查询字典数据 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java index 8f5606e4a..87b3c8843 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java @@ -1,8 +1,9 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.domain.entity.SysDictType; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import java.util.List; @@ -11,7 +12,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysDictTypeService extends IService { +public interface ISysDictTypeService extends IServicePlus { + + + TableDataInfo selectPageDictTypeList(SysDictType dictType); + /** * 根据条件分页查询字典类型 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysLogininforService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysLogininforService.java index 56eadf9c5..ccf0e9e50 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysLogininforService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysLogininforService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.system.domain.SysLogininfor; import java.util.List; @@ -10,7 +11,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysLogininforService extends IService { +public interface ISysLogininforService extends IServicePlus { + + + TableDataInfo selectPageLogininforList(SysLogininfor logininfor); + /** * 新增系统登录日志 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysMenuService.java index 391cf1901..a9f70b37b 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysMenuService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysMenuService.java @@ -1,8 +1,8 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.TreeSelect; import com.ruoyi.common.core.domain.entity.SysMenu; +import com.ruoyi.common.core.page.IServicePlus; import com.ruoyi.system.domain.vo.RouterVo; import java.util.List; @@ -13,7 +13,7 @@ import java.util.Set; * * @author ruoyi */ -public interface ISysMenuService extends IService { +public interface ISysMenuService extends IServicePlus { /** * 根据用户查询系统菜单列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysNoticeService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysNoticeService.java index 85df25b40..4ede9bce1 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysNoticeService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysNoticeService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.system.domain.SysNotice; import java.util.List; @@ -10,7 +11,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysNoticeService extends IService { +public interface ISysNoticeService extends IServicePlus { + + + TableDataInfo selectPageNoticeList(SysNotice notice); + /** * 查询公告信息 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysOperLogService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysOperLogService.java index a4950e2ea..f2485b721 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysOperLogService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysOperLogService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.system.domain.SysOperLog; import java.util.List; @@ -10,7 +11,10 @@ import java.util.List; * * @author ruoyi */ -public interface ISysOperLogService extends IService { +public interface ISysOperLogService extends IServicePlus { + + TableDataInfo selectPageOperLogList(SysOperLog operLog); + /** * 新增操作日志 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysPostService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysPostService.java index 7119bf42e..08058d6e5 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysPostService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysPostService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.system.domain.SysPost; import java.util.List; @@ -10,7 +11,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysPostService extends IService { +public interface ISysPostService extends IServicePlus { + + + TableDataInfo selectPagePostList(SysPost post); + /** * 查询岗位信息集合 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysRoleService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysRoleService.java index 48cb9914a..00c7d5fc0 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysRoleService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysRoleService.java @@ -1,7 +1,8 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import java.util.List; import java.util.Set; @@ -11,7 +12,11 @@ import java.util.Set; * * @author ruoyi */ -public interface ISysRoleService extends IService { +public interface ISysRoleService extends IServicePlus { + + + TableDataInfo selectPageRoleList(SysRole role); + /** * 根据条件分页查询角色数据 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi/src/main/java/com/ruoyi/system/service/ISysUserService.java index 2cf6391b5..3f423a63f 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -1,7 +1,8 @@ package com.ruoyi.system.service; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.page.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; import java.util.List; @@ -10,7 +11,11 @@ import java.util.List; * * @author ruoyi */ -public interface ISysUserService extends IService { +public interface ISysUserService extends IServicePlus { + + + TableDataInfo selectPageUserList(SysUser user); + /** * 根据条件分页查询用户列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index d5aeec2eb..fbf6ec814 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -8,9 +8,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.service.ISysConfigService; @@ -45,6 +47,22 @@ public class SysConfigServiceImpl extends ServiceImpl selectPageConfigList(SysConfig config) { + Map params = config.getParams(); + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName()) + .eq(StrUtil.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType()) + .like(StrUtil.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey()) + .apply(Validator.isNotEmpty(params.get("beginTime")), + "date_format(create_time,'%y%m%d') >= date_format(#{0},'%y%m%d')", + params.get("beginTime")) + .apply(Validator.isNotEmpty(params.get("endTime")), + "date_format(create_time,'%y%m%d') <= date_format(#{0},'%y%m%d')", + params.get("endTime")); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); + } + /** * 查询参数配置信息 * @@ -86,17 +104,17 @@ public class SysConfigServiceImpl extends ServiceImpl selectConfigList(SysConfig config) { - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.like(StrUtil.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName()); - lqw.eq(StrUtil.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType()); - lqw.like(StrUtil.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey()); Map params = config.getParams(); - lqw.apply(Validator.isNotEmpty(params.get("beginTime")), - "date_format(create_time,'%y%m%d') >= date_format(#{0},'%y%m%d')", - params.get("beginTime")); - lqw.apply(Validator.isNotEmpty(params.get("endTime")), - "date_format(create_time,'%y%m%d') >= date_format(#{0},'%y%m%d')", - params.get("endTime")); + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName()) + .eq(StrUtil.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType()) + .like(StrUtil.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey()) + .apply(Validator.isNotEmpty(params.get("beginTime")), + "date_format(create_time,'%y%m%d') >= date_format(#{0},'%y%m%d')", + params.get("beginTime")) + .apply(Validator.isNotEmpty(params.get("endTime")), + "date_format(create_time,'%y%m%d') >= date_format(#{0},'%y%m%d')", + params.get("endTime")); return baseMapper.selectList(lqw); } diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java index aa5aebc25..faae4aab5 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java @@ -4,7 +4,9 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.service.ISysDictDataService; import org.springframework.stereotype.Service; @@ -20,6 +22,16 @@ import java.util.List; @Service public class SysDictDataServiceImpl extends ServiceImpl implements ISysDictDataService { + @Override + public TableDataInfo selectPageDictDataList(SysDictData dictData) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .eq(StrUtil.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType()) + .like(StrUtil.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel()) + .eq(StrUtil.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus()) + .orderByAsc(SysDictData::getDictSort); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(),lqw)); + } + /** * 根据条件分页查询字典数据 * @@ -28,7 +40,8 @@ public class SysDictDataServiceImpl extends ServiceImpl selectDictDataList(SysDictData dictData) { - return list(new LambdaQueryWrapper().eq(StrUtil.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType()) + return list(new LambdaQueryWrapper() + .eq(StrUtil.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType()) .like(StrUtil.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel()) .eq(StrUtil.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus()) .orderByAsc(SysDictData::getDictSort)); diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java index 1949d3052..87acff4fc 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -9,8 +9,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.domain.entity.SysDictType; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.CustomException; import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.mapper.SysDictTypeMapper; import com.ruoyi.system.service.ISysDictTypeService; @@ -50,6 +52,22 @@ public class SysDictTypeServiceImpl extends ServiceImpl selectPageDictTypeList(SysDictType dictType) { + Map params = dictType.getParams(); + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName()) + .eq(StrUtil.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus()) + .like(StrUtil.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType()) + .apply(Validator.isNotEmpty(params.get("beginTime")), + "date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')", + params.get("beginTime")) + .apply(Validator.isNotEmpty(params.get("endTime")), + "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", + params.get("endTime")); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(),lqw)); + } + /** * 根据条件分页查询字典类型 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java index 2c2c8e4f3..ff5d47df5 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.lang.Validator; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.domain.SysLogininfor; import com.ruoyi.system.mapper.SysLogininforMapper; import com.ruoyi.system.service.ISysLogininforService; @@ -22,6 +24,23 @@ import java.util.Map; @Service public class SysLogininforServiceImpl extends ServiceImpl implements ISysLogininforService { + @Override + public TableDataInfo selectPageLogininforList(SysLogininfor logininfor) { + Map params = logininfor.getParams(); + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(logininfor.getIpaddr()), SysLogininfor::getIpaddr, logininfor.getIpaddr()) + .eq(StrUtil.isNotBlank(logininfor.getStatus()), SysLogininfor::getStatus, logininfor.getStatus()) + .like(StrUtil.isNotBlank(logininfor.getUserName()), SysLogininfor::getUserName, logininfor.getUserName()) + .apply(Validator.isNotEmpty(params.get("beginTime")), + "date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')", + params.get("beginTime")) + .apply(Validator.isNotEmpty(params.get("endTime")), + "date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')", + params.get("endTime")) + .orderByDesc(SysLogininfor::getInfoId); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); + } + /** * 新增系统登录日志 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java index 04184d714..e0634701c 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java @@ -3,6 +3,8 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.domain.SysNotice; import com.ruoyi.system.mapper.SysNoticeMapper; import com.ruoyi.system.service.ISysNoticeService; @@ -19,6 +21,15 @@ import java.util.List; @Service public class SysNoticeServiceImpl extends ServiceImpl implements ISysNoticeService { + @Override + public TableDataInfo selectPageNoticeList(SysNotice notice) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(notice.getNoticeTitle()), SysNotice::getNoticeTitle, notice.getNoticeTitle()) + .eq(StrUtil.isNotBlank(notice.getNoticeType()), SysNotice::getNoticeType, notice.getNoticeType()) + .like(StrUtil.isNotBlank(notice.getCreateBy()), SysNotice::getCreateBy, notice.getCreateBy()); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(),lqw)); + } + /** * 查询公告信息 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java index 95aaa5276..0a3186efb 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java @@ -5,6 +5,8 @@ import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.domain.SysOperLog; import com.ruoyi.system.mapper.SysOperLogMapper; import com.ruoyi.system.service.ISysOperLogService; @@ -23,6 +25,31 @@ import java.util.Map; @Service public class SysOperLogServiceImpl extends ServiceImpl implements ISysOperLogService { + @Override + public TableDataInfo selectPageOperLogList(SysOperLog operLog) { + Map params = operLog.getParams(); + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(operLog.getTitle()), SysOperLog::getTitle, operLog.getTitle()) + .eq(operLog.getBusinessType() != null && operLog.getBusinessType() > 0, + SysOperLog::getBusinessType, operLog.getBusinessType()) + .func(f -> { + if (ArrayUtil.isNotEmpty(operLog.getBusinessTypes())) { + f.in(SysOperLog::getBusinessType, Arrays.asList(operLog.getBusinessTypes())); + } + }) + .eq(operLog.getStatus() != null && operLog.getStatus() > 0, + SysOperLog::getStatus, operLog.getStatus()) + .like(StrUtil.isNotBlank(operLog.getOperName()), SysOperLog::getOperName, operLog.getOperName()) + .apply(Validator.isNotEmpty(params.get("beginTime")), + "date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')", + params.get("beginTime")) + .apply(Validator.isNotEmpty(params.get("endTime")), + "date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')", + params.get("endTime")) + .orderByDesc(SysOperLog::getOperId); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); + } + /** * 新增操作日志 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java index 7d37faba7..d2aeab070 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java @@ -5,7 +5,9 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysUserPost; import com.ruoyi.system.mapper.SysPostMapper; @@ -28,6 +30,15 @@ public class SysPostServiceImpl extends ServiceImpl impl @Autowired private SysUserPostMapper userPostMapper; + @Override + public TableDataInfo selectPagePostList(SysPost post) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode()) + .eq(StrUtil.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus()) + .like(StrUtil.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName()); + return PageUtils.buildDataInfo(page(PageUtils.buildPage(),lqw)); + } + /** * 查询岗位信息集合 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 814d96ffc..9d4b10a96 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -1,13 +1,14 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.lang.Validator; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; @@ -40,6 +41,12 @@ public class SysRoleServiceImpl extends ServiceImpl impl @Autowired private SysRoleDeptMapper roleDeptMapper; + @Override + @DataScope(deptAlias = "d") + public TableDataInfo selectPageRoleList(SysRole role) { + return PageUtils.buildDataInfo(baseMapper.selectPageRoleList(PageUtils.buildPage(), role)); + } + /** * 根据条件分页查询角色数据 * diff --git a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index aece9d0c8..466714b19 100644 --- a/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -8,7 +8,9 @@ import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysUserPost; @@ -49,6 +51,12 @@ public class SysUserServiceImpl extends ServiceImpl impl @Autowired private ISysConfigService configService; + @Override + @DataScope(deptAlias = "d", userAlias = "u") + public TableDataInfo selectPageUserList(SysUser user) { + return PageUtils.buildDataInfo(baseMapper.selectPageUserList(PageUtils.buildPage(), user)); + } + /** * 根据条件分页查询用户列表 * diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java index 339f24286..2bb0b1351 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java @@ -1,13 +1,5 @@ package com.ruoyi.web.controller.monitor; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -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.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -16,6 +8,11 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.SysLogininfor; import com.ruoyi.system.service.ISysLogininforService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 系统访问记录 @@ -33,9 +30,7 @@ public class SysLogininforController extends BaseController @GetMapping("/list") public TableDataInfo list(SysLogininfor logininfor) { - startPage(); - List list = logininforService.selectLogininforList(logininfor); - return getDataTable(list); + return logininforService.selectPageLogininforList(logininfor); } @Log(title = "登录日志", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java index 1d7eb020c..97f99206c 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java @@ -1,13 +1,5 @@ package com.ruoyi.web.controller.monitor; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -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.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -16,6 +8,11 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.SysOperLog; import com.ruoyi.system.service.ISysOperLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 操作日志记录 @@ -33,9 +30,7 @@ public class SysOperlogController extends BaseController @GetMapping("/list") public TableDataInfo list(SysOperLog operLog) { - startPage(); - List list = operLogService.selectOperLogList(operLog); - return getDataTable(list); + return operLogService.selectPageOperLogList(operLog); } @Log(title = "操作日志", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java index 8c06d0123..fe630a99c 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java @@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.PageUtils; import com.ruoyi.system.domain.SysUserOnline; import com.ruoyi.system.service.ISysUserOnlineService; import org.springframework.beans.factory.annotation.Autowired; @@ -73,7 +74,7 @@ public class SysUserOnlineController extends BaseController } Collections.reverse(userOnlineList); userOnlineList.removeAll(Collections.singleton(null)); - return getDataTable(userOnlineList); + return PageUtils.buildDataInfo(userOnlineList); } /** diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java index fb39a336a..d26de0ad8 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java @@ -1,17 +1,5 @@ package com.ruoyi.web.controller.system; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -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.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.constant.UserConstants; @@ -23,6 +11,12 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.service.ISysConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 参数配置 信息操作处理 @@ -43,9 +37,7 @@ public class SysConfigController extends BaseController @GetMapping("/list") public TableDataInfo list(SysConfig config) { - startPage(); - List list = configService.selectConfigList(config); - return getDataTable(list); + return configService.selectPageConfigList(config); } @Log(title = "参数管理", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java index 7fbd05ccd..157030fbd 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java @@ -38,9 +38,7 @@ public class SysDictDataController extends BaseController @GetMapping("/list") public TableDataInfo list(SysDictData dictData) { - startPage(); - List list = dictDataService.selectDictDataList(dictData); - return getDataTable(list); + return dictDataService.selectPageDictDataList(dictData); } @Log(title = "字典数据", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java index a4e0b2b14..306b6f2b0 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java @@ -1,17 +1,5 @@ package com.ruoyi.web.controller.system; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -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.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; @@ -22,6 +10,12 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.service.ISysDictTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 数据字典信息 @@ -39,9 +33,7 @@ public class SysDictTypeController extends BaseController @GetMapping("/list") public TableDataInfo list(SysDictType dictType) { - startPage(); - List list = dictTypeService.selectDictTypeList(dictType); - return getDataTable(list); + return dictTypeService.selectPageDictTypeList(dictType); } @Log(title = "字典类型", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java index 224e594d9..48d1e088f 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java @@ -40,9 +40,7 @@ public class SysNoticeController extends BaseController @GetMapping("/list") public TableDataInfo list(SysNotice notice) { - startPage(); - List list = noticeService.selectNoticeList(notice); - return getDataTable(list); + return noticeService.selectPageNoticeList(notice); } /** diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysPostController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysPostController.java index 0c73ea8d7..b63c155e4 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysPostController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysPostController.java @@ -42,9 +42,7 @@ public class SysPostController extends BaseController @GetMapping("/list") public TableDataInfo list(SysPost post) { - startPage(); - List list = postService.selectPostList(post); - return getDataTable(list); + return postService.selectPagePostList(post); } @Log(title = "岗位管理", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index 4d0d1653a..70e640e84 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java @@ -48,9 +48,7 @@ public class SysRoleController extends BaseController @GetMapping("/list") public TableDataInfo list(SysRole role) { - startPage(); - List list = roleService.selectRoleList(role); - return getDataTable(list); + return roleService.selectPageRoleList(role); } @Log(title = "角色管理", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 6a8848496..7e743999b 100644 --- a/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -54,9 +54,7 @@ public class SysUserController extends BaseController @GetMapping("/list") public TableDataInfo list(SysUser user) { - startPage(); - List list = userService.selectUserList(user); - return getDataTable(list); + return userService.selectPageUserList(user); } @Log(title = "用户管理", businessType = BusinessType.EXPORT) diff --git a/ruoyi/src/main/resources/application-dev.yml b/ruoyi/src/main/resources/application-dev.yml index 65f88053e..e16a18d90 100644 --- a/ruoyi/src/main/resources/application-dev.yml +++ b/ruoyi/src/main/resources/application-dev.yml @@ -1,79 +1,79 @@ # 数据源配置 spring: - datasource: - type: com.alibaba.druid.pool.DruidDataSource - driverClassName: com.mysql.cj.jdbc.Driver - druid: - # 主库数据源 - master: - url: jdbc:mysql://192.168.0.222:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true - username: root - password: root - # 从库数据源 - slave: - # 从数据源开关/默认关闭 - enabled: false - url: - username: - password: - # 初始连接数 - initialSize: 5 - # 最小连接池数量 - minIdle: 10 - # 最大连接池数量 - maxActive: 20 - # 配置获取连接等待超时的时间 - maxWait: 60000 - # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 - timeBetweenEvictionRunsMillis: 60000 - # 配置一个连接在池中最小生存的时间,单位是毫秒 - minEvictableIdleTimeMillis: 300000 - # 配置一个连接在池中最大生存的时间,单位是毫秒 - maxEvictableIdleTimeMillis: 900000 - # 配置检测连接是否有效 - validationQuery: SELECT 1 FROM DUAL - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - webStatFilter: - enabled: true - statViewServlet: - enabled: true - # 设置白名单,不填则允许所有访问 - allow: - url-pattern: /druid/* - # 控制台管理用户名和密码 - login-username: ruoyi - login-password: 123456 - filter: - stat: - enabled: true - # 慢SQL记录 - log-slow-sql: true - slow-sql-millis: 1000 - merge-sql: true - wall: - config: - multi-statement-allow: true - # redis 配置 - redis: - # 地址 - host: 192.168.0.222 - # 端口,默认为6379 - port: 6379 - # 数据库索引 - database: 0 - # 密码 + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true + username: root + password: root + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + enabled: false + url: + username: password: - # 连接超时时间 - timeout: 10s - lettuce: - pool: - # 连接池中的最小空闲连接 - min-idle: 0 - # 连接池中的最大空闲连接 - max-idle: 8 - # 连接池的最大数据库连接数 - max-active: 8 - # #连接池最大阻塞等待时间(使用负值表示没有限制) - max-wait: -1ms \ No newline at end of file + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + # redis 配置 + redis: + # 地址 + host: localhost + # 端口,默认为6379 + port: 6379 + # 数据库索引 + database: 0 + # 密码 + password: + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池中的最小空闲连接 + min-idle: 0 + # 连接池中的最大空闲连接 + max-idle: 8 + # 连接池的最大数据库连接数 + max-active: 8 + # #连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms \ No newline at end of file diff --git a/ruoyi/src/main/resources/application-prod.yml b/ruoyi/src/main/resources/application-prod.yml index 8f81bbd4b..fbd01b336 100644 --- a/ruoyi/src/main/resources/application-prod.yml +++ b/ruoyi/src/main/resources/application-prod.yml @@ -1,79 +1,79 @@ # 数据源配置 spring: - datasource: - type: com.alibaba.druid.pool.DruidDataSource - driverClassName: com.mysql.cj.jdbc.Driver - druid: - # 主库数据源 - master: - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true - username: root - password: root - # 从库数据源 - slave: - # 从数据源开关/默认关闭 - enabled: false - url: - username: - password: - # 初始连接数 - initialSize: 5 - # 最小连接池数量 - minIdle: 10 - # 最大连接池数量 - maxActive: 20 - # 配置获取连接等待超时的时间 - maxWait: 60000 - # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 - timeBetweenEvictionRunsMillis: 60000 - # 配置一个连接在池中最小生存的时间,单位是毫秒 - minEvictableIdleTimeMillis: 300000 - # 配置一个连接在池中最大生存的时间,单位是毫秒 - maxEvictableIdleTimeMillis: 900000 - # 配置检测连接是否有效 - validationQuery: SELECT 1 FROM DUAL - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - webStatFilter: - enabled: true - statViewServlet: - enabled: true - # 设置白名单,不填则允许所有访问 - allow: - url-pattern: /druid/* - # 控制台管理用户名和密码 - login-username: ruoyi - login-password: 123456 - filter: - stat: - enabled: true - # 慢SQL记录 - log-slow-sql: true - slow-sql-millis: 1000 - merge-sql: true - wall: - config: - multi-statement-allow: true - # redis 配置 - redis: - # 地址 - host: 192.168.0.222 - # 端口,默认为6379 - port: 6379 - # 数据库索引 - database: 0 - # 密码 + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true + username: root + password: root + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + enabled: false + url: + username: password: - # 连接超时时间 - timeout: 10s - lettuce: - pool: - # 连接池中的最小空闲连接 - min-idle: 0 - # 连接池中的最大空闲连接 - max-idle: 8 - # 连接池的最大数据库连接数 - max-active: 8 - # #连接池最大阻塞等待时间(使用负值表示没有限制) - max-wait: -1ms \ No newline at end of file + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: ruoyi + login-password: 123456 + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + # redis 配置 + redis: + # 地址 + host: 192.168.0.222 + # 端口,默认为6379 + port: 6379 + # 数据库索引 + database: 0 + # 密码 + password: + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池中的最小空闲连接 + min-idle: 0 + # 连接池中的最大空闲连接 + max-idle: 8 + # 连接池的最大数据库连接数 + max-active: 8 + # #连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms \ No newline at end of file diff --git a/ruoyi/src/main/resources/application.yml b/ruoyi/src/main/resources/application.yml index 6ab303066..4f6d87664 100644 --- a/ruoyi/src/main/resources/application.yml +++ b/ruoyi/src/main/resources/application.yml @@ -37,12 +37,13 @@ server: # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 # 每块buffer的空间大小,越小的空间被利用越充分 buffer-size: 512 - # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 - io-threads: 8 - # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 - worker-threads: 256 # 是否分配的直接内存 direct-buffers: true + threads: + # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 + io: 8 + # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 + worker: 256 # # tomcat 配置 # tomcat: # # tomcat的URI编码 @@ -65,15 +66,15 @@ spring: messages: # 国际化资源文件路径 basename: i18n/messages - profiles: + profiles: active: @profiles.active@ # 文件上传 servlet: - multipart: - # 单个文件大小 - max-file-size: 10MB - # 设置总上传的文件大小 - max-request-size: 20MB + multipart: + # 单个文件大小 + max-file-size: 10MB + # 设置总上传的文件大小 + max-request-size: 20MB # 服务模块 devtools: restart: @@ -83,44 +84,17 @@ spring: thymeleaf: # 将系统模板放置到最前面 否则会与 springboot-admin 页面冲突 template-resolver-order: 1 - application: - name: ruoyi-vue-plus - boot: - admin: - # Spring Boot Admin Client 客户端的相关配置 - client: - # 设置 Spring Boot Admin Server 地址 - url: http://localhost:${server.port}${spring.boot.admin.context-path} - instance: - prefer-ip: true # 注册实例时,优先使用 IP -# username: ruoyi -# password: 123456 - # Spring Boot Admin Server 服务端的相关配置 - context-path: /admin # 配置 Spring - -# Actuator 监控端点的配置项 -management: - endpoints: - web: - # Actuator 提供的 API 接口的根目录。默认为 /actuator - base-path: /actuator - exposure: - # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 - include: '*' - endpoint: - logfile: - external-file: ./logs/sys-console.log # token配置 token: - # 令牌自定义标识 - header: Authorization - # 令牌密钥 - secret: abcdefghijklmnopqrstuvwxyz - # 令牌有效期(默认30分钟) - expireTime: 30 - -# MyBatis配置 + # 令牌自定义标识 + header: Authorization + # 令牌密钥 + secret: abcdefghijklmnopqrstuvwxyz + # 令牌有效期(默认30分钟) + expireTime: 30 + +# MyBatisPlus配置 # https://baomidou.com/config/ mybatis-plus: mapperPackage: com.ruoyi.**.mapper @@ -209,13 +183,6 @@ mybatis-plus: # 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件 selectStrategy: NOT_EMPTY -# PageHelper分页插件 -pagehelper: - helperDialect: mysql - reasonable: true - supportMethodsArguments: true - params: count=countSql - # Swagger配置 swagger: # 是否开启swagger @@ -230,7 +197,7 @@ swagger: version: '版本号: ${ruoyi-vue-plus.version}' # 防止XSS攻击 -xss: +xss: # 过滤开关 enabled: true # 排除链接(多个用逗号分隔) @@ -238,6 +205,7 @@ xss: # 匹配链接 urlPatterns: /system/*,/monitor/*,/tool/* +# 全局线程池相关配置 threadPoolConfig: # 是否开启线程池 enabled: false @@ -256,6 +224,7 @@ threadPoolConfig: # AbortPolicy 中止 rejectedExecutionHandler: CallerRunsPolicy +# feign 相关配置 feign: package: com.ruoyi.**.feign # 开启压缩 @@ -267,4 +236,65 @@ feign: okhttp: enabled: true hystrix: - enabled: true \ No newline at end of file + enabled: true + +--- # 定时任务配置 +spring: + quartz: + scheduler-name: RuoyiScheduler + startup-delay: 1s + overwrite-existing-jobs: true + auto-startup: true + job-store-type: jdbc + properties: + org: + quartz: + # Scheduler 相关配置 + scheduler: + instanceName: RuoyiScheduler + instanceId: AUTO + # 线程池相关配置 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 20 + threadPriority: 5 + # JobStore 集群配置 + jobStore: + class: org.quartz.impl.jdbcjobstore.JobStoreTX + isClustered: true + clusterCheckinInterval: 15000 + txIsolationLevelSerializable: true + misfireThreshold: 60000 + tablePrefix: QRTZ_ + # sqlserver 启用 + # selectWithLockSQL: SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ? + +--- # 监控配置 +spring: + application: + name: ruoyi-vue-plus + boot: + admin: + # Spring Boot Admin Client 客户端的相关配置 + client: + # 设置 Spring Boot Admin Server 地址 + url: http://localhost:${server.port}${spring.boot.admin.context-path} + instance: + prefer-ip: true # 注册实例时,优先使用 IP + # username: ruoyi + # password: 123456 + # Spring Boot Admin Server 服务端的相关配置 + context-path: /admin # 配置 Spring + +# Actuator 监控端点的配置项 +management: + endpoints: + web: + # Actuator 提供的 API 接口的根目录。默认为 /actuator + base-path: /actuator + exposure: + # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 + include: '*' + endpoint: + logfile: + external-file: ./logs/sys-console.log \ No newline at end of file diff --git a/ruoyi/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi/src/main/resources/mapper/generator/GenTableMapper.xml index 4054dd031..c752c5cfb 100644 --- a/ruoyi/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi/src/main/resources/mapper/generator/GenTableMapper.xml @@ -56,8 +56,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 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 - - + + + + AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%')) + + + AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%')) + + + AND date_format(create_time,'%y%m%d') >= date_format(#{genTable.params.beginTime},'%y%m%d') + + + AND date_format(create_time,'%y%m%d') <= date_format(#{genTable.params.endTime},'%y%m%d') + + + + + + + + + + where r.del_flag = '0' + + AND r.role_name like concat('%', #{role.roleName}, '%') + + + AND r.status = #{role.status} + + + AND r.role_key like concat('%', #{role.roleKey}, '%') + + + and date_format(r.create_time,'%y%m%d') >= date_format(#{role.params.beginTime},'%y%m%d') + + + and date_format(r.create_time,'%y%m%d') <= date_format(#{role.params.endTime},'%y%m%d') + + + ${role.params.dataScope} + order by r.role_sort + + + select u.user_id, u.dept_id, u.nick_name, u.user_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_name, d.leader from + sys_user u + left join sys_dept d on u.dept_id = d.dept_id + where u.del_flag = '0' + + AND u.user_name like concat('%', #{user.userName}, '%') + + + AND u.status = #{user.status} + + + AND u.phonenumber like concat('%', #{user.phonenumber}, '%') + + + AND date_format(u.create_time,'%y%m%d') >= date_format(#{user.params.beginTime},'%y%m%d') + + + AND date_format(u.create_time,'%y%m%d') <= date_format(#{user.params.endTime},'%y%m%d') + + + AND (u.dept_id = #{user.deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{user.deptId}, + ancestors) )) + + + ${user.params.dataScope} + +