src/main/java/com/lf/server/controller/data/UploaderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/data/UploaderService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/lf/server/controller/data/UploaderController.java
@@ -3,22 +3,32 @@ import com.lf.server.annotation.SysLog; import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.ctrl.KeyValueEntity; import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.FileHelper; import com.lf.server.helper.PathHelper; import com.lf.server.helper.StringHelper; import com.lf.server.service.data.UploaderService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; import java.io.File; import java.lang.reflect.Field; import java.sql.Timestamp; import java.util.*; /** * 数据上传 @@ -92,7 +102,7 @@ }) @ResponseBody @PostMapping(value = "/deleteMetas") public ResponseMsg<Object> deleteMetas(List<MetaFileEntity> list, HttpServletRequest req) { public ResponseMsg<Object> deleteMetas(@RequestBody List<MetaFileEntity> list, HttpServletRequest req) { try { UserEntity ue = tokenService.getCurrentUser(req); if (ue == null) { @@ -110,16 +120,27 @@ } } public ResponseMsg<Object> insertMetas(String path, Map<String, String> map, HttpServletRequest req) { @SysLog() @ApiOperation(value = "插入元数据") @ApiImplicitParams({ @ApiImplicitParam(name = "kvs", value = "实体类集合", dataType = "KeyValueEntity", paramType = "body") }) @ResponseBody @PostMapping(value = "/insertMetas") public ResponseMsg<Object> insertMetas(@RequestBody List<KeyValueEntity> kvs, HttpServletRequest req) { try { if (null == kvs || kvs.isEmpty()) { return fail("参数不正确或为空", null); } UserEntity ue = tokenService.getCurrentUser(req); if (ue == null) { return fail("用户未登录", null); } //int rows = uploaderService.deleteFiles(list); List<KeyValueEntity> rs = uploaderService.insertMetas(kvs); return success("成功", 0); return success(null == rs || rs.isEmpty() ? "失败" : "成功", rs); } catch (Exception ex) { return fail(ex.getMessage(), null); } src/main/java/com/lf/server/service/data/UploaderService.java
@@ -1,5 +1,6 @@ package com.lf.server.service.data; import com.lf.server.entity.ctrl.KeyValueEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.helper.FileHelper; import com.lf.server.helper.PathHelper; @@ -40,15 +41,13 @@ if (t != null) { setEntity(t, request); } List<MetaFileEntity> list = getFiles(path,request); List<MetaFileEntity> list = getFiles(path, request); return list; } /** * 设置实体类 * class<T> clazz * T t = clazz.newInstance(); */ private <T> void setEntity(T t, StandardMultipartHttpServletRequest req) { Enumeration<String> enumeration = req.getParameterNames(); @@ -87,7 +86,7 @@ /** * 获取文件 */ private List<MetaFileEntity> getFiles(String subPath,StandardMultipartHttpServletRequest req) throws Exception { private List<MetaFileEntity> getFiles(String subPath, StandardMultipartHttpServletRequest req) throws Exception { List<MetaFileEntity> list = new ArrayList<MetaFileEntity>(); String path = pathHelper.getTempPath(subPath); @@ -124,19 +123,17 @@ /** * 删除文件 * @param list 实体集合 * @return */ public Integer deleteFiles(List<MetaFileEntity> list){ String root=pathHelper.getConfig().getTempPath(); public Integer deleteFiles(List<MetaFileEntity> list) { String root = pathHelper.getConfig().getTempPath(); int count = 0; for (MetaFileEntity entity : list) { if (!StringHelper.isEmpty(entity.getPath())){ String file=root+File.separator+entity.getPath(); if (!StringHelper.isEmpty(entity.getPath())) { String file = root + File.separator + entity.getPath(); File f=new File(file); if (f.exists()){ File f = new File(file); if (f.exists()) { f.delete(); count++; } @@ -147,6 +144,42 @@ } /** * 插入元数据 */ public List<KeyValueEntity> insertMetas(List<KeyValueEntity> kvs) { String root = pathHelper.getConfig().getTempPath(); List<KeyValueEntity> rs = new ArrayList<KeyValueEntity>(); for (KeyValueEntity kv : kvs) { if (kv.getKey().toLowerCase().contains(".xls")) { KeyValueEntity entity = readExcel(root + File.separator + kv.getKey(), kv.getValue()); if (null != entity) { rs.add(entity); } continue; } } return rs; } /** * 读取Excel */ private KeyValueEntity readExcel(String fileName, String entity) { File f = new File(fileName); if (!f.exists() || f.isDirectory()) { return null; } KeyValueEntity kv = new KeyValueEntity(); kv.setKey(FileHelper.getFileName(fileName)); return kv; } /** * 获取参数 * Enumeration<String> headers = req.getHeaderNames(); * Enumeration<String> attributes = req.getAttributeNames();