Commit f11835ee by huluobin

采购物流回调

parent 278d3155
...@@ -2,6 +2,7 @@ package com.bailuntec.ana.application.order.impl; ...@@ -2,6 +2,7 @@ package com.bailuntec.ana.application.order.impl;
import com.bailuntec.ana.application.order.IOrderDetailService; import com.bailuntec.ana.application.order.IOrderDetailService;
import com.bailuntec.ana.application.order.IOrderSpecificationService; import com.bailuntec.ana.application.order.IOrderSpecificationService;
import com.bailuntec.ana.application.purchase.IPurchaseOrderService;
import com.bailuntec.ana.domain.order.Order; import com.bailuntec.ana.domain.order.Order;
import com.bailuntec.ana.domain.order.OrderDetail; import com.bailuntec.ana.domain.order.OrderDetail;
import com.bailuntec.ana.domain.purchase.PurchaseOrderDetail; import com.bailuntec.ana.domain.purchase.PurchaseOrderDetail;
...@@ -29,6 +30,8 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order ...@@ -29,6 +30,8 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order
@Resource @Resource
IOrderSpecificationService orderSpecificationService; IOrderSpecificationService orderSpecificationService;
@Resource
IPurchaseOrderService purchaseOrderService;
@Override @Override
public List<OrderDetail> selectByOrderIdAndPurchaseStatus(String orderId, Integer purchaseStatus) { public List<OrderDetail> selectByOrderIdAndPurchaseStatus(String orderId, Integer purchaseStatus) {
...@@ -42,13 +45,10 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order ...@@ -42,13 +45,10 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order
public void setOrderDetail(List<Order> orderList) { public void setOrderDetail(List<Order> orderList) {
List<String> orderIdList = orderList.stream().map(Order::getId).collect(Collectors.toList()); List<String> orderIdList = orderList.stream().map(Order::getId).collect(Collectors.toList());
if (ListUtil.isNotEmpty(orderIdList)) { if (ListUtil.isNotEmpty(orderIdList)) {
List<OrderDetail> orderDetailList = this.list(new LambdaQueryWrapper<OrderDetail>() List<OrderDetail> orderDetailList = this.list(new LambdaQueryWrapper<OrderDetail>().in(OrderDetail::getOrderId, orderIdList));
.in(OrderDetail::getOrderId, orderIdList));
orderSpecificationService.setOrderSpecification(orderDetailList); orderSpecificationService.setOrderSpecification(orderDetailList);
Map<String, List<OrderDetail>> orderDetailMap = orderDetailList.stream().collect(Collectors.groupingBy(OrderDetail::getOrderId));
Map<String, List<OrderDetail>> orderDetailMap = orderDetailList.stream()
.collect(Collectors.groupingBy(OrderDetail::getOrderId));
orderList.forEach(order -> order.setOrderDetailList(orderDetailMap.get(order.getId()))); orderList.forEach(order -> order.setOrderDetailList(orderDetailMap.get(order.getId())));
} }
...@@ -62,9 +62,7 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order ...@@ -62,9 +62,7 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order
List<OrderDetail> orderDetailList = this.listByIds(orderDetailIdList); List<OrderDetail> orderDetailList = this.listByIds(orderDetailIdList);
orderSpecificationService.setOrderSpecification(orderDetailList); orderSpecificationService.setOrderSpecification(orderDetailList);
Map<String, OrderDetail> orderDetailMap = orderDetailList.stream().collect(Collectors.toMap(OrderDetail::getOrderId, orderDetail -> orderDetail, (k1, k2) -> k1));
Map<String, OrderDetail> orderDetailMap = orderDetailList.stream()
.collect(Collectors.toMap(OrderDetail::getOrderId, orderDetail -> orderDetail, (k1, k2) -> k1));
purchaseOrderDetailList.forEach(purchaseOrderDetail -> purchaseOrderDetail.setOrderDetail(orderDetailMap.get(purchaseOrderDetail.getOrderDetailId()))); purchaseOrderDetailList.forEach(purchaseOrderDetail -> purchaseOrderDetail.setOrderDetail(orderDetailMap.get(purchaseOrderDetail.getOrderDetailId())));
} }
...@@ -75,6 +73,7 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order ...@@ -75,6 +73,7 @@ public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, Order
public void setOrderDetail(Order order) { public void setOrderDetail(Order order) {
List<OrderDetail> orderDetailList = baseMapper.selectByOrderId(order.getId()); List<OrderDetail> orderDetailList = baseMapper.selectByOrderId(order.getId());
orderSpecificationService.setOrderSpecification(orderDetailList); orderSpecificationService.setOrderSpecification(orderDetailList);
order.setOrderDetailList(orderDetailList);
} }
} }
package com.bailuntec.ana.application.purchase; package com.bailuntec.ana.application.purchase;
import com.bailuntec.ana.domain.purchase.LogisticsOrder; import com.bailuntec.ana.domain.purchase.LogisticsOrder;
import com.bailuntec.ana.vo.purchase.CallBackLogisticsOrder;
import com.bailuntec.ana.vo.purchase.PmsCallBackResult;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/** /**
* <p> * <p>
* 服务类 * 服务类
* </p> * </p>
* *
* @author robbendev * @author robbendev
...@@ -13,4 +17,12 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +17,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface ILogisticsOrderService extends IService<LogisticsOrder> { public interface ILogisticsOrderService extends IService<LogisticsOrder> {
/**
* <p>
* 物流信息回调
* </p>
*
* @param request
*/
void callBackLogisticsOrder(PmsCallBackResult<Map<String, CallBackLogisticsOrder>> request);
} }
...@@ -26,4 +26,12 @@ public interface IPurchaseOrderDetailService extends IService<PurchaseOrderDetai ...@@ -26,4 +26,12 @@ public interface IPurchaseOrderDetailService extends IService<PurchaseOrderDetai
*/ */
void setPurchaseOrderDetail(List<PurchaseOrder> purchaseOrderList); void setPurchaseOrderDetail(List<PurchaseOrder> purchaseOrderList);
/**
* <p>
* 设置采购订单详情
* </p>
*
* @param purchaseOrder param
*/
void setPurchaseOrderDetail(PurchaseOrder purchaseOrder);
} }
package com.bailuntec.ana.application.purchase; package com.bailuntec.ana.application.purchase;
import com.bailuntec.ana.domain.order.Order;
import com.bailuntec.ana.domain.purchase.PurchaseOrder; import com.bailuntec.ana.domain.purchase.PurchaseOrder;
import com.bailuntec.ana.vo.purchase.PmsCallBackResult; import com.bailuntec.ana.vo.purchase.PmsCallBackResult;
import com.bailuntec.ana.vo.purchase.PurchaseCallBackRequest; import com.bailuntec.ana.vo.purchase.PurchaseCallBackRequest;
...@@ -36,4 +37,12 @@ public interface IPurchaseOrderService extends IService<PurchaseOrder> { ...@@ -36,4 +37,12 @@ public interface IPurchaseOrderService extends IService<PurchaseOrder> {
* @return 采购订单 * @return 采购订单
*/ */
List<PurchaseOrder> listByOrderId(String orderId); List<PurchaseOrder> listByOrderId(String orderId);
/**
* 回调oms订单采购信息
*
* @param order 订单详情
*/
void callbackOms(Order order);
} }
package com.bailuntec.ana.application.purchase.impl; package com.bailuntec.ana.application.purchase.impl;
import com.bailuntec.ana.application.order.IOrderService;
import com.bailuntec.ana.application.purchase.ILogisticsOrderService;
import com.bailuntec.ana.application.purchase.IPurchaseOrderDetailService;
import com.bailuntec.ana.application.purchase.IPurchaseOrderService;
import com.bailuntec.ana.domain.order.Order;
import com.bailuntec.ana.domain.order.OrderDetail;
import com.bailuntec.ana.domain.purchase.LogisticsOrder; import com.bailuntec.ana.domain.purchase.LogisticsOrder;
import com.bailuntec.ana.domain.purchase.PurchaseOrder;
import com.bailuntec.ana.infrastructure.mapper.order.OrderDetailMapper;
import com.bailuntec.ana.infrastructure.mapper.purchase.LogisticsOrderMapper; import com.bailuntec.ana.infrastructure.mapper.purchase.LogisticsOrderMapper;
import com.bailuntec.ana.application.purchase.ILogisticsOrderService; import com.bailuntec.ana.infrastructure.mapper.purchase.PurchaseOrderMapper;
import com.bailuntec.ana.vo.order.resp.PublishOrderCallBackRequest;
import com.bailuntec.ana.vo.purchase.CallBackLogisticsOrder;
import com.bailuntec.ana.vo.purchase.PmsCallBackResult;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
* </p> * </p>
* *
* @author robbendev * @author robbendev
...@@ -17,4 +31,42 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +31,42 @@ import org.springframework.stereotype.Service;
@Service @Service
public class LogisticsOrderServiceImpl extends ServiceImpl<LogisticsOrderMapper, LogisticsOrder> implements ILogisticsOrderService { public class LogisticsOrderServiceImpl extends ServiceImpl<LogisticsOrderMapper, LogisticsOrder> implements ILogisticsOrderService {
@Resource
PurchaseOrderMapper purchaseOrderMapper;
@Resource
OrderDetailMapper orderDetailMapper;
@Resource
IPurchaseOrderDetailService purchaseOrderDetailService;
@Resource
IPurchaseOrderService purchaseOrderService;
@Resource
IOrderService orderService;
@Override
public void callBackLogisticsOrder(PmsCallBackResult<Map<String, CallBackLogisticsOrder>> request) {
request.getData().forEach((purchaseOrderNo, callBackLogisticsOrder) -> {
PurchaseOrder purchaseOrder = purchaseOrderMapper.selectByTaskTypeAndOrderNo(request.getName(), purchaseOrderNo);
purchaseOrderDetailService.setPurchaseOrderDetail(purchaseOrder);
LogisticsOrder logisticsOrder = new LogisticsOrder();
logisticsOrder.setCarrier(callBackLogisticsOrder.getCarrier());
logisticsOrder.setPurchaseOrderId(purchaseOrder.getId());
logisticsOrder.setPurchaseOrderNo(purchaseOrder.getOrderNo());
logisticsOrder.setTrackingNumber(callBackLogisticsOrder.getTrackingNumber());
baseMapper.insert(logisticsOrder);
purchaseOrder.getPurchaseOrderDetailList().forEach(purchaseOrderDetail -> {
OrderDetail orderDetail = purchaseOrderDetail.getOrderDetail();
orderDetail.setDeliveryStatus(OrderDetail.DELIVERY_STATUS_SUCCESS);
orderDetailMapper.updateById(orderDetail);
});
Order order = orderService.queryDetail(purchaseOrder.getOrderId());
boolean isPartialDelivery = order.getOrderDetailList().stream().anyMatch(orderDetail -> !orderDetail.getDeliveryStatus().equals(OrderDetail.DELIVERY_STATUS_SUCCESS));
order.setDeliveryStatus(isPartialDelivery ? PublishOrderCallBackRequest.DELIVERY_STATUS_PARTIAL_DELIVERY : Order.DELIVERY_STATUS_SUCCESS);
orderService.updateById(order);
purchaseOrderService.callbackOms(order);
});
}
} }
package com.bailuntec.ana.application.purchase.impl; package com.bailuntec.ana.application.purchase.impl;
import com.bailuntec.ana.application.order.IOrderDetailService;
import com.bailuntec.ana.application.purchase.IPurchaseOrderDetailService; import com.bailuntec.ana.application.purchase.IPurchaseOrderDetailService;
import com.bailuntec.ana.domain.order.OrderDetail;
import com.bailuntec.ana.domain.purchase.PurchaseOrder; import com.bailuntec.ana.domain.purchase.PurchaseOrder;
import com.bailuntec.ana.domain.purchase.PurchaseOrderDetail; import com.bailuntec.ana.domain.purchase.PurchaseOrderDetail;
import com.bailuntec.ana.infrastructure.common.util.ListUtil; import com.bailuntec.ana.infrastructure.common.util.ListUtil;
import com.bailuntec.ana.infrastructure.mapper.order.OrderDetailMapper;
import com.bailuntec.ana.infrastructure.mapper.purchase.PurchaseOrderDetailMapper; import com.bailuntec.ana.infrastructure.mapper.purchase.PurchaseOrderDetailMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -24,6 +28,8 @@ import java.util.stream.Collectors; ...@@ -24,6 +28,8 @@ import java.util.stream.Collectors;
@Service @Service
public class PurchaseOrderDetailServiceImpl extends ServiceImpl<PurchaseOrderDetailMapper, PurchaseOrderDetail> implements IPurchaseOrderDetailService { public class PurchaseOrderDetailServiceImpl extends ServiceImpl<PurchaseOrderDetailMapper, PurchaseOrderDetail> implements IPurchaseOrderDetailService {
@Resource
IOrderDetailService orderDetailService;
@Override @Override
public void setPurchaseOrderDetail(List<PurchaseOrder> purchaseOrderList) { public void setPurchaseOrderDetail(List<PurchaseOrder> purchaseOrderList) {
...@@ -32,12 +38,19 @@ public class PurchaseOrderDetailServiceImpl extends ServiceImpl<PurchaseOrderDet ...@@ -32,12 +38,19 @@ public class PurchaseOrderDetailServiceImpl extends ServiceImpl<PurchaseOrderDet
List<PurchaseOrderDetail> purchaseOrderDetailList = baseMapper.selectList(new LambdaQueryWrapper<PurchaseOrderDetail>() List<PurchaseOrderDetail> purchaseOrderDetailList = baseMapper.selectList(new LambdaQueryWrapper<PurchaseOrderDetail>()
.in(PurchaseOrderDetail::getPurchaseOrderId, purchaseOrderIdList)); .in(PurchaseOrderDetail::getPurchaseOrderId, purchaseOrderIdList));
orderDetailService.setPurchaseOrderDetailOrderDetail(purchaseOrderDetailList);
Map<String, List<PurchaseOrderDetail>> listMap = purchaseOrderDetailList.stream() Map<String, List<PurchaseOrderDetail>> listMap = purchaseOrderDetailList.stream()
.collect(Collectors.groupingBy(PurchaseOrderDetail::getPurchaseOrderId)); .collect(Collectors.groupingBy(PurchaseOrderDetail::getPurchaseOrderId));
purchaseOrderList.forEach(purchaseOrder -> { purchaseOrderList.forEach(purchaseOrder -> purchaseOrder.setPurchaseOrderDetailList(listMap.get(purchaseOrder.getId())));
purchaseOrder.setPurchaseOrderDetailList(listMap.get(purchaseOrder.getId()));
});
} }
} }
@Override
public void setPurchaseOrderDetail(PurchaseOrder purchaseOrder) {
List<PurchaseOrderDetail> purchaseOrderDetailList = baseMapper.selectByPurchaseOrderId(purchaseOrder.getId());
orderDetailService.setPurchaseOrderDetailOrderDetail(purchaseOrderDetailList);
purchaseOrder.setPurchaseOrderDetailList(purchaseOrderDetailList);
}
} }
...@@ -108,10 +108,12 @@ public class PurchaseOrderServiceImpl extends ServiceImpl<PurchaseOrderMapper, P ...@@ -108,10 +108,12 @@ public class PurchaseOrderServiceImpl extends ServiceImpl<PurchaseOrderMapper, P
PurchaseOrder purchaseOrder = new PurchaseOrder(); PurchaseOrder purchaseOrder = new PurchaseOrder();
purchaseOrder.setOrderNo(purchaseOrderNo); purchaseOrder.setOrderNo(purchaseOrderNo);
purchaseOrder.setPurchaseTaskId(purchaseTaskId); purchaseOrder.setPurchaseTaskId(purchaseTaskId);
purchaseOrder.setPurchasePlat(purchaseTask.getPurchasePlat());
purchaseOrder.setTotalTax(new Currency(totalTax)); purchaseOrder.setTotalTax(new Currency(totalTax));
purchaseOrder.setTotalPrice(new Currency(totalPrice)); purchaseOrder.setTotalPrice(new Currency(totalPrice));
purchaseOrder.setTotalShipCost(new Currency(totalShip)); purchaseOrder.setTotalShipCost(new Currency(totalShip));
purchaseOrder.setOrderId(purchaseTask.getOrderId()); purchaseOrder.setOrderId(purchaseTask.getOrderId());
baseMapper.insert(purchaseOrder); baseMapper.insert(purchaseOrder);
//采购订单详情 //采购订单详情
...@@ -145,28 +147,49 @@ public class PurchaseOrderServiceImpl extends ServiceImpl<PurchaseOrderMapper, P ...@@ -145,28 +147,49 @@ public class PurchaseOrderServiceImpl extends ServiceImpl<PurchaseOrderMapper, P
order.setPurchaseStatus(isPartialPurchase ? PublishOrderCallBackRequest.PURCHASE_STATUS_PARTIAL_PURCHASE : Order.PURCHASE_STATUS_SUCCESS); order.setPurchaseStatus(isPartialPurchase ? PublishOrderCallBackRequest.PURCHASE_STATUS_PARTIAL_PURCHASE : Order.PURCHASE_STATUS_SUCCESS);
orderService.updateById(order); orderService.updateById(order);
//回调oms系统
PublishOrderCallBackRequest callBackRequest = new PublishOrderCallBackRequest();
callBackRequest.setStatus(isPartialPurchase ? PublishOrderCallBackRequest.PURCHASE_STATUS_PARTIAL_PURCHASE : PublishOrderCallBackRequest.PURCHASE_STATUS_SUCCESS);
callBackRequest.setPdsAccountId(order.getPdsAccountId());
List<PurchaseOrder> purchaseOrderList = this.listByOrderId(order.getId());
callBackRequest.setPurchaseInfos(purchaseOrderList.stream().map(purchaseOrder -> {
PurchaseInfo purchaseInfo = new PurchaseInfo();
purchaseInfo.setPurchaseOrderNo(purchaseOrder.getOrderNo());
purchaseInfo.setTax(purchaseOrder.getTotalTax());
purchaseInfo.setShippingCost(purchaseOrder.getTotalShipCost());
purchaseInfo.setPlatSkus(purchaseOrder.getPurchaseOrderDetailList().stream().map(purchaseOrderDetail -> purchaseOrderDetail.getOrderDetail()
.getSkuNo()).collect(Collectors.toList()));
return purchaseInfo;
})
.collect(Collectors.toList()));
omsApi.updateOrderStatusForAna(callBackRequest);
} }
} }
@Override
public void callbackOms(Order order) {
List<PurchaseOrder> purchaseOrderList = this.listByOrderId(order.getId());
//回调oms系统
PublishOrderCallBackRequest callBackRequest = new PublishOrderCallBackRequest();
//采购状态
if (order.getPurchaseStatus().equals(Order.PURCHASE_STATUS_PARTIAL_PURCHASE)) {
callBackRequest.setStatus(PublishOrderCallBackRequest.PURCHASE_STATUS_PARTIAL_PURCHASE);
} else if (order.getPurchaseStatus().equals(Order.PURCHASE_STATUS_SUCCESS)) {
callBackRequest.setStatus(PublishOrderCallBackRequest.PURCHASE_STATUS_SUCCESS);
} else {
return;
}
if (order.getDeliveryStatus().equals(Order.DELIVERY_STATUS_PARTIAL_DELIVERY)) {
callBackRequest.setStatus(PublishOrderCallBackRequest.DELIVERY_STATUS_PARTIAL_DELIVERY);
}
if (order.getDeliveryStatus().equals(Order.DELIVERY_STATUS_SUCCESS)) {
callBackRequest.setStatus(PublishOrderCallBackRequest.DELIVERY_STATUS_SUCCESS);
}
callBackRequest.setPdsAccountId(order.getPdsAccountId());
callBackRequest.setPurchaseInfos(purchaseOrderList.stream().map(purchaseOrder -> {
PurchaseInfo purchaseInfo = new PurchaseInfo();
purchaseInfo.setPurchaseOrderNo(purchaseOrder.getOrderNo());
purchaseInfo.setTax(purchaseOrder.getTotalTax());
purchaseInfo.setShippingCost(purchaseOrder.getTotalShipCost());
purchaseInfo.setPlatSkus(purchaseOrder.getPurchaseOrderDetailList().stream().map(purchaseOrderDetail -> purchaseOrderDetail.getOrderDetail()
.getSkuNo()).collect(Collectors.toList()));
return purchaseInfo;
})
.collect(Collectors.toList()));
omsApi.updateOrderStatusForAna(callBackRequest);
}
@Resource @Resource
IPurchaseOrderDetailService purchaseOrderDetailService; IPurchaseOrderDetailService purchaseOrderDetailService;
......
...@@ -7,6 +7,7 @@ import com.bailuntec.ana.domain.order.OrderDetail; ...@@ -7,6 +7,7 @@ import com.bailuntec.ana.domain.order.OrderDetail;
import com.bailuntec.ana.domain.order.OrderSpecification; import com.bailuntec.ana.domain.order.OrderSpecification;
import com.bailuntec.ana.domain.purchase.PurchaseTask; import com.bailuntec.ana.domain.purchase.PurchaseTask;
import com.bailuntec.ana.domain.purchase.PurchaseTaskDetail; import com.bailuntec.ana.domain.purchase.PurchaseTaskDetail;
import com.bailuntec.ana.infrastructure.common.constant.PurchaseTaskConstant;
import com.bailuntec.ana.infrastructure.feign.PmsApi; import com.bailuntec.ana.infrastructure.feign.PmsApi;
import com.bailuntec.ana.infrastructure.mapper.order.OrderDetailMapper; import com.bailuntec.ana.infrastructure.mapper.order.OrderDetailMapper;
import com.bailuntec.ana.infrastructure.mapper.order.OrderSpecificationMapper; import com.bailuntec.ana.infrastructure.mapper.order.OrderSpecificationMapper;
...@@ -51,10 +52,14 @@ public class PurchaseTaskServiceImpl extends ServiceImpl<PurchaseTaskMapper, Pur ...@@ -51,10 +52,14 @@ public class PurchaseTaskServiceImpl extends ServiceImpl<PurchaseTaskMapper, Pur
@Override @Override
public void addTask(Order order, public void addTask(Order order,
String taskType) { String taskType) {
order.getOrderDetailList().forEach(orderDetail -> {
//按订单详情的采购平台分组拆分采购订单
for (OrderDetail orderDetail : order.getOrderDetailList()) {
PurchaseTask purchaseTask = new PurchaseTask(); PurchaseTask purchaseTask = new PurchaseTask();
purchaseTask.setOrderId(order.getId()); purchaseTask.setOrderId(order.getId());
purchaseTask.setTaskType(taskType); purchaseTask.setTaskType(taskType);
purchaseTask.setPurchasePlat(orderDetail.getPurchasePlat());
purchaseTaskMapper.insert(purchaseTask); purchaseTaskMapper.insert(purchaseTask);
PurchaseTaskDetail purchaseTaskDetail = new PurchaseTaskDetail(); PurchaseTaskDetail purchaseTaskDetail = new PurchaseTaskDetail();
...@@ -84,8 +89,11 @@ public class PurchaseTaskServiceImpl extends ServiceImpl<PurchaseTaskMapper, Pur ...@@ -84,8 +89,11 @@ public class PurchaseTaskServiceImpl extends ServiceImpl<PurchaseTaskMapper, Pur
request.setProducts(Lists.newArrayList(purchaseProduct)); request.setProducts(Lists.newArrayList(purchaseProduct));
if (orderDetail.getPurchasePlat().equals("ebay")) {
taskType = PurchaseTaskConstant.ebayPurchaseT;
}
pmsApi.task(taskType, purchaseTask.getId(), 1, request); pmsApi.task(taskType, purchaseTask.getId(), 1, request);
}); }
} }
......
...@@ -108,7 +108,7 @@ public class OrderDetail extends BaseModel { ...@@ -108,7 +108,7 @@ public class OrderDetail extends BaseModel {
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "采购状态1-未采购 2-采购中 3-采购失败 4-采购完成") @ApiModelProperty(value = "采购状态1-未采购 2-采购中 3-采购失败 4-采购完成")
private Integer purchaseStatusStr; private String purchaseStatusStr;
private String purchaseMessage; private String purchaseMessage;
...@@ -118,7 +118,7 @@ public class OrderDetail extends BaseModel { ...@@ -118,7 +118,7 @@ public class OrderDetail extends BaseModel {
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "采购状态1-未采购 2-采购中 3-采购失败 4-采购完成") @ApiModelProperty(value = "采购状态1-未采购 2-采购中 3-采购失败 4-采购完成")
private Integer deliveryStatusStr; private String deliveryStatusStr;
/** /**
* <p> * <p>
......
...@@ -32,6 +32,9 @@ public class LogisticsOrder extends BaseModel { ...@@ -32,6 +32,9 @@ public class LogisticsOrder extends BaseModel {
@ApiModelProperty(value = "采购订单id") @ApiModelProperty(value = "采购订单id")
private String purchaseOrderId; private String purchaseOrderId;
@ApiModelProperty(value = "采购订单号")
private String purchaseOrderNo;
@ApiModelProperty(value = "物流单号") @ApiModelProperty(value = "物流单号")
private String trackingNumber; private String trackingNumber;
......
...@@ -44,6 +44,9 @@ public class PurchaseOrder extends BaseModel { ...@@ -44,6 +44,9 @@ public class PurchaseOrder extends BaseModel {
@ApiModelProperty(value = "采购任务id") @ApiModelProperty(value = "采购任务id")
private String purchaseTaskId; private String purchaseTaskId;
@ApiModelProperty(value = "采购平台")
private String purchasePlat;
@ApiModelProperty(value = "平台订单id") @ApiModelProperty(value = "平台订单id")
private String orderId; private String orderId;
......
...@@ -42,5 +42,7 @@ public class PurchaseTask extends BaseModel { ...@@ -42,5 +42,7 @@ public class PurchaseTask extends BaseModel {
@ApiModelProperty(value = "任务信息") @ApiModelProperty(value = "任务信息")
private String message; private String message;
@ApiModelProperty(value = "采购平台")
private String purchasePlat;
} }
...@@ -103,8 +103,9 @@ public class DictTransferAspect { ...@@ -103,8 +103,9 @@ public class DictTransferAspect {
//设置翻译后的字典值 //设置翻译后的字典值
valueField.set(object, value); valueField.set(object, value);
} }
if ((field.getType().isAnnotationPresent(ApiModel.class) || field.getType().isAnnotationPresent(TableName.class)) && if ((field.getType().isAnnotationPresent(ApiModel.class)
!field.getDeclaringClass().getName().equals(object.getClass().getName())) { || field.getType().isAnnotationPresent(TableName.class))
&& !field.getDeclaringClass().getName().equals(object.getClass().getName())) {
field.setAccessible(true); field.setAccessible(true);
Object subObject = field.get(object); Object subObject = field.get(object);
...@@ -112,6 +113,14 @@ public class DictTransferAspect { ...@@ -112,6 +113,14 @@ public class DictTransferAspect {
this.dictTransfer(subObject); this.dictTransfer(subObject);
} }
} }
if (field.getType().equals(List.class)) {
field.setAccessible(true);
Object subObject = field.get(object);
if (subObject != null) {
this.dictTransfer(subObject);
}
}
} }
} }
......
...@@ -3,9 +3,11 @@ package com.bailuntec.ana.infrastructure.mapper.purchase; ...@@ -3,9 +3,11 @@ package com.bailuntec.ana.infrastructure.mapper.purchase;
import com.bailuntec.ana.domain.purchase.PurchaseOrderDetail; import com.bailuntec.ana.domain.purchase.PurchaseOrderDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/** /**
* <p> * <p>
* Mapper 接口 * Mapper 接口
* </p> * </p>
* *
* @author robbendev * @author robbendev
...@@ -13,4 +15,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +15,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface PurchaseOrderDetailMapper extends BaseMapper<PurchaseOrderDetail> { public interface PurchaseOrderDetailMapper extends BaseMapper<PurchaseOrderDetail> {
/**
* <p>
* 查询采购单详情
* </p>
*
* @param id 采购单id
* @return 详情列表
*/
List<PurchaseOrderDetail> selectByPurchaseOrderId(String id);
} }
...@@ -2,6 +2,7 @@ package com.bailuntec.ana.infrastructure.mapper.purchase; ...@@ -2,6 +2,7 @@ package com.bailuntec.ana.infrastructure.mapper.purchase;
import com.bailuntec.ana.domain.purchase.PurchaseOrder; import com.bailuntec.ana.domain.purchase.PurchaseOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -24,4 +25,15 @@ public interface PurchaseOrderMapper extends BaseMapper<PurchaseOrder> { ...@@ -24,4 +25,15 @@ public interface PurchaseOrderMapper extends BaseMapper<PurchaseOrder> {
* @return 采购订单 * @return 采购订单
*/ */
List<PurchaseOrder> selectByOrderId(String orderId); List<PurchaseOrder> selectByOrderId(String orderId);
/**
* <p>
* 根据采购任务的任务类型和采购订单号查询采购订单
* </p>
*
* @param taskType 采购任务类型
* @param purchaseOrderNo 采购订单号
* @return 采购订单
*/
PurchaseOrder selectByTaskTypeAndOrderNo(@Param("taskType") String taskType, @Param("purchaseOrderNo") String purchaseOrderNo);
} }
package com.bailuntec.ana.interfaces.purchase; package com.bailuntec.ana.interfaces.purchase;
import com.bailuntec.ana.application.purchase.ILogisticsOrderService;
import com.bailuntec.ana.infrastructure.common.base.BaseResult; import com.bailuntec.ana.infrastructure.common.base.BaseResult;
import com.bailuntec.ana.vo.purchase.CallBackLogisticsOrder; import com.bailuntec.ana.vo.purchase.CallBackLogisticsOrder;
import com.bailuntec.ana.vo.purchase.PmsCallBackResult; import com.bailuntec.ana.vo.purchase.PmsCallBackResult;
...@@ -11,6 +12,9 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -11,6 +12,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/** /**
* <p> * <p>
* 前端控制器 * 前端控制器
...@@ -24,6 +28,9 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -24,6 +28,9 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/api/logisticsOrder") @RequestMapping("/api/logisticsOrder")
public class LogisticsOrderController { public class LogisticsOrderController {
@Resource
ILogisticsOrderService logisticsOrderService;
/** /**
* <p> * <p>
* 回调订单物流状态 * 回调订单物流状态
...@@ -34,7 +41,8 @@ public class LogisticsOrderController { ...@@ -34,7 +41,8 @@ public class LogisticsOrderController {
*/ */
@ApiOperation("回调订单物流状态") @ApiOperation("回调订单物流状态")
@PostMapping("/callBackLogisticsOrder") @PostMapping("/callBackLogisticsOrder")
public BaseResult<Void> callBackLogisticsOrder(@RequestBody PmsCallBackResult<CallBackLogisticsOrder> request) { public BaseResult<Void> callBackLogisticsOrder(@RequestBody PmsCallBackResult<Map<String, CallBackLogisticsOrder>> request) {
logisticsOrderService.callBackLogisticsOrder(request);
return BaseResult.success(); return BaseResult.success();
} }
} }
...@@ -57,21 +57,20 @@ public class PurchaseOrderController { ...@@ -57,21 +57,20 @@ public class PurchaseOrderController {
@ApiOperation("采购订单通用回调") @ApiOperation("采购订单通用回调")
@PostMapping("/commonPmsCallback") @PostMapping("/commonPmsCallback")
public BaseResult<Void> commonPmsCallback(@RequestBody String callbackJson) { public BaseResult<Void> commonPmsCallback(@RequestBody String callbackJson) {
Map<String, String> map = JsonUtilByJackson.readValue(callbackJson, new TypeReference<Map<String, String>>() { Map<String, Object> map = JsonUtilByJackson.readValue(callbackJson, new TypeReference<Map<String, Object>>() {
}); });
if (map == null) { if (map == null) {
throw new InvalidParameterException(); throw new InvalidParameterException();
} }
String name = map.get("name"); String name = String.valueOf(map.get("name"));
switch (name) { switch (name) {
case PurchaseTaskConstant case PurchaseTaskConstant.ebayPurchase:
.ebayPurchase:
PmsCallBackResult<PurchaseCallBackRequest> request = JsonUtilByJackson.readValue(callbackJson, new TypeReference<PmsCallBackResult<PurchaseCallBackRequest>>() { PmsCallBackResult<PurchaseCallBackRequest> request = JsonUtilByJackson.readValue(callbackJson, new TypeReference<PmsCallBackResult<PurchaseCallBackRequest>>() {
}); });
return this.callBackPurchaseOrder(request); return this.callBackPurchaseOrder(request);
case PurchaseTaskConstant.ebayTracking: case PurchaseTaskConstant.ebayTracking:
PmsCallBackResult<CallBackLogisticsOrder> callBackLogisticsOrder = JsonUtilByJackson.readValue(callbackJson, new TypeReference<PmsCallBackResult<CallBackLogisticsOrder>>() { PmsCallBackResult<Map<String, CallBackLogisticsOrder>> callBackLogisticsOrder = JsonUtilByJackson.readValue(callbackJson, new TypeReference<PmsCallBackResult<Map<String, CallBackLogisticsOrder>>>() {
}); });
return logisticsOrderController.callBackLogisticsOrder(callBackLogisticsOrder); return logisticsOrderController.callBackLogisticsOrder(callBackLogisticsOrder);
default: default:
......
package com.bailuntec.ana.vo.purchase; package com.bailuntec.ana.vo.purchase;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -14,8 +15,10 @@ import lombok.Data; ...@@ -14,8 +15,10 @@ import lombok.Data;
@Data @Data
public class CallBackLogisticsOrder { public class CallBackLogisticsOrder {
@JsonProperty("tracking_number")
@ApiModelProperty("物流单号") @ApiModelProperty("物流单号")
private String tracking_number; private String trackingNumber;
@ApiModelProperty("物流商") @ApiModelProperty("物流商")
private String carrier; private String carrier;
......
...@@ -2,4 +2,10 @@ ...@@ -2,4 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bailuntec.ana.infrastructure.mapper.purchase.PurchaseOrderDetailMapper"> <mapper namespace="com.bailuntec.ana.infrastructure.mapper.purchase.PurchaseOrderDetailMapper">
<select id="selectByPurchaseOrderId" resultType="com.bailuntec.ana.domain.purchase.PurchaseOrderDetail">
select *
from purchase_order_detail
where purchase_order_id = #{id}
and record_state = 'A'
</select>
</mapper> </mapper>
...@@ -7,4 +7,12 @@ ...@@ -7,4 +7,12 @@
from purchase_order from purchase_order
where order_id = #{orderId} where order_id = #{orderId}
</select> </select>
<select id="selectByTaskTypeAndOrderNo" resultType="com.bailuntec.ana.domain.purchase.PurchaseOrder">
select t2.*
from purchase_task t1
left join purchase_order t2 on t1.id = t2.purchase_task_id
where t1.task_type = #{taskType}
and t2.order_no = #{purchaseOrderNo}
and t2.record_state = 'A'
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment