提交 2e704eb5 authored 作者: aiqingguo's avatar aiqingguo

接单限制

上级 9383aa1d
...@@ -11,6 +11,8 @@ import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecord ...@@ -11,6 +11,8 @@ import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecord
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import java.time.LocalDateTime;
/** /**
* @author liruixin * @author liruixin
* Date 2023-10-24 * Date 2023-10-24
...@@ -20,7 +22,7 @@ public interface BreakContractDriverRecordDao extends BaseDao<BreakContractDrive ...@@ -20,7 +22,7 @@ public interface BreakContractDriverRecordDao extends BaseDao<BreakContractDrive
boolean updateSettlementNo(BreakContractDriverRecord item); boolean updateSettlementNo(BreakContractDriverRecord item);
Optional<BreakContractDriverRecord> selectLastLimitTimeByDriverUserNo(Long driverUserNo); Optional<BreakContractDriverRecord> selectLastLimitTimeByDriverUserNo(Long driverUserNo, LocalDateTime time);
IPage<BreakContractDriverRecordVO> pageByParam(PageBreakContractDriverRecordParam param); IPage<BreakContractDriverRecordVO> pageByParam(PageBreakContractDriverRecordParam param);
IPage<DriverBreakContractDriverRecordVO> driverPageByParam(DriverPageBreakContractDriverRecordParam param); IPage<DriverBreakContractDriverRecordVO> driverPageByParam(DriverPageBreakContractDriverRecordParam param);
......
...@@ -14,6 +14,8 @@ import com.msl.common.base.Optional; ...@@ -14,6 +14,8 @@ import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
/** /**
* @author liruixin * @author liruixin
* Date 2023-10-24 * Date 2023-10-24
...@@ -31,11 +33,12 @@ public class BreakContractDriverRecordDaoImpl extends BaseDaoImpl<BreakContractD ...@@ -31,11 +33,12 @@ public class BreakContractDriverRecordDaoImpl extends BaseDaoImpl<BreakContractD
} }
@Override @Override
public Optional<BreakContractDriverRecord> selectLastLimitTimeByDriverUserNo(Long driverUserNo) { public Optional<BreakContractDriverRecord> selectLastLimitTimeByDriverUserNo(Long driverUserNo, LocalDateTime time) {
return Optional.of(driverUserNo) return Optional.of(driverUserNo)
.map(item -> lQrWrapper() .map(item -> lQrWrapper()
.eq(BreakContractDriverRecord::getDriverUserNo, item) .eq(BreakContractDriverRecord::getDriverUserNo, item)
.isNotNull(BreakContractDriverRecord::getLimitTime) .isNotNull(BreakContractDriverRecord::getLimitTime)
.ge(BreakContractDriverRecord::getLimitTime, time)
.orderByDesc(BreakContractDriverRecord::getLimitTime) .orderByDesc(BreakContractDriverRecord::getLimitTime)
.last("limit 1") .last("limit 1")
) )
......
...@@ -1405,7 +1405,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1405,7 +1405,7 @@ public class OrderChildServiceImpl implements OrderChildService {
* 司机接单限制 * 司机接单限制
*/ */
private void driverTakeOrderLimit(Long driverUserNo){ private void driverTakeOrderLimit(Long driverUserNo){
Optional<BreakContractDriverRecord> limitOptional = breakContractDriverRecordDao.selectLastLimitTimeByDriverUserNo(driverUserNo); Optional<BreakContractDriverRecord> limitOptional = breakContractDriverRecordDao.selectLastLimitTimeByDriverUserNo(driverUserNo, LocalDateTime.now());
if (limitOptional.isPresent()){ if (limitOptional.isPresent()){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT, throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT,
PerformanceResultEnum.ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT.getMsg()+LocalDateTimeUtils.convertLocalDateTimeToString(limitOptional.get().getLimitTime(), "yyyy-MM-dd HH:mm")); PerformanceResultEnum.ORDER_CHILD_DRIVER_TAKE_ORDER_TIME_LIMIT.getMsg()+LocalDateTimeUtils.convertLocalDateTimeToString(limitOptional.get().getLimitTime(), "yyyy-MM-dd HH:mm"));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论