package com.ruoyi.cwgl.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional; import org.springframework.stereotype.Service; import org.springframework.scheduling.annotation.Async; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.core.service.BaseService; import com.ruoyi.cwgl.mapper.PayableFeeDetailMapper; import com.ruoyi.cwgl.domain.PayableFeeDetail; import com.ruoyi.cwgl.service.IPayableFeeDetailService; import com.ruoyi.common.core.text.Convert; /** * 应付费用明细Service业务层处理 * * @author ruoyi * @date 2025-12-17 */ @Service @Transactional(rollbackFor = Exception.class) public class PayableFeeDetailServiceImpl extends BaseService implements IPayableFeeDetailService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private PayableFeeDetailMapper payableFeeDetailMapper; /** * 查询应付费用明细 * * @param id 应付费用明细ID * @return 应付费用明细 */ @DataSource(DataSourceType.SLAVE) @Override public PayableFeeDetail selectPayableFeeDetailById(Integer id) { return payableFeeDetailMapper.selectPayableFeeDetailById(id); } /** * 查询应付费用明细 记录数 * * @param payableFeeDetail 应付费用明细 * @return 应付费用明细集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectPayableFeeDetailCount(PayableFeeDetail payableFeeDetail) { return payableFeeDetailMapper.selectPayableFeeDetailCount(payableFeeDetail); } /** * 查询应付费用明细列表 * * @param payableFeeDetail 应付费用明细 * @return 应付费用明细 */ @DataSource(DataSourceType.SLAVE) @Override public List selectPayableFeeDetailList(PayableFeeDetail payableFeeDetail) { return payableFeeDetailMapper.selectPayableFeeDetailList(payableFeeDetail); } /** * 查询应付费用明细列表 异步 导出 * * @param payableFeeDetail 应付费用明细 * @param exportKey 导出功能的唯一标识 * @return 应付费用明细集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(PayableFeeDetail payableFeeDetail,String exportKey) { super.export(PayableFeeDetail.class,exportKey,"payableFeeDetailData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectPayableFeeDetailList(payableFeeDetail); }); } /** * 新增应付费用明细 * * @param payableFeeDetail 应付费用明细 * @return 结果 */ @Override public int insertPayableFeeDetail(PayableFeeDetail payableFeeDetail) { payableFeeDetail.setCreateTime(DateUtils.getNowDate()); return payableFeeDetailMapper.insertPayableFeeDetail(payableFeeDetail); } /** * 新增应付费用明细[批量] * * @param payableFeeDetails 应付费用明细 * @return 结果 */ @Override public int insertPayableFeeDetailBatch(List payableFeeDetails) { int rows = payableFeeDetailMapper.insertPayableFeeDetailBatch(payableFeeDetails); return rows; } /** * 修改应付费用明细 * * @param payableFeeDetail 应付费用明细 * @return 结果 */ @Override public int updatePayableFeeDetail(PayableFeeDetail payableFeeDetail) { payableFeeDetail.setUpdateTime(DateUtils.getNowDate()); return payableFeeDetailMapper.updatePayableFeeDetail(payableFeeDetail); } /** * 修改应付费用明细[批量] * * @param payableFeeDetails 应付费用明细 * @return 结果 */ @Override public int updatePayableFeeDetailBatch(List payableFeeDetails){ return payableFeeDetailMapper.updatePayableFeeDetailBatch(payableFeeDetails); } /** * 删除应付费用明细对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deletePayableFeeDetailByIds(String ids) { return deletePayableFeeDetailByIds(Convert.toIntArray(ids)); } /** * 删除应付费用明细对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deletePayableFeeDetailByIds(Integer[] ids) { return payableFeeDetailMapper.deletePayableFeeDetailByIds(ids); } /** * 删除应付费用明细信息 * * @param id 应付费用明细ID * @return 结果 */ @Override public int deletePayableFeeDetailById(Integer id) { return payableFeeDetailMapper.deletePayableFeeDetailById(id); } /** * 根据应付费用ID删除应付费用明细 * * @param payableFeeId 应付费用ID * @return 结果 */ @Override public int deletePayableFeeDetailByPayableFeeId(Integer payableFeeId) { return payableFeeDetailMapper.deletePayableFeeDetailByPayableFeeId(payableFeeId); } /** * 根据应付费用管理ID数组查询应付费用明细列表 * * @param feeIds 应付费用管理ID数组 * @return 应付费用明细列表 */ @DataSource(DataSourceType.SLAVE) @Override public List selectPayableFeeDetailByPayableFeeIds(Integer[] feeIds) { return payableFeeDetailMapper.selectPayableFeeDetailByPayableFeeIds(feeIds); } }