|
@@ -57,13 +57,12 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
for (Object product : productList) {
|
|
for (Object product : productList) {
|
|
|
JSONObject jsonObject = JSON.parseObject(product.toString());
|
|
JSONObject jsonObject = JSON.parseObject(product.toString());
|
|
|
Long prodId;
|
|
Long prodId;
|
|
|
|
|
+ String hbSpuId;
|
|
|
//判断海博传过来的是单规格还是多规格
|
|
//判断海博传过来的是单规格还是多规格
|
|
|
if (ObjectUtil.isEmpty(jsonObject.getString("multiSpec"))) {
|
|
if (ObjectUtil.isEmpty(jsonObject.getString("multiSpec"))) {
|
|
|
log.info("===================进入普通商品操作===================");
|
|
log.info("===================进入普通商品操作===================");
|
|
|
String goodsInfoStr = selectHBGoodsInfo(jsonObject.getString("outSkuId"));
|
|
String goodsInfoStr = selectHBGoodsInfo(jsonObject.getString("outSkuId"));
|
|
|
-
|
|
|
|
|
JSONObject goodsInfoJson = JSON.parseObject(goodsInfoStr);
|
|
JSONObject goodsInfoJson = JSON.parseObject(goodsInfoStr);
|
|
|
-
|
|
|
|
|
// 2. 逐层解析获取productHostInfoDTOS数组
|
|
// 2. 逐层解析获取productHostInfoDTOS数组
|
|
|
JSONObject result = goodsInfoJson.getJSONObject("result");
|
|
JSONObject result = goodsInfoJson.getJSONObject("result");
|
|
|
JSONObject innerResult = result.getJSONObject("result");
|
|
JSONObject innerResult = result.getJSONObject("result");
|
|
@@ -75,11 +74,11 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
JSONObject productInfo = productHostInfoDTOS.getJSONObject(i);
|
|
JSONObject productInfo = productHostInfoDTOS.getJSONObject(i);
|
|
|
|
|
|
|
|
// 创建并填充Product对象
|
|
// 创建并填充Product对象
|
|
|
- Product productInfoById = productMapper.selectByHbSpuId(productInfo.getLong("spuId"));
|
|
|
|
|
|
|
+ hbSpuId = productInfo.getString("spuId");
|
|
|
|
|
+ Product productInfoById = productMapper.selectByHbSpuId(hbSpuId);
|
|
|
if (ObjectUtil.isNotEmpty(productInfoById) && productInfoById.getIsDelete() == 0) {
|
|
if (ObjectUtil.isNotEmpty(productInfoById) && productInfoById.getIsDelete() == 0) {
|
|
|
prodId = productInfoById.getProdId();
|
|
prodId = productInfoById.getProdId();
|
|
|
log.info("商品spuID={},spuName={}已经存在无需添加", productInfo.getLong("spuId"), productInfo.getString("spuName"));
|
|
log.info("商品spuID={},spuName={}已经存在无需添加", productInfo.getLong("spuId"), productInfo.getString("spuName"));
|
|
|
-
|
|
|
|
|
} else {
|
|
} else {
|
|
|
Product productAdd = createProductFromProductInfo(productInfo);
|
|
Product productAdd = createProductFromProductInfo(productInfo);
|
|
|
setSpuMapper(productInfo, productAdd);
|
|
setSpuMapper(productInfo, productAdd);
|
|
@@ -97,13 +96,15 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
|
|
|
|
|
Sku sku = createSkuFromProductInfo(productInfo);
|
|
Sku sku = createSkuFromProductInfo(productInfo);
|
|
|
sku.setProdId(prodId);
|
|
sku.setProdId(prodId);
|
|
|
|
|
+ sku.setHbSpuId(hbSpuId);
|
|
|
skuMapper.insert(sku);
|
|
skuMapper.insert(sku);
|
|
|
log.info("SKU创建成功: skuId={}, skuName={}", sku.getSkuId(), sku.getSkuName());
|
|
log.info("SKU创建成功: skuId={}, skuName={}", sku.getSkuId(), sku.getSkuName());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
log.info("===================进入多规格商品操作===================");
|
|
log.info("===================进入多规格商品操作===================");
|
|
|
- String selectHBGoodsSpuInfo = selectHBGoodsSpuInfo(jsonObject.getString("spuId"));
|
|
|
|
|
|
|
+ hbSpuId = jsonObject.getString("spuId");
|
|
|
|
|
+ String selectHBGoodsSpuInfo = selectHBGoodsSpuInfo(hbSpuId);
|
|
|
JSONObject goodsInfoJson = JSON.parseObject(selectHBGoodsSpuInfo);
|
|
JSONObject goodsInfoJson = JSON.parseObject(selectHBGoodsSpuInfo);
|
|
|
// 2. 逐层解析获取productHostInfoDTOS数组
|
|
// 2. 逐层解析获取productHostInfoDTOS数组
|
|
|
JSONObject result = goodsInfoJson.getJSONObject("result");
|
|
JSONObject result = goodsInfoJson.getJSONObject("result");
|
|
@@ -112,9 +113,8 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
|
|
|
|
|
for (Object productHostInfoDTO : productHostInfoDTOS) {
|
|
for (Object productHostInfoDTO : productHostInfoDTOS) {
|
|
|
JSONObject productInfo = JSON.parseObject(productHostInfoDTO.toString());
|
|
JSONObject productInfo = JSON.parseObject(productHostInfoDTO.toString());
|
|
|
-
|
|
|
|
|
// 创建并填充Product对象
|
|
// 创建并填充Product对象
|
|
|
- Product productInfoById = productMapper.selectByHbSpuId(productInfo.getLong("spuId"));
|
|
|
|
|
|
|
+ Product productInfoById = productMapper.selectByHbSpuId(hbSpuId);
|
|
|
if (ObjectUtil.isNotEmpty(productInfoById) && productInfoById.getIsDelete() == 0) {
|
|
if (ObjectUtil.isNotEmpty(productInfoById) && productInfoById.getIsDelete() == 0) {
|
|
|
log.info("商品spuID={},spuName={}已经存在无需添加", productInfo.getLong("spuId"), productInfo.getString("spuName"));
|
|
log.info("商品spuID={},spuName={}已经存在无需添加", productInfo.getLong("spuId"), productInfo.getString("spuName"));
|
|
|
prodId = productInfoById.getProdId();
|
|
prodId = productInfoById.getProdId();
|
|
@@ -138,6 +138,7 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
} else {
|
|
} else {
|
|
|
Sku sku = createSkuFromProductInfo(jsonObjectSku);
|
|
Sku sku = createSkuFromProductInfo(jsonObjectSku);
|
|
|
sku.setProdId(prodId);
|
|
sku.setProdId(prodId);
|
|
|
|
|
+ sku.setHbSpuId(hbSpuId);
|
|
|
skuMapper.insert(sku);
|
|
skuMapper.insert(sku);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -390,12 +391,9 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
private Product createProductFromProductInfo(JSONObject productInfo) {
|
|
private Product createProductFromProductInfo(JSONObject productInfo) {
|
|
|
Product product = new Product();
|
|
Product product = new Product();
|
|
|
|
|
|
|
|
-
|
|
|
|
|
// 直接映射字段
|
|
// 直接映射字段
|
|
|
- product.setProdId(productInfo.getLong("spuId"));
|
|
|
|
|
|
|
+ product.setHbSpuId(productInfo.getLong("spuId"));
|
|
|
product.setProdName(productInfo.getString("spuName"));
|
|
product.setProdName(productInfo.getString("spuName"));
|
|
|
-// Product.setShopId(productInfo.getString("shopId"));
|
|
|
|
|
-
|
|
|
|
|
product.setBrief(productInfo.getString("sellPoint"));//简要描述,卖点等
|
|
product.setBrief(productInfo.getString("sellPoint"));//简要描述,卖点等
|
|
|
product.setVideo(productInfo.getString(""));//商品视频
|
|
product.setVideo(productInfo.getString(""));//商品视频
|
|
|
product.setStatus(1);
|
|
product.setStatus(1);
|
|
@@ -404,10 +402,16 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
product.setCreateTime(new Date());
|
|
product.setCreateTime(new Date());
|
|
|
product.setUpdateTime(new Date());
|
|
product.setUpdateTime(new Date());
|
|
|
product.setPutawayTime(new Date());
|
|
product.setPutawayTime(new Date());
|
|
|
- product.setBrandId(productInfo.getLong("brandId"));//品牌ID
|
|
|
|
|
- product.setBrandName(productInfo.getString("brandName"));//品牌名称
|
|
|
|
|
- product.setCategoryId(productInfo.getLong("frontCategoryCode")); // 分类转换
|
|
|
|
|
- product.setHbFrontCategoryId(productInfo.getLong("frontCategoryCode"));//后台类目平台对应ID
|
|
|
|
|
|
|
+ //品牌ID
|
|
|
|
|
+ product.setBrandId(productInfo.getLong("brandId"));
|
|
|
|
|
+ //品牌名称
|
|
|
|
|
+ product.setBrandName(productInfo.getString("brandName"));
|
|
|
|
|
+ // 分类转换
|
|
|
|
|
+ product.setCategoryId(productInfo.getLong("frontCategoryCode"));
|
|
|
|
|
+ //后台类目平台对应ID
|
|
|
|
|
+// product.setHbFrontCategoryId(productInfo.getLong("frontCategoryCode"));
|
|
|
|
|
+ product.setPic(productInfo.getString("spuMainImage"));
|
|
|
|
|
+ product.setImgs(productInfo.getString("spuImages"));
|
|
|
// 需要转换或默认值的字段
|
|
// 需要转换或默认值的字段
|
|
|
// Product.setTotalStocks(productInfo.getString(""));//总库存
|
|
// Product.setTotalStocks(productInfo.getString(""));//总库存
|
|
|
// Product.setDeliveryMode(productInfo.getString(""));//配送方式
|
|
// Product.setDeliveryMode(productInfo.getString(""));//配送方式
|
|
@@ -444,15 +448,14 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
log.info("创建Sku对象数据==========={}===========", productInfo);
|
|
log.info("创建Sku对象数据==========={}===========", productInfo);
|
|
|
Sku sku = new Sku();
|
|
Sku sku = new Sku();
|
|
|
// 直接映射字段
|
|
// 直接映射字段
|
|
|
- sku.setHbSkuId(productInfo.getLong("skuId"));//单品id - 关联海博同步
|
|
|
|
|
- sku.setHbSpuId(productInfo.getLong("spuId"));//商品id - 关联海博同步
|
|
|
|
|
|
|
+ sku.setHbSkuId(productInfo.getString("skuId"));//单品id - 关联海博同步
|
|
|
sku.setSkuName(productInfo.getString("skuName"));//单品名称
|
|
sku.setSkuName(productInfo.getString("skuName"));//单品名称
|
|
|
sku.setProdName(productInfo.getString("spuName"));//商品名称
|
|
sku.setProdName(productInfo.getString("spuName"));//商品名称
|
|
|
sku.setModelId(productInfo.getString("upc")); // 商品条码
|
|
sku.setModelId(productInfo.getString("upc")); // 商品条码
|
|
|
sku.setPartyCode(productInfo.getString("outSkuId"));//商家商品编码
|
|
sku.setPartyCode(productInfo.getString("outSkuId"));//商家商品编码
|
|
|
sku.setSkuCode(productInfo.getString("outSkuId"));//商家商品编码
|
|
sku.setSkuCode(productInfo.getString("outSkuId"));//商家商品编码
|
|
|
sku.setSpec(productInfo.getString("spec"));//规格
|
|
sku.setSpec(productInfo.getString("spec"));//规格
|
|
|
- sku.setPic(productInfo.getString("skuImages"));//sku图片
|
|
|
|
|
|
|
+// sku.setPic(productInfo.getString("skuImages"));//sku图片
|
|
|
// Sku.setVolume(productInfo.getString(""));//体积
|
|
// Sku.setVolume(productInfo.getString(""));//体积
|
|
|
sku.setStatus(1);
|
|
sku.setStatus(1);
|
|
|
sku.setIsDelete(0);
|
|
sku.setIsDelete(0);
|
|
@@ -462,7 +465,7 @@ public class HBGoodsService implements IHBGoodsService {
|
|
|
sku.setWeightUnit(productInfo.getString("unit"));//单位
|
|
sku.setWeightUnit(productInfo.getString("unit"));//单位
|
|
|
// 商品原价
|
|
// 商品原价
|
|
|
sku.setOriPrice(productInfo.getDouble("basicPrice") != null ?
|
|
sku.setOriPrice(productInfo.getDouble("basicPrice") != null ?
|
|
|
- productInfo.getDouble("basicPrice") : null);
|
|
|
|
|
|
|
+ productInfo.getDouble("basicPrice") : 0);
|
|
|
//实际库存
|
|
//实际库存
|
|
|
sku.setActualStocks(productInfo.getInteger("initStock") == null ? 0 :
|
|
sku.setActualStocks(productInfo.getInteger("initStock") == null ? 0 :
|
|
|
productInfo.getInteger("initStock"));
|
|
productInfo.getInteger("initStock"));
|