提交 41f6b3e5 authored 作者: huyufan's avatar huyufan

同步运单

上级 cb5b253a
package com.clx.performance.controller.pc; package com.clx.performance.controller.pc;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
import com.clx.performance.param.pc.ArtificialCancelOrderParam; import com.clx.performance.param.pc.ArtificialCancelOrderParam;
import com.clx.performance.param.pc.OrderCancelParam; import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.param.pc.OrderChildCancelRecordParam; import com.clx.performance.param.pc.OrderChildCancelRecordParam;
import com.clx.performance.param.pc.PageOrderGoodsListParam; import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.service.OrderCancelService; import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.TransportSyncService;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.feign.transport.ThirdOrderChildBrokerResultVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.base.PageParam; import com.msl.common.base.PageParam;
...@@ -17,6 +29,7 @@ import io.swagger.annotations.Api; ...@@ -17,6 +29,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -32,6 +45,21 @@ public class OrderCancelController { ...@@ -32,6 +45,21 @@ public class OrderCancelController {
private final OrderCancelService orderCancelService; private final OrderCancelService orderCancelService;
@Autowired
private TransportSyncService transportSyncService;
@Autowired
private OrderChildDao orderChildDao;
@Autowired
private SettlementOwnerDetailDao settlementOwnerDetailDao;
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
private TransportFeignService transportFeignService;
@ApiOperation(value = "承运端取消订单", notes = "<br>By:胡宇帆") @ApiOperation(value = "承运端取消订单", notes = "<br>By:胡宇帆")
@PostMapping("/platformCancelOrderPre") @PostMapping("/platformCancelOrderPre")
public Result<Object> platformCancelOrderPre(@RequestBody OrderCancelParam param) { public Result<Object> platformCancelOrderPre(@RequestBody OrderCancelParam param) {
...@@ -67,4 +95,19 @@ public class OrderCancelController { ...@@ -67,4 +95,19 @@ public class OrderCancelController {
IPage<OrderChildVO> page = orderCancelService.orderChildCancelRecord(param); IPage<OrderChildVO> page = orderCancelService.orderChildCancelRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); return Result.page(page.getRecords(), page.getTotal(), page.getPages());
} }
@ApiOperation(value = "syncTest", notes = "<br>By:胡宇帆")
@GetMapping("/syncTest")
public Result<ThirdOrderChildBrokerResultVO> syncTest(@RequestParam String childNo) {
OrderChild orderChild = orderChildDao.getByChildNo(childNo).get();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).get();
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
ThirdOrderChildBrokerParam param = transportSyncService.generateOrderChildSync(orderChild, orderGoods, settlementOwnerDetail);
log.info("=======================生成Param{}", JSONUtil.parse(param));
Result<ThirdOrderChildBrokerResultVO> result = transportFeignService.orderChildSync(param);
return result;
}
} }
...@@ -2,9 +2,10 @@ package com.clx.performance.service; ...@@ -2,9 +2,10 @@ package com.clx.performance.service;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam; import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
public interface TransportSyncService { public interface TransportSyncService {
ThirdOrderChildBrokerParam orderChildSync(OrderChild orderChild, OrderGoods orderGoods); ThirdOrderChildBrokerParam generateOrderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail);
} }
...@@ -44,18 +44,18 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -44,18 +44,18 @@ public class TransportSyncServiceImpl implements TransportSyncService {
private final GdService gdService; private final GdService gdService;
@Override @Override
public ThirdOrderChildBrokerParam orderChildSync(OrderChild orderChild, OrderGoods orderGoods) { public ThirdOrderChildBrokerParam generateOrderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail) {
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo()); FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
ThirdOrderChildBrokerParam param = new ThirdOrderChildBrokerParam(); ThirdOrderChildBrokerParam param = new ThirdOrderChildBrokerParam();
FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData(); FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData();
FeignAddressVO.Address receiveAddress = data.getReceiveAddress(); FeignAddressVO.Address receiveAddress = data.getReceiveAddress();
FeignAddressVO.Address sendAddress = data.getSendAddress(); FeignAddressVO.Address sendAddress = data.getSendAddress();
//生成基础参数 //生成基础参数
generateBaseInfo(orderChild, orderGoods, param,sendAddress,receiveAddress, orderInfoFeign); generateBaseInfo(orderChild, orderGoods, param, sendAddress, receiveAddress, orderInfoFeign, settlementOwnerDetail);
//生成货单数据 //生成货单数据
generateOrderGoods(orderGoods, orderChild, sendAddress,receiveAddress, param); generateOrderGoods(orderGoods, orderChild, sendAddress, receiveAddress, param);
//生成车辆信息 //生成车辆信息
generateTruckInfo(orderChild,param); generateTruckInfo(orderChild, param);
List<GdRouteDTO> route = gdService.getRoute(orderGoods.getSendLongitude().setScale(4, RoundingMode.DOWN) List<GdRouteDTO> route = gdService.getRoute(orderGoods.getSendLongitude().setScale(4, RoundingMode.DOWN)
, orderGoods.getSendLatitude().setScale(4, RoundingMode.DOWN), , orderGoods.getSendLatitude().setScale(4, RoundingMode.DOWN),
orderGoods.getReceiveLongitude().setScale(4, RoundingMode.DOWN), orderGoods.getReceiveLongitude().setScale(4, RoundingMode.DOWN),
...@@ -92,7 +92,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -92,7 +92,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
FeignAddressVO.Address sendAddress, FeignAddressVO.Address sendAddress,
FeignAddressVO.Address receiveAddress, FeignOrderVO orderInfoFeign, FeignAddressVO.Address receiveAddress, FeignOrderVO orderInfoFeign,
SettlementOwnerDetail settlementOwnerDetail SettlementOwnerDetail settlementOwnerDetail
) { ) {
param.setChildNo(orderChild.getChildNo()); param.setChildNo(orderChild.getChildNo());
param.setFreightPrice(Integer.valueOf(orderChild.getFreightPrice().toString())); param.setFreightPrice(Integer.valueOf(orderChild.getFreightPrice().toString()));
param.setFreight(Integer.valueOf(orderChild.getFreight().toString())); param.setFreight(Integer.valueOf(orderChild.getFreight().toString()));
...@@ -179,6 +179,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -179,6 +179,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
orderGoodsDto.setArriveTime(DateUtils.formatDateTime(orderGoods.getLastArriveSendTime()).get()); orderGoodsDto.setArriveTime(DateUtils.formatDateTime(orderGoods.getLastArriveSendTime()).get());
param.setOrderInfoDTO(orderGoodsDto); param.setOrderInfoDTO(orderGoodsDto);
} }
//车辆信息 //车辆信息
public void generateTruckInfo(OrderChild orderChild, ThirdOrderChildBrokerParam param) { public void generateTruckInfo(OrderChild orderChild, ThirdOrderChildBrokerParam param) {
TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfo(orderChild.getTruckId()).getData(); TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfo(orderChild.getTruckId()).getData();
...@@ -206,7 +207,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -206,7 +207,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
} }
//车主信息 //车主信息
public void generateTruckDriverInfoDTO(DriverInfoFeignVo truckOwnerInfo,DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) { public void generateTruckDriverInfoDTO(DriverInfoFeignVo truckOwnerInfo, DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildDriverInfoDTO dto = new OrderChildDriverInfoDTO(); OrderChildDriverInfoDTO dto = new OrderChildDriverInfoDTO();
dto.setMobile(truckOwnerInfo.getMobile()); dto.setMobile(truckOwnerInfo.getMobile());
dto.setName(truckOwnerInfo.getName()); dto.setName(truckOwnerInfo.getName());
...@@ -235,7 +236,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -235,7 +236,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
} }
//司机信息 //司机信息
public void generateDriverInfoDTO(DriverInfoFeignVo driverInfo,DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) { public void generateDriverInfoDTO(DriverInfoFeignVo driverInfo, DriverLicenceFeignVO licenceVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildDriverInfoDTO dto = new OrderChildDriverInfoDTO(); OrderChildDriverInfoDTO dto = new OrderChildDriverInfoDTO();
dto.setMobile(driverInfo.getMobile()); dto.setMobile(driverInfo.getMobile());
dto.setName(driverInfo.getName()); dto.setName(driverInfo.getName());
...@@ -264,7 +265,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -264,7 +265,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
} }
//司机银行卡 //司机银行卡
public void generateDriverBankCard(BankCardVO bankCardVO,UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) { public void generateDriverBankCard(BankCardVO bankCardVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildBankInfoDTO dto = new OrderChildBankInfoDTO(); OrderChildBankInfoDTO dto = new OrderChildBankInfoDTO();
dto.setName(bankCardVO.getName()); dto.setName(bankCardVO.getName());
dto.setCardNo(bankCardVO.getCardNo()); dto.setCardNo(bankCardVO.getCardNo());
...@@ -280,7 +281,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -280,7 +281,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
} }
//车主银行卡 //车主银行卡
public void generateTruckDriverBankCard(BankCardVO bankCardVO,UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) { public void generateTruckDriverBankCard(BankCardVO bankCardVO, UserIdCardVO idCardVO, ThirdOrderChildBrokerParam param) {
OrderChildBankInfoDTO dto = new OrderChildBankInfoDTO(); OrderChildBankInfoDTO dto = new OrderChildBankInfoDTO();
dto.setName(bankCardVO.getName()); dto.setName(bankCardVO.getName());
dto.setCardNo(bankCardVO.getCardNo()); dto.setCardNo(bankCardVO.getCardNo());
...@@ -295,7 +296,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -295,7 +296,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
param.setTruckDriverBankInfoDTO(dto); param.setTruckDriverBankInfoDTO(dto);
} }
public void generateRouteList(GdRouteDTO gdRouteDTO,ThirdOrderChildBrokerParam param) { public void generateRouteList(GdRouteDTO gdRouteDTO, ThirdOrderChildBrokerParam param) {
List<OrderChildTruckTraceDTO> list = new LinkedList<>(); List<OrderChildTruckTraceDTO> list = new LinkedList<>();
for (int i = 0; i < gdRouteDTO.getPosList().size(); i++) { for (int i = 0; i < gdRouteDTO.getPosList().size(); i++) {
if (i == 6) { if (i == 6) {
...@@ -324,7 +325,7 @@ public class TransportSyncServiceImpl implements TransportSyncService { ...@@ -324,7 +325,7 @@ public class TransportSyncServiceImpl implements TransportSyncService {
list.add(dto); list.add(dto);
} else { } else {
OrderChildTruckTraceDTO dto = new OrderChildTruckTraceDTO(); OrderChildTruckTraceDTO dto = new OrderChildTruckTraceDTO();
int randomNum = (int) (Math.random() * (gdRouteDTO.getPosList().size() - 1) + 1); int randomNum = (int) (Math.random() * (gdRouteDTO.getPosList().size() - 1) + 1);
GdPosDTO gdPosDTO = gdRouteDTO.getPosList().get(randomNum); GdPosDTO gdPosDTO = gdRouteDTO.getPosList().get(randomNum);
BigDecimal longitude = gdPosDTO.getLongitude(); BigDecimal longitude = gdPosDTO.getLongitude();
......
package com.clx.performance.service.impl.settle; package com.clx.performance.service.impl.settle;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
import com.clx.performance.service.TransportSyncService;
import com.clx.performance.service.settle.SettlementMqService; import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.service.settle.SettlementService; import com.clx.performance.service.settle.SettlementService;
import com.clx.performance.vo.feign.transport.ThirdOrderChildBrokerResultVO;
import com.msl.common.result.Result;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -31,6 +38,13 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -31,6 +38,13 @@ public class SettlementServiceImpl implements SettlementService {
private SettlementDriverDetailDao settlementDriverDetailDao; private SettlementDriverDetailDao settlementDriverDetailDao;
@Autowired @Autowired
private SettlementMqService settlementMqService; private SettlementMqService settlementMqService;
@Autowired
private TransportSyncService transportSyncService;
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
private TransportFeignService transportFeignService;
@Override @Override
...@@ -53,8 +67,11 @@ public class SettlementServiceImpl implements SettlementService { ...@@ -53,8 +67,11 @@ public class SettlementServiceImpl implements SettlementService {
invoiceType = SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(); invoiceType = SettlementOwnerEnum.InvoiceType.ORDINARY.getCode();
settlementDriverDetail.setPrepayFreightFlag(0); settlementDriverDetail.setPrepayFreightFlag(0);
} else { } else {
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).get();
//是否通过风控,调用网络货运 //是否通过风控,调用网络货运
ThirdOrderChildBrokerParam param = transportSyncService.generateOrderChildSync(orderChild, orderGoods, settlementOwnerDetail);
Result<ThirdOrderChildBrokerResultVO> result = transportFeignService.orderChildSync(param);
System.out.println(result);
if (SettlementOwnerEnum.InvoiceType.ONLINE.getCode().equals(invoiceType) && settlementOwnerDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) { if (SettlementOwnerEnum.InvoiceType.ONLINE.getCode().equals(invoiceType) && settlementOwnerDetail.getPrepayFreight().compareTo(BigDecimal.ZERO) > 0) {
settlementDriverDetail.setPrepayFreightFlag(1); settlementDriverDetail.setPrepayFreightFlag(1);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论