提交 fa5f0a49 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v6.9_bug_20231117' into release

......@@ -155,8 +155,9 @@ public enum OrderChildEnum {
// 完成
public static final List<Integer> FINISH_lIST = Arrays.asList(
Status.UNSETTLE.getCode()
Status.UNLOAD.getCode(),
Status.UNSETTLE.getCode(),
Status.COMPLETE.getCode()
);
// 运单数据同步一部状态
......
......@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
@FeignClient(name = "msl-document")
@FeignClient(name = "msl-document",configuration = PerformanceClientConfiguration.class)
public interface DocumentFeign {
/**
......
......@@ -8,7 +8,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = "clx-performance")
@FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface IntegralTruckFeign {
@ApiOperation(value = "新增车辆")
......
......@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@FeignClient(name = "clx-performance")
@FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface OrderChildFeign {
......
package com.clx.performance.feign;
import feign.Request;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class PerformanceClientConfiguration {
@Bean
public Request.Options requestOptions() {
return new Request.Options(5000, 5000);
}
}
\ No newline at end of file
......@@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Set;
@FeignClient(name = "clx-performance")
@FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface PerformanceFeign {
/**
......
......@@ -25,4 +25,6 @@ public class OrderChildReportParam {
@ApiModelProperty(value = "开始时间 必填")
@NotNull(message = "开始时间")
private String beginTime;
@ApiModelProperty(value = "订单编号")
private String orderNo;
}
......@@ -155,4 +155,5 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
OrderChild getOrderCompleteLastTruck(String orderNo);
Long haveArriveReceiveChild(String orderNo);
}
......@@ -91,7 +91,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
BigDecimal sumAlreadyTransportWeightByOrderNo(String orderNo);
List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId);
List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo);
}
......@@ -463,7 +463,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.last("limit 1");
OrderChild child = baseMapper.selectOne(query);
if(Objects.nonNull(child)){
return child.getFreight();
return child.getFreightPrice();
}
return BigDecimal.ZERO;
}
......@@ -486,4 +486,5 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.lt(OrderChild :: getStatus,OrderChildEnum.Status.ARRIVE_RECEIVE.getCode());
return baseMapper.selectCount(query);
}
}
......@@ -251,7 +251,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
@Override
public List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId) {
return baseMapper.getFreightPrice(sendAddressId,receiveAddressId);
public List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo) {
return baseMapper.getFreightPrice(orderNo,sendAddressId,receiveAddressId);
}
}
......@@ -104,10 +104,11 @@ public class OrderChildDtsListener {
public void syncLastTruck(FeignOrderVO orderInfoFeign,OrderChildMessage after){
//当运单状态为到达目的地之后的状态时候,需要判断最后一车的逻辑
if(after.getStatus() >= OrderChildEnum.Status.ARRIVE_RECEIVE.getCode() && after.getStatus() <= OrderChildEnum.Status.COMPLETE.getCode()){
if(Objects.equals(com.clx.open.sdk.enums.OrderChildEnum.Status.COMMON_CANCEL.getCode(),after.getStatus()) ||
(after.getStatus() >= OrderChildEnum.Status.ARRIVE_RECEIVE.getCode() && after.getStatus() <= OrderChildEnum.Status.COMPLETE.getCode())){
OrderChild child;
if(Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.COMPLETED.getCode()) ||
Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.SUCCESS.getCode())) { //订单变成已完成 || 已完结 (不存在司机可以取消的运单)
Objects.equals(orderInfoFeign.getOrderStatus(), OrderEnum.Status.SUCCESS.getCode())) { //订单变成已完成 || 已完结
OrderEnum.Status byCode = OrderEnum.Status.getByCode(orderInfoFeign.getOrderStatus());
log.info("订单号:{},运单号:{},订单状态:{},开始查询最后一车运单===========" ,orderInfoFeign.getOrderNo(),after.getChildNo(),
Objects.nonNull(byCode)?byCode.getName():"未知状态");
......
......@@ -87,8 +87,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@Select("select pending_order_freight from order_goods where " +
" send_address_id = #{sendAddressId} and" +
" receive_address_id = #{receiveAddressId} order by id desc limit 10 ")
List<Double> getFreightPrice(@Param("sendAddressId") Integer sendAddressId,
" receive_address_id = #{receiveAddressId} and order_no != #{orderNo} order by id desc limit 10 ")
List<Double> getFreightPrice(@Param("orderNo") String orderNo,
@Param("sendAddressId") Integer sendAddressId,
@Param("receiveAddressId") Integer receiveAddressId);
}
package com.clx.performance.service;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.*;
......@@ -9,8 +11,10 @@ import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import java.util.List;
import java.util.Objects;
/**
......
package com.clx.performance.service.impl;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.OrderEnum;
import com.clx.order.enums.ResultEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderInfoVO;
......@@ -38,11 +40,13 @@ import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.struct.*;
import com.clx.performance.utils.gd.GdService;
import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.*;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.clx.user.vo.pc.driver.truck.DriverTruckVo;
import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException;
......@@ -66,6 +70,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.TimeUnit;
......@@ -154,6 +159,12 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired
private FeignPaymentService feignPaymentService;
@Autowired
private TruckService truckService;
@Autowired
private ZjxlGpsService zjxlGpsService;
@Override
public SaveOrderChildVO saveOrderChild(OrderChildSaveParam param) {
......
......@@ -743,7 +743,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Override
public FreightEstimateVO listFreightEstimate(OrderChildReportParam param) {
List<Double> lossNet = orderChildDao.getLossNet(param);
List<Double> freightPrice = orderGoodsDao.getFreightPrice(param.getSendAddressId(), param.getReceiveAddressId());
List<Double> freightPrice = orderGoodsDao.getFreightPrice(param.getSendAddressId(), param.getReceiveAddressId(),param.getOrderNo());
FreightEstimateVO freightEstimateVO= new FreightEstimateVO();
freightEstimateVO.setLossNet(lossNet);
freightEstimateVO.setFreightPriceList(freightPrice);
......
......@@ -27,6 +27,7 @@ import com.msl.common.base.PageData;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
import com.msl.common.utils.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
......@@ -41,6 +42,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
......@@ -367,6 +370,20 @@ public class TruckServiceImpl implements TruckService {
@Override
public List<TruckTraceVO> getTruckTrace(TruckTraceParam param) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime endTime = DateUtils.parseDateTime(param.getEndTime()).get();
if(endTime.isAfter(now)){
throw new ServiceSystemException(ResultEnum.PARAM_ERROR,"结束时间不能晚于当前时间");
}
LocalDateTime beginTime = DateUtils.parseDateTime(param.getBeginTime()).get();
if(beginTime.isAfter(endTime)){
throw new ServiceSystemException(ResultEnum.PARAM_ERROR,"开始时间不能早于结束时间");
}
long seconds = Duration.between(beginTime, endTime).getSeconds();
if(seconds > 129600){
throw new ServiceSystemException(ResultEnum.PARAM_ERROR,"开始时间和结束时间不能相差超于3天");
}
List<TruckTraceDTO> truckTrace = zjxlGpsService.getTruckTrace(param.getTruckNo(), param.getBeginTime(),
param.getEndTime());
List<TruckTraceVO> result = new ArrayList<>();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论