管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-11-18 65a9573f62b495272daeb39a94ddd4ab5e838d44
1
已修改2个文件
90 ■■■■ 文件已修改
src/main/java/com/lf/server/controller/data/UploaderController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/UploaderService.java 57 ●●●● 补丁 | 查看 | 原始文档 | 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();