diff --git a/maku-boot-system/src/main/java/net/maku/system/controller/SysLogLoginController.java b/maku-boot-system/src/main/java/net/maku/system/controller/SysLogLoginController.java index e7d67455834637d556ba8edc417063f580111b69..39a780534fd60d30cd2b3d5df9b258757b76280e 100644 --- a/maku-boot-system/src/main/java/net/maku/system/controller/SysLogLoginController.java +++ b/maku-boot-system/src/main/java/net/maku/system/controller/SysLogLoginController.java @@ -1,5 +1,6 @@ package net.maku.system.controller; +import cn.zhxu.bs.BeanSearcher; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -29,14 +30,15 @@ import org.springframework.web.bind.annotation.RestController; @AllArgsConstructor public class SysLogLoginController { private final SysLogLoginService sysLogLoginService; + private final BeanSearcher beanSearcher; @GetMapping("page") - @Operation(summary = "分页") + @Operation(summary = "分页(Bean Searcher 接口)") @PreAuthorize("hasAuthority('sys:log:login')") public Result> page(@ParameterObject @Valid SysLogLoginQuery query) { - PageResult page = sysLogLoginService.page(query); - - return Result.ok(page); +// PageResult page = sysLogLoginService.page(query); + // SysLogLoginQuery 也可以删掉 + return Result.ok(beanSearcher.search(SysLogLoginVO.class)); } @GetMapping("export") diff --git a/maku-boot-system/src/main/java/net/maku/system/controller/SysLogOperateController.java b/maku-boot-system/src/main/java/net/maku/system/controller/SysLogOperateController.java index 39beba1fce358a0221d2bd096095ce2d5e0e2df3..31b05739129cc611c781c4528fb562edcf62ecb2 100644 --- a/maku-boot-system/src/main/java/net/maku/system/controller/SysLogOperateController.java +++ b/maku-boot-system/src/main/java/net/maku/system/controller/SysLogOperateController.java @@ -1,5 +1,6 @@ package net.maku.system.controller; +import cn.zhxu.bs.BeanSearcher; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -7,7 +8,6 @@ import lombok.AllArgsConstructor; import net.maku.framework.common.utils.PageResult; import net.maku.framework.common.utils.Result; import net.maku.system.query.SysLogOperateQuery; -import net.maku.system.service.SysLogOperateService; import net.maku.system.vo.SysLogOperateVO; import org.springdoc.core.annotations.ParameterObject; import org.springframework.security.access.prepost.PreAuthorize; @@ -26,14 +26,15 @@ import org.springframework.web.bind.annotation.RestController; @Tag(name = "操作日志") @AllArgsConstructor public class SysLogOperateController { - private final SysLogOperateService sysLogOperateService; +// private final SysLogOperateService sysLogOperateService; + private final BeanSearcher beanSearcher; @GetMapping("page") - @Operation(summary = "分页") + @Operation(summary = "分页(Bean Searcher 接口)") @PreAuthorize("hasAuthority('sys:operate:all')") public Result> page(@ParameterObject @Valid SysLogOperateQuery query) { - PageResult page = sysLogOperateService.page(query); - - return Result.ok(page); +// PageResult page = sysLogOperateService.page(query); + // SysLogOperateQuery 其实也可以删掉 + return Result.ok(beanSearcher.search(SysLogOperateVO.class)); } } \ No newline at end of file diff --git a/maku-boot-system/src/main/java/net/maku/system/controller/SysRoleController.java b/maku-boot-system/src/main/java/net/maku/system/controller/SysRoleController.java index 82fe0f55c60e07fc72d4c1795b281b4a435c95a4..92cc7d2ce9cae5283ce93cbb63d2752d42406448 100644 --- a/maku-boot-system/src/main/java/net/maku/system/controller/SysRoleController.java +++ b/maku-boot-system/src/main/java/net/maku/system/controller/SysRoleController.java @@ -1,5 +1,6 @@ package net.maku.system.controller; +import cn.zhxu.bs.BeanSearcher; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -42,23 +43,25 @@ public class SysRoleController { private final SysRoleDataScopeService sysRoleDataScopeService; private final SysMenuService sysMenuService; private final SysUserRoleService sysUserRoleService; + private final BeanSearcher beanSearcher; @GetMapping("page") - @Operation(summary = "分页") + @Operation(summary = "分页(Bean Searcher 接口)") @PreAuthorize("hasAuthority('sys:role:page')") public Result> page(@ParameterObject @Valid SysRoleQuery query) { - PageResult page = sysRoleService.page(query); - - return Result.ok(page); +// PageResult page = sysRoleService.page(query); + // 其实 SysUserQuery 也可以不要,为了生成接口文档,先保留 + return Result.ok(beanSearcher.search(SysRoleVO.class)); } + // 使用 Bean Searcher 改造,共节省 2+16(Service)-3(VO)= 15 行代码 + @GetMapping("list") - @Operation(summary = "列表") + @Operation(summary = "列表(Bean Searcher 接口)") @PreAuthorize("hasAuthority('sys:role:list')") public Result> list() { - List list = sysRoleService.getList(new SysRoleQuery()); - - return Result.ok(list); +// List list = sysRoleService.getList(new SysRoleQuery()); + return Result.ok(beanSearcher.searchList(SysRoleVO.class)); } @GetMapping("{id}") diff --git a/maku-boot-system/src/main/java/net/maku/system/controller/SysUserController.java b/maku-boot-system/src/main/java/net/maku/system/controller/SysUserController.java index 8f00e7b7b7dd73334404d8bb4bb5ab07540bdd0a..bf1d753403aff165324e0411d58116e6067b213f 100644 --- a/maku-boot-system/src/main/java/net/maku/system/controller/SysUserController.java +++ b/maku-boot-system/src/main/java/net/maku/system/controller/SysUserController.java @@ -1,6 +1,7 @@ package net.maku.system.controller; import cn.hutool.core.util.StrUtil; +import cn.zhxu.bs.BeanSearcher; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -47,14 +48,16 @@ public class SysUserController { private final SysUserPostService sysUserPostService; private final SysPostService sysPostService; private final PasswordEncoder passwordEncoder; + private final BeanSearcher beanSearcher; @GetMapping("page") - @Operation(summary = "分页") + @Operation(summary = "分页(Bean Searcher 接口)") @PreAuthorize("hasAuthority('sys:user:page')") - public Result> page(@ParameterObject @Valid SysUserQuery query) { - PageResult page = sysUserService.page(query); - - return Result.ok(page); + public Result> page(@ParameterObject SysUserQuery ignore) { + // return Result.ok(sysUserService.page(ignore)); + // 使用 Bean Searcher 方案,共节省 1+8(Service)+1+19(Dao)-7(VO)= 22 行代码 + // 其实 SysUserQuery 也可以不要,为了生成接口文档,先保留 + return Result.ok(beanSearcher.search(SysUserVO.class)); } @GetMapping("{id}") diff --git a/maku-boot-system/src/main/java/net/maku/system/convert/SysLogOperateConvert.java b/maku-boot-system/src/main/java/net/maku/system/convert/SysLogOperateConvert.java index 6312b2ed7fa27b6183fcdcde48bb89be616dcac2..0eee52684e3a711abfd3dd9e6681782e1ce42d74 100644 --- a/maku-boot-system/src/main/java/net/maku/system/convert/SysLogOperateConvert.java +++ b/maku-boot-system/src/main/java/net/maku/system/convert/SysLogOperateConvert.java @@ -21,6 +21,6 @@ public interface SysLogOperateConvert { SysLogOperateVO convert(SysLogOperateEntity entity); - List convertList(List list); +// List convertList(List list); } \ No newline at end of file diff --git a/maku-boot-system/src/main/java/net/maku/system/convert/SysRoleConvert.java b/maku-boot-system/src/main/java/net/maku/system/convert/SysRoleConvert.java index dc45d537c4fd3101ed170b825669022aba20eda4..98a6008340f9a4e59d96e2a67d36ad02ac56b155 100644 --- a/maku-boot-system/src/main/java/net/maku/system/convert/SysRoleConvert.java +++ b/maku-boot-system/src/main/java/net/maku/system/convert/SysRoleConvert.java @@ -14,7 +14,8 @@ public interface SysRoleConvert { SysRoleVO convert(SysRoleEntity entity); SysRoleEntity convert(SysRoleVO vo); - - List convertList(List list); + + // 已使用 Bean Searcher 查询,不再需要手动 VO 转换,节省 1 行代码 +// List convertList(List list); } diff --git a/maku-boot-system/src/main/java/net/maku/system/dao/SysUserDao.java b/maku-boot-system/src/main/java/net/maku/system/dao/SysUserDao.java index 8560874c74eaca5f8371891c614e777c3034567a..c031f6c9dcd20a2787d57ffc9d97422a0cfd0320 100644 --- a/maku-boot-system/src/main/java/net/maku/system/dao/SysUserDao.java +++ b/maku-boot-system/src/main/java/net/maku/system/dao/SysUserDao.java @@ -18,7 +18,8 @@ import java.util.Map; @Mapper public interface SysUserDao extends BaseDao { - List getList(Map params); + // 用户管理分页接口使用 Bean Searcher 该方法已不在需要,节省 1 行代码 +// List getList(Map params); SysUserEntity getById(@Param("id") Long id); diff --git a/maku-boot-system/src/main/java/net/maku/system/service/SysLogLoginService.java b/maku-boot-system/src/main/java/net/maku/system/service/SysLogLoginService.java index 51372b5a2f5ba0337f855ba3a95a7bd29b13a485..69cb774f4672ee18e4958d8fad39cccc5216e281 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/SysLogLoginService.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/SysLogLoginService.java @@ -1,10 +1,7 @@ package net.maku.system.service; -import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.BaseService; import net.maku.system.entity.SysLogLoginEntity; -import net.maku.system.query.SysLogLoginQuery; -import net.maku.system.vo.SysLogLoginVO; /** * 登录日志 @@ -14,13 +11,13 @@ import net.maku.system.vo.SysLogLoginVO; */ public interface SysLogLoginService extends BaseService { - /** - * Page result. - * - * @param query the query - * @return the page result - */ - PageResult page(SysLogLoginQuery query); +// /** +// * Page result. +// * +// * @param query the query +// * @return the page result +// */ +// PageResult page(SysLogLoginQuery query); /** * 保存登录日志 diff --git a/maku-boot-system/src/main/java/net/maku/system/service/SysLogOperateService.java b/maku-boot-system/src/main/java/net/maku/system/service/SysLogOperateService.java index 5755813284496dd13c4af6d9f19a55864d640873..c79f6edab97703933c55de138a765b76fb71f96e 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/SysLogOperateService.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/SysLogOperateService.java @@ -1,10 +1,7 @@ package net.maku.system.service; -import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.BaseService; import net.maku.system.entity.SysLogOperateEntity; -import net.maku.system.query.SysLogOperateQuery; -import net.maku.system.vo.SysLogOperateVO; /** * 操作日志 @@ -14,5 +11,5 @@ import net.maku.system.vo.SysLogOperateVO; */ public interface SysLogOperateService extends BaseService { - PageResult page(SysLogOperateQuery query); +// PageResult page(SysLogOperateQuery query); } \ No newline at end of file diff --git a/maku-boot-system/src/main/java/net/maku/system/service/SysRoleService.java b/maku-boot-system/src/main/java/net/maku/system/service/SysRoleService.java index c9e1f92f0ad6d27216240b68d07fac0003451bcc..1be7bf4e5ef371a7d89ad32e9cc387deebe34cbb 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/SysRoleService.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/SysRoleService.java @@ -1,9 +1,7 @@ package net.maku.system.service; -import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.BaseService; import net.maku.system.entity.SysRoleEntity; -import net.maku.system.query.SysRoleQuery; import net.maku.system.vo.SysRoleDataScopeVO; import net.maku.system.vo.SysRoleVO; @@ -17,9 +15,9 @@ import java.util.List; */ public interface SysRoleService extends BaseService { - PageResult page(SysRoleQuery query); - - List getList(SysRoleQuery query); + // 已使用 Bean Searcher 实现,节省 2 行代码 +// PageResult page(SysRoleQuery query); +// List getList(SysRoleQuery query); void save(SysRoleVO vo); diff --git a/maku-boot-system/src/main/java/net/maku/system/service/SysUserService.java b/maku-boot-system/src/main/java/net/maku/system/service/SysUserService.java index 29ccb37c14c40cf3378a5066a6d727f8899590e1..e2197928694db36ffe2c91021189cc1202088c95 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/SysUserService.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/SysUserService.java @@ -20,7 +20,8 @@ import java.util.List; */ public interface SysUserService extends BaseService { - PageResult page(SysUserQuery query); +// 用户管理分页接口使用 Bean Searcher 该方法已不在需要,节省 1 行代码 +// PageResult page(SysUserQuery query); void save(SysUserVO vo); diff --git a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogLoginServiceImpl.java b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogLoginServiceImpl.java index b6124c196d057450352861a63a99603c24f7ee25..24f48180f481e84ad08b1b56cdc7b9b9e330e177 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogLoginServiceImpl.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogLoginServiceImpl.java @@ -35,22 +35,22 @@ import java.util.List; public class SysLogLoginServiceImpl extends BaseServiceImpl implements SysLogLoginService { private final TransService transService; - @Override - public PageResult page(SysLogLoginQuery query) { - IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - return new PageResult<>(SysLogLoginConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); - } +// @Override +// public PageResult page(SysLogLoginQuery query) { +// IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); +// +// return new PageResult<>(SysLogLoginConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); +// } - private LambdaQueryWrapper getWrapper(SysLogLoginQuery query) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.like(StrUtil.isNotBlank(query.getUsername()), SysLogLoginEntity::getUsername, query.getUsername()); - wrapper.like(StrUtil.isNotBlank(query.getAddress()), SysLogLoginEntity::getAddress, query.getAddress()); - wrapper.like(query.getStatus() != null, SysLogLoginEntity::getStatus, query.getStatus()); - wrapper.orderByDesc(SysLogLoginEntity::getId); - - return wrapper; - } +// private LambdaQueryWrapper getWrapper(SysLogLoginQuery query) { +// LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); +// wrapper.like(StrUtil.isNotBlank(query.getUsername()), SysLogLoginEntity::getUsername, query.getUsername()); +// wrapper.like(StrUtil.isNotBlank(query.getAddress()), SysLogLoginEntity::getAddress, query.getAddress()); +// wrapper.like(query.getStatus() != null, SysLogLoginEntity::getStatus, query.getStatus()); +// wrapper.orderByDesc(SysLogLoginEntity::getId); +// +// return wrapper; +// } @Override public void save(String username, Integer status, Integer operation) { diff --git a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogOperateServiceImpl.java b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogOperateServiceImpl.java index be9b0e32795d5af1ce36cb4418a178975222ef51..8e1be3d5c0f6071dead85b06734daa2728164cc9 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogOperateServiceImpl.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysLogOperateServiceImpl.java @@ -2,24 +2,16 @@ package net.maku.system.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.thread.ThreadUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import jakarta.annotation.PostConstruct; import lombok.AllArgsConstructor; import net.maku.framework.common.cache.RedisCache; import net.maku.framework.common.cache.RedisKeys; import net.maku.framework.common.utils.ExceptionUtils; -import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.framework.operatelog.dto.OperateLogDTO; -import net.maku.system.convert.SysLogOperateConvert; import net.maku.system.dao.SysLogOperateDao; import net.maku.system.entity.SysLogOperateEntity; -import net.maku.system.query.SysLogOperateQuery; import net.maku.system.service.SysLogOperateService; -import net.maku.system.vo.SysLogOperateVO; import org.springframework.stereotype.Service; import java.util.concurrent.ScheduledExecutorService; @@ -36,22 +28,22 @@ import java.util.concurrent.TimeUnit; public class SysLogOperateServiceImpl extends BaseServiceImpl implements SysLogOperateService { private final RedisCache redisCache; - @Override - public PageResult page(SysLogOperateQuery query) { - IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - return new PageResult<>(SysLogOperateConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); - } - - private LambdaQueryWrapper getWrapper(SysLogOperateQuery query) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(query.getStatus() != null, SysLogOperateEntity::getStatus, query.getStatus()); - wrapper.like(StrUtil.isNotBlank(query.getRealName()), SysLogOperateEntity::getRealName, query.getRealName()); - wrapper.like(StrUtil.isNotBlank(query.getModule()), SysLogOperateEntity::getModule, query.getModule()); - wrapper.like(StrUtil.isNotBlank(query.getReqUri()), SysLogOperateEntity::getReqUri, query.getReqUri()); - wrapper.orderByDesc(SysLogOperateEntity::getId); - return wrapper; - } +// @Override +// public PageResult page(SysLogOperateQuery query) { +// IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); +// +// return new PageResult<>(SysLogOperateConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); +// } +// +// private LambdaQueryWrapper getWrapper(SysLogOperateQuery query) { +// LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); +// wrapper.eq(query.getStatus() != null, SysLogOperateEntity::getStatus, query.getStatus()); +// wrapper.like(StrUtil.isNotBlank(query.getRealName()), SysLogOperateEntity::getRealName, query.getRealName()); +// wrapper.like(StrUtil.isNotBlank(query.getModule()), SysLogOperateEntity::getModule, query.getModule()); +// wrapper.like(StrUtil.isNotBlank(query.getReqUri()), SysLogOperateEntity::getReqUri, query.getReqUri()); +// wrapper.orderByDesc(SysLogOperateEntity::getId); +// return wrapper; +// } /** * 启动项目时,从Redis队列获取操作日志并保存 diff --git a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysRoleServiceImpl.java b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysRoleServiceImpl.java index 25f582ff7e975d27be7a89b3e89d5994322e385f..72f7bc08d4f167a8dc2b9257993b8a09db65ba3f 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysRoleServiceImpl.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysRoleServiceImpl.java @@ -35,29 +35,30 @@ public class SysRoleServiceImpl extends BaseServiceImpl page(SysRoleQuery query) { - IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); - - return new PageResult<>(SysRoleConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); - } - - @Override - public List getList(SysRoleQuery query) { - List entityList = baseMapper.selectList(getWrapper(query)); - - return SysRoleConvert.INSTANCE.convertList(entityList); - } - - private Wrapper getWrapper(SysRoleQuery query) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.like(StrUtil.isNotBlank(query.getName()), SysRoleEntity::getName, query.getName()); - - // 数据权限 - dataScopeWrapper(wrapper); - - return wrapper; - } + // 已使用 Bean Searcher 实现,节省有效代码 16 行 +// @Override +// public PageResult page(SysRoleQuery query) { +// IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); +// +// return new PageResult<>(SysRoleConvert.INSTANCE.convertList(page.getRecords()), page.getTotal()); +// } +// +// @Override +// public List getList(SysRoleQuery query) { +// List entityList = baseMapper.selectList(getWrapper(query)); +// +// return SysRoleConvert.INSTANCE.convertList(entityList); +// } + +// private Wrapper getWrapper(SysRoleQuery query) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.like(StrUtil.isNotBlank(query.getName()), SysRoleEntity::getName, query.getName()); +// +// // 数据权限 +// dataScopeWrapper(wrapper); +// +// return wrapper; +// } @Override @Transactional(rollbackFor = Exception.class) diff --git a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysUserServiceImpl.java b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysUserServiceImpl.java index 2b7ea1135f593d21eed7a6b1306e1c09544b8ffe..f23191334e5072695521ccaa51729d72fa5bc6d6 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysUserServiceImpl.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysUserServiceImpl.java @@ -51,20 +51,21 @@ public class SysUserServiceImpl extends BaseServiceImpl page(SysUserQuery query) { - // 查询参数 - Map params = getParams(query); - - // 分页查询 - IPage page = getPage(query); - params.put(Constant.PAGE, page); - - // 数据列表 - List list = baseMapper.getList(params); - - return new PageResult<>(SysUserConvert.INSTANCE.convertList(list), page.getTotal()); - } + // 用户管理分页接口使用 Bean Searcher 该方法已不在需要,节省有效代码 8 行 +// @Override +// public PageResult page(SysUserQuery query) { +// // 查询参数 +// Map params = getParams(query); +// +// // 分页查询 +// IPage page = getPage(query); +// params.put(Constant.PAGE, page); +// +// // 数据列表 +// List list = baseMapper.getList(params); +// +// return new PageResult<>(SysUserConvert.INSTANCE.convertList(list), page.getTotal()); +// } private Map getParams(SysUserQuery query) { Map params = new HashMap<>(); diff --git a/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java b/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java index b261a9dd84bfbdc78ab8e97f2b74caefd17af9a3..2e7094dd4d474b6f394cb877e9d8a9683cf26696 100644 --- a/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java +++ b/maku-boot-system/src/main/java/net/maku/system/vo/SysLogLoginVO.java @@ -1,5 +1,8 @@ package net.maku.system.vo; +import cn.zhxu.bs.bean.DbField; +import cn.zhxu.bs.bean.DbIgnore; +import cn.zhxu.bs.operator.Contain; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.fasterxml.jackson.annotation.JsonFormat; @@ -29,6 +32,7 @@ public class SysLogLoginVO implements Serializable, TransPojo { @Schema(description = "id") private Long id; + @DbField(onlyOn = Contain.class) @ExcelProperty("用户名") @Schema(description = "用户名") private String username; @@ -37,6 +41,7 @@ public class SysLogLoginVO implements Serializable, TransPojo { @Schema(description = "登录IP") private String ip; + @DbField(onlyOn = Contain.class) @ExcelProperty("登录地点") @Schema(description = "登录地点") private String address; @@ -50,6 +55,7 @@ public class SysLogLoginVO implements Serializable, TransPojo { @Schema(description = "登录状态 0:失败 1:成功") private Integer status; + @DbIgnore @ExcelProperty(value = "登录状态") private String statusLabel; @@ -58,6 +64,7 @@ public class SysLogLoginVO implements Serializable, TransPojo { @Schema(description = "操作信息 0:登录成功 1:退出成功 2:验证码错误 3:账号密码错误") private Integer operation; + @DbIgnore @ExcelProperty(value = "操作信息") private String operationLabel; diff --git a/maku-boot-system/src/main/java/net/maku/system/vo/SysLogOperateVO.java b/maku-boot-system/src/main/java/net/maku/system/vo/SysLogOperateVO.java index 604f4053e8a6d4b4af9045b284f4dbd2b650b2c6..2df573a6e5447ee8f38bd8de1c4af274188fc27a 100644 --- a/maku-boot-system/src/main/java/net/maku/system/vo/SysLogOperateVO.java +++ b/maku-boot-system/src/main/java/net/maku/system/vo/SysLogOperateVO.java @@ -1,5 +1,8 @@ package net.maku.system.vo; +import cn.zhxu.bs.bean.DbField; +import cn.zhxu.bs.bean.SearchBean; +import cn.zhxu.bs.operator.Contain; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -16,6 +19,7 @@ import java.time.LocalDateTime; */ @Data @Schema(description = "操作日志") +@SearchBean(orderBy = "id desc") public class SysLogOperateVO implements Serializable { private static final long serialVersionUID = 1L; @@ -25,15 +29,18 @@ public class SysLogOperateVO implements Serializable { @Schema(description = "用户ID") private Long userId; + @DbField(onlyOn = Contain.class) @Schema(description = "操作人") private String realName; + @DbField(onlyOn = Contain.class) @Schema(description = "模块名") private String module; @Schema(description = "操作名") private String name; + @DbField(onlyOn = Contain.class) @Schema(description = "请求URI") private String reqUri; diff --git a/maku-boot-system/src/main/java/net/maku/system/vo/SysRoleVO.java b/maku-boot-system/src/main/java/net/maku/system/vo/SysRoleVO.java index b9f5569b9a45390ca538131e99c4b62a6ed2926a..b7d092e9583c42dc133bf953db7c67cb741c731b 100644 --- a/maku-boot-system/src/main/java/net/maku/system/vo/SysRoleVO.java +++ b/maku-boot-system/src/main/java/net/maku/system/vo/SysRoleVO.java @@ -1,5 +1,8 @@ package net.maku.system.vo; +import cn.zhxu.bs.bean.DbField; +import cn.zhxu.bs.bean.DbIgnore; +import cn.zhxu.bs.operator.Contain; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; @@ -12,9 +15,9 @@ import java.util.List; /** * 角色管理 - * * @author 阿沐 babamu@126.com * MAKU + * Bean Searcher 改造,增加 3 行注解 */ @Data @Schema(description = "角色") @@ -24,6 +27,7 @@ public class SysRoleVO implements Serializable { @Schema(description = "id") private Long id; + @DbField(onlyOn = Contain.class) @Schema(description = "角色名称") @NotBlank(message = "角色名称不能为空") private String name; @@ -38,9 +42,11 @@ public class SysRoleVO implements Serializable { @Schema(description = "数据范围 0:全部数据 1:本机构及子机构数据 2:本机构数据 3:本人数据 4:自定义数据") private Integer dataScope; + @DbIgnore @Schema(description = "菜单ID列表") private List menuIdList; + @DbIgnore @Schema(description = "机构ID列表") private List orgIdList; diff --git a/maku-boot-system/src/main/java/net/maku/system/vo/SysUserVO.java b/maku-boot-system/src/main/java/net/maku/system/vo/SysUserVO.java index e1163a07dc3a5fa2c8c2c95268c77f4f6e0cd57f..cce2058dde2e25f7f0630b31b4ad5a26df432215 100644 --- a/maku-boot-system/src/main/java/net/maku/system/vo/SysUserVO.java +++ b/maku-boot-system/src/main/java/net/maku/system/vo/SysUserVO.java @@ -1,5 +1,9 @@ package net.maku.system.vo; +import cn.zhxu.bs.bean.DbField; +import cn.zhxu.bs.bean.DbIgnore; +import cn.zhxu.bs.bean.SearchBean; +import cn.zhxu.bs.operator.InList; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import com.fhs.core.trans.anno.Trans; @@ -10,6 +14,7 @@ import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; +import net.maku.framework.beansearcher.DataScope; import net.maku.framework.common.utils.DateUtils; import net.maku.system.entity.SysOrgEntity; import org.hibernate.validator.constraints.Range; @@ -20,12 +25,14 @@ import java.util.List; /** * 用户 - * * @author 阿沐 babamu@126.com * MAKU + * 使用 Bean Searcher 改造, 实体类添加相关注解,共增加有效代码 7 行 */ @Data +@DataScope @Schema(description = "用户") +@SearchBean(where = "super_admin = 0 and deleted = 0 ") public class SysUserVO implements Serializable, TransPojo { private static final long serialVersionUID = 1L; @@ -62,24 +69,29 @@ public class SysUserVO implements Serializable, TransPojo { @Schema(description = "机构ID", required = true) @NotNull(message = "机构ID不能为空") @Trans(type = TransType.SIMPLE, target = SysOrgEntity.class, fields = "name", ref = "orgName") + @DbField(onlyOn = InList.class) private Long orgId; @Schema(description = "状态 0:停用 1:正常", required = true) @Range(min = 0, max = 1, message = "用户状态不正确") private Integer status; + @DbIgnore @Schema(description = "角色ID列表") private List roleIdList; + @DbIgnore @Schema(description = "岗位ID列表") private List postIdList; + @DbIgnore @Schema(description = "岗位名称列表") private List postNameList; @Schema(description = "超级管理员 0:否 1:是") private Integer superAdmin; + @DbIgnore @Schema(description = "机构名称") private String orgName; diff --git a/maku-boot-system/src/main/resources/mapper/SysUserDao.xml b/maku-boot-system/src/main/resources/mapper/SysUserDao.xml index 207a9aab5433b440864bfe5dbb3a99528017b796..8b9164147c139a7a8ee2e999d944631c45e03ba5 100644 --- a/maku-boot-system/src/main/resources/mapper/SysUserDao.xml +++ b/maku-boot-system/src/main/resources/mapper/SysUserDao.xml @@ -3,25 +3,26 @@ - + + + + + + + + + + + + + + + + + + + +