package com.ycl.service.user.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.api.BasePageDTO; import com.ycl.entity.depart.SccgDepart; import com.ycl.entity.user.UmsAdmin; import com.ycl.entity.user.UmsDepartManage; import com.ycl.mapper.user.UmsDepartManageMapper; import com.ycl.service.depart.SccgDepartService; import com.ycl.service.user.UmsDepartManageService; import com.ycl.service.user.UmsAdminService; import com.ycl.vo.depart.DepartVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** *

* 服务实现类 *

* * @author lyq * @since 2022-09-09 */ @Service public class UmsDepartManageServiceImpl extends ServiceImpl implements UmsDepartManageService { @Resource private UmsDepartManageMapper umsDepartManageMapper; @Resource private SccgDepartService sccgDepartService; @Resource private UmsAdminService umsAdminService; @Override public List queryByDepartId(Long departId) { List umsAdminDeparts = umsDepartManageMapper.selectList(new LambdaQueryWrapper() .eq(UmsDepartManage::getDepartId, departId)); if (CollUtil.isNotEmpty(umsAdminDeparts)) { return umsAdminDeparts; } return null; } @Override public List queryByUserId(long userId) { List umsAdminDeparts = umsDepartManageMapper.selectList(new LambdaQueryWrapper().eq(UmsDepartManage::getUserId, userId)); if (CollUtil.isNotEmpty(umsAdminDeparts)) { return umsAdminDeparts; } return null; } @Override public void deletedByDepartId(long departId) { umsDepartManageMapper.deletedByDepartId(departId); } @Override public BasePageDTO belongDepart(long userId, int current, int pageSize) { BasePageDTO basePageDTO = new BasePageDTO(); Long count = umsDepartManageMapper.selectCount(new LambdaQueryWrapper().eq(UmsDepartManage::getUserId, userId)); basePageDTO.setTotal(count); if (count > 0) { current = (current - 1) * pageSize; List departList = umsDepartManageMapper.selectPageByUserId(userId, current, pageSize); List adminDepartInfoVOS = new ArrayList<>(); DepartVO.AdminDepartInfoVO adminDepartInfoVO = null; for (UmsDepartManage umsAdminDepart : departList) { adminDepartInfoVO = new DepartVO.AdminDepartInfoVO(); SccgDepart sccgDepart = sccgDepartService.loadDepartById(umsAdminDepart.getDepartId()); UmsAdmin umsAdmin = umsAdminService.getById(userId); adminDepartInfoVO.setDepartId(umsAdminDepart.getDepartId()); adminDepartInfoVO.setDepartName(sccgDepart.getDepartName()); adminDepartInfoVO.setDepartDes(sccgDepart.getDepartDes()); adminDepartInfoVO.setDepartType(sccgDepart.getDepartType()); adminDepartInfoVO.setUserId(userId); adminDepartInfoVO.setUserName(umsAdmin.getUsername()); adminDepartInfoVOS.add(adminDepartInfoVO); } basePageDTO.setRecords(adminDepartInfoVOS); } return basePageDTO; } }