Просмотр исходного кода

产品批量导入增加必填字段是否为空的判断

hejq 7 лет назад
Родитель
Сommit
ebbc19b79c

+ 25 - 17
src/main/java/com/uas/platform/b2c/prod/commodity/constant/ErrorInfoConstant.java

@@ -6,29 +6,36 @@ package com.uas.platform.b2c.prod.commodity.constant;
  * @author hulh
  */
 public enum  ErrorInfoConstant {
+
+    /**
+     * 产品库已存在相同的产品
+     */
     REPEAT_INFO("产品库已存在相同的产品"),
+
+    /**
+     * SKU编码不能为空
+     */
     BATCH_EMPTY("SKU编码不能为空"),
+
+    /**
+     * SKU编码信息有误
+     */
     BATCH_ERROR("SKU编码信息有误"),
+
+    /**
+     * 店铺信息错误
+     */
     STORE_ERROR("店铺信息错误"),
+
+    /**
+     * 在售状态不能为空
+     */
     SALE_EMPTY("在售状态不能为空"),
+
+    /**
+     * 在售状态信息错误
+     */
     SALE_ERROR("在售状态信息错误"),
-//    CODE_PATTERN_INFO("A列:请勿输入中文或中文特殊字符"),
-//    CODE_LENGTH_INFO("A列:产品型号不能超过100字符"),
-//    CODE_EMPTY_INFO("A列:产品型号不能为空"),
-//
-//    BRAND_LENGTH_INFO("B列:品牌名称不能超过50个字符或25个汉字"),
-//    BRAND_EMPTY_INFO("B列:英文品牌不能为空"),
-//    BREAK_UP_INFO("C列:请选择可拆卖情况是或否"),
-//    RESERVE_NUMBER_INFO("D列:库存须填写小于10亿的正整数"),
-//    PRODUCE_DATE_INFO("E列:生产日期不能为空"),
-//    PACKAGE_NOT_EXIST_INFO("F列:包装方式不存在"),
-//    PACKAGE_METHOD_INFO("F列:包装方式只能填写中英文"),
-//    PACKAGE_EMPTY_INFO("F列:包装方式不能为空"),
-//    PERSON_PACKAGE_EMPTY_INFO("C列:规格信息不能为空"),
-//    DELIVERY_EMPTY_INFO("G-H列:存在交期的信息为空"),
-//    DELIVERY_VALUE_INFO("G-H列:交期只能填写1-999之间的整数值"),
-//    PRICE_INFO("K列:单价必须是小于1万的正数"),
-//    MIN_PACKAGE_INFO("I列:最小包数量包含非数字字符"),
     CODE_PATTERN_INFO("请勿输入中文或中文特殊字符"),
     CODE_LENGTH_INFO("产品型号不能超过100字符"),
     CODE_EMPTY_INFO("产品型号不能为空"),
@@ -37,6 +44,7 @@ public enum  ErrorInfoConstant {
     BRAND_EMPTY_INFO("英文/中文品牌名称不能为空"),
     KIND_EMPTY_INFO("物料名称(类目)不能为空"),
     KIND_LENGTH_INFO("物料名称(类目)不能超过20个字符"),
+
     // PCB模块使用
     KIND_UNSTANDARD("物料名称(类目)不是商城标准类目"),
     BRAND_UNSTANDARD("品牌不是商城标准品牌"),

+ 16 - 0
src/main/java/com/uas/platform/b2c/trade/order/service/impl/PurchaseProductServiceImpl.java

@@ -217,11 +217,13 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
         // 统计为空的个数
         int result = 0;
         aProduct.setNum(rowNum - 2);
+        StringBuilder errMsg = new StringBuilder();
         // 品牌
         Object brandValue = releaseProductByBatchService.readWorkBookCell(row.getCell(UploadConstant.BRAND_ENGLISH), Cell.CELL_TYPE_STRING,
                 rowNum, UploadConstant.BRAND_ENGLISH);
         if (StringUtils.isEmpty(brandValue)) {
             result += 1;
+            errMsg.append(ErrorInfoConstant.BRAND_EMPTY_INFO.getInfo());
         }
         aProduct.setBrandEnByExcel(brandValue);
 
@@ -230,6 +232,10 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
                 rowNum, UploadConstant.KIND);
         if (StringUtils.isEmpty(kindValue)) {
             result += 1;
+            if (errMsg.length() > 0) {
+                errMsg.append(",");
+            }
+            errMsg.append(ErrorInfoConstant.KIND_EMPTY_INFO.getInfo());
         }
         aProduct.setKindByExcel(kindValue);
 
@@ -238,6 +244,10 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
                 rowNum, UploadConstant.PRODUCT_CODE);
         if (StringUtils.isEmpty(codeValue)) {
             result += 1;
+            if (errMsg.length() > 0) {
+                errMsg.append(",");
+            }
+            errMsg.append(ErrorInfoConstant.CODE_EMPTY_INFO.getInfo());
         }
         aProduct.setCodeByExcel(codeValue);
 
@@ -245,6 +255,12 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
         Object specValue = releaseProductByBatchService.readWorkBookCell(row.getCell(UploadConstant.SPEC), Cell.CELL_TYPE_STRING,
                 rowNum, UploadConstant.SPEC);
         aProduct.setSpecByExcel(specValue);
+
+        if (errMsg.length() > 0) {
+            aProduct.setErrmsg(errMsg.toString());
+            aProduct.setReleaseCode(ReleaseStatus.lack_info.value());
+            aProduct.setReleaseStatus(ReleaseStatus.lack_info.getPhrase());
+        }
         return result;
     }