From e1d983f0ad018c1f2b71a68ccb81e79f75c65153 Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Thu, 30 Oct 2025 10:28:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=8C=E6=AD=A5=E7=9A=84?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SyncBaseThirdSxAbstract.java | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) 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 7ac3e426..7f22cb9e 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 @@ -829,8 +829,7 @@ public abstract class SyncBaseThirdSxAbstract{ } //商品总量 if(ObjectUtil.isNotEmpty(jsonObj.getStr("unit"))&&ObjectUtil.isNotEmpty(jsonObj.getStr("stock")) - && "KG,kg,公斤".contains(jsonObj.getStr("unit"))&&!(productName.contains("g")||productName.contains("ml")||productName.contains("ML")||productName.contains("kg")|| - productName.contains("KG")||productName.contains("L")||productName.contains("l")||productName.contains("斤")||productName.contains("袋"))){//这样做主要是有些超时有了kg,又打包成克来卖 + && checkUnit(jsonObj.getStr("unit"))&&!(checkProductContainUnits(productName))){//这样做主要是有些超时有了kg,又打包成克来卖 shopProductBase.setShop_weight(stock); shopProductBase.setUnit_name(jsonObj.getStr("unit")); shopProductBase.setProduct_state_id(StateCode.PRODUCT_STATE_OFF_THE_SHELF_UNCHECK); @@ -844,8 +843,7 @@ public abstract class SyncBaseThirdSxAbstract{ } shopProductBase.setProduct_state_id(StateCode.PRODUCT_STATE_OFF_THE_SHELF);//默认是下架 shopProductBase.setUnit_price(BigDecimal.valueOf(jsonObj.getDouble("retail_price"))); - if(!(productName.contains("g")||productName.contains("ml")||productName.contains("ML")||productName.contains("kg")|| - productName.contains("KG")||productName.contains("L")||productName.contains("l")||productName.contains("斤")||productName.contains("袋"))){ + if(!checkProductContainUnits(productName)){ String spectItem=StringUtils.isNotEmpty(shopProductBase.getSpecItem())?shopProductBase.getSpecItem():""; String unit=StringUtils.isNotEmpty(shopProductBase.getSpecUnit())?shopProductBase.getSpecUnit():""; if(StringUtils.isNotEmpty(spectItem)||StringUtils.isNotEmpty(unit)){ @@ -982,6 +980,32 @@ public abstract class SyncBaseThirdSxAbstract{ return resultCount.get(); } + /** + * 校验单位是否为公斤 + * @param checkUnit + * @return + */ + private boolean checkUnit(String checkUnit){ + checkUnit=checkUnit.trim(); + List units=Arrays.asList("KG","kg","公斤","Kg","kG"); + for(String unit:units){ + if(unit.equals(checkUnit)){ + return true; + } + } + return false; + } + + /** + * 校验商品是否包含单位 + * @param productName + * @return + */ + private boolean checkProductContainUnits(String productName){ + return productName.contains("g")||productName.contains("ml")||productName.contains("ML")||productName.contains("kg")|| + productName.contains("KG")||productName.contains("L")||productName.contains("l")||productName.contains("斤")||productName.contains("袋")|| + productName.contains("Kg")||productName.contains("kG"); + } public void syncPrimaryKey(){