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.InvoiceDetailMapper; import com.ruoyi.cwgl.domain.InvoiceDetail; import com.ruoyi.cwgl.service.IInvoiceDetailService; import com.ruoyi.common.core.text.Convert; /** * 发票管理明细Service业务层处理 * * @author ruoyi * @date 2025-12-26 */ @Service @Transactional(rollbackFor = Exception.class) public class InvoiceDetailServiceImpl extends BaseService implements IInvoiceDetailService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private InvoiceDetailMapper invoiceDetailMapper; /** * 查询发票管理明细 * * @param id 发票管理明细ID * @return 发票管理明细 */ @DataSource(DataSourceType.SLAVE) @Override public InvoiceDetail selectInvoiceDetailById(Integer id) { return invoiceDetailMapper.selectInvoiceDetailById(id); } /** * 查询发票管理明细 记录数 * * @param invoiceDetail 发票管理明细 * @return 发票管理明细集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectInvoiceDetailCount(InvoiceDetail invoiceDetail) { return invoiceDetailMapper.selectInvoiceDetailCount(invoiceDetail); } /** * 查询发票管理明细列表 * * @param invoiceDetail 发票管理明细 * @return 发票管理明细 */ @DataSource(DataSourceType.SLAVE) @Override public List selectInvoiceDetailList(InvoiceDetail invoiceDetail) { return invoiceDetailMapper.selectInvoiceDetailList(invoiceDetail); } /** * 查询发票管理明细列表 异步 导出 * * @param invoiceDetail 发票管理明细 * @param exportKey 导出功能的唯一标识 * @return 发票管理明细集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(InvoiceDetail invoiceDetail,String exportKey) { super.export(InvoiceDetail.class,exportKey,"invoiceDetailData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectInvoiceDetailList(invoiceDetail); }); } /** * 新增发票管理明细 * * @param invoiceDetail 发票管理明细 * @return 结果 */ @Override public int insertInvoiceDetail(InvoiceDetail invoiceDetail) { invoiceDetail.setCreateTime(DateUtils.getNowDate()); return invoiceDetailMapper.insertInvoiceDetail(invoiceDetail); } /** * 新增发票管理明细[批量] * * @param invoiceDetails 发票管理明细 * @return 结果 */ @Override public int insertInvoiceDetailBatch(List invoiceDetails) { int rows = invoiceDetailMapper.insertInvoiceDetailBatch(invoiceDetails); return rows; } /** * 修改发票管理明细 * * @param invoiceDetail 发票管理明细 * @return 结果 */ @Override public int updateInvoiceDetail(InvoiceDetail invoiceDetail) { invoiceDetail.setUpdateTime(DateUtils.getNowDate()); return invoiceDetailMapper.updateInvoiceDetail(invoiceDetail); } /** * 修改发票管理明细[批量] * * @param invoiceDetails 发票管理明细 * @return 结果 */ @Override public int updateInvoiceDetailBatch(List invoiceDetails){ return invoiceDetailMapper.updateInvoiceDetailBatch(invoiceDetails); } /** * 删除发票管理明细对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteInvoiceDetailByIds(String ids) { return deleteInvoiceDetailByIds(Convert.toIntArray(ids)); } /** * 删除发票管理明细对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteInvoiceDetailByIds(Integer[] ids) { return invoiceDetailMapper.deleteInvoiceDetailByIds(ids); } /** * 删除发票管理明细信息 * * @param id 发票管理明细ID * @return 结果 */ @Override public int deleteInvoiceDetailById(Integer id) { return invoiceDetailMapper.deleteInvoiceDetailById(id); } }