提交 49629493 authored 作者: aiqingguo's avatar aiqingguo

装卸车时间验证

上级 3dc074e8
......@@ -53,6 +53,8 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_CHILD_LOAD_WEIGHT_ERROR(1312, "装货净重超过载重的1.5倍"),
ORDER_CHILD_UNLOAD_WEIGHT_ERROR(1313, "卸货净重超过载重的1.5倍"),
ORDER_CHILD_LOAD_TIME_ERROR(1314, "非装车时间端"),
ORDER_CHILD_UNLOAD_TIME_ERROR(1315, "非卸车时间端"),
;
......
package com.clx.performance.extranal.user;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.msl.common.base.Optional;
import org.springframework.web.bind.annotation.RequestParam;
public interface OrderService {
Optional<FeignOrderInfoVO> getOrderInfo(@RequestParam String orderNo);
}
package com.clx.performance.extranal.user.impl;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.extranal.user.OrderService;
import com.msl.common.base.Optional;
import com.msl.common.result.Result;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
@AllArgsConstructor
public class OrderServiceImpl implements OrderService {
private final OrderFeign orderFeign;
@Override
public Optional<FeignOrderInfoVO> getOrderInfo(String orderNo) {
return Optional.ofNullable(orderFeign.getOrderInfo(orderNo))
.filter(Result::succeed)
.map(Result::getData);
}
}
......@@ -2,10 +2,12 @@ package com.clx.performance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.dao.*;
import com.clx.performance.enums.*;
import com.clx.performance.extranal.user.AddressService;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.model.*;
import com.clx.performance.param.app.*;
import com.clx.performance.param.pc.OrderChildCarrierCancelParam;
......@@ -70,6 +72,7 @@ public class OrderChildServiceImpl implements OrderChildService {
private final OrderChildLogService orderChildLogService;
private final OrderChildPoundLogService orderChildPoundLogService;
private final AddressService addressService;
private final OrderService orderService;
private final DriverService driverService;
private final OrderChildStruct orderChildStruct;
......@@ -330,7 +333,7 @@ public class OrderChildServiceImpl implements OrderChildService {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_WEIGHT_ERROR);
}
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (orderChild.getLoadTime() == null && Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.ARRIVE_SEND.getCode())) {
updateLoadFirst(param, orderChild, orderGoods);
......@@ -353,6 +356,15 @@ public class OrderChildServiceImpl implements OrderChildService {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_TIMEOUT);
}
// 装车时间验证
FeignOrderInfoVO orderInfo = orderService.getOrderInfo(orderChild.getOrderNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
LocalDateTime now = LocalDateTime.now();
LocalDateTime beginTime = DateUtils.parseDateTime(DateUtils.formatDateTime(now, "yyyy-MM-dd ").get() + orderInfo.getLoadBeginTime()).get();
LocalDateTime endTime = DateUtils.parseDateTime(DateUtils.formatDateTime(now, "yyyy-MM-dd ").get() + orderInfo.getLoadEndTime()).get();
if (now.isBefore(beginTime) || now.isAfter(endTime)){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_TIME_ERROR);
}
List<OrderChildImage> imageList = new ArrayList<>();
for (String item : param.getLoadImageList()) {
OrderChildImage image = new OrderChildImage();
......@@ -452,6 +464,15 @@ public class OrderChildServiceImpl implements OrderChildService {
private void updateUnloadFirst(OrderChildUnloadParam param, OrderChild orderChild) {
String childNo = param.getChildNo();
// 装车时间验证
FeignOrderInfoVO orderInfo = orderService.getOrderInfo(orderChild.getOrderNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
LocalDateTime now = LocalDateTime.now();
LocalDateTime beginTime = DateUtils.parseDateTime(DateUtils.formatDateTime(now, "yyyy-MM-dd ").get() + orderInfo.getUnloadBeginTime()).get();
LocalDateTime endTime = DateUtils.parseDateTime(DateUtils.formatDateTime(now, "yyyy-MM-dd ").get() + orderInfo.getUnloadEndTime()).get();
if (now.isBefore(beginTime) || now.isAfter(endTime)){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_UNLOAD_TIME_ERROR);
}
List<OrderChildImage> imageList = new ArrayList<>();
for (String item : param.getUnloadImageList()) {
OrderChildImage image = new OrderChildImage();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论