package com.gaotao.modules.automatedWarehouse.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gaotao.modules.automatedWarehouse.entity.WcsCallbackPalletScan; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @Description WCS回调栈板扫描Mapper - rqrq * @Author rqrq * @Date 2025/10/07 */ @Mapper public interface WcsCallbackPalletScanMapper extends BaseMapper { /** * @Description 获取待处理的回调记录 - rqrq * @param site 工厂编码 * @param maxRetryCount 最大重试次数 * @return List * @author rqrq * @date 2025/10/07 */ List getPendingCallbacks(@Param("site") String site, @Param("maxRetryCount") int maxRetryCount); // List getPendingCallbacksForAutoSort(@Param("site") String site, @Param("maxRetryCount") int maxRetryCount); /** * @Description 更新处理状态 - rqrq * @param id 记录ID * @param processStatus 处理状态 * @param errorMsg 错误信息 * @author rqrq * @date 2025/10/07 */ void updateProcessStatus(@Param("id") Long id, @Param("processStatus") String processStatus, @Param("errorMsg") String errorMsg); /** * @Description 使用乐观锁更新处理状态(防止重复处理)- rqrq * @param id 记录ID * @param oldStatus 原状态 * @param newStatus 新状态 * @return 更新的行数(0表示更新失败) * @author rqrq * @date 2025/10/30 */ int updateProcessStatusWithLock(@Param("id") Long id, @Param("oldStatus") String oldStatus, @Param("newStatus") String newStatus); /** * @Description 增加重试次数 - rqrq * @param id 记录ID * @author rqrq * @date 2025/10/07 */ void incrementRetryCount(@Param("id") Long id); }