提交 d0f3ea2c authored 作者: jiangwujie's avatar jiangwujie

feature(电子围栏): 装车限制不影响短信发送,增加todo

上级 d3999cba
......@@ -812,6 +812,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
@Override
// todo :jiangwujie 事务判断 ,其他也检查一下
public void removeLoadLimit(ArtificialCancelOrderParam param) {
OrderChild orderChild = orderChildDao.getByChildNo(param.getOrderChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
//判断运单状态【已接单】【前往货源地】【到达货源地】时可对该运单解除装车限制,否则toast:不可操作
......@@ -819,7 +820,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
OrderChildEnum.Status.GO_TO_SEND.getCode(),
OrderChildEnum.Status.ARRIVE_SEND.getCode())
.contains(orderChild.getStatus())) {
log.error("运单:{} 状态:{}不在【已接单】【前往货源地】【到达货源地】范围中,不允许解除装车限制", param.getOrderChildNo(), orderChild.getStatus());
//todo log.error 检查一下
log.info("运单:{} 状态:{}不在【已接单】【前往货源地】【到达货源地】范围中,不允许解除装车限制", param.getOrderChildNo(), orderChild.getStatus());
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCEL_FORBID, "不可操作");
}
......
......@@ -3227,11 +3227,6 @@ public class OrderChildServiceImpl implements OrderChildService {
String childNo = child.getChildNo();
String truckNo = child.getTruckNo();
Long driverUserNo = child.getDriverUserNo();
//解除监装限制的不进行处理
if (Objects.equals(child.getRemoveLoadLimitStatus(), OrderChildEnum.RemoveLoadLimitStatus.REMOVED.getCode())) {
log.info("运单:{},卡车:{} 已解除监装限制", childNo, truckNo);
return;
}
//获取卡车的位置
TruckTraceDTO truckTraceDTO = truckTraceMap.get(truckNo);
BigDecimal truckLongitudeX = null;
......@@ -3257,12 +3252,13 @@ public class OrderChildServiceImpl implements OrderChildService {
siteLatitudeY);
if (distance == null) {
log.error("高德获取卡车与货源地位置距离失败,orderGoodsNo:{},orderChildNo:{},truckNo:{}", orderGoodsNo, childNo, truckNo);
return;
continue;
}
// 超出货源地+通知触发距离
if (distance > driverNoticeConfigVO.getNoticeTriggerDistanceMeter()) {
if (Objects.equals(child.getExitNoticeStatus(), OrderChildEnum.ExitNoticeStatus.NOT_NOTIFIED.getCode())
) {
// todo :jiangwujie 增加短信次数限制
//超出货源地x公里范围了,且通知状态为未通知
// 到达货源地
if (Objects.equals(child.getStatus(), OrderChildEnum.Status.ARRIVE_SEND.getCode())) {
......
......@@ -170,6 +170,7 @@ public class OrderChildSqlProvider {
}
public String findArtificialCancelOrder(@Param("param") ArtificialCancelOrderQueryParam param) {
//todo jiangwujie 改成 new SQL()形式
StringBuilder sql = new StringBuilder();
sql.append("SELECT child_no, goods_name, freight_price, order_no, ");
sql.append("send_address, receive_address, ");
......@@ -189,6 +190,7 @@ public class OrderChildSqlProvider {
if (StringUtils.isNotBlank(param.getTruckNo())) {
conditions.add("truck_no = #{param.truckNo}");
}
//todo :jiangwujie 支付状态 可以忽略 ,还是使用<= >=
List<Integer> statuses = Arrays.asList(
OrderChildEnum.Status.CREATED.getCode(),
OrderChildEnum.Status.GO_TO_SEND.getCode(),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论