refactor(framework): 优化Bean拷贝工具类并更新相关实体类结构

This commit is contained in:
2026-01-07 16:19:08 +08:00
parent 595ab093b9
commit 1165eabb4b
95 changed files with 661 additions and 546 deletions
@@ -19,6 +19,7 @@ import cn.odboy.base.KitPageArgs;
import cn.odboy.base.KitPageResult;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.model.SystemCreateDeptArgs;
import cn.odboy.system.dal.model.SystemDeptVo;
import cn.odboy.system.dal.model.SystemQueryDeptArgs;
import cn.odboy.system.framework.operalog.OperationLog;
import cn.odboy.system.service.SystemDeptService;
@@ -67,7 +68,7 @@ public class SystemDeptController {
@ApiOperation("查询部门:根据ID获取同级与上级数据")
@PostMapping("/searchDeptTree")
@PreAuthorize("@el.check('user:list','dept:list')")
public ResponseEntity<KitPageResult<SystemDeptTb>> queryDeptSuperiorTree(@RequestBody List<Long> ids,
public ResponseEntity<KitPageResult<SystemDeptVo>> queryDeptSuperiorTree(@RequestBody List<Long> ids,
@RequestParam(defaultValue = "false") Boolean exclude) {
return ResponseEntity.ok(systemDeptService.searchDeptTree(ids, exclude));
}
@@ -19,6 +19,7 @@ import cn.odboy.base.KitPageArgs;
import cn.odboy.base.KitPageResult;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.model.SystemMenuRouterVo;
import cn.odboy.system.dal.model.SystemMenuVo;
import cn.odboy.system.dal.model.SystemQueryMenuArgs;
import cn.odboy.system.framework.operalog.OperationLog;
@@ -58,9 +59,9 @@ public class SystemMenuController {
@PostMapping(value = "/buildMenus")
@ApiOperation("获取前端所需菜单")
public ResponseEntity<List<SystemMenuVo>> buildMenus() {
List<SystemMenuVo> systemMenuVos = systemMenuService.buildFrontMenus();
return ResponseEntity.ok(systemMenuVos);
public ResponseEntity<List<SystemMenuRouterVo>> buildMenus() {
List<SystemMenuRouterVo> systemMenuRouterVos = systemMenuService.buildFrontMenus();
return ResponseEntity.ok(systemMenuRouterVos);
}
@ApiOperation("返回全部的菜单")
@@ -91,8 +92,8 @@ public class SystemMenuController {
@ApiOperation("查询菜单:根据ID获取同级与上级数据")
@PostMapping("/queryMenuSuperior")
@PreAuthorize("@el.check('menu:list')")
public ResponseEntity<List<SystemMenuTb>> queryMenuSuperior(@RequestBody List<Long> ids) {
List<SystemMenuTb> systemMenuTbs = systemMenuService.listMenuSuperior(ids);
public ResponseEntity<List<SystemMenuVo>> queryMenuSuperior(@RequestBody List<Long> ids) {
List<SystemMenuVo> systemMenuTbs = systemMenuService.listMenuSuperior(ids);
return ResponseEntity.ok(systemMenuTbs);
}
@@ -16,15 +16,11 @@
package cn.odboy.system.dal.dataobject;
import cn.odboy.base.KitBaseUserTimeTb;
import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
@@ -39,13 +35,6 @@ public class SystemDeptTb extends KitBaseUserTimeTb {
@TableId(value = "dept_id", type = IdType.AUTO)
@ApiModelProperty(value = "ID", hidden = true)
private Long id;
@TableField(exist = false)
@JSONField(serialize = false)
@ApiModelProperty(value = "角色")
private Set<SystemRoleTb> roles;
@TableField(exist = false)
@ApiModelProperty(value = "子部门")
private List<SystemDeptTb> children;
@ApiModelProperty(value = "排序")
private Integer deptSort;
@NotBlank
@@ -15,9 +15,8 @@
*/
package cn.odboy.system.dal.dataobject;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.odboy.base.KitBaseUserTimeTb;
import cn.odboy.util.KitBeanUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -49,6 +48,6 @@ public class SystemLocalStorageTb extends KitBaseUserTimeTb {
private String dateGroup;
public void copy(SystemLocalStorageTb source) {
BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
KitBeanUtil.copyToTarget(source, this);
}
}
@@ -16,15 +16,12 @@
package cn.odboy.system.dal.dataobject;
import cn.odboy.base.KitBaseUserTimeTb;
import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
@@ -38,12 +35,6 @@ public class SystemMenuTb extends KitBaseUserTimeTb {
@TableId(value = "menu_id", type = IdType.AUTO)
@ApiModelProperty(value = "ID", hidden = true)
private Long id;
@TableField(exist = false)
@JSONField(serialize = false)
@ApiModelProperty(value = "菜单角色")
private Set<SystemRoleTb> roles;
@TableField(exist = false)
private List<SystemMenuTb> children;
@ApiModelProperty(value = "菜单标题")
private String title;
@TableField(value = "name")
@@ -36,9 +36,6 @@ public class SystemQuartzJobTb extends KitBaseUserTimeTb {
@TableId(value = "id", type = IdType.AUTO)
@NotNull(groups = {Update.class})
private Long id;
@TableField(exist = false)
@ApiModelProperty(value = "用于子任务唯一标识", hidden = true)
private String uuid;
@ApiModelProperty(value = "定时器名称")
private String jobName;
@NotBlank
@@ -45,8 +45,7 @@ public class SystemRoleTb extends KitBaseUserTimeTb {
@ApiModelProperty(value = "名称", hidden = true)
private String name;
@ApiModelProperty(value = "数据权限,全部 、 本级 、 自定义")
private String dataScope =
SystemDataScopeEnum.THIS_LEVEL.getValue();
private String dataScope = SystemDataScopeEnum.THIS_LEVEL.getValue();
@ApiModelProperty(value = "级别,数值越小,级别越大")
private Integer level = 3;
@ApiModelProperty(value = "描述")
@@ -41,9 +41,6 @@ public class SystemUserTb extends KitBaseUserTimeTb {
@TableField(value = "dept_id")
@ApiModelProperty(hidden = true)
private Long deptId;
@ApiModelProperty(value = "用户部门")
@TableField(exist = false)
private SystemDeptTb dept;
@NotBlank
@ApiModelProperty(value = "用户名称")
private String username;
@@ -0,0 +1,19 @@
package cn.odboy.system.dal.model;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import java.util.Set;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SystemDeptVo extends SystemDeptTb {
@ApiModelProperty(value = "角色")
private Set<SystemRoleTb> roles;
@ApiModelProperty(value = "子部门")
private List<SystemDeptVo> children;
}
@@ -0,0 +1,47 @@
/*
* Copyright 2021-2025 Odboy
*
* 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 cn.odboy.system.dal.model;
import cn.odboy.base.KitObject;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 构建前端路由时用到
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SystemMenuRouterVo extends KitObject {
@ApiModelProperty(value = "菜单名称")
private String name;
@ApiModelProperty(value = "路径")
private String path;
@ApiModelProperty(value = "隐藏状态")
private Boolean hidden;
@ApiModelProperty(value = "重定向")
private String redirect;
@ApiModelProperty(value = "组件")
private String component;
@ApiModelProperty(value = "总是显示")
private Boolean alwaysShow;
@ApiModelProperty(value = "元数据")
private SystemMenuMetaVo meta;
@ApiModelProperty(value = "子路由")
private List<SystemMenuRouterVo> children;
}
@@ -1,47 +1,19 @@
/*
* Copyright 2021-2025 Odboy
*
* 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 cn.odboy.system.dal.model;
import cn.odboy.base.KitObject;
import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Set;
import lombok.Getter;
import lombok.Setter;
/**
* 构建前端路由时用到
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SystemMenuVo extends KitObject {
@Getter
@Setter
public class SystemMenuVo extends SystemMenuTb {
@ApiModelProperty(value = "菜单名称")
private String name;
@ApiModelProperty(value = "路径")
private String path;
@ApiModelProperty(value = "隐藏状态")
private Boolean hidden;
@ApiModelProperty(value = "重定向")
private String redirect;
@ApiModelProperty(value = "组件")
private String component;
@ApiModelProperty(value = "总是显示")
private Boolean alwaysShow;
@ApiModelProperty(value = "元数据")
private SystemMenuMetaVo meta;
@ApiModelProperty(value = "子路由")
@ApiModelProperty(value = "菜单角色")
private Set<SystemRoleTb> roles;
@ApiModelProperty(value = "子菜单")
private List<SystemMenuVo> children;
}
@@ -0,0 +1,14 @@
package cn.odboy.system.dal.model;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SystemQuartzJobVo extends SystemQuartzJobTb {
@ApiModelProperty(value = "用于子任务唯一标识", hidden = true)
private String uuid;
}
@@ -1,5 +1,6 @@
package cn.odboy.system.dal.model;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.dataobject.SystemJobTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.dataobject.SystemUserTb;
@@ -11,7 +12,8 @@ import lombok.Setter;
@Getter
@Setter
public class SystemUserVo extends SystemUserTb {
@ApiModelProperty(value = "用户部门")
private SystemDeptTb dept;
@ApiModelProperty(value = "用户角色")
private Set<SystemRoleTb> roles;
@ApiModelProperty(value = "用户岗位")
@@ -16,6 +16,8 @@
package cn.odboy.system.dal.mysql;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
import cn.odboy.system.dal.model.SystemQuartzJobVo;
import cn.odboy.util.KitBeanUtil;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@@ -27,4 +29,7 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SystemQuartzJobMapper extends BaseMapper<SystemQuartzJobTb> {
default SystemQuartzJobVo selectVoById(String id) {
return KitBeanUtil.copyToClass(selectById(id), SystemQuartzJobVo.class);
}
}
@@ -1,6 +1,5 @@
package cn.odboy.system.dal.redis;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult;
import cn.odboy.framework.properties.AppProperties;
@@ -8,20 +7,17 @@ import cn.odboy.framework.redis.KitRedisHelper;
import cn.odboy.system.dal.model.SystemUserJwtVo;
import cn.odboy.system.dal.model.SystemUserOnlineVo;
import cn.odboy.system.framework.permission.core.handler.TokenProvider;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitBrowserUtil;
import cn.odboy.util.KitDesEncryptUtil;
import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitIPUtil;
import cn.odboy.util.KitPageUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import jakarta.servlet.http.HttpServletRequest;
@@ -81,28 +77,28 @@ public class SystemUserOnlineInfoDAO {
redisHelper.del(loginKey);
}
/**
* 导出
*
* @param all /
* @param response /
* @throws IOException /
*/
public void downloadUserOnlineModelExcel(List<SystemUserOnlineVo> all, HttpServletResponse response)
throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (SystemUserOnlineVo user : all) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("用户名", user.getUserName());
map.put("部门", user.getDept());
map.put("登录IP", user.getIp());
map.put("登录地点", user.getAddress());
map.put("浏览器", user.getBrowser());
map.put("登录日期", user.getLoginTime());
list.add(map);
}
KitFileUtil.downloadExcel(list, response);
}
// /**
// * 导出
// *
// * @param all /
// * @param response /
// * @throws IOException /
// */
// public void downloadUserOnlineModelExcel(List<SystemUserOnlineVo> all, HttpServletResponse response)
// throws IOException {
// List<Map<String, Object>> list = new ArrayList<>();
// for (SystemUserOnlineVo user : all) {
// Map<String, Object> map = new LinkedHashMap<>();
// map.put("用户名", user.getUserName());
// map.put("部门", user.getDept());
// map.put("登录IP", user.getIp());
// map.put("登录地点", user.getAddress());
// map.put("浏览器", user.getBrowser());
// map.put("登录日期", user.getLoginTime());
// list.add(map);
// }
// KitFileUtil.downloadExcel(list, response);
// }
/**
* 根据用户名强退用户
@@ -172,8 +168,8 @@ public class SystemUserOnlineInfoDAO {
public void exportOnlineUserXlsx(HttpServletResponse response, String username) {
List<SystemUserOnlineVo> userOnlineVos = this.queryUserOnlineModelListByUsername(username);
// KitXlsxExportUtil.exportFile(response, "在线用户数据", userOnlineVos, SystemUserOnlineExportRowVo.class,
// (dataObject) -> CollUtil.newArrayList(BeanUtil.copyProperties(dataObject, SystemUserOnlineExportRowVo.class)));
List<SystemUserOnlineVo> rowVos = BeanUtil.copyToList(userOnlineVos, SystemUserOnlineVo.class);
// (dataObject) -> CollUtil.newArrayList(KitBeanUtil.copyProperties(dataObject, SystemUserOnlineExportRowVo.class)));
List<SystemUserOnlineVo> rowVos = KitBeanUtil.copyToList(userOnlineVos, SystemUserOnlineVo.class);
KitExcelExporter.exportSimple(response, "在线用户数据", SystemUserOnlineVo.class, rowVos);
}
}
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package cn.odboy.system.framework.quartz;
import cn.hutool.core.exceptions.ExceptionUtil;
@@ -27,6 +26,7 @@ import cn.odboy.framework.quartz.core.QuartzRunnable;
import cn.odboy.framework.redis.KitRedisHelper;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
import cn.odboy.system.dal.dataobject.SystemQuartzLogTb;
import cn.odboy.system.dal.model.SystemQuartzJobVo;
import cn.odboy.system.dal.model.SystemSendEmailArgs;
import cn.odboy.system.dal.mysql.SystemQuartzLogMapper;
import cn.odboy.system.service.SystemEmailService;
@@ -52,14 +52,12 @@ public class ExecutionJobBean extends QuartzJobBean {
@Override
public void executeInternal(JobExecutionContext context) {
// 获取任务
SystemQuartzJobTb quartzJob = (SystemQuartzJobTb) context.getMergedJobDataMap().get(SystemQuartzJobTb.JOB_KEY);
SystemQuartzJobVo quartzJob = (SystemQuartzJobVo) context.getMergedJobDataMap().get(SystemQuartzJobTb.JOB_KEY);
// 获取spring bean
SystemQuartzLogMapper quartzLogMapper = KitSpringBeanHolder.getBean(SystemQuartzLogMapper.class);
SystemQuartzJobService systemQuartzJobService = KitSpringBeanHolder.getBean(SystemQuartzJobService.class);
KitRedisHelper redisHelper = KitSpringBeanHolder.getBean(KitRedisHelper.class);
String uuid = quartzJob.getUuid();
SystemQuartzLogTb quartzLog = new SystemQuartzLogTb();
quartzLog.setJobName(quartzJob.getJobName());
quartzLog.setBeanName(quartzJob.getBeanName());
@@ -69,8 +67,7 @@ public class ExecutionJobBean extends QuartzJobBean {
quartzLog.setCronExpression(quartzJob.getCronExpression());
try {
// 执行任务
QuartzRunnable task =
new QuartzRunnable(quartzJob.getBeanName(), quartzJob.getMethodName(), quartzJob.getParams());
QuartzRunnable task = new QuartzRunnable(quartzJob.getBeanName(), quartzJob.getMethodName(), quartzJob.getParams());
Future<?> future = executor.submit(task);
// 忽略任务执行结果
future.get();
@@ -123,8 +120,7 @@ public class ExecutionJobBean extends QuartzJobBean {
Map<String, Object> data = new HashMap<>(16);
data.put("task", quartzJob);
data.put("msg", msg);
TemplateEngine engine =
TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH));
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH));
Template template = engine.getTemplate("SystemQuartzJobTaskAlarmTemplate.ftl");
sendEmailRequest.setContent(template.render(data));
List<String> emails = Arrays.asList(quartzJob.getEmail().split("[,,]"));
@@ -1,6 +1,5 @@
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.constant.CaptchaCodeEnum;
@@ -16,6 +15,7 @@ import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.system.framework.permission.core.handler.TokenProvider;
import cn.odboy.system.framework.permission.core.handler.UserDetailsHandler;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitRsaEncryptUtil;
import com.wf.captcha.base.Captcha;
import java.util.HashMap;
@@ -47,8 +47,7 @@ public class SystemAuthService {
public Map<String, Object> doLogin(SystemUserLoginArgs loginRequest, HttpServletRequest request) throws Exception {
// 密码解密
String password =
KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), loginRequest.getPassword());
String password = KitRsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), loginRequest.getPassword());
// 查询验证码
String code = redisHelper.get(loginRequest.getUuid(), String.class);
// 清除验证码
@@ -65,15 +64,14 @@ public class SystemAuthService {
if (!passwordEncoder.matches(password, jwtUser.getPassword())) {
throw new BadRequestException("登录密码错误");
}
Authentication authentication =
new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities());
Authentication authentication = new UsernamePasswordAuthenticationToken(jwtUser, null, jwtUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
// 生成令牌
String token = tokenProvider.createToken(jwtUser);
// 返回 token 与 用户信息
Map<String, Object> authInfo = new HashMap<>(2) {{
put("token", String.format("%s %s", SystemConst.TOKEN_PREFIX, token));
put("user", BeanUtil.copyProperties(jwtUser, SystemUserInfoVo.class));
put("user", KitBeanUtil.copyToClass(jwtUser, SystemUserInfoVo.class));
}};
if (properties.getLogin().isSingle()) {
// 踢掉之前已经登录的token
@@ -87,7 +85,8 @@ public class SystemAuthService {
public SystemUserInfoVo getCurrentUserInfoVo() {
SystemUserJwtVo jwtUser = (SystemUserJwtVo) KitSecurityHelper.getCurrentUser();
return BeanUtil.copyProperties(jwtUser, SystemUserInfoVo.class);
// 转换是为了去掉密码
return KitBeanUtil.copyToClass(jwtUser, SystemUserInfoVo.class);
}
public Map<String, Object> getCaptchaInfo() {
@@ -19,8 +19,8 @@ import cn.hutool.core.collection.CollUtil;
import cn.odboy.system.constant.SystemDataScopeEnum;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.dataobject.SystemUserTb;
import cn.odboy.system.dal.model.SystemRoleVo;
import cn.odboy.system.dal.model.SystemUserVo;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -49,7 +49,7 @@ public class SystemDataService {
* @param user /
* @return /
*/
public List<Long> queryDeptIdByArgs(SystemUserTb user) {
public List<Long> queryDeptIdByArgs(SystemUserVo user) {
List<Long> deptIds = new ArrayList<>();
// 查询用户角色
List<SystemRoleVo> roleList = systemUserRoleService.queryRoleByUsersId(user.getId());
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -27,11 +26,13 @@ import cn.odboy.system.constant.SystemZhConst;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
import cn.odboy.system.dal.model.SystemCreateDeptArgs;
import cn.odboy.system.dal.model.SystemDeptExportRowVo;
import cn.odboy.system.dal.model.SystemDeptVo;
import cn.odboy.system.dal.model.SystemProductLineTreeVo;
import cn.odboy.system.dal.model.SystemProductLineVo;
import cn.odboy.system.dal.model.SystemQueryDeptArgs;
import cn.odboy.system.dal.mysql.SystemDeptMapper;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitClassUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -68,7 +69,7 @@ public class SystemDeptService {
*/
@Transactional(rollbackFor = Exception.class)
public void saveDept(SystemCreateDeptArgs args) {
systemDeptMapper.insert(BeanUtil.copyProperties(args, SystemDeptTb.class));
systemDeptMapper.insert(KitBeanUtil.copyToClass(args, SystemDeptTb.class));
this.updateDeptSubCnt(args.getPid());
}
@@ -272,7 +273,7 @@ public class SystemDeptService {
*
* @return /
*/
public KitPageResult<SystemDeptTb> searchDeptTree(List<Long> ids, Boolean exclude) {
public KitPageResult<SystemDeptVo> searchDeptTree(List<Long> ids, Boolean exclude) {
Set<SystemDeptTb> deptSet1 = new LinkedHashSet<>();
for (Long id : ids) {
// 同级数据
@@ -290,18 +291,18 @@ public class SystemDeptService {
}
deptSet1.addAll(depts);
}
ArrayList<SystemDeptTb> deptList = new ArrayList<>(deptSet1);
List<SystemDeptVo> deptList = KitBeanUtil.copyToList(new ArrayList<>(deptSet1), SystemDeptVo.class);
// 构建部门树
Set<SystemDeptTb> trees = new LinkedHashSet<>();
Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
List<String> deptNames = deptList.stream().map(SystemDeptTb::getName).collect(Collectors.toList());
Set<SystemDeptVo> trees = new LinkedHashSet<>();
Set<SystemDeptVo> deptSet = new LinkedHashSet<>();
List<String> deptNames = deptList.stream().map(SystemDeptVo::getName).collect(Collectors.toList());
boolean isChild;
for (SystemDeptTb dept : deptList) {
for (SystemDeptVo dept : deptList) {
isChild = false;
if (dept.getPid() == null) {
trees.add(dept);
}
for (SystemDeptTb it : deptList) {
for (SystemDeptVo it : deptList) {
if (it.getPid() != null && dept.getId().equals(it.getPid())) {
isChild = true;
if (dept.getChildren() == null) {
@@ -319,7 +320,7 @@ public class SystemDeptService {
if (CollectionUtil.isEmpty(trees)) {
trees = deptSet;
}
KitPageResult<SystemDeptTb> baseResult = new KitPageResult<>();
KitPageResult<SystemDeptVo> baseResult = new KitPageResult<>();
baseResult.setContent(CollectionUtil.isEmpty(trees) ? new ArrayList<>(deptSet) : new ArrayList<>(trees));
baseResult.setTotalElements(deptSet.size());
return baseResult;
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult;
@@ -26,6 +25,7 @@ import cn.odboy.system.dal.model.SystemDictDetailVo;
import cn.odboy.system.dal.model.SystemQueryDictDetailArgs;
import cn.odboy.system.dal.mysql.SystemDictDetailMapper;
import cn.odboy.system.dal.mysql.SystemDictMapper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitPageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -55,7 +55,7 @@ public class SystemDictDetailService {
*/
@Transactional(rollbackFor = Exception.class)
public void saveDictDetail(SystemCreateDictDetailArgs args) {
SystemDictDetailTb dictDetail = BeanUtil.copyProperties(args, SystemDictDetailTb.class);
SystemDictDetailTb dictDetail = KitBeanUtil.copyToClass(args, SystemDictDetailTb.class);
dictDetail.setDictId(args.getDict().getId());
systemDictDetailMapper.insert(dictDetail);
}
@@ -106,7 +106,7 @@ public class SystemDictDetailService {
*/
public KitPageResult<SystemDictDetailVo> searchDictDetail(SystemQueryDictDetailArgs args,
Page<SystemDictDetailTb> page) {
IPage<SystemDictDetailVo> iPage = systemDictDetailMapper.selectPageByArgs(page, args).convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class));
IPage<SystemDictDetailVo> iPage = systemDictDetailMapper.selectPageByArgs(page, args).convert(i -> KitBeanUtil.copyToClass(i, SystemDictDetailVo.class));
List<Long> dictIds = iPage.getRecords().stream().map(SystemDictDetailTb::getDictId).collect(Collectors.toList());
Map<Long, SystemDictTb> id2ItemMap = systemDictMapper.selectByIds(dictIds).stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i));
for (SystemDictDetailVo record : iPage.getRecords()) {
@@ -130,7 +130,7 @@ public class SystemDictDetailService {
return new ArrayList<>();
}
return this.listDictDetailByDictId(systemDictTb.getId()).stream().map(m -> {
SystemDictDetailVo detailVo = BeanUtil.copyProperties(m, SystemDictDetailVo.class);
SystemDictDetailVo detailVo = KitBeanUtil.copyToClass(m, SystemDictDetailVo.class);
detailVo.setDict(systemDictTb);
return detailVo;
}).collect(Collectors.toList());
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult;
@@ -25,6 +24,7 @@ import cn.odboy.system.dal.model.SystemDictDetailVo;
import cn.odboy.system.dal.model.SystemDictExportRowVo;
import cn.odboy.system.dal.model.SystemQueryDictArgs;
import cn.odboy.system.dal.mysql.SystemDictMapper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitPageUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -52,7 +52,7 @@ public class SystemDictService {
*/
@Transactional(rollbackFor = Exception.class)
public void saveDict(SystemCreateDictArgs args) {
systemDictMapper.insert(BeanUtil.copyProperties(args, SystemDictTb.class));
systemDictMapper.insert(KitBeanUtil.copyToClass(args, SystemDictTb.class));
}
/**
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult;
@@ -25,6 +24,7 @@ import cn.odboy.system.dal.model.SystemCreateJobArgs;
import cn.odboy.system.dal.model.SystemJobExportRowVo;
import cn.odboy.system.dal.model.SystemQueryJobArgs;
import cn.odboy.system.dal.mysql.SystemJobMapper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitPageUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -56,7 +56,7 @@ public class SystemJobService {
if (job != null) {
throw new BadRequestException("职位名称已存在");
}
systemJobMapper.insert(BeanUtil.copyProperties(args, SystemJobTb.class));
systemJobMapper.insert(KitBeanUtil.copyToClass(args, SystemJobTb.class));
}
/**
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
@@ -31,6 +30,7 @@ import cn.odboy.system.dal.dataobject.SystemLocalStorageTb;
import cn.odboy.system.dal.model.SystemLocalStorageExportRowVo;
import cn.odboy.system.dal.model.SystemQueryStorageArgs;
import cn.odboy.system.dal.mysql.SystemLocalStorageMapper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitPageUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
@@ -172,8 +172,8 @@ public class SystemLocalStorageService {
public void exportLocalStorageXlsx(HttpServletResponse response, SystemQueryStorageArgs args) {
List<SystemLocalStorageTb> systemLocalStorageTbs = this.queryLocalStorageByArgs(args);
// KitXlsxExportUtil.exportFile(response, "文件上传记录数据", systemLocalStorageTbs, SystemLocalStorageExportRowVo.class,
// (dataObject) -> CollUtil.newArrayList(BeanUtil.copyProperties(dataObject, SystemLocalStorageExportRowVo.class)));
List<SystemLocalStorageExportRowVo> rowVos = BeanUtil.copyToList(systemLocalStorageTbs, SystemLocalStorageExportRowVo.class);
// (dataObject) -> CollUtil.newArrayList(KitBeanUtil.copyProperties(dataObject, SystemLocalStorageExportRowVo.class)));
List<SystemLocalStorageExportRowVo> rowVos = KitBeanUtil.copyToList(systemLocalStorageTbs, SystemLocalStorageExportRowVo.class);
KitExcelExporter.exportSimple(response, "文件上传记录数据", SystemLocalStorageExportRowVo.class, rowVos);
}
}
@@ -26,11 +26,13 @@ import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.model.SystemMenuExportRowVo;
import cn.odboy.system.dal.model.SystemMenuMetaVo;
import cn.odboy.system.dal.model.SystemMenuRouterVo;
import cn.odboy.system.dal.model.SystemMenuVo;
import cn.odboy.system.dal.model.SystemQueryMenuArgs;
import cn.odboy.system.dal.model.SystemRoleVo;
import cn.odboy.system.dal.mysql.SystemMenuMapper;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitClassUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -278,14 +280,14 @@ public class SystemMenuService {
* @param menus 原始数据
* @return /
*/
public List<SystemMenuTb> buildMenuTree(List<SystemMenuTb> menus) {
List<SystemMenuTb> trees = new ArrayList<>();
public List<SystemMenuVo> buildMenuTree(List<SystemMenuVo> menus) {
List<SystemMenuVo> trees = new ArrayList<>();
Set<Long> ids = new HashSet<>();
for (SystemMenuTb menu : menus) {
for (SystemMenuVo menu : menus) {
if (menu.getPid() == null) {
trees.add(menu);
}
for (SystemMenuTb it : menus) {
for (SystemMenuVo it : menus) {
if (menu.getId().equals(it.getPid())) {
if (menu.getChildren() == null) {
menu.setChildren(new ArrayList<>());
@@ -307,12 +309,12 @@ public class SystemMenuService {
* @param menus /
* @return /
*/
public List<SystemMenuVo> buildMenuVo(List<SystemMenuTb> menus) {
List<SystemMenuVo> list = new LinkedList<>();
menus.forEach(menu -> {
public List<SystemMenuRouterVo> buildMenuVo(List<SystemMenuVo> menus) {
List<SystemMenuRouterVo> list = new LinkedList<>();
for (SystemMenuVo menu : menus) {
if (menu != null) {
List<SystemMenuTb> menuList = menu.getChildren();
SystemMenuVo menuVo = new SystemMenuVo();
List<SystemMenuVo> menuList = menu.getChildren();
SystemMenuRouterVo menuVo = new SystemMenuRouterVo();
menuVo.setName(
ObjectUtil.isNotEmpty(menu.getComponentName()) ? menu.getComponentName() : menu.getTitle());
// 一级目录需要加斜杠, 不然会报警告
@@ -336,17 +338,17 @@ public class SystemMenuService {
menuVo.setChildren(buildMenuVo(menuList));
// 处理是一级菜单并且没有子菜单的情况
} else if (menu.getPid() == null) {
SystemMenuVo menuVo1 = getMenuVo(menu, menuVo);
SystemMenuRouterVo menuVo1 = getMenuVo(menu, menuVo);
menuVo.setName(null);
menuVo.setMeta(null);
menuVo.setComponent("Layout");
List<SystemMenuVo> list1 = new ArrayList<>();
List<SystemMenuRouterVo> list1 = new ArrayList<>();
list1.add(menuVo1);
menuVo.setChildren(list1);
}
list.add(menuVo);
}
});
}
return list;
}
@@ -357,8 +359,8 @@ public class SystemMenuService {
* @param menuVo /
* @return /
*/
private SystemMenuVo getMenuVo(SystemMenuTb menu, SystemMenuVo menuVo) {
SystemMenuVo menuVo1 = new SystemMenuVo();
private SystemMenuRouterVo getMenuVo(SystemMenuTb menu, SystemMenuRouterVo menuVo) {
SystemMenuRouterVo menuVo1 = new SystemMenuRouterVo();
menuVo1.setMeta(menuVo.getMeta());
// 非外链
if (!menu.getIFrame()) {
@@ -418,10 +420,11 @@ public class SystemMenuService {
return systemMenuMapper.selectList(wrapper);
}
public List<SystemMenuVo> buildFrontMenus() {
public List<SystemMenuRouterVo> buildFrontMenus() {
List<SystemMenuTb> menuList = this.listMenuByUserId(KitSecurityHelper.getCurrentUserId());
List<SystemMenuTb> menus = this.buildMenuTree(menuList);
return this.buildMenuVo(menus);
List<SystemMenuVo> originMenus = KitBeanUtil.copyToList(menuList, SystemMenuVo.class);
List<SystemMenuVo> targetMenus = this.buildMenuTree(originMenus);
return this.buildMenuVo(targetMenus);
}
public Set<Long> listChildMenuSetByMenuId(Long id) {
@@ -432,9 +435,9 @@ public class SystemMenuService {
return menuSet.stream().map(SystemMenuTb::getId).collect(Collectors.toSet());
}
public List<SystemMenuTb> listMenuSuperior(List<Long> ids) {
public List<SystemMenuVo> listMenuSuperior(List<Long> ids) {
Set<SystemMenuTb> menus;
List<SystemMenuTb> systemMenuTbs;
List<SystemMenuVo> systemMenuTbs;
if (CollectionUtil.isNotEmpty(ids)) {
menus = new LinkedHashSet<>(this.listMenuByIds(ids));
for (SystemMenuTb menu : menus) {
@@ -448,9 +451,11 @@ public class SystemMenuService {
}
// 编辑菜单时不显示自己以及自己下级的数据, 避免出现PID数据环形问题
menus = menus.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toSet());
systemMenuTbs = this.buildMenuTree(new ArrayList<>(menus));
List<SystemMenuTb> newMenuList = new ArrayList<>(menus);
systemMenuTbs = this.buildMenuTree(KitBeanUtil.copyToList(newMenuList, SystemMenuVo.class));
} else {
systemMenuTbs = this.listMenuByPid(null);
List<SystemMenuTb> newMenuList = this.listMenuByPid(null);
systemMenuTbs = KitBeanUtil.copyToList(newMenuList, SystemMenuVo.class);
}
return systemMenuTbs;
}
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
@@ -26,12 +25,14 @@ import cn.odboy.framework.redis.KitRedisHelper;
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
import cn.odboy.system.dal.dataobject.SystemQuartzLogTb;
import cn.odboy.system.dal.model.SystemQuartzJobExportRowVo;
import cn.odboy.system.dal.model.SystemQuartzJobVo;
import cn.odboy.system.dal.model.SystemQuartzLogExportRowVo;
import cn.odboy.system.dal.model.SystemQueryQuartzJobArgs;
import cn.odboy.system.dal.model.SystemUpdateQuartzJobArgs;
import cn.odboy.system.dal.mysql.SystemQuartzJobMapper;
import cn.odboy.system.dal.mysql.SystemQuartzLogMapper;
import cn.odboy.system.framework.quartz.QuartzManage;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitPageUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -108,7 +109,7 @@ public class SystemQuartzJobService {
throw new BadRequestException("子任务中不能添加当前任务ID");
}
}
SystemQuartzJobTb quartzJob = BeanUtil.copyProperties(args, SystemQuartzJobTb.class);
SystemQuartzJobTb quartzJob = KitBeanUtil.copyToClass(args, SystemQuartzJobTb.class);
systemQuartzJobMapper.insertOrUpdate(quartzJob);
quartzManage.updateJobCron(quartzJob);
}
@@ -167,7 +168,7 @@ public class SystemQuartzJobService {
// 如果是手动清除子任务id, 会出现id为空字符串的问题
continue;
}
SystemQuartzJobTb quartzJob = systemQuartzJobMapper.selectById(Long.parseLong(id));
SystemQuartzJobVo quartzJob = systemQuartzJobMapper.selectVoById(id);
if (quartzJob == null) {
// 防止子任务不存在
continue;
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Dict;
@@ -32,6 +31,7 @@ import cn.odboy.system.dal.model.SystemRoleExportRowVo;
import cn.odboy.system.dal.model.SystemRoleVo;
import cn.odboy.system.dal.mysql.SystemRoleMapper;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitPageUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -70,7 +70,7 @@ public class SystemRoleService {
if (this.getRoleByName(args.getName()) != null) {
throw new BadRequestException("角色名称已存在");
}
systemRoleMapper.insert(BeanUtil.copyProperties(args, SystemRoleTb.class));
systemRoleMapper.insert(KitBeanUtil.copyToClass(args, SystemRoleTb.class));
// 判断是否有部门数据, 若有, 则需创建关联
if (CollectionUtil.isNotEmpty(args.getDepts())) {
systemRoleDeptService.batchInsertRoleDept(args.getDepts(), args.getId());
@@ -91,7 +91,7 @@ public class SystemRoleService {
@Transactional(rollbackFor = Exception.class)
public void updateRoleById(SystemRoleVo args) {
checkRoleLevels(args.getLevel());
SystemRoleVo role = BeanUtil.copyProperties(systemRoleMapper.selectById(args.getId()), SystemRoleVo.class);
SystemRoleVo role = KitBeanUtil.copyToClass(systemRoleMapper.selectById(args.getId()), SystemRoleVo.class);
SystemRoleTb role1 = this.getRoleByName(args.getName());
if (role1 != null && !role1.getId().equals(role.getId())) {
throw new BadRequestException("角色名称已存在");
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.dal.dataobject.SystemDeptTb;
@@ -27,6 +26,7 @@ import cn.odboy.system.dal.model.SystemUserVo;
import cn.odboy.system.dal.mysql.SystemRoleMapper;
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitBeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import java.util.ArrayList;
import java.util.Collections;
@@ -84,7 +84,7 @@ public class SystemUserRoleService {
if (role == null) {
return null;
}
SystemRoleVo roleVo = BeanUtil.copyProperties(role, SystemRoleVo.class);
SystemRoleVo roleVo = KitBeanUtil.copyToClass(role, SystemRoleVo.class);
// 查询关联的菜单信息
Set<SystemMenuTb> menus = systemRoleMenuService.queryMenuByRoleIds(
Collections.singleton(role.getId()));
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
@@ -41,6 +40,7 @@ import cn.odboy.system.dal.mysql.SystemUserMapper;
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitPageUtil;
import cn.odboy.util.KitRsaEncryptUtil;
@@ -155,7 +155,6 @@ public class SystemUserService {
user.setUsername(args.getUsername());
user.setEmail(args.getEmail());
user.setEnabled(args.getEnabled());
user.setDept(args.getDept());
user.setPhone(args.getPhone());
user.setNickName(args.getNickName());
user.setGender(args.getGender());
@@ -436,7 +435,7 @@ public class SystemUserService {
if (user == null) {
return null;
}
SystemUserVo userVo = BeanUtil.copyProperties(user, SystemUserVo.class);
SystemUserVo userVo = KitBeanUtil.copyToClass(user, SystemUserVo.class);
// 查询关联的部门信息
if (user.getDeptId() != null) {
SystemDeptTb dept = systemDeptService.getDeptById(user.getDeptId());
@@ -493,8 +492,7 @@ public class SystemUserService {
args.getDeptIds().addAll(systemDeptService.queryChildDeptIdByDeptIds(data));
}
// 数据权限
List<Long> dataScopes = systemDataService.queryDeptIdByArgs(
this.getUserByUsername(currentUsername));
List<Long> dataScopes = systemDataService.queryDeptIdByArgs(this.getUserVoByUsername(currentUsername));
// args.getDeptIds() 不为空并且数据权限不为空则取交集
if (!CollectionUtils.isEmpty(args.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) {
// 取交集
@@ -15,7 +15,6 @@
*/
package cn.odboy.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.base.KitPageResult;
@@ -30,6 +29,7 @@ import cn.odboy.system.dal.model.SystemQueryStorageArgs;
import cn.odboy.system.dal.mysql.SystemOssStorageMapper;
import cn.odboy.system.framework.storage.minio.MinioRepository;
import cn.odboy.system.service.SystemOssStorageService;
import cn.odboy.util.KitBeanUtil;
import cn.odboy.util.KitDateUtil;
import cn.odboy.util.KitFileUtil;
import cn.odboy.util.KitPageUtil;
@@ -72,7 +72,7 @@ public class SystemMinioStorageServiceImpl extends ServiceImpl<SystemOssStorageM
Page<SystemOssStorageTb> page) {
IPage<SystemOssStorageTb> ossStorageTbs = this.selectOssStorageByArgs(args, page);
IPage<SystemOssStorageVo> convert = ossStorageTbs.convert(c -> {
SystemOssStorageVo storageVo = BeanUtil.copyProperties(c, SystemOssStorageVo.class);
SystemOssStorageVo storageVo = KitBeanUtil.copyToClass(c, SystemOssStorageVo.class);
storageVo.setFileSizeDesc(KitFileUtil.getSize(storageVo.getFileSize()));
return storageVo;
});
@@ -157,8 +157,8 @@ public class SystemMinioStorageServiceImpl extends ServiceImpl<SystemOssStorageM
public void exportOssStorageXlsx(HttpServletResponse response, SystemQueryStorageArgs args) {
List<SystemOssStorageVo> systemOssStorageVos = this.queryOssStorage(args);
// KitXlsxExportUtil.exportFile(response, "OSS文件上传记录数据", systemOssStorageVos, SystemOssStorageExportRowVo.class,
// (dataObject) -> CollUtil.newArrayList(BeanUtil.copyProperties(dataObject, SystemOssStorageExportRowVo.class)));
List<SystemOssStorageExportRowVo> rowVos = BeanUtil.copyToList(systemOssStorageVos, SystemOssStorageExportRowVo.class);
// (dataObject) -> CollUtil.newArrayList(KitBeanUtil.copyProperties(dataObject, SystemOssStorageExportRowVo.class)));
List<SystemOssStorageExportRowVo> rowVos = KitBeanUtil.copyToList(systemOssStorageVos, SystemOssStorageExportRowVo.class);
KitExcelExporter.exportSimple(response, "OSS文件上传记录数据", SystemOssStorageExportRowVo.class, rowVos);
}