package com.ruoyi.cwgl.service.impl; import java.util.Date; import java.util.List; import com.ruoyi.common.exception.ServiceException; 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.SmartLockerApplicationMapper; import com.ruoyi.cwgl.domain.SmartLockerApplication; import com.ruoyi.cwgl.service.ISmartLockerApplicationService; import com.ruoyi.common.core.text.Convert; /** * 智能柜物品申领管理Service业务层处理 * * @author ruoyi * @date 2025-09-09 */ @Service @Transactional(rollbackFor = Exception.class) public class SmartLockerApplicationServiceImpl extends BaseService implements ISmartLockerApplicationService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private SmartLockerApplicationMapper smartLockerApplicationMapper; /** * 查询智能柜物品申领管理 * * @param id 智能柜物品申领管理ID * @return 智能柜物品申领管理 */ @DataSource(DataSourceType.SLAVE) @Override public SmartLockerApplication selectSmartLockerApplicationById(Integer id) { return smartLockerApplicationMapper.selectSmartLockerApplicationById(id); } /** * 查询智能柜物品申领管理 记录数 * * @param smartLockerApplication 智能柜物品申领管理 * @return 智能柜物品申领管理集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectSmartLockerApplicationCount(SmartLockerApplication smartLockerApplication) { return smartLockerApplicationMapper.selectSmartLockerApplicationCount(smartLockerApplication); } /** * 查询智能柜物品申领管理列表 * * @param smartLockerApplication 智能柜物品申领管理 * @return 智能柜物品申领管理 */ @DataSource(DataSourceType.SLAVE) @Override public List selectSmartLockerApplicationList(SmartLockerApplication smartLockerApplication) { return smartLockerApplicationMapper.selectSmartLockerApplicationList(smartLockerApplication); } /** * 查询智能柜物品申领管理列表 异步 导出 * * @param smartLockerApplication 智能柜物品申领管理 * @param exportKey 导出功能的唯一标识 * @return 智能柜物品申领管理集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(SmartLockerApplication smartLockerApplication,String exportKey) { super.export(SmartLockerApplication.class,exportKey,"smartLockerApplicationData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectSmartLockerApplicationList(smartLockerApplication); }); } /** * 新增智能柜物品申领管理 * * @param smartLockerApplication 智能柜物品申领管理 * @return 结果 */ @Override public int insertSmartLockerApplication(SmartLockerApplication smartLockerApplication) { smartLockerApplication.setCreateTime(DateUtils.getNowDate()); return smartLockerApplicationMapper.insertSmartLockerApplication(smartLockerApplication); } /** * 新增智能柜物品申领管理[批量] * * @param smartLockerApplications 智能柜物品申领管理 * @return 结果 */ @Override public int insertSmartLockerApplicationBatch(List smartLockerApplications) { int rows = smartLockerApplicationMapper.insertSmartLockerApplicationBatch(smartLockerApplications); return rows; } /** * 修改智能柜物品申领管理 * * @param smartLockerApplication 智能柜物品申领管理 * @return 结果 */ @Override public int updateSmartLockerApplication(SmartLockerApplication smartLockerApplication) { smartLockerApplication.setUpdateTime(DateUtils.getNowDate()); return smartLockerApplicationMapper.updateSmartLockerApplication(smartLockerApplication); } /** * 修改智能柜物品申领管理[批量] * * @param smartLockerApplications 智能柜物品申领管理 * @return 结果 */ @Override public int updateSmartLockerApplicationBatch(List smartLockerApplications){ return smartLockerApplicationMapper.updateSmartLockerApplicationBatch(smartLockerApplications); } /** * 删除智能柜物品申领管理对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteSmartLockerApplicationByIds(String ids) { return deleteSmartLockerApplicationByIds(Convert.toIntArray(ids)); } /** * 删除智能柜物品申领管理对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteSmartLockerApplicationByIds(Integer[] ids) { return smartLockerApplicationMapper.deleteSmartLockerApplicationByIds(ids); } /** * 删除智能柜物品申领管理信息 * * @param id 智能柜物品申领管理ID * @return 结果 */ @Override public int deleteSmartLockerApplicationById(Integer id) { return smartLockerApplicationMapper.deleteSmartLockerApplicationById(id); } @Override public int invalid(Integer id) { SmartLockerApplication smartLockerApplication = smartLockerApplicationMapper.selectSmartLockerApplicationById(id); if (smartLockerApplication==null){ throw new ServiceException("数据不存在"); } smartLockerApplication.setCancelTime(new Date()); smartLockerApplication.setStatus(1); return smartLockerApplicationMapper.updateSmartLockerApplication(smartLockerApplication); } @Override @DataSource(DataSourceType.CWSJ) public Integer selectCwByLicensePlateNumber(String licensePlateNumber) { Integer integer = smartLockerApplicationMapper.selectCwByLicensePlateNumber(licensePlateNumber); if (integer==null){ throw new ServiceException("查询不到智能柜格口号"); } return integer; } @Override public void updateExpiredStatus() { int i = smartLockerApplicationMapper.updateExpiredStatus(); logger.info("更新{}条数据过期状态成功",i); } }