package cn.exrick.xboot.core.serviceimpl; import cn.exrick.xboot.core.dao.DepartmentHeaderDao; import cn.exrick.xboot.core.dao.UserDao; import cn.exrick.xboot.core.entity.DepartmentHeader; import cn.exrick.xboot.core.entity.User; import cn.exrick.xboot.core.service.DepartmentHeaderService; import cn.exrick.xboot.core.vo.UserVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * 部门负责人接口实现 * @author Exrick */ @Slf4j @Service @Transactional public class DepartmentHeaderServiceImpl implements DepartmentHeaderService { @Autowired private DepartmentHeaderDao departmentHeaderDao; @Autowired private UserDao userDao; @Override public DepartmentHeaderDao getRepository() { return departmentHeaderDao; } @Override public List findHeaderByDepartmentId(String departmentId, Integer type) { List list = new ArrayList<>(); List headers = departmentHeaderDao.findByDepartmentIdAndType(departmentId, type); headers.forEach(e -> { User u = userDao.getOne(e.getUserId()); if (u != null) { list.add(new UserVo().setId(u.getId()).setUsername(u.getUsername()).setNickname(u.getNickname())); } }); return list; } @Override public List findByDepartmentIdIn(List departmentIds) { return departmentHeaderDao.findByDepartmentIdIn(departmentIds); } @Override public void deleteByDepartmentId(String departmentId) { departmentHeaderDao.deleteByDepartmentId(departmentId); } @Override public void deleteByUserId(String userId) { departmentHeaderDao.deleteByUserId(userId); } @Override public Boolean isDepartmentHeader(String userId, String departmentId) { List headers = departmentHeaderDao.findByUserIdAndDepartmentId(userId, departmentId); if (headers != null && !headers.isEmpty()) { return true; } return false; } }