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.InvoiceInfoMapper; import com.ruoyi.cwgl.domain.InvoiceInfo; import com.ruoyi.cwgl.service.IInvoiceInfoService; import com.ruoyi.common.core.text.Convert; /** * 企业发票信息Service业务层处理 * * @author ruoyi * @date 2025-12-15 */ @Service @Transactional(rollbackFor = Exception.class) public class InvoiceInfoServiceImpl extends BaseService implements IInvoiceInfoService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private InvoiceInfoMapper invoiceInfoMapper; /** * 查询企业发票信息 * * @param id 企业发票信息ID * @return 企业发票信息 */ @DataSource(DataSourceType.SLAVE) @Override public InvoiceInfo selectInvoiceInfoById(Integer id) { return invoiceInfoMapper.selectInvoiceInfoById(id); } /** * 查询企业发票信息 记录数 * * @param invoiceInfo 企业发票信息 * @return 企业发票信息集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectInvoiceInfoCount(InvoiceInfo invoiceInfo) { return invoiceInfoMapper.selectInvoiceInfoCount(invoiceInfo); } /** * 查询企业发票信息列表 * * @param invoiceInfo 企业发票信息 * @return 企业发票信息 */ @DataSource(DataSourceType.SLAVE) @Override public List selectInvoiceInfoList(InvoiceInfo invoiceInfo) { return invoiceInfoMapper.selectInvoiceInfoList(invoiceInfo); } /** * 查询企业发票信息列表 异步 导出 * * @param invoiceInfo 企业发票信息 * @param exportKey 导出功能的唯一标识 * @return 企业发票信息集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(InvoiceInfo invoiceInfo,String exportKey) { super.export(InvoiceInfo.class,exportKey,"invoiceInfoData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectInvoiceInfoList(invoiceInfo); }); } /** * 新增企业发票信息 * * @param invoiceInfo 企业发票信息 * @return 结果 */ @Override public int insertInvoiceInfo(InvoiceInfo invoiceInfo) { invoiceInfo.setCreateTime(DateUtils.getNowDate()); return invoiceInfoMapper.insertInvoiceInfo(invoiceInfo); } /** * 新增企业发票信息[批量] * * @param invoiceInfos 企业发票信息 * @return 结果 */ @Override public int insertInvoiceInfoBatch(List invoiceInfos) { int rows = invoiceInfoMapper.insertInvoiceInfoBatch(invoiceInfos); return rows; } /** * 修改企业发票信息 * * @param invoiceInfo 企业发票信息 * @return 结果 */ @Override public int updateInvoiceInfo(InvoiceInfo invoiceInfo) { invoiceInfo.setUpdateTime(DateUtils.getNowDate()); return invoiceInfoMapper.updateInvoiceInfo(invoiceInfo); } /** * 修改企业发票信息[批量] * * @param invoiceInfos 企业发票信息 * @return 结果 */ @Override public int updateInvoiceInfoBatch(List invoiceInfos){ return invoiceInfoMapper.updateInvoiceInfoBatch(invoiceInfos); } /** * 删除企业发票信息对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteInvoiceInfoByIds(String ids) { return deleteInvoiceInfoByIds(Convert.toIntArray(ids)); } /** * 删除企业发票信息对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteInvoiceInfoByIds(Integer[] ids) { return invoiceInfoMapper.deleteInvoiceInfoByIds(ids); } /** * 删除企业发票信息信息 * * @param id 企业发票信息ID * @return 结果 */ @Override public int deleteInvoiceInfoById(Integer id) { return invoiceInfoMapper.deleteInvoiceInfoById(id); } }