package com.ydtech.modules.admin.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.modules.admin.dao.SysUserLinkSysMapper; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.admin.model.dto.SysUserDto; import com.ydtech.modules.admin.model.dto.SysUserLinkSysAddDto; import com.ydtech.modules.admin.model.dto.SysUserLinkSysQueryDto; import com.ydtech.modules.admin.model.po.SysSys; import com.ydtech.modules.admin.model.po.SysUserLinkSys; import com.ydtech.modules.admin.service.SysSysService; import com.ydtech.modules.admin.service.SysUserLinkSysService; import com.ydtech.modules.admin.service.SysUserService; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.utils.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author Administrator * @description 针对表【sys_user_link_sys(用户关联系统表)】的数据库操作Service实现 * @createDate 2024-07-15 09:00:21 */ @Service public class SysUserLinkSysServiceImpl extends ServiceImpl implements SysUserLinkSysService { @Autowired private SysUserLinkSysMapper sysUserLinkSysMapper; @Autowired private SysSysService sysSysService; @Autowired private SysUserService sysUserService; /** * @version * @author: hxl * @Date: 2024/7/15 10:11 * @Description: 查询所有的关联用户的表 */ @Override public BasePageResult queryPage(SysUserLinkSysQueryDto sysUserLinkSysQueryDto) { Page page = new Page<>(sysUserLinkSysQueryDto.getPageNum(), sysUserLinkSysQueryDto.getPageSize()); Page result = sysUserLinkSysMapper.queryPage(page, sysUserLinkSysQueryDto); return new BasePageResult<>(sysUserLinkSysQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(), result.getRecords()); } /** * @version * @author: hxl * @Date: 2024/7/15 10:14 * @Description: 新增或修改 */ @Override public void addOrUpdate(SysUserLinkSysAddDto sysUserLinkSysAddDto) { List userIds ; if("1".equals(sysUserLinkSysAddDto.getFlag())){ userIds = sysUserService.getUserIds(); }else { userIds = sysUserLinkSysAddDto.getUserIds(); } if (userIds.size() > 0 && sysUserLinkSysAddDto.getSysId() != null && StringUtils.isNotEmpty(sysUserLinkSysAddDto.getFlag())) { List existUserIds = baseMapper.setByUserIds(userIds, sysUserLinkSysAddDto.getSysId()); userIds.removeAll(existUserIds); List addList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(userIds)) { for (String userId : userIds) { SysUserLinkSys sysUserLinkSys = new SysUserLinkSys(sysUserLinkSysAddDto.getSysId(), userId, new Date(), userId, new Date(), new BaseController().getUser().getId()); addList.add(sysUserLinkSys); } //添加 this.saveBatch(addList, 50); } } } /** * @version * @author: hxl * @Date: 2024/7/15 10:15 * @Description: 批量删除 */ @Override public void deleteByIds(List ids) { this.removeByIds(ids); } /** * @version * @author: hxl * @Date: 2024/7/15 10:15 * @Description: 查询所有的系统集合 */ @Override public List querySysList() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysSys::getSystemStatus, "1"); return sysSysService.list(queryWrapper); } /** * @version * @author: hxl * @Date: 2024/7/15 10:15 * @Description: 查询所有的用户列表 */ @Override public BasePageResult queryUserPage(SysUserDto sysUserDto) { Page page = new Page<>(sysUserDto.getPageNum(), sysUserDto.getPageSize()); Page result = sysUserLinkSysMapper.queryUserPage(page, sysUserDto); return new BasePageResult<>(sysUserDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(), result.getRecords()); } @Override public SysUserLinkSys checkSys(String id, String sysId) { return baseMapper.checkSys(id,sysId); } }