|
@@ -11,6 +11,7 @@ import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.net.URLDecoder;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
@@ -198,6 +199,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
@Autowired
|
|
|
private FsStoreDeliversService fsStoreDeliversService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IFsStoreProductPackageService fsStoreProductPackageService;
|
|
|
/**
|
|
|
* 查询订单
|
|
|
*
|
|
@@ -1497,6 +1500,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
@Override
|
|
|
public void createOmsOrder(Long orderId) throws ParseException {
|
|
|
FsStoreOrder order=fsStoreOrderMapper.selectFsStoreOrderById(orderId);
|
|
|
+
|
|
|
if(StringUtils.isEmpty(order.getExtendOrderId())&&order.getStatus()!=1){
|
|
|
return;
|
|
|
}
|
|
@@ -1774,6 +1778,46 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
//处理地址字符问题
|
|
|
erpOrder.setReceiver_address(erpOrder.getReceiver_address().replace("+","加"));
|
|
|
erpOrder.setReceiver_address(erpOrder.getReceiver_address().replace("\n",""));
|
|
|
+
|
|
|
+ // 如果订单是套餐
|
|
|
+ if(ObjectUtil.equal(order.getIsPackage(),1)){
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(order.getPackageJson());
|
|
|
+ if(StringUtils.isBlank(order.getPackageJson())){
|
|
|
+ logger.error("套餐订单缺少套餐信息:{}", orderId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Long packageId = jsonObject.getLong("packageId");
|
|
|
+ // 根据套餐id找商品
|
|
|
+ FsStoreProductPackage fsStoreProductPackage = fsStoreProductPackageService.selectFsStoreProductPackageById(packageId);
|
|
|
+ if(ObjectUtil.isNull(fsStoreProductPackage)){
|
|
|
+ logger.error("套餐id找不到! 套餐id:{} 订单id:{}",packageId, orderId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String products = fsStoreProductPackage.getProducts();
|
|
|
+ if(StringUtils.isBlank(products)){
|
|
|
+ logger.error("套餐商品列表为空! 套餐id:{} 订单id:{}", packageId, orderId);
|
|
|
+ }
|
|
|
+ com.alibaba.fastjson.JSONArray objects = com.alibaba.fastjson.JSONArray.parseArray(products);
|
|
|
+ if(CollectionUtil.isEmpty(objects)){
|
|
|
+ logger.error("套餐商品列表为空! 套餐id:{} 订单id:{}", packageId, orderId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONObject jsonObject1 = objects.getJSONObject(0);
|
|
|
+ Long id = jsonObject1.getLong("id");
|
|
|
+ FsStoreProductAttrValue attrValue=attrValueService.selectFsStoreProductAttrValueById(id);
|
|
|
+ if(attrValue!=null) {
|
|
|
+ // 根据产品id找仓库id
|
|
|
+ FsStoreProduct product = storeProductService.selectFsStoreProductById(attrValue.getProductId());
|
|
|
+ if(ObjectUtil.isNull(product)){
|
|
|
+ logger.error("套餐商品id找不到! 商品id:{} 订单id:{}", product.getProductId(), orderId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ erpOrder.setWarehouse_code(product.getWarehouseCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
ErpOrderResponse response= erpOrderService.addOrder(erpOrder);
|
|
|
//写入日志
|
|
|
logger.info("ErpCreate:"+order.getOrderCode()+":"+JSONUtil.toJsonStr(response));
|