浏览代码

【器件上传】-- 初步增加新接口

wangyc 8 年之前
父节点
当前提交
7c81f3a3a0

+ 29 - 1
pom.xml

@@ -316,7 +316,18 @@
 		<dependency>
 		<dependency>
 			<groupId>org.apache.poi</groupId>
 			<groupId>org.apache.poi</groupId>
 			<artifactId>poi</artifactId>
 			<artifactId>poi</artifactId>
-			<version>3.9</version>
+			<version>3.17</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.poi</groupId>
+			<artifactId>poi-ooxml</artifactId>
+			<version>3.17</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.apache.poi</groupId>
+					<artifactId>poi</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		</dependency>
 		<!-- BeeCloud支付集成SDK -->
 		<!-- BeeCloud支付集成SDK -->
 		<dependency>
 		<dependency>
@@ -436,6 +447,23 @@
 			<groupId>javax.servlet</groupId>
 			<groupId>javax.servlet</groupId>
 			<artifactId>servlet-api</artifactId>
 			<artifactId>servlet-api</artifactId>
 		</dependency>
 		</dependency>
+		<!--Hutool POI工具类(对MS Office操作)-->
+		<!--<dependency>
+			<groupId>org.apache.poi</groupId>
+			<artifactId>poi-ooxml</artifactId>
+			<version>3.17</version>
+		</dependency>-->
+		<dependency>
+			<groupId>com.xiaoleilu</groupId>
+			<artifactId>hutool-poi</artifactId>
+			<version>3.2.2</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.apache.poi</groupId>
+					<artifactId>poi-ooxml</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
 	</dependencies>
 	</dependencies>
 	<build>
 	<build>
 		<finalName>platform-b2c</finalName>
 		<finalName>platform-b2c</finalName>

+ 39 - 1
src/main/java/com/uas/platform/b2c/prod/product/component/controller/ComponentSubmitController.java

@@ -15,6 +15,8 @@ import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.ServiceCode;
 import com.uas.platform.core.model.ServiceCode;
 import com.uas.platform.core.model.Status;
 import com.uas.platform.core.model.Status;
+import com.xiaoleilu.hutool.poi.excel.ExcelReader;
+import com.xiaoleilu.hutool.poi.excel.ExcelUtil;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -30,6 +32,7 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @author wangyc
  * @author wangyc
@@ -455,7 +458,42 @@ public class ComponentSubmitController {
 		}
 		}
 		return componentCrawls;
 		return componentCrawls;
 	}
 	}
-	
+
+	/**
+	 * 上传器件数据到爬虫库(没有参数对应关系)
+	 *
+	 * @param uploadItem 文件
+	 * @return 爬取器件信息
+	 */
+	@Transactional
+	@RequestMapping(value = "upload/componentCrawls", method = RequestMethod.POST)
+	public List<ComponentCrawl> uploadComponentCrawlV2(FileUpload uploadItem) {
+		String fileName = uploadItem.getFile().getOriginalFilename();
+		List<ComponentCrawl> componentCrawls = new ArrayList<ComponentCrawl>();
+
+		try {
+			InputStream is = uploadItem.getFile().getInputStream();
+			ExcelReader reader = ExcelUtil.getReader(is);
+			List<Map<String, Object>> maps = reader.readAll();
+
+			int size = maps.size();
+			if (size > 10000) {
+				throw new IllegalOperatorException("上传文件必须小于10000行");
+			}
+			if (size > 0) {
+				Map<String, Object> map = maps.get(0);
+				if (map.keySet().size() > 28) {
+
+				}
+			}
+			componentCrawls = componentSubmitService.uploadComponentCrawl(maps);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		logger.log("器件上传", "器件上传");
+		return componentCrawls;
+	}
+
 	/**
 	/**
 	 * 上传器件数据到爬虫库(已有参数对应关系)
 	 * 上传器件数据到爬虫库(已有参数对应关系)
 	 * 
 	 * 

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/service/ComponentSubmitService.java

@@ -6,6 +6,7 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 public interface ComponentSubmitService {
 public interface ComponentSubmitService {
 
 
@@ -123,6 +124,13 @@ public interface ComponentSubmitService {
 	 */
 	 */
 	public List<ComponentCrawl> uploadComponentCrawl(Workbook workbook, String fileName);
 	public List<ComponentCrawl> uploadComponentCrawl(Workbook workbook, String fileName);
 
 
+	/**
+	 * 上传器件爬取数据
+	 *
+	 * @return 爬取器件
+	 */
+	public List<ComponentCrawl> uploadComponentCrawl(List<Map<String, Object>> maps);
+
 	/**
 	/**
 	 * 上传器件爬取数据(已有参数对应关系)
 	 * 上传器件爬取数据(已有参数对应关系)
 	 * @param workbook 表格
 	 * @param workbook 表格

+ 5 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentSubmitServiceImpl.java

@@ -721,6 +721,11 @@ public class ComponentSubmitServiceImpl implements ComponentSubmitService {
 		return components;
 		return components;
 	}
 	}
 
 
+	@Override
+	public List<ComponentCrawl> uploadComponentCrawl(List<Map<String, Object>> maps) {
+		return null;
+	}
+
 	@Override
 	@Override
 	public List<ComponentCrawl> uploadComponentCrawlWithSame(Workbook workbook, String fileName, Long kindContrastId) {
 	public List<ComponentCrawl> uploadComponentCrawlWithSame(Workbook workbook, String fileName, Long kindContrastId) {
 		List<ComponentCrawl> components = new ArrayList<ComponentCrawl>();
 		List<ComponentCrawl> components = new ArrayList<ComponentCrawl>();