Compare commits
2 Commits
816ed381d9
...
085799d908
| Author | SHA1 | Date | |
|---|---|---|---|
| 085799d908 | |||
| 77a994bcfe |
@ -124,7 +124,6 @@ public class StoreDbConfig implements Serializable {
|
|||||||
private String priorityMode="1";
|
private String priorityMode="1";
|
||||||
|
|
||||||
@TableField(value = "shop_gap_time",updateStrategy = FieldStrategy.NOT_EMPTY)
|
@TableField(value = "shop_gap_time",updateStrategy = FieldStrategy.NOT_EMPTY)
|
||||||
@ApiModelProperty(value = "商品同步间隔时间,由于商品同步时异步,要等同步完成才同步商品和活动,所以要设置间隔时间")
|
|
||||||
@NotBlank(message = "商品同步间隔时间不能为空")
|
@NotBlank(message = "商品同步间隔时间不能为空")
|
||||||
private String shopGapTime;
|
private String shopGapTime;
|
||||||
}
|
}
|
||||||
@ -5364,7 +5364,9 @@ public class ShopProductBaseServiceImpl extends BaseServiceImpl<ShopProductBaseM
|
|||||||
Integer product_state_id = Integer.valueOf(existBaseIdAndState[1]);
|
Integer product_state_id = Integer.valueOf(existBaseIdAndState[1]);
|
||||||
base.setProduct_id(existId);
|
base.setProduct_id(existId);
|
||||||
base.setProduct_src_id(existId);
|
base.setProduct_src_id(existId);
|
||||||
base.setProduct_state_id(product_state_id);
|
if(!(base.getProduct_state_id()==StateCode.PRODUCT_STATE_OFF_THE_SHELF_UNCHECK)){//重新分配
|
||||||
|
base.setProduct_state_id(product_state_id);
|
||||||
|
}
|
||||||
shopProductBaseList.get(i).setProduct_id(existId);
|
shopProductBaseList.get(i).setProduct_id(existId);
|
||||||
//shopProductIndexList.get(i).setProduct_id(existId);
|
//shopProductIndexList.get(i).setProduct_id(existId);
|
||||||
// shopProductIndexList.get(i).setProduct_unit_points(BigDecimal.ZERO);
|
// shopProductIndexList.get(i).setProduct_unit_points(BigDecimal.ZERO);
|
||||||
@ -5622,14 +5624,14 @@ public class ShopProductBaseServiceImpl extends BaseServiceImpl<ShopProductBaseM
|
|||||||
logger.info("处理成功,新增{}条,更新{}条", newProducts.size(), updateProducts.size());
|
logger.info("处理成功,新增{}条,更新{}条", newProducts.size(), updateProducts.size());
|
||||||
|
|
||||||
//计算规格
|
//计算规格
|
||||||
if (CollUtil.isNotEmpty(newProducts)) {
|
// if (CollUtil.isNotEmpty(newProducts)) {
|
||||||
productMappingService.computeProductMapping(newProducts, newProducts.get(0).getStore_id(),shopProductSpecItemMap,ShopBaseProductSpecMap,productMappingMap, isUpdatePrice,DicEnum.YESORNO_0.getCode());
|
// productMappingService.computeProductMapping(newProducts, newProducts.get(0).getStore_id(),shopProductSpecItemMap,ShopBaseProductSpecMap,productMappingMap, isUpdatePrice,DicEnum.YESORNO_0.getCode());
|
||||||
}
|
// }
|
||||||
if (CollUtil.isNotEmpty(updateProducts)) {//如果时自动优先,则按平台规则切割商品
|
// if (CollUtil.isNotEmpty(updateProducts)) {//如果时自动优先,则按平台规则切割商品
|
||||||
if (DicEnum.PRIORITY_MODE_2.getCode().equals(priorityMode)) {
|
// if (DicEnum.PRIORITY_MODE_2.getCode().equals(priorityMode)) {
|
||||||
productMappingService.computeProductMapping(updateProducts, updateProducts.get(0).getStore_id(),shopProductSpecItemMap,ShopBaseProductSpecMap,productMappingMap, true,DicEnum.YESORNO_0.getCode());
|
// productMappingService.computeProductMapping(updateProducts, updateProducts.get(0).getStore_id(),shopProductSpecItemMap,ShopBaseProductSpecMap,productMappingMap, true,DicEnum.YESORNO_0.getCode());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return Pair.of(true, String.format("处理成功,新增%d条,更新%d条",
|
return Pair.of(true, String.format("处理成功,新增%d条,更新%d条",
|
||||||
newProducts.size(), updateProducts.size()));
|
newProducts.size(), updateProducts.size()));
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
|
|||||||
@ -2305,49 +2305,81 @@ public class ShopProductItemServiceImpl extends BaseServiceImpl<ShopProductItemM
|
|||||||
List<ShopProductItem> updateShopProductItem=new ArrayList<>();
|
List<ShopProductItem> updateShopProductItem=new ArrayList<>();
|
||||||
List<ShopProductBase> updateShopProductBase=new ArrayList<>();
|
List<ShopProductBase> updateShopProductBase=new ArrayList<>();
|
||||||
List<ShopProductIndex> updateShopProductIndex=new ArrayList<>();
|
List<ShopProductIndex> updateShopProductIndex=new ArrayList<>();
|
||||||
for (ShopProductItem shopProductItem : shopProductItemList) {
|
//校验数据
|
||||||
queryWrapper.eq("product_id",shopProductItem.getProduct_id());
|
Iterator<ShopProductItem> itemIs=shopProductItemList.iterator();
|
||||||
List<ShopProductItem> oldShopProductItems= shopProductItemService.list(queryWrapper);
|
StringBuilder ids= new StringBuilder();
|
||||||
List<ShopProductItem> oldShopProductItemList= oldShopProductItems.stream().filter(s -> s.getItem_id().equals(shopProductItem.getItem_id())).collect(Collectors.toList());
|
Long productId=shopProductItemList.get(0).getProduct_id();
|
||||||
if(CollUtil.isEmpty(oldShopProductItemList)){
|
while (itemIs.hasNext()) {//去重
|
||||||
return CommonResult.failed("不存在商品sku");
|
ShopProductItem shopProductItem=itemIs.next();
|
||||||
|
if(ObjectUtil.isEmpty(shopProductItem.getProduct_id())){
|
||||||
|
return CommonResult.failed("产品id不能为空");
|
||||||
|
}
|
||||||
|
if(ObjectUtil.isEmpty(shopProductItem.getItem_id())){
|
||||||
|
return CommonResult.failed("商品sku不能为空");
|
||||||
}
|
}
|
||||||
ShopProductItem oldShopProductItem=oldShopProductItemList.get(0);
|
|
||||||
if(ObjectUtil.isEmpty(shopProductItem.getItem_quantity())){
|
if(ObjectUtil.isEmpty(shopProductItem.getItem_quantity())){
|
||||||
return CommonResult.failed("库存不能为空");
|
return CommonResult.failed("库存不能为空");
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isEmpty(shopProductItem.getItem_unit_price())){
|
if(ObjectUtil.isEmpty(shopProductItem.getItem_unit_price())){
|
||||||
return CommonResult.failed("价格不能为空");
|
return CommonResult.failed("价格不能为空");
|
||||||
}
|
}
|
||||||
|
if(!productId.equals(shopProductItem.getProduct_id())){
|
||||||
|
return CommonResult.failed("只能修改相同产品的sku列表");
|
||||||
|
}
|
||||||
|
if(ids.toString().contains(shopProductItem.getItem_id().toString())){
|
||||||
|
itemIs.remove();
|
||||||
|
}else {
|
||||||
|
ids.append(shopProductItem.getItem_id());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BigDecimal item_unit_price = shopProductItemList.stream().map(ShopProductItem::getItem_unit_price).min(BigDecimal::compareTo).get();
|
||||||
|
BigDecimal item_unit_price_max =shopProductItemList.stream().map(ShopProductItem::getItem_unit_price).max(BigDecimal::compareTo).get();
|
||||||
|
|
||||||
BigDecimal item_unit_price =shopProductItem.getItem_unit_price();
|
queryWrapper.eq("product_id",productId);
|
||||||
BigDecimal item_unit_price_max =shopProductItem.getItem_unit_price();
|
List<ShopProductItem> oldShopProductItems= shopProductItemService.list(queryWrapper);
|
||||||
|
BigDecimal item_unit_price_old = oldShopProductItems.stream().map(ShopProductItem::getItem_unit_price).min(BigDecimal::compareTo).get();
|
||||||
BigDecimal item_unit_price_old = oldShopProductItems.stream().map(ShopProductItem::getItem_unit_price).min(BigDecimal::compareTo).get();
|
BigDecimal item_unit_price_max_old=oldShopProductItems.stream().map(ShopProductItem::getItem_unit_price).max(BigDecimal::compareTo).get();
|
||||||
ShopProductIndex shopProductIndex=new ShopProductIndex();
|
for (ShopProductItem shopProductItem : shopProductItemList) {
|
||||||
if(item_unit_price_old.compareTo(item_unit_price)>0){
|
List<ShopProductItem> oldShopProductItemList= oldShopProductItems.stream().filter(s -> s.getItem_id().equals(shopProductItem.getItem_id())).collect(Collectors.toList());
|
||||||
ShopProductBase shopProductBase=new ShopProductBase();
|
if(CollUtil.isEmpty(oldShopProductItemList)){
|
||||||
shopProductBase.setProduct_id(shopProductItem.getProduct_id());
|
return CommonResult.failed("不存在商品sku");
|
||||||
shopProductBase.setProduct_unit_price(item_unit_price);
|
|
||||||
shopProductIndex.setProduct_unit_price(item_unit_price);
|
|
||||||
shopProductIndex.setProduct_id(shopProductItem.getProduct_id());
|
|
||||||
updateShopProductBase.add(shopProductBase);
|
|
||||||
// shopProductBaseService.updateById(shopProductBase);
|
|
||||||
}
|
|
||||||
BigDecimal item_unit_price_max_old=oldShopProductItems.stream().map(ShopProductItem::getItem_unit_price).max(BigDecimal::compareTo).get();
|
|
||||||
if(item_unit_price_max.compareTo(item_unit_price_max_old)>0){
|
|
||||||
shopProductIndex.setProduct_id(shopProductItem.getProduct_id());
|
|
||||||
shopProductIndex.setProduct_unit_price_max(item_unit_price_max);
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(shopProductIndex.getProduct_id())){
|
|
||||||
updateShopProductIndex.add(shopProductIndex);
|
|
||||||
//shopProductIndexService.updateById(shopProductIndex);
|
|
||||||
}
|
}
|
||||||
|
ShopProductItem oldShopProductItem=oldShopProductItemList.get(0);
|
||||||
oldShopProductItem.setItem_quantity(shopProductItem.getItem_quantity());
|
oldShopProductItem.setItem_quantity(shopProductItem.getItem_quantity());
|
||||||
oldShopProductItem.setItem_unit_price(shopProductItem.getItem_unit_price());
|
oldShopProductItem.setItem_unit_price(shopProductItem.getItem_unit_price());
|
||||||
updateShopProductItem.add(oldShopProductItem);
|
updateShopProductItem.add(oldShopProductItem);
|
||||||
// shopProductItemService.updateById(oldShopProductItem);
|
// shopProductItemService.updateById(oldShopProductItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ShopProductIndex shopProductIndex=new ShopProductIndex();
|
||||||
|
ShopProductBase shopProductBase=new ShopProductBase();
|
||||||
|
if(item_unit_price_old.compareTo(item_unit_price)>0&&oldShopProductItems.size()>1){
|
||||||
|
shopProductBase.setProduct_id(productId);
|
||||||
|
shopProductBase.setProduct_unit_price(item_unit_price);
|
||||||
|
shopProductIndex.setProduct_unit_price(item_unit_price);
|
||||||
|
shopProductIndex.setProduct_id(productId);
|
||||||
|
updateShopProductBase.add(shopProductBase);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(item_unit_price_max.compareTo(item_unit_price_max_old)>0&&oldShopProductItems.size()>1){
|
||||||
|
shopProductIndex.setProduct_id(productId);
|
||||||
|
shopProductIndex.setProduct_unit_price_max(item_unit_price_max);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(oldShopProductItems.size()==1){
|
||||||
|
shopProductBase.setProduct_id(productId);
|
||||||
|
shopProductBase.setProduct_unit_price(item_unit_price);
|
||||||
|
shopProductIndex.setProduct_id(productId);
|
||||||
|
shopProductIndex.setProduct_unit_price(item_unit_price);
|
||||||
|
shopProductIndex.setProduct_unit_price_max(item_unit_price);
|
||||||
|
shopProductIndex.setProduct_id(productId);
|
||||||
|
updateShopProductBase.add(shopProductBase);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ObjectUtil.isNotEmpty(shopProductIndex.getProduct_id())){
|
||||||
|
updateShopProductIndex.add(shopProductIndex);
|
||||||
|
}
|
||||||
if(!updateShopProductBase.isEmpty()){
|
if(!updateShopProductBase.isEmpty()){
|
||||||
shopProductBaseService.updateBatchById(updateShopProductBase);
|
shopProductBaseService.updateBatchById(updateShopProductBase);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -184,8 +184,14 @@ public class ProductMappingServiceImpl extends BaseServiceImpl<ProductMappingMap
|
|||||||
if(stateId!=StateCode.PRODUCT_STATE_NORMAL){
|
if(stateId!=StateCode.PRODUCT_STATE_NORMAL){
|
||||||
shopProductBaseList.get(i).setProduct_state_id(StateCode.PRODUCT_STATE_OFF_THE_SHELF);
|
shopProductBaseList.get(i).setProduct_state_id(StateCode.PRODUCT_STATE_OFF_THE_SHELF);
|
||||||
shopProductIndex.setProduct_state_id(StateCode.PRODUCT_STATE_OFF_THE_SHELF);
|
shopProductIndex.setProduct_state_id(StateCode.PRODUCT_STATE_OFF_THE_SHELF);
|
||||||
shopProductItems.get(i).setItem_enable(StateCode.PRODUCT_STATE_OFF_THE_SHELF);
|
// shopProductItems.get(i).setItem_enable(StateCode.PRODUCT_STATE_OFF_THE_SHELF);
|
||||||
}
|
}
|
||||||
|
if(StringUtils.isNotEmpty(shopProductBaseList.get(i).getProduct_image())){
|
||||||
|
shopProductBaseList.get(i).setProduct_state_id(StateCode.PRODUCT_STATE_NORMAL);
|
||||||
|
shopProductIndex.setProduct_state_id(StateCode.PRODUCT_STATE_NORMAL);
|
||||||
|
shopProductItems.get(i).setItem_enable(StateCode.PRODUCT_STATE_NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
shopProductItems.get(i).setItem_is_default(1);
|
shopProductItems.get(i).setItem_is_default(1);
|
||||||
if(shopProductSpecItem.isUpdate()){
|
if(shopProductSpecItem.isUpdate()){
|
||||||
@ -282,7 +288,7 @@ public class ProductMappingServiceImpl extends BaseServiceImpl<ProductMappingMap
|
|||||||
item.setItem_spec(item_spec);
|
item.setItem_spec(item_spec);
|
||||||
shopProductInfo.setProduct_spec(productSpec);
|
shopProductInfo.setProduct_spec(productSpec);
|
||||||
}
|
}
|
||||||
String product_uniqid=ShopJsonUtils.generateJsonWithOrgJson(item.getSpec_item_ids(),new Object[]{item.getItem_id(),item.getItem_unit_price(),"",1002});
|
String product_uniqid=ShopJsonUtils.generateJsonWithOrgJson(item.getSpec_item_ids(),new Object[]{item.getItem_id(),item.getItem_unit_price(),"",item.getItem_enable()});
|
||||||
shopProductInfo.setProduct_uniqid(product_uniqid);
|
shopProductInfo.setProduct_uniqid(product_uniqid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -673,7 +673,7 @@ public class SyncThirdDataServiceImpl extends SyncBaseThirdSxAbstract implements
|
|||||||
// } catch (RuntimeException e) {
|
// } catch (RuntimeException e) {
|
||||||
// logger.error("同步时间失败" + e.getMessage());
|
// logger.error("同步时间失败" + e.getMessage());
|
||||||
// }
|
// }
|
||||||
|
productMappingService.syncAllProductMapping(Integer.valueOf(storeId),DicEnum.YESORNO_0.getCode());
|
||||||
syncShopImages(Integer.valueOf(storeId));//同时商品图库数据
|
syncShopImages(Integer.valueOf(storeId));//同时商品图库数据
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user