瀏覽代碼

商品导入excel

赵冬冬 4 年之前
父節點
當前提交
0b9af29664

+ 1 - 1
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dto/PmsBrandParam.java

@@ -32,7 +32,7 @@ public class PmsBrandParam {
     @FlagValidator(value = {"0", "1"}, message = "显示状态不正确")
     private Integer showStatus;
     @ApiModelProperty(value = "品牌logo", required = true)
-    @NotEmpty(message = "品牌logo不能为空")
+//    @NotEmpty(message = "品牌logo不能为空")
     private String logo;
     @ApiModelProperty(value = "品牌大图")
     private String bigPic;

+ 8 - 4
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/listener/PmsProductExcelListener.java

@@ -55,6 +55,8 @@ public class PmsProductExcelListener extends AnalysisEventListener<PmsProductExc
 
     List<PmsProductExcelParam> list = new ArrayList();
 
+    List<PmsProductExcelParam> alllist = new ArrayList();
+
     Set<String> companyList = new HashSet<>();
 
     Set<String> bandlist = new HashSet<>();
@@ -116,6 +118,7 @@ public class PmsProductExcelListener extends AnalysisEventListener<PmsProductExc
         list.add(pmsProductExcelParam);
         if (list.size() >= BATCH_COUNT) {
             saveData();
+            alllist.addAll(list);
             list.clear();
         }
     }
@@ -197,10 +200,11 @@ public class PmsProductExcelListener extends AnalysisEventListener<PmsProductExc
 
     //更新大小类
     public void updateProductType(List<String> compName) {
-        productExcelDao.updateBrand(compName);
-        productExcelDao.updateBigType(compName);
-        productExcelDao.updateSimType(compName);
-        productExcelDao.updateMemberOrigin(compName);
+        List<Long> ids = alllist.stream().map(PmsProductExcelParam::getId).distinct().collect(Collectors.toList());
+        productExcelDao.updateBrand(compName,ids);
+        productExcelDao.updateBigType(compName,ids);
+        productExcelDao.updateSimType(compName,ids);
+        productExcelDao.updateMemberOrigin(compName,ids);
     }
 
     @SneakyThrows

+ 2 - 1
forest-admin/admin-server/src/main/resources/dao/ProductExcelDao.xml

@@ -294,11 +294,12 @@
         SET a.product_big_category_id = b.id
         WHERE
         b.parent_id = 0
-        AND a.comp_name in
+
         AND a.id IN
         <foreach collection="ids" item="id" open="(" separator="," close=")">
             #{id}
         </foreach>
+        AND a.comp_name in
         <foreach collection="list" item="compName" open="(" separator="," close=")">
             #{compName}
         </foreach>

+ 0 - 26
forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/FastCompanyInfo.java

@@ -4,46 +4,20 @@ package com.hwrj.cloud.admin;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.hwrj.cloud.admin.dao.PmsProductExcelDao;
-import com.hwrj.cloud.admin.dto.param.PmsProductExcel;
-import com.hwrj.cloud.admin.dto.param.PmsProductParam;
-import com.hwrj.cloud.admin.excelEntity.UmsCompanyInfoExcel;
-import com.hwrj.cloud.admin.excelEntity.UmsMemberOriginExcel;
-import com.hwrj.cloud.admin.listener.ImportExcelEventListener;
-import com.hwrj.cloud.admin.mapper.PmsProductMapper;
-import com.hwrj.cloud.admin.mapper.UmsCompanyFileMapper;
 import com.hwrj.cloud.admin.mapper.UmsCompanyInfoMapper;
 import com.hwrj.cloud.admin.mapper.UmsMemberOriginMapper;
 import com.hwrj.cloud.admin.model.*;
-import com.hwrj.cloud.admin.service.PmsProductService;
-import com.hwrj.cloud.admin.service.UmsCompanyService;
-import com.hwrj.cloud.admin.service.UmsMemberOriginService;
-import com.hwrj.cloud.admin.util.EasyExcelUtil;
-import com.hwrj.cloud.admin.util.OrderNo;
-import com.hwrj.cloud.admin.util.UploadFileUtil;
-import com.hwrj.cloud.common.exception.GlobalException;
 import com.hwrj.cloud.common.util.HttpUtils;
 import lombok.extern.slf4j.Slf4j;
-import net.bytebuddy.asm.Advice;
-import org.apache.http.entity.ContentType;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.util.StringUtils;
-import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
 import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 @Slf4j
 @RunWith(SpringJUnit4ClassRunner.class)

+ 20 - 36
forest-admin/admin-server/src/test/java/com/hwrj/cloud/admin/FirstUploadForestData.java

@@ -1,19 +1,12 @@
 package com.hwrj.cloud.admin;
 
 
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelReader;
-import com.alibaba.excel.context.AnalysisContext;
-import com.alibaba.excel.read.metadata.ReadSheet;
-import com.alibaba.fastjson.JSONObject;
-import com.google.gson.internal.$Gson$Preconditions;
 import com.hwrj.cloud.admin.dao.PmsProductExcelDao;
 import com.hwrj.cloud.admin.dto.param.PmsProductExcel;
