wl
2022-10-21 a58d740c8ef15c0bafcf5d3b76abb54333c2028e
ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java
@@ -5,18 +5,22 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.api.BasePageDTO;
import com.ycl.entity.depart.UmsDepart;
import com.ycl.entity.user.UmsAdmin;
import com.ycl.entity.user.UmsDepartManage;
import com.ycl.entity.user.*;
import com.ycl.mapper.user.AdminMenuRelationMapper;
import com.ycl.mapper.user.UmsAdminRoleRelationMapper;
import com.ycl.mapper.user.UmsDepartManageMapper;
import com.ycl.mapper.user.UmsRoleMenuRelationMapper;
import com.ycl.service.depart.UmsDepartService;
import com.ycl.service.user.UmsDepartManageService;
import com.ycl.service.user.UmsAdminService;
import com.ycl.service.user.UmsDepartManageService;
import com.ycl.vo.depart.DepartVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -35,6 +39,12 @@
    private UmsDepartService sccgDepartService;
    @Resource
    private UmsAdminService umsAdminService;
    @Resource
    UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
    @Resource
    AdminMenuRelationMapper adminMenuRelationMapper;
    @Resource
    UmsRoleMenuRelationMapper roleMenuRelationMapper;
    @Override
    public List<UmsDepartManage> queryByDepartId(Long departId) {
@@ -87,4 +97,56 @@
        return basePageDTO;
    }
    @Override
    public void userUpdateRoles(Long id, List<Long> roles) {
        //解除用户角色绑定
        umsAdminRoleRelationMapper.delete(new LambdaQueryWrapper<UmsAdminRoleRelation>().eq(UmsAdminRoleRelation::getAdminId, id));
        //解除用户绑定角色绑定菜单
        adminMenuRelationMapper.delete(new LambdaQueryWrapper<AdminMenuRelation>().eq(AdminMenuRelation::getAdminId, id));
        //绑定角色于用户
        if (!roles.isEmpty()) {
            for (Long role : roles) {
                UmsAdminRoleRelation urr = new UmsAdminRoleRelation();
                urr.setAdminId(id);
                urr.setRoleId(role);
                umsAdminRoleRelationMapper.insert(urr);
            }
        }
        //绑定菜单于用户
            ArrayList<UmsRoleMenuRelation> umsRoleMenuRelations = new ArrayList<>();
            for (Long role : roles) {
                umsRoleMenuRelations.addAll(roleMenuRelationMapper
                        .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
                                .eq(UmsRoleMenuRelation::getRoleId, role)));
            }
            umsRoleMenuRelations
                    .stream()
                    .map(item->item.getMenuId())
                    .collect(Collectors.toList())
                    .stream()
                    .distinct()
                    .collect(Collectors.toList())
                    .stream()
                    .forEach(item -> {
                        AdminMenuRelation adminMenuRelation = new AdminMenuRelation();
                        adminMenuRelation.setAdminId(id);
                        adminMenuRelation.setMenuId(item);
                        adminMenuRelationMapper.insert(adminMenuRelation);
                    });
    }
    @Override
    public void userUpdateDepart(Long id, List<UmsDepartManage> departIds) {
        umsDepartManageMapper.delete(new LambdaQueryWrapper<UmsDepartManage>().eq(UmsDepartManage::getUserId,id));
        departIds
                .stream()
                .forEach(item->{
                    UmsDepartManage umsDepartManage = new UmsDepartManage();
                    umsDepartManage.setDepartId(item.getDepartId());
                    umsDepartManage.setUserId(id);
                    umsDepartManage.setIsLeader(item.getIsLeader());
                    umsDepartManage.setCreateTime(new Date());
                    umsDepartManageMapper.insert(umsDepartManage);
                });
    }
}