From 197c6272f906e5455deed685fc8f28ce2421ad1d Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Mon, 10 Nov 2025 18:07:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=98=A0=E5=B0=84=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=95=86=E5=93=81=E8=B4=A7=E5=8F=B7=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/suisung/mall/common/modules/sync/StoreDbConfig.java | 4 ++++ .../mall/shop/sync/controller/ProductMappingController.java | 1 + .../suisung/mall/shop/sync/service/SyncThirdDataService.java | 2 +- .../shop/sync/service/impl/ShopSyncImportServiceImpl.java | 1 + .../mall/shop/sync/service/impl/SyncBaseThirdSxAbstract.java | 4 ++-- .../mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java | 3 ++- sql/shop/dev/20251110_2_dml.sql | 1 + 7 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 sql/shop/dev/20251110_2_dml.sql diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/sync/StoreDbConfig.java b/mall-common/src/main/java/com/suisung/mall/common/modules/sync/StoreDbConfig.java index 260e536a..230b2337 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/modules/sync/StoreDbConfig.java +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/sync/StoreDbConfig.java @@ -138,4 +138,8 @@ public class StoreDbConfig implements Serializable { @TableField(value = "is_sync_member",updateStrategy = FieldStrategy.NOT_EMPTY) @ApiModelProperty(value = "是否同步会员(0:否,1:是)") private String isSyncMember; + + @TableField(value = "automatic",updateStrategy = FieldStrategy.NOT_EMPTY) + @ApiModelProperty(value = "默认次日补全库存(思迅同步时配置)") + private Integer automatic; } \ No newline at end of file diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/controller/ProductMappingController.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/controller/ProductMappingController.java index a443af16..c0d23f32 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sync/controller/ProductMappingController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/controller/ProductMappingController.java @@ -69,6 +69,7 @@ public class ProductMappingController extends BaseControllerImpl { @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { ProductMapping productMapping=new ProductMapping(); productMapping.setProductName(getParameter("productName")); + productMapping.setProductNumber(getParameter("productNumber")); productMapping.setStoreId(getParameter("storeId",Integer.class)); return productMappingService.findPageProductMapping(productMapping,pageNum,pageSize); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/SyncThirdDataService.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/SyncThirdDataService.java index 01fec6db..5b3342dc 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/SyncThirdDataService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/SyncThirdDataService.java @@ -206,7 +206,7 @@ public interface SyncThirdDataService { * @return */ int baseSaveOrUpdateGoodsBatch(JSONArray goodsListJSON,String storeId,String isNegativeAllowed, - Map brandMaps); + Map brandMaps,Integer automatic); void syncPrimaryKey(); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/ShopSyncImportServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/ShopSyncImportServiceImpl.java index 831bfebf..0950fb2a 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/ShopSyncImportServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/ShopSyncImportServiceImpl.java @@ -227,6 +227,7 @@ public class ShopSyncImportServiceImpl implements ShopSyncImportService { shopBatchSubmitListener.setStoreId(storeId); shopBatchSubmitListener.setBrandMaps(brandMaps); shopBatchSubmitListener.setIsNegativeAllowed(isNegativeAllowed); + shopBatchSubmitListener.setAutomatic(storeDbConfig.getAutomatic()); EasyExcel.read(filePath,SxGoosModelExcel.class,shopBatchSubmitListener).sheet().doRead(); syncStoreSpecsService.dealSyncStoreSpecs(Integer.valueOf(storeId)); productMappingService.syncAllProductMapping(Integer.valueOf(storeId), DicEnum.YESORNO_0.getCode()); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncBaseThirdSxAbstract.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncBaseThirdSxAbstract.java index d9333522..500e5b66 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncBaseThirdSxAbstract.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncBaseThirdSxAbstract.java @@ -767,7 +767,7 @@ public abstract class SyncBaseThirdSxAbstract{ * @return */ public int baseSaveOrUpdateGoodsBatch(JSONArray goodsListJSON,String storeId,String isNegativeAllowed, - Map brandMaps){ + Map brandMaps,Integer automatic){ AtomicInteger resultCount = new AtomicInteger(); Map categoryMap= productCategoryService.getCategoryListByStoreId(storeId);//热数据加载 List shopProductBaseList=new ArrayList<>(); @@ -825,7 +825,7 @@ public abstract class SyncBaseThirdSxAbstract{ } BigDecimal stock= jsonObj.getBigDecimal("stock");//库存 if(ObjectUtil.equals(isNegativeAllowed,DicEnum.YESORNO_1.getCode())&&stock.compareTo(BigDecimal.ZERO)<=0){//允许负库存,每次都加满,就是一直有售卖 - stock=new BigDecimal("500"); + stock=new BigDecimal(automatic); } //商品总量 if(ObjectUtil.isNotEmpty(jsonObj.getStr("unit"))&&ObjectUtil.isNotEmpty(jsonObj.getStr("stock")) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java index ba40f412..c9f46d53 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java @@ -620,6 +620,7 @@ public class SyncThirdDataServiceImpl extends SyncBaseThirdSxAbstract implements for (int i = 0; i < newFolders.size(); i++) { final int taskId = i; final String isNegativeAllowed = storeDbConfig.getIsNegativeAllowed(); + final Integer automatic=storeDbConfig.getAutomatic(); //String priorityMode = storeDbConfig.getPriorityMode(); //boolean isUpdatePrice= ObjectUtil.isNotEmpty(storeDbConfig.getRefreshTime());//是否更新所有切割价格 threadNum.incrementAndGet(); @@ -633,7 +634,7 @@ public class SyncThirdDataServiceImpl extends SyncBaseThirdSxAbstract implements String sycnDataId=DigestUtils.md5Hex(newFolders.get(taskId) + fileName); JSONArray jsonArray = getSyncDataContent(finalSyncDataMap,sycnDataId); try { - baseSaveOrUpdateGoodsBatch(jsonArray, storeId, isNegativeAllowed, brandMaps); + baseSaveOrUpdateGoodsBatch(jsonArray, storeId, isNegativeAllowed, brandMaps,automatic); success.getAndIncrement(); threadNum.decrementAndGet(); return "成功" + taskId; diff --git a/sql/shop/dev/20251110_2_dml.sql b/sql/shop/dev/20251110_2_dml.sql new file mode 100644 index 00000000..9c1052eb --- /dev/null +++ b/sql/shop/dev/20251110_2_dml.sql @@ -0,0 +1 @@ +ALTER table store_db_config add `automatic` int DEFAULT '100' COMMENT '默认次日补全库存'; \ No newline at end of file