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.PayableFeeManagementMapper; import com.ruoyi.cwgl.domain.PayableFeeManagement; import com.ruoyi.cwgl.service.IPayableFeeManagementService; 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 PayableFeeManagementServiceImpl extends BaseService implements IPayableFeeManagementService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private PayableFeeManagementMapper payableFeeManagementMapper; @Resource private IPayableFeeDetailService payableFeeDetailService; /** * 查询应付费用管理 * * @param id 应付费用管理ID * @return 应付费用管理 */ @DataSource(DataSourceType.SLAVE) @Override public PayableFeeManagement selectPayableFeeManagementById(Integer id) { return payableFeeManagementMapper.selectPayableFeeManagementById(id); } /** * 查询应付费用管理 记录数 * * @param payableFeeManagement 应付费用管理 * @return 应付费用管理集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectPayableFeeManagementCount(PayableFeeManagement payableFeeManagement) { return payableFeeManagementMapper.selectPayableFeeManagementCount(payableFeeManagement); } /** * 查询应付费用管理列表 * * @param payableFeeManagement 应付费用管理 * @return 应付费用管理 */ @DataSource(DataSourceType.SLAVE) @Override public List selectPayableFeeManagementList(PayableFeeManagement payableFeeManagement) { return payableFeeManagementMapper.selectPayableFeeManagementList(payableFeeManagement); } /** * 查询应付费用管理列表 异步 导出 * * @param payableFeeManagement 应付费用管理 * @param exportKey 导出功能的唯一标识 * @return 应付费用管理集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(PayableFeeManagement payableFeeManagement,String exportKey) { super.export(PayableFeeManagement.class,exportKey,"payableFeeManagementData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectPayableFeeManagementList(payableFeeManagement); }); } /** * 新增应付费用管理 * * @param payableFeeManagement 应付费用管理 * @return 结果 */ @Override public int insertPayableFeeManagement(PayableFeeManagement payableFeeManagement) { payableFeeManagement.setCreateTime(DateUtils.getNowDate()); // 保存主实体 int result = payableFeeManagementMapper.insertPayableFeeManagement(payableFeeManagement); Integer payableFeeId = payableFeeManagement.getId(); // 批量保存明细 if (payableFeeManagement.getPayableFeeDetailList() != null && !payableFeeManagement.getPayableFeeDetailList().isEmpty()) { payableFeeManagement.getPayableFeeDetailList().forEach(detail -> { detail.setPayableFeeId(payableFeeId); detail.setCreateTime(DateUtils.getNowDate()); }); payableFeeDetailService.insertPayableFeeDetailBatch(payableFeeManagement.getPayableFeeDetailList()); } return result; } /** * 新增应付费用管理[批量] * * @param payableFeeManagements 应付费用管理 * @return 结果 */ @Override public int insertPayableFeeManagementBatch(List payableFeeManagements) { int rows = payableFeeManagementMapper.insertPayableFeeManagementBatch(payableFeeManagements); return rows; } /** * 修改应付费用管理 * * @param payableFeeManagement 应付费用管理 * @return 结果 */ @Override public int updatePayableFeeManagement(PayableFeeManagement payableFeeManagement) { payableFeeManagement.setUpdateTime(DateUtils.getNowDate()); return payableFeeManagementMapper.updatePayableFeeManagement(payableFeeManagement); } /** * 修改应付费用管理[批量] * * @param payableFeeManagements 应付费用管理 * @return 结果 */ @Override public int updatePayableFeeManagementBatch(List payableFeeManagements){ return payableFeeManagementMapper.updatePayableFeeManagementBatch(payableFeeManagements); } /** * 删除应付费用管理对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deletePayableFeeManagementByIds(String ids) { return deletePayableFeeManagementByIds(Convert.toIntArray(ids)); } /** * 删除应付费用管理对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deletePayableFeeManagementByIds(Integer[] ids) { return payableFeeManagementMapper.deletePayableFeeManagementByIds(ids); } /** * 删除应付费用管理信息 * * @param id 应付费用管理ID * @return 结果 */ @Override public int deletePayableFeeManagementById(Integer id) { return payableFeeManagementMapper.deletePayableFeeManagementById(id); } }