diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/Crane4jConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/Crane4jConfiguration.java new file mode 100644 index 00000000..1a14d78f --- /dev/null +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/config/Crane4jConfiguration.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.continew.admin.common.config; + +import org.springframework.context.annotation.Configuration; + +/** + * Crane4j 配置 + * + * @author Charles7c + * @since 2024/1/11 21:22 + */ +@Configuration +public class Crane4jConfiguration extends cn.crane4j.spring.boot.config.Crane4jAutoConfiguration {} \ No newline at end of file diff --git a/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/model/resp/LogResp.java b/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/model/resp/LogResp.java index 9c31d379..4fa9adc3 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/model/resp/LogResp.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/model/resp/LogResp.java @@ -16,16 +16,16 @@ package top.charles7c.continew.admin.monitor.model.resp; +import cn.crane4j.annotation.Assemble; +import cn.crane4j.annotation.Mapping; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + import java.io.Serial; import java.io.Serializable; import java.time.LocalDateTime; -import lombok.Data; - -import io.swagger.v3.oas.annotations.media.Schema; - -import com.fasterxml.jackson.annotation.JsonIgnore; - /** * 基础日志信息 * @@ -48,6 +48,7 @@ public class LogResp implements Serializable { * 创建人 */ @JsonIgnore + @Assemble(container = "userNickname", props = @Mapping(ref = "createUserString")) private Long createUser; /** diff --git a/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/LogService.java b/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/LogService.java index c58b0d4b..7f1bf017 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/LogService.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/LogService.java @@ -16,9 +16,6 @@ package top.charles7c.continew.admin.monitor.service; -import java.util.List; -import java.util.Map; - import top.charles7c.continew.admin.monitor.model.query.LoginLogQuery; import top.charles7c.continew.admin.monitor.model.query.OperationLogQuery; import top.charles7c.continew.admin.monitor.model.query.SystemLogQuery; @@ -26,6 +23,9 @@ import top.charles7c.continew.admin.monitor.model.resp.*; import top.charles7c.continew.starter.extension.crud.model.query.PageQuery; import top.charles7c.continew.starter.extension.crud.model.resp.PageResp; +import java.util.List; +import java.util.Map; + /** * 系统日志业务接口 * diff --git a/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/impl/LogServiceImpl.java b/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/impl/LogServiceImpl.java index cbe9b778..4dce5087 100644 --- a/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/impl/LogServiceImpl.java +++ b/continew-admin-monitor/src/main/java/top/charles7c/continew/admin/monitor/service/impl/LogServiceImpl.java @@ -16,21 +16,14 @@ package top.charles7c.continew.admin.monitor.service.impl; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; - +import cn.crane4j.annotation.AutoOperate; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; - +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; import top.charles7c.continew.admin.common.constant.SysConstants; import top.charles7c.continew.admin.monitor.mapper.LogMapper; import top.charles7c.continew.admin.monitor.model.entity.LogDO; @@ -39,14 +32,16 @@ import top.charles7c.continew.admin.monitor.model.query.OperationLogQuery; import top.charles7c.continew.admin.monitor.model.query.SystemLogQuery; import top.charles7c.continew.admin.monitor.model.resp.*; import top.charles7c.continew.admin.monitor.service.LogService; -import top.charles7c.continew.starter.core.util.ExceptionUtils; import top.charles7c.continew.starter.core.util.ReflectUtils; import top.charles7c.continew.starter.core.util.validate.CheckUtils; import top.charles7c.continew.starter.data.mybatis.plus.query.QueryHelper; -import top.charles7c.continew.starter.extension.crud.base.CommonUserService; import top.charles7c.continew.starter.extension.crud.model.query.PageQuery; import top.charles7c.continew.starter.extension.crud.model.resp.PageResp; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * 系统日志业务实现 * @@ -59,9 +54,9 @@ import top.charles7c.continew.starter.extension.crud.model.resp.PageResp; public class LogServiceImpl implements LogService { private final LogMapper logMapper; - private final CommonUserService commonUserService; @Override + @AutoOperate(type = OperationLogResp.class, on = "list") public PageResp page(OperationLogQuery query, PageQuery pageQuery) { QueryWrapper queryWrapper = QueryHelper.build(query); // 限定查询信息 @@ -73,18 +68,11 @@ public class LogServiceImpl implements LogService { queryWrapper.select(columnNameList); // 分页查询 IPage page = logMapper.selectPage(pageQuery.toPage(), queryWrapper); - PageResp pageResp = PageResp.build(page, OperationLogResp.class); - // 填充数据(如果是查询个人操作日志,只查询一次用户信息即可) - if (null != query.getUid()) { - String nickname = ExceptionUtils.exToNull(() -> commonUserService.getNicknameById(query.getUid())); - pageResp.getList().forEach(o -> o.setCreateUserString(nickname)); - } else { - pageResp.getList().forEach(this::fill); - } - return pageResp; + return PageResp.build(page, OperationLogResp.class); } @Override + @AutoOperate(type = LoginLogResp.class, on = "list") public PageResp page(LoginLogQuery query, PageQuery pageQuery) { QueryWrapper queryWrapper = QueryHelper.build(query); queryWrapper.eq("module", "登录"); @@ -97,13 +85,11 @@ public class LogServiceImpl implements LogService { queryWrapper.select(columnNameList); // 分页查询 IPage page = logMapper.selectPage(pageQuery.toPage(), queryWrapper); - PageResp pageResp = PageResp.build(page, LoginLogResp.class); - // 填充数据 - pageResp.getList().forEach(this::fill); - return pageResp; + return PageResp.build(page, LoginLogResp.class); } @Override + @AutoOperate(type = SystemLogResp.class, on = "list") public PageResp page(SystemLogQuery query, PageQuery pageQuery) { QueryWrapper queryWrapper = QueryHelper.build(query); // 限定查询信息 @@ -115,19 +101,15 @@ public class LogServiceImpl implements LogService { queryWrapper.select(columnNameList); // 分页查询 IPage page = logMapper.selectPage(pageQuery.toPage(), queryWrapper); - PageResp pageResp = PageResp.build(page, SystemLogResp.class); - // 填充数据 - pageResp.getList().forEach(this::fill); - return pageResp; + return PageResp.build(page, SystemLogResp.class); } @Override + @AutoOperate(type = SystemLogDetailResp.class) public SystemLogDetailResp get(Long id) { LogDO logDO = logMapper.selectById(id); CheckUtils.throwIfNotExists(logDO, "LogDO", "ID", id); - SystemLogDetailResp detail = BeanUtil.copyProperties(logDO, SystemLogDetailResp.class); - this.fill(detail); - return detail; + return BeanUtil.copyProperties(logDO, SystemLogDetailResp.class); } @Override @@ -149,17 +131,4 @@ public class LogServiceImpl implements LogService { public List> listDashboardGeoDistribution() { return logMapper.selectListDashboardGeoDistribution(); } - - /** - * 填充数据 - * - * @param logResp 日志信息 - */ - private void fill(LogResp logResp) { - Long createUser = logResp.getCreateUser(); - if (null == createUser) { - return; - } - logResp.setCreateUserString(ExceptionUtils.exToNull(() -> commonUserService.getNicknameById(createUser))); - } } diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java index ec816ddc..227a7bcd 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/DeptServiceImpl.java @@ -16,21 +16,12 @@ package top.charles7c.continew.admin.system.service.impl; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - -import jakarta.annotation.Resource; - -import lombok.RequiredArgsConstructor; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; - +import jakarta.annotation.Resource; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import top.charles7c.continew.admin.common.constant.SysConstants; import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum; import top.charles7c.continew.admin.system.mapper.DeptMapper; @@ -46,6 +37,11 @@ import top.charles7c.continew.starter.core.util.ExceptionUtils; import top.charles7c.continew.starter.core.util.validate.CheckUtils; import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + /** * 部门业务实现 * @@ -126,9 +122,9 @@ public class DeptServiceImpl extends BaseServiceImpl detailList = super.list(dictItemQuery, sortQuery, DictItemDetailResp.class); - detailList.forEach(super::fillDetail); + detailList.forEach(super::fill); return detailList; } diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/FileServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/FileServiceImpl.java index cb6ecb40..debfc8cf 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/FileServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/FileServiceImpl.java @@ -16,22 +16,17 @@ package top.charles7c.continew.admin.system.service.impl; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import jakarta.annotation.Resource; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -import org.dromara.x.file.storage.core.*; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.URLUtil; - +import jakarta.annotation.Resource; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.x.file.storage.core.FileInfo; +import org.dromara.x.file.storage.core.FileStorageService; +import org.dromara.x.file.storage.core.ProgressListener; +import org.dromara.x.file.storage.core.UploadPretreatment; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import top.charles7c.continew.admin.system.enums.StorageTypeEnum; import top.charles7c.continew.admin.system.mapper.FileMapper; import top.charles7c.continew.admin.system.model.entity.FileDO; @@ -47,6 +42,10 @@ import top.charles7c.continew.starter.core.util.URLUtils; import top.charles7c.continew.starter.core.util.validate.CheckUtils; import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * 文件业务实现 * @@ -117,11 +116,11 @@ public class FileServiceImpl extends BaseServiceImpl list = menuService.list(null, null); diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java index 9eaaf99c..353ea87c 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java @@ -16,13 +16,12 @@ package top.charles7c.continew.admin.system.service.impl; -import java.time.LocalDateTime; -import java.util.*; - +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.file.FileNameUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import jakarta.annotation.Resource; - import lombok.RequiredArgsConstructor; - import org.dromara.x.file.storage.core.FileInfo; import org.dromara.x.file.storage.core.FileStorageService; import org.springframework.cache.annotation.CacheConfig; @@ -30,12 +29,6 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.io.file.FileNameUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; - import top.charles7c.continew.admin.common.constant.CacheConstants; import top.charles7c.continew.admin.common.constant.FileConstants; import top.charles7c.continew.admin.common.constant.SysConstants; @@ -57,6 +50,11 @@ import top.charles7c.continew.starter.core.util.validate.CheckUtils; import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl; import top.charles7c.continew.starter.extension.crud.base.CommonUserService; +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.List; +import java.util.Optional; + /** * 用户业务实现 * @@ -148,9 +146,9 @@ public class UserServiceImpl extends BaseServiceImpl deptService.get(detail.getDeptId()).getName())); List roleIdList = userRoleService.listRoleIdByUserId(detail.getId()); detail.setRoleIds(roleIdList);