package com.engine.salary.service.impl; import com.engine.core.impl.Service; import com.engine.salary.entity.salaryBill.po.SalarySendRangeObj; import com.engine.salary.mapper.salarybill.SalarySendRangeObjMapper; import com.engine.salary.service.SalarySendRangeObjService; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.ibatis.session.SqlSession; import weaver.conn.mybatis.MyBatisFactory; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.function.Function; import static com.engine.salary.constant.SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY; public class SalarySendRangeObjServiceImpl extends Service implements SalarySendRangeObjService { private R runSalarySendRangeObjMapper(Function mapper) { try (SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession()) { final SalarySendRangeObjMapper salarySendRangeObjMapper = sqlSession.getMapper(SalarySendRangeObjMapper.class); return mapper.apply(salarySendRangeObjMapper); } } @Override public List listBySalarySendIdAndRangeIds(Long salarySendId, List rangeIds) { if (salarySendId == null || CollectionUtils.isEmpty(rangeIds)) { return Collections.emptyList(); } return runSalarySendRangeObjMapper(mapper -> mapper.listBySalarySendIdAndRangeIds(salarySendId, rangeIds, DEFAULT_TENANT_KEY) ); } @Override public void batchInsert(List listObj) { if (listObj == null) { return; } List> p = Lists.partition(listObj, 150); p.forEach(list-> runSalarySendRangeObjMapper(m->m.batchInsert(list))); } @Override public void deleteBySalarySendIds(Collection salarySendIds) { runSalarySendRangeObjMapper(mapper->mapper.deleteBySalarySendIds(salarySendIds)); } @Override public void deleteByRangeIds(Collection rangeIds, Long currentEmployeeId) { } @Override public List getSendInfoIdsBySalarySendIdAndRangeIds(Long salarySendId, List rangeIds, Long employeeId) { return null; } }