mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 21:01:38 +08:00 
			
		
		
		
	refactor: 使用钩子方法优化部分增、删、改处理
This commit is contained in:
		@@ -18,10 +18,8 @@ package top.charles7c.continew.admin.system.service.impl;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import cn.hutool.core.collection.CollUtil;
 | 
					import cn.hutool.core.collection.CollUtil;
 | 
				
			||||||
import cn.hutool.core.util.ObjectUtil;
 | 
					import cn.hutool.core.util.ObjectUtil;
 | 
				
			||||||
import jakarta.annotation.Resource;
 | 
					 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
import org.springframework.transaction.annotation.Transactional;
 | 
					 | 
				
			||||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
 | 
					import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
 | 
				
			||||||
import top.charles7c.continew.admin.system.mapper.DeptMapper;
 | 
					import top.charles7c.continew.admin.system.mapper.DeptMapper;
 | 
				
			||||||
import top.charles7c.continew.admin.system.model.entity.DeptDO;
 | 
					import top.charles7c.continew.admin.system.model.entity.DeptDO;
 | 
				
			||||||
@@ -49,23 +47,20 @@ import java.util.Optional;
 | 
				
			|||||||
@RequiredArgsConstructor
 | 
					@RequiredArgsConstructor
 | 
				
			||||||
