package org.jeecg.modules.dnc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.dnc.dto.DepartApproveUser; import org.jeecg.modules.dnc.mapper.DepartApproveUserMapper; import org.jeecg.modules.dnc.service.IDepartApproveUserService; import org.jeecg.modules.dnc.utils.ValidateUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class DepartApproveUserServiceImpl extends ServiceImpl implements IDepartApproveUserService { @Override public List getByDepartIds(List departIds) { if(departIds == null || departIds.isEmpty()) return null; List list = super.lambdaQuery().in(DepartApproveUser::getDepartId, departIds).list(); if(list == null || list.isEmpty()) return null; List userIds = new ArrayList<>(); list.forEach(item -> { userIds.add(item.getUserId()); }); return userIds; } @Override public Map getByDepartId(String departId) { if(!ValidateUtil.validateString(departId)) return null; List list = super.lambdaQuery().eq(DepartApproveUser::getDepartId, departId).list(); if(list == null || list.isEmpty()) return null; Map map = new HashMap<>(); list.forEach(item ->{ map.put(item.getUserId(), item); }); return map; } @Override @Transactional(rollbackFor = {Exception.class}) public boolean deleteByDepartId(String departId) { if(!ValidateUtil.validateString(departId)) return false; LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(DepartApproveUser::getDepartId, departId); return super.remove(lambdaQueryWrapper); } @Override public DepartApproveUser getByDepartIdAndUserId(String departId, String userId) { if(!ValidateUtil.validateString(departId) || !ValidateUtil.validateString(userId)) return null; List list = super.lambdaQuery().eq(DepartApproveUser::getDepartId, departId).eq(DepartApproveUser::getUserId, userId).list(); if(list == null || list.isEmpty()) return null; return list.get(0); } @Override @Transactional(rollbackFor = {Exception.class}) public boolean removeByCollection(List list) { if(list == null || list.isEmpty()) return false; if(list.size() == 1) return super.removeById(list.get(0).getApproveId()); List ids = new ArrayList<>(); list.forEach(item -> { ids.add(item.getApproveId()); }); return super.removeByIds(ids); } }