Explorar o código

Merge branch 'master' of http://git.ds-bay.com/project/kmall-haikong into feature/test

 Conflicts:
	kmall-admin/src/main/java/com/kmall/admin/haikong/vo/QueryGoodsVO.java
lhm %!s(int64=3) %!d(string=hai) anos
pai
achega
4edcbb9773

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/GoodsDao.java

@@ -24,6 +24,8 @@ public interface GoodsDao extends BaseDao<GoodsEntity> {
 
     GoodsEntity queryObjectBySn(String goodsSn);
 
+    GoodsEntity queryObjectBySnNew(String goodsSn);
+
     GoodsEntity queryObjectByProdBarcodeAndBizType(@Param("prodBarcode")String prodBarcode, @Param("storeId")Integer storeId);
 
     GoodsEntity queryObjectByProdBarcodeAndStore(@Param("prodBarcode")String prodBarcode, @Param("storeId")Integer storeId);

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/haikong/vo/QueryGoodsVO.java

@@ -157,6 +157,8 @@ public class QueryGoodsVO {
     private String productId;
 
     private Integer deductionScore;
+    //商品类型Id
+    private Integer categoryId;
 
     private BigDecimal deductionPrice;
 
@@ -401,6 +403,14 @@ public class QueryGoodsVO {
         this.deductionScore = deductionScore;
     }
 
+    public Integer getCategoryId() {
+        return categoryId;
+    }
+
+    public void setCategoryId(Integer categoryId) {
+        this.categoryId = categoryId;
+    }
+
     public BigDecimal getDeductionPrice() {
         return deductionPrice;
     }

+ 25 - 22
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsServiceImpl.java

@@ -850,19 +850,19 @@ public class GoodsServiceImpl implements GoodsService {
                     if(!user.getRoleType().equalsIgnoreCase(Dict.roleType.item_1.getItem())) {
                         if (!merchSn.equalsIgnoreCase(thirdMerchantBizEntity.getMerchSn())) {
                             isFail = true;
-                            failMerchUserGoodsSnList.add(goodsDto.getGoodsSn());
+                            failMerchUserGoodsSnList.add(goodsDto.getGoodsSn().trim());
                         }
                     }
                 }else{//商户不存在
                     isFail = true;
-                    failMerchGoodsSnList.add(goodsDto.getGoodsSn());
+                    failMerchGoodsSnList.add(goodsDto.getGoodsSn().trim());
                 }
 
                 //校验商品信息是否已存在
                 Map<String, Object> map = new HashMap<>();
                 map.put("isSame", "true");
-                map.put("sku", goodsDto.getSku());
-                map.put("goodsSn", goodsDto.getGoodsSn());
+                map.put("sku", goodsDto.getSku().trim());
+                map.put("goodsSn", goodsDto.getGoodsSn().trim());
                 map.put("goodsBizType", goodsDto.getGoodsBizType());
                 List<GoodsEntity> list = querySame(map);
                 if (list != null && list.size() != 0) {
@@ -908,7 +908,7 @@ public class GoodsServiceImpl implements GoodsService {
                     SysCusUnitCodeEntity sysCusUnitCodeEntity = sysCusUnitCodeDao.queryObjectByName(goodsDto.getUnitName());
                     if (sysCusUnitCodeEntity == null) {
                         isFail = true;
-                        failUnitGoodsSnList.add(goodsDto.getGoodsSn());
+                        failUnitGoodsSnList.add(goodsDto.getGoodsSn().trim());
                     } else {
                         goodsEntity.setUnitCode(sysCusUnitCodeEntity.getCode());
                     }
@@ -916,7 +916,7 @@ public class GoodsServiceImpl implements GoodsService {
                     SysCusNationCodeEntity sysCusNationCodeEntity = sysCusNationCodeDao.queryObjectByName(goodsDto.getOriCntName());
                     if (sysCusNationCodeEntity == null) {
                         isFail = true;
-                        failNationGoodsSnList.add(goodsDto.getGoodsSn());
+                        failNationGoodsSnList.add(goodsDto.getGoodsSn().trim());
                     } else {
                         goodsEntity.setOriCntCode(sysCusNationCodeEntity.getCode());
                     }
@@ -932,8 +932,8 @@ public class GoodsServiceImpl implements GoodsService {
 
                 goodsEntity.setIsOnSale(Integer.parseInt(goodsDto.getIsOnSaleStr()));
                 goodsEntity.setIsHot(Integer.parseInt(goodsDto.getIsHotStr()));
-                goodsEntity.setGoodsSn(goodsDto.getGoodsSn());
-                goodsEntity.setSku(goodsDto.getSku());
+                goodsEntity.setGoodsSn(goodsDto.getGoodsSn().trim());
+                goodsEntity.setSku(goodsDto.getSku().trim());
                 goodsEntity.setName(goodsDto.getName());
                 goodsEntity.setGoodsUnit(goodsDto.getGoodsUnit());
                 goodsEntity.setGoodsBizType(goodsDto.getGoodsBizType());
@@ -960,11 +960,13 @@ public class GoodsServiceImpl implements GoodsService {
                 goodsEntity.setNetWeight(new BigDecimal(goodsDto.getNetWeight()));
                 goodsEntity.setLegalUnit1Qty(new BigDecimal(goodsDto.getLegalUnit1Qty()));
                 goodsEntity.setLegalUnit2Qty(new BigDecimal(goodsDto.getLegalUnit2Qty()));
-                goodsEntity.setImpConsumTaxRate(new BigDecimal(goodsDto.getImpConsumTaxRate()));
+                if(null!=goodsDto.getImpConsumTaxRate()){
+                 goodsEntity.setImpConsumTaxRate(new BigDecimal(goodsDto.getImpConsumTaxRate()));
+                }
                 goodsEntity.setValueAddedTaxRate(new BigDecimal(goodsDto.getValueAddedTaxRate()));
 
                 if(!isFail){
-                    GoodsEntity goods = goodsDao.queryObjectBySn(goodsDto.getGoodsSn());
+                    GoodsEntity goods = goodsDao.queryObjectBySnNew(goodsDto.getGoodsSn());
                     MngChangeEntity mngChangeEntity = new MngChangeEntity();
                     mngChangeEntity.setThirdPartyMerchCode(goodsEntity.getThirdPartyMerchCode());
                     mngChangeEntity.setChangeReason("更新商户商品总库存");
@@ -1017,7 +1019,7 @@ public class GoodsServiceImpl implements GoodsService {
 
                             // TODO 这里改成批量插入 GoodsSpecificationEntity
                             goodsSpecificationDao.save(goodsSpecification);
-                        }
+                        }else{
                             //                           {
 //                            goodsSpecification.setValue(goodsDto.getCiqProdModel());
                             goodsSpecification.setId(specificationEntity.getId());
@@ -1025,6 +1027,8 @@ public class GoodsServiceImpl implements GoodsService {
 //                            // TODO 这里改成批量更新 GoodsSpecificationEntity
 //                            updateSpecificationList.add(goodsSpecification);
 //                        }
+                        }
+
                         if(product == null){
                             product = new ProductEntity();
                             product.setGoodsSn(goodsDto.getGoodsSn());
@@ -1167,10 +1171,10 @@ public class GoodsServiceImpl implements GoodsService {
                     //     categoryId = saveCategoryEntity.getId()+"";
                     //
                     // }
-                    categoryCacheData.put("categoryId",categoryId);
-                    JedisUtil.setMap(secondLevel,categoryCacheData,0);
-                    goodsEntity.setCategoryId(Integer.parseInt(categoryId));
-
+//                    categoryCacheData.put("categoryId",categoryId);
+//                    JedisUtil.setMap(secondLevel,categoryCacheData,0);
+//                    goodsEntity.setCategoryId(Integer.parseInt(categoryId));
+                    throw new RuntimeException("该分类不是二级分类,请检查,对应条码是:"+ goodsDto.getSku()+",分类名称为:"+ goodsDto.getSecondLevel());
                 }else if(category != null && Dict.Level.item_L2.getItem().equals(category.getLevel())){
                     // 缓存中没有,数据库中有,直接存入数据库中查询到的数据
                     goodsEntity.setCategoryId(category.getId());
@@ -1216,9 +1220,11 @@ public class GoodsServiceImpl implements GoodsService {
                 //     categoryId = saveCategoryEntity.getId()+"";
                 //
                 // }
-                categoryCacheData.put("categoryId",categoryId);
-                JedisUtil.setMap(secondLevel,categoryCacheData,0);
-                goodsEntity.setCategoryId(Integer.parseInt(categoryId));
+//                categoryCacheData.put("categoryId",categoryId);
+//                JedisUtil.setMap(secondLevel,categoryCacheData,0);
+//                goodsEntity.setCategoryId(Integer.parseInt(categoryId));
+                throw new RuntimeException("该分类不是二级分类,请检查,对应条码是:"+ goodsDto.getSku()+",分类名称为:"+ goodsDto.getSecondLevel());
+
 
             }else if(category != null && Dict.Level.item_L2.getItem().equals(category.getLevel())){
                 // 缓存中没有,数据库中有,直接存入数据库中查询到的数据
@@ -1470,7 +1476,7 @@ public class GoodsServiceImpl implements GoodsService {
                 goodsEntity.setGoodsNumber(Integer.parseInt(goodsDto.getGoodsNumber()));
 
                 if(!isFail){
-                    GoodsEntity goods = goodsDao.queryObjectBySn(goodsDto.getGoodsSn());
+                    GoodsEntity goods = goodsDao.queryObjectBySnNew(goodsDto.getGoodsSn());
 
                     MngChangeEntity mngChangeEntity = new MngChangeEntity();
                     mngChangeEntity.setThirdPartyMerchCode(goodsEntity.getThirdPartyMerchCode());
@@ -2102,9 +2108,6 @@ public class GoodsServiceImpl implements GoodsService {
         return 1;
     }*/
 
-    public GoodsEntity queryObjectBySn(String goodsSn) {
-        return goodsDao.queryObjectBySn(goodsSn);
-    }
 
     /**
      * 全量拉取

+ 73 - 70
kmall-admin/src/main/java/com/kmall/admin/service/impl/ProductStoreRelaServiceImpl.java

@@ -207,8 +207,8 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
             // 修改产品
             if(product == null){
                 product = new ProductEntity();
-                product.setGoodsSn(goodsEntity.getGoodsSn());
-                product.setGoodsSpecificationNameValue(goodsSpecification.getValue());
+                product.setGoodsSn(goodsEntity.getGoodsSn().trim());
+                product.setGoodsSpecificationNameValue(goodsSpecification.getValue().trim());
                 product.setGoodsSpecificationIds(goodsSpecification.getId().toString());
                 product.setGoodsId(goodsEntity.getId());
                 product.setGoodsNumber(goodsEntity.getGoodsNumber());
@@ -216,7 +216,7 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
                 productDao.save(product);
             }else{
                 product.setGoodsSpecificationIds(goodsSpecification.getId().toString());
-                product.setGoodsSpecificationNameValue(goodsSpecification.getValue());
+                product.setGoodsSpecificationNameValue(goodsSpecification.getValue().trim());
                 productDao.update(product);
             }
         }
@@ -263,7 +263,7 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
         productStoreRela.setAttributeCategory(categoryDao.queryObject(productStoreRela.getCategoryId()).getParentId());
         productStoreRela.setProductId(product.getId());
         productStoreRela.setGoodsBizType(goodsEntity.getGoodsBizType());
-        productStoreRela.setSku(goodsEntity.getSku());
+        productStoreRela.setSku(goodsEntity.getSku().trim());
         productStoreRela.setCreaterSn(user.getUserId().toString());
         productStoreRela.setCreateTime(new Date());
         productStoreRela.setModerSn(user.getUserId().toString());
@@ -906,7 +906,7 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
                 StoreEntity store = storeDao.queryObjectByName(storeGoodsDto.getStoreName().trim());
                 storeRelaEntity.setExitRegionNumber(storeGoodsDto.getExitRegionNumber());
                 storeRelaEntity.setStoreId(store.getId());
-                GoodsEntity goodsEntity = goodsDao.queryObjectBySn(storeGoodsDto.getGoodsSn());
+                GoodsEntity goodsEntity = goodsDao.queryObjectBySnNew(storeGoodsDto.getGoodsSn());
                 if (goodsEntity != null) {
                     storeRelaEntity.setGoodsId(goodsEntity.getId());
                 }else{
@@ -916,10 +916,10 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
                 // 获取分类id
                 String firstLevelName = storeGoodsDto.getCategoryName();
                 String secondLevelName = storeGoodsDto.getAttributeCategory();
-                Map<String, String> categoryCache = JedisUtil.getMap(secondLevelName);
-                if(categoryCache != null){
-                    String categoryId = categoryCache.get("categoryId");
-                    String level = categoryCache.get("level");
+                CategoryEntity categoryNew = categoryDao.queryByName(secondLevelName);
+                if(categoryNew != null){
+                    String categoryId = categoryNew.getId().toString();
+                    String level = categoryNew.getLevel();
 
                     String firstLevelCategoryId = "";
                     String secondLevelCategoryId = "";
@@ -929,36 +929,37 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
                         if (category == null) {
 
                             // 查询数据库中是否有一级分类
-                            CategoryEntity firstCategory = categoryDao.queryByName(firstLevelName);
-                            if(firstCategory == null){
-                                // 一级分类不存在
-                                // 新增一级分类
-                                CategoryEntity firstCategoryEntity = initCategory(firstLevelName, 0, Dict.Level.item_L1);
-                                categoryDao.save(firstCategoryEntity);
-                                // 新增二级分类
-                                CategoryEntity secondCategoryEntity = initCategory(secondLevelName, firstCategoryEntity.getId(), Dict.Level.item_L2);
-                                categoryDao.save(secondCategoryEntity);
-                                categoryId = secondCategoryEntity.getId()+"";
-
-                                firstLevelCategoryId = firstCategoryEntity.getId() + "";
-                                secondLevelCategoryId = secondCategoryEntity.getId()+"";
-                            }else{
-                                // 新增二级分类
-                                CategoryEntity saveCategoryEntity = initCategory(secondLevelName, firstCategory.getId(), Dict.Level.item_L2);
-                                categoryDao.save(saveCategoryEntity);
-                                firstLevelCategoryId = firstCategory.getId() + "";
-                                secondLevelCategoryId = saveCategoryEntity.getId()+"";
-
-                            }
-                            // 存储一级分类
-                            set2Redis(firstLevelName, firstLevelCategoryId, Dict.Level.item_L1);
-                            // 存储二级分类
-                            set2Redis(secondLevelName, secondLevelCategoryId, Dict.Level.item_L2);
-
-                            // 设置一级、二级分类id
-
-                            storeRelaEntity.setAttributeCategory(Integer.parseInt(firstLevelCategoryId));
-                            storeRelaEntity.setCategoryId(Integer.parseInt(secondLevelCategoryId));
+//                            CategoryEntity firstCategory = categoryDao.queryByName(firstLevelName);
+//                            if(firstCategory == null){
+//                                // 一级分类不存在
+//                                // 新增一级分类
+//                                CategoryEntity firstCategoryEntity = initCategory(firstLevelName, 0, Dict.Level.item_L1);
+//                                categoryDao.save(firstCategoryEntity);
+//                                // 新增二级分类
+//                                CategoryEntity secondCategoryEntity = initCategory(secondLevelName, firstCategoryEntity.getId(), Dict.Level.item_L2);
+//                                categoryDao.save(secondCategoryEntity);
+//                                categoryId = secondCategoryEntity.getId()+"";
+//
+//                                firstLevelCategoryId = firstCategoryEntity.getId() + "";
+//                                secondLevelCategoryId = secondCategoryEntity.getId()+"";
+//                            }else{
+//                                // 新增二级分类
+//                                CategoryEntity saveCategoryEntity = initCategory(secondLevelName, firstCategory.getId(), Dict.Level.item_L2);
+//                                categoryDao.save(saveCategoryEntity);
+//                                firstLevelCategoryId = firstCategory.getId() + "";
+//                                secondLevelCategoryId = saveCategoryEntity.getId()+"";
+//
+//                            }
+//                            // 存储一级分类
+//                            set2Redis(firstLevelName, firstLevelCategoryId, Dict.Level.item_L1);
+//                            // 存储二级分类
+//                            set2Redis(secondLevelName, secondLevelCategoryId, Dict.Level.item_L2);
+//
+//                            // 设置一级、二级分类id
+//
+//                            storeRelaEntity.setAttributeCategory(Integer.parseInt(firstLevelCategoryId));
+//                            storeRelaEntity.setCategoryId(Integer.parseInt(secondLevelCategoryId));
+                            throw new RuntimeException("该分类不是一级或二级分类,请检查,对应条码是:"+ storeGoodsDto.getGoodsSn()+",分类名称为:"+ storeGoodsDto.getAttributeCategory());
 
                         }else if(category != null && Dict.Level.item_L2.getItem().equals(category.getLevel())){
                             // 缓存中没有,数据库中有,直接存入数据库中查询到的数据
@@ -978,12 +979,12 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
                             throw new RuntimeException("该分类不是二级分类,请检查,对应sku是:"+ storeGoodsDto.getGoodsSn()+",分类名称为:"+ storeGoodsDto.getAttributeCategory());
                         }
                     }else if(Dict.Level.item_L2.getItem().equals(level)){
-                        // 二级分类id在缓存中有,直接存入商品
-                        Map<String, String> firstCategoryCache = JedisUtil.getMap(firstLevelName);
-                        storeRelaEntity.setAttributeCategory(Integer.parseInt(firstCategoryCache.get("categoryId")));
+
+                        CategoryEntity firstCategory = categoryDao.queryByName(firstLevelName);
+                        storeRelaEntity.setAttributeCategory(firstCategory.getId());
                         storeRelaEntity.setCategoryId(Integer.parseInt(categoryId));
                     }else {
-                        throw new RuntimeException("该分类不是二级分类,请检查,对应sku是:"+ storeGoodsDto.getGoodsSn()+",分类名称为:"+ storeGoodsDto.getAttributeCategory());
+                        throw new RuntimeException("该分类不是一级或二级分类,请检查,对应sku是:"+ storeGoodsDto.getGoodsSn()+",分类名称为:"+ storeGoodsDto.getAttributeCategory());
                     }
                 }else {
                     String firstLevelCategoryId = "";
@@ -993,33 +994,35 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
 
 
                         // 查询数据库中是否有一级分类
-                        CategoryEntity firstCategory = categoryDao.queryByName(firstLevelName);
-                        if(firstCategory == null){
-                            // 一级分类不存在
-                            // 新增一级分类
-                            CategoryEntity firstCategoryEntity = initCategory(firstLevelName, 0, Dict.Level.item_L1);
-                            categoryDao.save(firstCategoryEntity);
-                            // 新增二级分类
-                            CategoryEntity secondCategoryEntity = initCategory(secondLevelName, firstCategoryEntity.getId(), Dict.Level.item_L2);
-                            categoryDao.save(secondCategoryEntity);
-                            firstLevelCategoryId = firstCategoryEntity.getId() + "";
-                            secondLevelCategoryId = secondCategoryEntity.getId()+"";
-                        }else{
-                            // 新增二级分类
-                            CategoryEntity saveCategoryEntity = initCategory(secondLevelName, firstCategory.getId(), Dict.Level.item_L2);
-                            categoryDao.save(saveCategoryEntity);
-                            firstLevelCategoryId = firstCategory.getId() + "";
-                            secondLevelCategoryId = saveCategoryEntity.getId()+"";
-
-                        }
-                        // 存储一级分类
-                        set2Redis(firstLevelName, firstLevelCategoryId, Dict.Level.item_L1);
-                        // 存储二级分类
-                        set2Redis(secondLevelName, secondLevelCategoryId, Dict.Level.item_L2);
+//                        CategoryEntity firstCategory = categoryDao.queryByName(firstLevelName);
+//                        if(firstCategory == null){
+//                            // 一级分类不存在
+//                            // 新增一级分类
+//                            CategoryEntity firstCategoryEntity = initCategory(firstLevelName, 0, Dict.Level.item_L1);
+//                            categoryDao.save(firstCategoryEntity);
+//                            // 新增二级分类
+//                            CategoryEntity secondCategoryEntity = initCategory(secondLevelName, firstCategoryEntity.getId(), Dict.Level.item_L2);
+//                            categoryDao.save(secondCategoryEntity);
+//                            firstLevelCategoryId = firstCategoryEntity.getId() + "";
+//                            secondLevelCategoryId = secondCategoryEntity.getId()+"";
+//                        }else{
+//                            // 新增二级分类
+//                            CategoryEntity saveCategoryEntity = initCategory(secondLevelName, firstCategory.getId(), Dict.Level.item_L2);
+//                            categoryDao.save(saveCategoryEntity);
+//                            firstLevelCategoryId = firstCategory.getId() + "";
+//                            secondLevelCategoryId = saveCategoryEntity.getId()+"";
+//
+//                        }
+//                        // 存储一级分类
+//                        set2Redis(firstLevelName, firstLevelCategoryId, Dict.Level.item_L1);
+//                        // 存储二级分类
+//                        set2Redis(secondLevelName, secondLevelCategoryId, Dict.Level.item_L2);
+//
+//                        // 设置一级、二级分类id
+//                        storeRelaEntity.setAttributeCategory(Integer.parseInt(firstLevelCategoryId));
+//                        storeRelaEntity.setCategoryId(Integer.parseInt(secondLevelCategoryId));
+                        throw new RuntimeException("该分类不是一级或二级分类,请检查,对应sku是:"+ storeGoodsDto.getGoodsSn()+",分类名称为:"+ storeGoodsDto.getAttributeCategory());
 
-                        // 设置一级、二级分类id
-                        storeRelaEntity.setAttributeCategory(Integer.parseInt(firstLevelCategoryId));
-                        storeRelaEntity.setCategoryId(Integer.parseInt(secondLevelCategoryId));
 
                     }else if(category != null && Dict.Level.item_L2.getItem().equals(category.getLevel())){
                         // 缓存中没有,数据库中有,直接存入数据库中查询到的数据
@@ -1149,7 +1152,7 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
                 StoreEntity store = storeDao.queryObjectByName(storeGoodsDto.getStoreName().trim());
 
                 storeRelaEntity.setStoreId(store.getId());
-                GoodsEntity goodsEntity = goodsDao.queryObjectBySn(storeGoodsDto.getGoodsSn());
+                GoodsEntity goodsEntity = goodsDao.queryObjectBySnNew(storeGoodsDto.getGoodsSn());
                 if (goodsEntity != null) {
                     storeRelaEntity.setGoodsId(goodsEntity.getId());
                 }else{

+ 8 - 0
kmall-admin/src/main/resources/mybatis/mapper/GoodsDao.xml

@@ -297,6 +297,14 @@
         where a.goods_sn = #{goodsSn}
     </select>
 
+    <select id="queryObjectBySnNew" resultType="com.kmall.admin.entity.GoodsEntity">
+        SELECT
+            a.*
+        FROM
+            mall_goods a
+        where a.sku = #{goodsSn}
+    </select>
+
     <select id="queryList" resultType="com.kmall.admin.entity.GoodsEntity">
         select * from (
         select

+ 1 - 1
kmall-admin/src/main/webapp/WEB-INF/page/shop/storeProductStock.html

@@ -147,7 +147,7 @@
 <!--                    </Upload>-->
 <!--                </i-col>-->
                 #if($shiro.hasPermission("productstorerela:down"))
-                &nbsp;&nbsp;&nbsp;<a href="../statics/file/store_goods_export_yyyy_mm_dd_v1.0.0.xls">门店商品模板下载</a>&nbsp;&nbsp;&nbsp;&nbsp;
+                &nbsp;&nbsp;&nbsp;<a href="../statics/file/store_goods_export_yyyy_mm_dd_v1.0.0.xlsx">门店商品模板下载</a>&nbsp;&nbsp;&nbsp;&nbsp;
                 #end
             </div>
         </Row>