public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptResp, DeptDetailResp, DeptQuery, DeptReq> implements DeptService {
 | 
					public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptResp, DeptDetailResp, DeptQuery, DeptReq> implements DeptService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Resource
 | 
					    private final UserService userService;
 | 
				
			||||||
    private UserService userService;
 | 
					 | 
				
			||||||
    private final RoleDeptService roleDeptService;
 | 
					    private final RoleDeptService roleDeptService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public Long add(DeptReq req) {
 | 
					    protected void beforeAdd(DeptReq req) {
 | 
				
			||||||
        String name = req.getName();
 | 
					        String name = req.getName();
 | 
				
			||||||
        boolean isExists = this.isNameExists(name, req.getParentId(), null);
 | 
					        boolean isExists = this.isNameExists(name, req.getParentId(), null);
 | 
				
			||||||
        CheckUtils.throwIf(isExists, "新增失败,[{}] 已存在", name);
 | 
					        CheckUtils.throwIf(isExists, "新增失败,[{}] 已存在", name);
 | 
				
			||||||
        req.setAncestors(this.getAncestors(req.getParentId()));
 | 
					        req.setAncestors(this.getAncestors(req.getParentId()));
 | 
				
			||||||
        req.setStatus(DisEnableStatusEnum.DISABLE);
 | 
					        req.setStatus(DisEnableStatusEnum.DISABLE);
 | 
				
			||||||
        return super.add(req);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @Transactional(rollbackFor = Exception.class)
 | 
					    protected void beforeUpdate(DeptReq req, Long id) {
 | 
				
			||||||
    public void update(DeptReq req, Long id) {
 | 
					 | 
				
			||||||
        String name = req.getName();
 | 
					        String name = req.getName();
 | 
				
			||||||
        boolean isExists = this.isNameExists(name, req.getParentId(), id);
 | 
					        boolean isExists = this.isNameExists(name, req.getParentId(), id);
 | 
				
			||||||
        CheckUtils.throwIf(isExists, "修改失败,[{}] 已存在", name);
 | 
					        CheckUtils.throwIf(isExists, "修改失败,[{}] 已存在", name);
 | 
				
			||||||
@@ -97,12 +92,10 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptRes
 | 
				
			|||||||
            // 更新子级的祖级列表
 | 
					            // 更新子级的祖级列表
 | 
				
			||||||
            this.updateChildrenAncestors(newAncestors, oldDept.getAncestors(), id);
 | 
					            this.updateChildrenAncestors(newAncestors, oldDept.getAncestors(), id);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        super.update(req, id);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @Transactional(rollbackFor = Exception.class)
 | 
					    protected void beforeDelete(List<Long> ids) {
 | 
				
			||||||
    public void delete(List<Long> ids) {
 | 
					 | 
				
			||||||
        List<DeptDO> list = baseMapper.lambdaQuery()
 | 
					        List<DeptDO> list = baseMapper.lambdaQuery()
 | 
				
			||||||
            .select(DeptDO::getName, DeptDO::getIsSystem)
 | 
					            .select(DeptDO::getName, DeptDO::getIsSystem)
 | 
				
			||||||
            .in(DeptDO::getId, ids)
 | 
					            .in(DeptDO::getId, ids)
 | 
				
			||||||
@@ -114,8 +107,6 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptRes
 | 
				
			|||||||
        CheckUtils.throwIf(userService.countByDeptIds(ids) > 0, "所选部门存在用户关联,请解除关联后重试");
 | 
					        CheckUtils.throwIf(userService.countByDeptIds(ids) > 0, "所选部门存在用户关联,请解除关联后重试");
 | 
				
			||||||
        // 删除角色和部门关联
 | 
					        // 删除角色和部门关联
 | 
				
			||||||
        roleDeptService.deleteByDeptIds(ids);
 | 
					        roleDeptService.deleteByDeptIds(ids);
 | 
				
			||||||
        // 删除部门
 | 
					 | 
				
			||||||
        super.delete(ids);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,17 +43,15 @@ import java.util.List;
 | 
				
			|||||||
public class DictItemServiceImpl extends BaseServiceImpl<DictItemMapper, DictItemDO, DictItemResp, DictItemDetailResp, DictItemQuery, DictItemReq> implements DictItemService {
 | 
					public class DictItemServiceImpl extends BaseServiceImpl<DictItemMapper, DictItemDO, DictItemResp, DictItemDetailResp, DictItemQuery, DictItemReq> implements DictItemService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public Long add(DictItemReq req) {
 | 
					    protected void beforeAdd(DictItemReq req) {
 | 
				
			||||||
        String value = req.getValue();
 | 
					        String value = req.getValue();
 | 
				
			||||||
        CheckUtils.throwIf(this.isValueExists(value, null, req.getDictId()), "新增失败,字典值 [{}] 已存在", value);
 | 
					        CheckUtils.throwIf(this.isValueExists(value, null, req.getDictId()), "新增失败,字典值 [{}] 已存在", value);
 | 
				
			||||||
        return super.add(req);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void update(DictItemReq req, Long id) {
 | 
					    protected void beforeUpdate(DictItemReq req, Long id) {
 | 
				
			||||||
        String value = req.getValue();
 | 
					        String value = req.getValue();
 | 
				
			||||||
        CheckUtils.throwIf(this.isValueExists(value, id, req.getDictId()), "修改失败,字典值 [{}] 已存在", value);
 | 
					        CheckUtils.throwIf(this.isValueExists(value, id, req.getDictId()), "修改失败,字典值 [{}] 已存在", value);
 | 
				
			||||||
        super.update(req, id);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,17 +16,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
package top.charles7c.continew.admin.system.service.impl;
 | 
					package top.charles7c.continew.admin.system.service.impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.ArrayList;
 | 
					 | 
				
			||||||
import java.util.List;
 | 
					 | 
				
			||||||
import java.util.Optional;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import jakarta.servlet.http.HttpServletResponse;
 | 
					import jakarta.servlet.http.HttpServletResponse;
 | 
				
			||||||
 | 
					 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
 | 
					 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
import org.springframework.transaction.annotation.Transactional;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import top.charles7c.continew.admin.system.mapper.DictMapper;
 | 
					import top.charles7c.continew.admin.system.mapper.DictMapper;
 | 
				
			||||||
import top.charles7c.continew.admin.system.model.entity.DictDO;
 | 
					import top.charles7c.continew.admin.system.model.entity.DictDO;
 | 
				
			||||||
import top.charles7c.continew.admin.system.model.query.DictQuery;
 | 
					import top.charles7c.continew.admin.system.model.query.DictQuery;
 | 
				
			||||||
@@ -41,6 +33,10 @@ import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
 | 
				
			|||||||
import top.charles7c.continew.starter.extension.crud.model.query.SortQuery;
 | 
					import top.charles7c.continew.starter.extension.crud.model.query.SortQuery;
 | 
				
			||||||
import top.charles7c.continew.starter.file.excel.util.ExcelUtils;
 | 
					import top.charles7c.continew.starter.file.excel.util.ExcelUtils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import java.util.Optional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 字典业务实现
 | 
					 * 字典业务实现
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -54,16 +50,15 @@ public class DictServiceImpl extends BaseServiceImpl<DictMapper, DictDO, DictRes
 | 
				
			|||||||
    private final DictItemService dictItemService;
 | 
					    private final DictItemService dictItemService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public Long add(DictReq req) {
 | 
					    protected void beforeAdd(DictReq req) {
 | 
				
			||||||
        String name = req.getName();
 | 
					        String name = req.getName();
 | 
				
			||||||
        CheckUtils.throwIf(this.isNameExists(name, null), "新增失败,[{}] 已存在", name);
 | 
					        CheckUtils.throwIf(this.isNameExists(name, null), "新增失败,[{}] 已存在", name);
 | 
				
			||||||
        String code = req.getCode();
 | 
					        String code = req.getCode();
 | 
				
			||||||
        CheckUtils.throwIf(this.isCodeExists(code, null), "新增失败,[{}] 已存在", code);
 | 
					        CheckUtils.throwIf(this.isCodeExists(code, null), "新增失败,[{}] 已存在", code);
 | 
				
			||||||
        return super.add(req);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void update(DictReq req, Long id) {
 | 
					    protected void beforeUpdate(DictReq req, Long id) {
 | 
				
			||||||
        String name = req.getName();
 | 
					        String name = req.getName();
 | 
				
			||||||
        CheckUtils.throwIf(this.isNameExists(name, id), "修改失败,[{}] 已存在", name);
 | 
					        CheckUtils.throwIf(this.isNameExists(name, id), "修改失败,[{}] 已存在", name);
 | 
				
			||||||
        String code = req.getCode();
 | 
					        String code = req.getCode();
 | 
				
			||||||
@@ -72,12 +67,10 @@ public class DictServiceImpl extends BaseServiceImpl<DictMapper, DictDO, DictRes
 | 
				
			|||||||
        if (oldDict.getIsSystem()) {
 | 
					        if (oldDict.getIsSystem()) {
 | 
				
			||||||
            CheckUtils.throwIfNotEqual(req.getCode(), oldDict.getCode(), "[{}] 是系统内置字典,不允许修改字典编码", oldDict.getName());
 | 
					            CheckUtils.throwIfNotEqual(req.getCode(), oldDict.getCode(), "[{}] 是系统内置字典,不允许修改字典编码", oldDict.getName());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        super.update(req, id);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @Transactional(rollbackFor = Exception.class)
 | 
					    protected void beforeDelete(List<Long> ids) {
 | 
				
			||||||
    public void delete(List<Long> ids) {
 | 
					 | 
				
			||||||
        List<DictDO> list = baseMapper.lambdaQuery()
 | 
					        List<DictDO> list = baseMapper.lambdaQuery()
 | 
				
			||||||
            .select(DictDO::getName, DictDO::getIsSystem)
 | 
					            .select(DictDO::getName, DictDO::getIsSystem)
 | 
				
			||||||
            .in(DictDO::getId, ids)
 | 
					            .in(DictDO::getId, ids)
 | 
				
			||||||
@@ -86,7 +79,6 @@ public class DictServiceImpl extends BaseServiceImpl<DictMapper, DictDO, DictRes
 | 
				
			|||||||
        CheckUtils.throwIf(isSystemData::isPresent, "所选字典 [{}] 是系统内置字典,不允许删除", isSystemData.orElseGet(DictDO::new)
 | 
					        CheckUtils.throwIf(isSystemData::isPresent, "所选字典 [{}] 是系统内置字典,不允许删除", isSystemData.orElseGet(DictDO::new)
 | 
				
			||||||
            .getName());
 | 
					            .getName());
 | 
				
			||||||
        dictItemService.deleteByDictIds(ids);
 | 
					        dictItemService.deleteByDictIds(ids);
 | 
				
			||||||
        super.delete(ids);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,7 +62,7 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes
 | 
				
			|||||||
    private final FileStorageService fileStorageService;
 | 
					    private final FileStorageService fileStorageService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void delete(List<Long> ids) {
 | 
					    protected void beforeDelete(List<Long> ids) {
 | 
				
			||||||
        List<FileDO> fileList = baseMapper.lambdaQuery().in(FileDO::getId, ids).list();
 | 
					        List<FileDO> fileList = baseMapper.lambdaQuery().in(FileDO::getId, ids).list();
 | 
				
			||||||
        Map<Long, List<FileDO>> fileListGroup = fileList.stream().collect(Collectors.groupingBy(FileDO::getStorageId));
 | 
					        Map<Long, List<FileDO>> fileListGroup = fileList.stream().collect(Collectors.groupingBy(FileDO::getStorageId));
 | 
				
			||||||
        for (Map.Entry<Long, List<FileDO>> entry : fileListGroup.entrySet()) {
 | 
					        for (Map.Entry<Long, List<FileDO>> entry : fileListGroup.entrySet()) {
 | 
				
			||||||
@@ -72,7 +72,6 @@ public class FileServiceImpl extends BaseServiceImpl<FileMapper, FileDO, FileRes
 | 
				
			|||||||
                fileStorageService.delete(fileInfo);
 | 
					                fileStorageService.delete(fileInfo);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        super.delete(ids);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -111,8 +111,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @Transactional(rollbackFor = Exception.class)
 | 
					    protected void beforeDelete(List<Long> ids) {
 | 
				
			||||||
    public void delete(List<Long> ids) {
 | 
					 | 
				
			||||||
        List<RoleDO> list = baseMapper.lambdaQuery()
 | 
					        List<RoleDO> list = baseMapper.lambdaQuery()
 | 
				
			||||||
            .select(RoleDO::getName, RoleDO::getIsSystem)
 | 
					            .select(RoleDO::getName, RoleDO::getIsSystem)
 | 
				
			||||||
            .in(RoleDO::getId, ids)
 | 
					            .in(RoleDO::getId, ids)
 | 
				
			||||||
@@ -125,8 +124,6 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
 | 
				
			|||||||
        roleMenuService.deleteByRoleIds(ids);
 | 
					        roleMenuService.deleteByRoleIds(ids);
 | 
				
			||||||
        // 删除角色和部门关联
 | 
					        // 删除角色和部门关联
 | 
				
			||||||
        roleDeptService.deleteByRoleIds(ids);
 | 
					        roleDeptService.deleteByRoleIds(ids);
 | 
				
			||||||
        // 删除角色
 | 
					 | 
				
			||||||
        super.delete(ids);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,25 +16,17 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
package top.charles7c.continew.admin.system.service.impl;
 | 
					package top.charles7c.continew.admin.system.service.impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.Collections;
 | 
					import cn.hutool.core.bean.BeanUtil;
 | 
				
			||||||
import java.util.List;
 | 
					import cn.hutool.core.map.MapUtil;
 | 
				
			||||||
import java.util.concurrent.CopyOnWriteArrayList;
 | 
					import cn.hutool.core.util.StrUtil;
 | 
				
			||||||
 | 
					import cn.hutool.core.util.URLUtil;
 | 
				
			||||||
import jakarta.annotation.Resource;
 | 
					import jakarta.annotation.Resource;
 | 
				
			||||||
 | 
					 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
 | 
					 | 
				
			||||||
import org.dromara.x.file.storage.core.FileStorageProperties;
 | 
					import org.dromara.x.file.storage.core.FileStorageProperties;
 | 
				
			||||||
import org.dromara.x.file.storage.core.FileStorageService;
 | 
					import org.dromara.x.file.storage.core.FileStorageService;
 | 
				
			||||||
import org.dromara.x.file.storage.core.FileStorageServiceBuilder;
 | 
					import org.dromara.x.file.storage.core.FileStorageServiceBuilder;
 | 
				
			||||||
import org.dromara.x.file.storage.core.platform.FileStorage;
 | 
					import org.dromara.x.file.storage.core.platform.FileStorage;
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					 | 
				
			||||||
import cn.hutool.core.bean.BeanUtil;
 | 
					 | 
				
			||||||
import cn.hutool.core.map.MapUtil;
 | 
					 | 
				
			||||||
import cn.hutool.core.util.StrUtil;
 | 
					 | 
				
			||||||
import cn.hutool.core.util.URLUtil;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
 | 
					import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum;
 | 
				
			||||||
import top.charles7c.continew.admin.system.enums.StorageTypeEnum;
 | 
					import top.charles7c.continew.admin.system.enums.StorageTypeEnum;
 | 
				
			||||||
import top.charles7c.continew.admin.system.mapper.StorageMapper;
 | 
					import top.charles7c.continew.admin.system.mapper.StorageMapper;
 | 
				
			||||||
@@ -52,6 +44,10 @@ import top.charles7c.continew.starter.core.util.validate.CheckUtils;
 | 
				
			|||||||
import top.charles7c.continew.starter.core.util.validate.ValidationUtils;
 | 
					import top.charles7c.continew.starter.core.util.validate.ValidationUtils;
 | 
				
			||||||
import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
 | 
					import top.charles7c.continew.starter.extension.crud.base.BaseServiceImpl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Collections;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import java.util.concurrent.CopyOnWriteArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 存储库业务实现
 | 
					 * 存储库业务实现
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -67,17 +63,16 @@ public class StorageServiceImpl extends BaseServiceImpl<StorageMapper, StorageDO
 | 
				
			|||||||
    private final FileStorageService fileStorageService;
 | 
					    private final FileStorageService fileStorageService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public Long add(StorageReq req) {
 | 
					    protected void beforeAdd(StorageReq req) {
 | 
				
			||||||
        CheckUtils.throwIf(Boolean.TRUE.equals(req.getIsDefault()) && this.isDefaultExists(null), "请先取消原有默认存储库");
 | 
					        CheckUtils.throwIf(Boolean.TRUE.equals(req.getIsDefault()) && this.isDefaultExists(null), "请先取消原有默认存储库");
 | 
				
			||||||
        String code = req.getCode();
 | 
					        String code = req.getCode();
 | 
				
			||||||
        CheckUtils.throwIf(this.isCodeExists(code, null), "新增失败,[{}] 已存在", code);
 | 
					        CheckUtils.throwIf(this.isCodeExists(code, null), "新增失败,[{}] 已存在", code);
 | 
				
			||||||
        req.setStatus(DisEnableStatusEnum.ENABLE);
 | 
					        req.setStatus(DisEnableStatusEnum.ENABLE);
 | 
				
			||||||
        this.load(req);
 | 
					        this.load(req);
 | 
				
			||||||
        return super.add(req);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void update(StorageReq req, Long id) {
 | 
					    protected void beforeUpdate(StorageReq req, Long id) {
 | 
				
			||||||
        String code = req.getCode();
 | 
					        String code = req.getCode();
 | 
				
			||||||
        CheckUtils.throwIf(this.isCodeExists(code, id), "修改失败,[{}] 已存在", code);
 | 
					        CheckUtils.throwIf(this.isCodeExists(code, id), "修改失败,[{}] 已存在", code);
 | 
				
			||||||
        DisEnableStatusEnum newStatus = req.getStatus();
 | 
					        DisEnableStatusEnum newStatus = req.getStatus();
 | 
				
			||||||
@@ -95,18 +90,16 @@ public class StorageServiceImpl extends BaseServiceImpl<StorageMapper, StorageDO
 | 
				
			|||||||
            CheckUtils.throwIf(!DisEnableStatusEnum.ENABLE.equals(oldStatus), "请先启用该存储库");
 | 
					            CheckUtils.throwIf(!DisEnableStatusEnum.ENABLE.equals(oldStatus), "请先启用该存储库");
 | 
				
			||||||
            CheckUtils.throwIf(this.isDefaultExists(id), "请先取消原有默认存储库");
 | 
					            CheckUtils.throwIf(this.isDefaultExists(id), "请先取消原有默认存储库");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        super.update(req, id);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void delete(List<Long> ids) {
 | 
					    protected void beforeDelete(List<Long> ids) {
 | 
				
			||||||
        CheckUtils.throwIf(fileService.countByStorageIds(ids) > 0, "所选存储库存在文件关联,请删除文件后重试");
 | 
					        CheckUtils.throwIf(fileService.countByStorageIds(ids) > 0, "所选存储库存在文件关联,请删除文件后重试");
 | 
				
			||||||
        List<StorageDO> storageList = baseMapper.lambdaQuery().in(StorageDO::getId, ids).list();
 | 
					        List<StorageDO> storageList = baseMapper.lambdaQuery().in(StorageDO::getId, ids).list();
 | 
				
			||||||
        storageList.forEach(s -> {
 | 
					        storageList.forEach(s -> {
 | 
				
			||||||
            CheckUtils.throwIfEqual(Boolean.TRUE, s.getIsDefault(), "[{}] 是默认存储库,不允许禁用", s.getName());
 | 
					            CheckUtils.throwIfEqual(Boolean.TRUE, s.getIsDefault(), "[{}] 是默认存储库,不允许禁用", s.getName());
 | 
				
			||||||
            this.unload(BeanUtil.copyProperties(s, StorageReq.class));
 | 
					            this.unload(BeanUtil.copyProperties(s, StorageReq.class));
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        super.delete(ids);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,17 +81,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    @Transactional(rollbackFor = Exception.class)
 | 
					    protected void beforeAdd(UserReq req) {
 | 
				
			||||||
    public Long add(UserReq req) {
 | 
					 | 
				
			||||||
        String username = req.getUsername();
 | 
					        String username = req.getUsername();
 | 
				
			||||||
        CheckUtils.throwIf(this.isNameExists(username, null), "新增失败,[{}] 已存在", username);
 | 
					        CheckUtils.throwIf(this.isNameExists(username, null), "新增失败,[{}] 已存在", username);
 | 
				
			||||||
        String email = req.getEmail();
 | 
					        String email = req.getEmail();
 | 
				
			||||||
        CheckUtils.throwIf(StrUtil.isNotBlank(email) && this.isEmailExists(email, null), "新增失败,[{}] 已存在", email);
 | 
					        CheckUtils.throwIf(StrUtil.isNotBlank(email) && this.isEmailExists(email, null), "新增失败,[{}] 已存在", email);
 | 
				
			||||||
        String phone = req.getPhone();
 | 
					        String phone = req.getPhone();
 | 
				
			||||||
        CheckUtils.throwIf(StrUtil.isNotBlank(phone) && this.isPhoneExists(phone, null), "新增失败,[{}] 已存在", phone);
 | 
					        CheckUtils.throwIf(StrUtil.isNotBlank(phone) && this.isPhoneExists(phone, null), "新增失败,[{}] 已存在", phone);
 | 
				
			||||||
        // 新增信息
 | 
					 | 
				
			||||||
        req.setStatus(DisEnableStatusEnum.ENABLE);
 | 
					        req.setStatus(DisEnableStatusEnum.ENABLE);
 | 
				
			||||||
        Long userId = super.add(req);
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void afterAdd(UserReq req, UserDO user) {
 | 
				
			||||||
 | 
					        Long userId = user.getId();
 | 
				
			||||||
        baseMapper.lambdaUpdate()
 | 
					        baseMapper.lambdaUpdate()
 | 
				
			||||||
            .set(UserDO::getPassword, SecureUtils.md5Salt(SysConstants.DEFAULT_PASSWORD, userId.toString()))
 | 
					            .set(UserDO::getPassword, SecureUtils.md5Salt(SysConstants.DEFAULT_PASSWORD, userId.toString()))
 | 
				
			||||||
            .set(UserDO::getPwdResetTime, LocalDateTime.now())
 | 
					            .set(UserDO::getPwdResetTime, LocalDateTime.now())
 | 
				
			||||||
@@ -99,7 +101,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes
 | 
				
			|||||||
            .update();
 | 
					            .update();
 | 
				
			||||||
        // 保存用户和角色关联
 | 
					        // 保存用户和角色关联
 | 
				
			||||||
        userRoleService.add(req.getRoleIds(), userId);
 | 
					        userRoleService.add(req.getRoleIds(), userId);
 | 
				
			||||||
        return userId;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user