| | |
| | | public class StaReserveServiceImpl extends ServiceImpl<StaReserveMapper, StaReserve> implements StaReserveService { |
| | | |
| | | public static final Long RESERVE_EXPIRE_TIME = 30 * 60 * 1000L; |
| | | public static final Long WAITING_EXPIRE_TIME = 5 * 60 * 1000L; |
| | | |
| | | public static final Integer DEFAULT_QTY = 1; |
| | | |
| | |
| | | qty = Optional.ofNullable(qty).orElse(DEFAULT_QTY); |
| | | |
| | | // update reserve to be waiting state |
| | | if (0 < this.baseMapper.updateStateToWaiting(sta.getId() |
| | | , task.getId() |
| | | int changed = this.baseMapper.updateStateToWaiting(task.getId() |
| | | , sta.getId() |
| | | , type.toString() |
| | | , StaReserveStateType.WAITING.toString())) { |
| | | , StaReserveStateType.WAITING.toString() |
| | | , WAITING_EXPIRE_TIME |
| | | ); |
| | | if (changed > 0) { |
| | | return true; |
| | | } |
| | | |
| | |
| | | if (Cools.isEmpty(list)) { |
| | | return false; |
| | | } |
| | | |
| | | StaReserve reserve = list.get(0); |
| | | |
| | | StaReserveStateType stateType = StaReserveStateType.of(reserve.getState()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Boolean rollbackWaitingToReserved(Sta sta, Task task, StaReserveType type) { |
| | | int changed = this.baseMapper.updateStateBackToWaiting( |
| | | task.getId() |
| | | , sta.getId() |
| | | , type.toString() |
| | | , StaReserveStateType.RESERVED.toString() |
| | | , WAITING_EXPIRE_TIME |
| | | ); |
| | | return changed > 0; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void confirmStaReserve(Sta sta, Task task, Integer qty, StaReserveType type) { |
| | | qty = Optional.ofNullable(qty).orElse(DEFAULT_QTY); |