package com.zy.crm.system.service.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.zy.crm.common.model.enums.RoleType; import com.zy.crm.system.entity.Role; import com.zy.crm.system.entity.User; import com.zy.crm.system.mapper.RoleMapper; import com.zy.crm.system.service.RoleService; import com.zy.crm.system.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Collections; import java.util.List; @Service("roleService") public class RoleServiceImpl extends ServiceImpl implements RoleService { @Autowired private UserService userService; @Override public List getUserByRoleCode(Long hostId, Long deptId, Long userId) { Role role = this.selectById(userService.selectById(userId).getRoleId()); if (Cools.isEmpty(role) || Cools.isEmpty(role.getCode())) { return new ArrayList<>(); } switch (role.getCode()) { case "boss": case "manager": return userService.getUserByDept(hostId, deptId); case "salesman": User user = userService.selectById(userId); if (deptId.equals(user.getDeptId())) { return Collections.singletonList(user); } else { return new ArrayList<>(); } default: return new ArrayList<>(); } } @Override public Boolean judgeLeader(Long roleId) { Role role = this.selectById(roleId); return (role.getCode().equals(RoleType.boss.toString()) || role.getCode().equals(RoleType.manager.toString())); } }