-import com.hwrj.cloud.admin.dto.param.PmsProductParam;
+import com.hwrj.cloud.admin.dto.param.PmsProductExcelParam;
 import com.hwrj.cloud.admin.excelEntity.UmsCompanyInfoExcel;
 import com.hwrj.cloud.admin.excelEntity.UmsMemberOriginExcel;
 import com.hwrj.cloud.admin.listener.ImportExcelEventListener;
-import com.hwrj.cloud.admin.listener.PmsProductExcelListener;
 import com.hwrj.cloud.admin.mapper.PmsProductMapper;
 import com.hwrj.cloud.admin.mapper.UmsCompanyFileMapper;
 import com.hwrj.cloud.admin.mapper.UmsCompanyInfoMapper;
@@ -22,11 +15,9 @@ import com.hwrj.cloud.admin.model.*;
 import com.hwrj.cloud.admin.service.PmsProductService;
 import com.hwrj.cloud.admin.service.UmsCompanyService;
 import com.hwrj.cloud.admin.service.UmsMemberOriginService;
-import com.hwrj.cloud.admin.util.CurrUserUtil;
 import com.hwrj.cloud.admin.util.EasyExcelUtil;
 import com.hwrj.cloud.admin.util.OrderNo;
 import com.hwrj.cloud.admin.util.UploadFileUtil;
-import com.hwrj.cloud.common.api.CommonResult;
 import com.hwrj.cloud.common.exception.GlobalException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.http.entity.ContentType;
@@ -39,24 +30,17 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.security.Principal;
 import java.util.ArrayList;
-import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-import static com.hwrj.cloud.admin.listener.PmsProductExcelListener.replaceBlank;
 
 @Slf4j
 @RunWith(SpringJUnit4ClassRunner.class)
@@ -534,7 +518,7 @@ private int i = 1;
 //            }
 //        }
 
-        List<PmsProductParam> listAll = new ArrayList<>();
+        List<PmsProductExcelParam> listAll = new ArrayList<>();
         if(file != null){
             List<Object> list = null;
             try {
@@ -546,8 +530,8 @@ private int i = 1;
             if(list != null && list.size() > 0){
                 for(Object obj : list){
                     PmsProductExcel excel = (PmsProductExcel) obj;
-                    PmsProductParam pmsProductParam = addData(excel);
-                    listAll.add(pmsProductParam);
+                    PmsProductExcelParam pmsProductExcelParam = addData(excel);
+                    listAll.add(pmsProductExcelParam);
                 }
             }
         }
@@ -559,44 +543,44 @@ private int i = 1;
 
 
 
-    private PmsProductParam addData(PmsProductExcel pmsProductExcel) {
+    private PmsProductExcelParam addData(PmsProductExcel pmsProductExcel) {
 
-        PmsProductParam pmsProductParam = new PmsProductParam();
-        BeanUtils.copyProperties(pmsProductExcel, pmsProductParam);
+        PmsProductExcelParam pmsProductExcelParam = new PmsProductExcelParam();
+        BeanUtils.copyProperties(pmsProductExcel, pmsProductExcelParam);
         //名称
         String name = pmsProductExcel.getName();
         //价格
         BigDecimal price = pmsProductExcel.getPrice();
         //标题
-        pmsProductParam.setDetailTitle(name);
+        pmsProductExcelParam.setDetailTitle(name);
         //笔记
-        pmsProductParam.setNote(name);
+        pmsProductExcelParam.setNote(name);
         //关键字
-        pmsProductParam.setKeywords(name);
+        pmsProductExcelParam.setKeywords(name);
 
         String description = replaceBlank(pmsProductExcel.getDescription());
 
-        pmsProductParam.setUmsCompanyInfoId(companyId(pmsProductExcel.getUmsCompanyInfo()));
+        pmsProductExcelParam.setUmsCompanyInfoId(companyId(pmsProductExcel.getUmsCompanyInfo()));
 
         //商品描述
-        pmsProductParam.setDescription(description);
+        pmsProductExcelParam.setDescription(description);
         //简述
-        pmsProductParam.setSubTitle(description);
+        pmsProductExcelParam.setSubTitle(description);
         //使用说明
         String instructions = replaceBlank(pmsProductExcel.getInstructions());
         //默认文本
-        pmsProductParam.setDetailDesc(instructions);
+        pmsProductExcelParam.setDetailDesc(instructions);
         //web网页显示
-        pmsProductParam.setDetailHtml(instructions);
+        pmsProductExcelParam.setDetailHtml(instructions);
         //手机网页显示
-        pmsProductParam.setDetailMobileHtml(instructions);
+        pmsProductExcelParam.setDetailMobileHtml(instructions);
         //市场价
-        pmsProductParam.setOriginalPrice(price);
+        pmsProductExcelParam.setOriginalPrice(price);
         //创建人 admin 1
-        pmsProductParam.setCreateUser((long) 1);
+        pmsProductExcelParam.setCreateUser((long) 1);
         //创建时间
-        pmsProductParam.setCreateTime(new Date());
-        return pmsProductParam;
+        pmsProductExcelParam.setCreateTime(new Date());
+        return pmsProductExcelParam;
     }
 
     public static String replaceBlank(String str) {