23 lines
692 B
Java
23 lines
692 B
Java
|
|
package io.as.modules.daycard.dao;
|
|||
|
|
|
|||
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
|
|
import io.as.modules.daycard.entity.DayCardPoolEntity;
|
|||
|
|
import org.apache.ibatis.annotations.Mapper;
|
|||
|
|
import org.apache.ibatis.annotations.Param;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 天卡池
|
|||
|
|
*/
|
|||
|
|
@Mapper
|
|||
|
|
public interface DayCardPoolDao extends BaseMapper<DayCardPoolEntity> {
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 使用 SELECT ... FOR UPDATE SKIP LOCKED 抢占一张未使用的天卡,
|
|||
|
|
* 避免多线程/多实例并发下单时分配到同一张卡。
|
|||
|
|
* <p>天卡池为通用池,不再按 partner 过滤</p>
|
|||
|
|
*
|
|||
|
|
* @return 被当前事务锁定的可用天卡行,无可用时返回 null
|
|||
|
|
*/
|
|||
|
|
DayCardPoolEntity selectOneForUpdateSkipLocked();
|
|||
|
|
}
|