|
|
@@ -34,6 +34,9 @@ import org.springblade.deliver.goods.vo.DeliveryItemsVO;
|
|
|
import org.springblade.deliver.goods.mapper.DeliveryItemsMapper;
|
|
|
import org.springblade.deliver.goods.service.IDeliveryItemsService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springblade.purchase.sales.entity.Order;
|
|
|
+import org.springblade.purchase.sales.entity.OrderItems;
|
|
|
+import org.springblade.purchase.sales.feign.IOrderDescClient;
|
|
|
import org.springblade.purchase.sales.feign.IOrderItemsClient;
|
|
|
import org.springblade.stock.entity.StockGoods;
|
|
|
import org.springblade.stock.feign.IStockGoodsClient;
|
|
|
@@ -58,6 +61,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
|
|
|
private IGoodsDescClient goodsDescClient;//获取商品信息
|
|
|
private IStockGoodsClient stockGoodsClient;//查询库存账对外访问接口
|
|
|
private IOrderItemsClient orderItemsClient;//订单对外访问接口
|
|
|
+ private IOrderDescClient orderDescClient;//订单
|
|
|
@Override
|
|
|
public IPage<DeliveryItemsVO> selectDeliveryItemsPage(IPage<DeliveryItemsVO> page, DeliveryItemsVO deliveryItems) {
|
|
|
return page.setRecords(baseMapper.selectDeliveryItemsPage(page, deliveryItems));
|
|
|
@@ -121,6 +125,13 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
|
|
|
* @return
|
|
|
*/
|
|
|
public List<DeliveryItems> affirmDeliveryItemsList(Long pId,Delivery delivery,List<DeliveryItems> deliveryItemsList){
|
|
|
+ if (delivery.getSrcId() == null){
|
|
|
+ Order order = orderDescClient.getById(delivery.getSrcId());
|
|
|
+ BigDecimal reduce = deliveryItemsList.stream().filter(e -> e.getContractAmount() != null).map(DeliveryItems::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (reduce.compareTo(order.getSettlmentAmount()) >0){
|
|
|
+ throw new RuntimeException("发货金额不可以超过已收金额");
|
|
|
+ }
|
|
|
+ }
|
|
|
for (DeliveryItems deliveryItems : deliveryItemsList) {
|
|
|
if (deliveryItems.getItemId() == null){
|
|
|
throw new RuntimeException("发货明细中商品id不能为空");
|