2021与蓝度共同重构项目,服务端
fix
zhanzhiqin
2022-06-02 93b045e2f659a8dbd424bd8c9beb6525e7a80c05
ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -15,16 +15,15 @@
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.bo.MenuNode;
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.mapper.AdminMapper;
import com.sandu.ximon.dao.enums.AdministratorEnums;
import com.sandu.ximon.dao.mapper.ClientMapper;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
@AllArgsConstructor
@@ -74,8 +73,8 @@
        if (role == null) {
            throw new BusinessException("角色不存在");
        }
        if (!RoleLevelStatus.NORMAL.getCode().equals(role.getLevel())) {
            throw new BusinessException("无法添加超级管理员或用户管理员");
        if (RoleLevelStatus.SUPER.getCode().equals(role.getLevel())) {
            throw new BusinessException("无法添加超级管理员");
        }
@@ -97,12 +96,12 @@
        }
        /**
         * 添加管理员日志记录开始
         * 添加普通用户 日志记录开始
         */
        String content = "新注册用户:" + addClientPrarm.getClientName();
        StoreOperationRecordsUtils.storeOperationData(null, null, "添加普通用户", content);
        /**
         * 添加管理员日志记录结束
         * 添加普通用户 日志记录结束
         */
        return flag;
@@ -157,6 +156,14 @@
        client.setLinkMan(updateClientPrarm.getLinkMan());
        client.setMobile(updateClientPrarm.getMobile());
        /**
         * 编辑普通用户 日志记录开始
         */
        String content = "编辑普通用户:" + client.getClientName() + "用户id:" + id;
        StoreOperationRecordsUtils.storeOperationData(null, null, "编辑普通用户", content);
        /**
         * 编辑普通用户 日志记录结束
         */
        return updateById(client);
    }
@@ -202,11 +209,21 @@
        return updateById(client);
    }
    @Transactional(rollbackFor = Exception.class)
    public boolean deleteClient(Long id) {
        boolean flag = false;
        //判断删除用户是否存在
        Client one = getById(id);
        if (one == null) {
        Client client = getById(id);
        if (client == null) {
            throw new BusinessException("该客户不存在");
        }
        //只有超管能删除  或  上级客户删除自己的下级用户
        if (!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())) {
            Client temp = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getSuperiorId, SecurityUtils.getUserId()).eq(Client::getId, id));
            if (temp == null) {
                throw new BusinessException("删除的用户不存在或该用户不是你的下级用户");
            }
        }
        //判断删除的用户有无下级用户
@@ -216,7 +233,31 @@
            throw new BusinessException("删除的用户下有下级用户,不允许删除");
        }
        return removeById(id);
        //管理员角色关系表
        ClientRoleRelationService clientRoleRelationService = SpringContextHolder.getBean(ClientRoleRelationService.class);
        //有用户必定有用户与角色的关系数据
        ClientRoleRelation one = clientRoleRelationService.getOne(Wrappers.lambdaQuery(ClientRoleRelation.class).eq(ClientRoleRelation::getClientId, client.getId()));
        //删用户
        if (removeById(id)) {
            //删角色关系表信息
            flag = clientRoleRelationService.removeById(one);
            //删除失败回滚数据
            if (!flag) {
                throw new BusinessException("删除用户失败!");
            }
        }
        /**
         * 删除普通用户 日志记录开始
         */
        String content = "删除普通用户:" + client.getClientName() + "用户id:" + id;
        StoreOperationRecordsUtils.storeOperationData(null, null, "删除普通用户", content);
        /**
         * 删除普通用户 日志记录结束
         */
        return flag;
    }
    public List<Client> clientList(Long userId, BaseConditionVO baseConditionVO) {