|
@@ -3,19 +3,29 @@ package com.fjhx.victoriatourist.controller.jd;
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.fjhx.common.constant.SourceConstant;
|
|
|
+import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
+import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.victoriatourist.entity.jd.dto.JdOrderDto;
|
|
|
import com.fjhx.victoriatourist.entity.jd.dto.JdOrderSelectDto;
|
|
|
import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
|
|
|
+import com.fjhx.victoriatourist.entity.jd.po.JdOrderDetails;
|
|
|
import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
|
|
|
import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
|
|
|
import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
|
|
|
import com.fjhx.victoriatourist.service.jd.JdOrderDetailsService;
|
|
|
import com.fjhx.victoriatourist.service.jd.JdOrderService;
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
import com.ruoyi.common.core.domain.BaseSelectDto;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
@@ -36,9 +46,13 @@ public class JdOrderController {
|
|
|
|
|
|
@Autowired
|
|
|
private JdOrderService jdOrderService;
|
|
|
+
|
|
|
@Resource
|
|
|
private JdOrderDetailsService jdOrderDetailsService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ProductInfoService productInfoService;
|
|
|
+
|
|
|
/**
|
|
|
* 京东订单分页
|
|
|
*/
|
|
@@ -130,7 +144,21 @@ public class JdOrderController {
|
|
|
//校验明细内的商品是否都有productId
|
|
|
jdOrderDetailsService.findListByJdOrderId(jdOrderDto.getId()).forEach(jdOrderDetails -> {
|
|
|
if (ObjectUtil.isNull(jdOrderDetails.getProductId())) {
|
|
|
- throw new RuntimeException("采购单明细内商品:" + jdOrderDetails.getWareId() + "没有关联到产品,无法进行确认");
|
|
|
+
|
|
|
+ DynamicDataSourceContextHolder.push(SourceConstant.ITEM);
|
|
|
+ List<ProductInfo> list = productInfoService.lambdaQuery().eq(ProductInfo::getCustomCode, jdOrderDetails.getWareId()).list();
|
|
|
+ DynamicDataSourceContextHolder.poll();
|
|
|
+
|
|
|
+ if (list.isEmpty()) {
|
|
|
+ throw new RuntimeException("采购单明细内商品:" + jdOrderDetails.getWareId() + "没有关联到产品,无法进行确认");
|
|
|
+ } else {
|
|
|
+ //更新明细内的productId
|
|
|
+ jdOrderDetailsService.update(q -> q
|
|
|
+ .eq(BaseIdPo::getId, jdOrderDetails.getId())
|
|
|
+ .set(JdOrderDetails::getProductId, list.get(0).getId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
});
|
|
|
jdOrderService.confirmBusinessStatus(jdOrderDto);
|