管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-11-19 e0c61594f8e303db19653fa1fac3bba98a297a28
1
已修改3个文件
297 ■■■■■ 文件已修改
src/main/java/com/lf/server/controller/data/DataLoaderController.java 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/data/DataUploadController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/DataLoaderService.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/data/DataLoaderController.java
@@ -1,11 +1,33 @@
package com.lf.server.controller.data;
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.UploadEntity;
import com.lf.server.entity.data.DirEntity;
import com.lf.server.entity.data.MetaEntity;
import com.lf.server.entity.data.MetaFileEntity;
import com.lf.server.entity.data.VerEntity;
import com.lf.server.entity.sys.DepEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.StringHelper;
import com.lf.server.helper.WebHelper;
import com.lf.server.service.data.DataLoaderService;
import com.lf.server.service.data.DirService;
import com.lf.server.service.data.VerService;
import com.lf.server.service.sys.DepService;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
/**
 * 数据入库
@@ -16,5 +38,179 @@
@RequestMapping("/dataLoader")
public class DataLoaderController extends BaseController {
    @Autowired
    DepService depService;
    @Autowired
    DirService dirService;
    @Autowired
    VerService verService;
    @Autowired
    TokenService tokenService;
    @Autowired
    DataLoaderService dataLoaderService;
    @SysLog()
    @ApiOperation(value = "查询所有单位")
    @GetMapping(value = "/selectDepAll")
    public ResponseMsg<List<DepEntity>> selectDepAll() {
        try {
            List<DepEntity> list = depService.selectDepAll();
            return success(list);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
    @SysLog()
    @ApiOperation(value = "查询所有目录")
    @GetMapping(value = "/selectDirAll")
    public ResponseMsg<List<DirEntity>> selectDirAll() {
        try {
            List<DirEntity> list = dirService.selectDirAll();
            return success(list);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
    @SysLog()
    @ApiOperation(value = "根据目录ID查询版本列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "dirid", value = "目录ID", dataType = "Integer", paramType = "query")
    })
    @GetMapping(value = "/selectVerByDirid")
    public ResponseMsg<List<VerEntity>> selectVerByDirid(Integer dirid) {
        try {
            if (null == dirid || dirid < 0) {
                dirid = 0;
            }
            List<VerEntity> list = verService.selectByDirid(dirid);
            if (null == list || list.isEmpty()) {
                list = verService.selectByDirid(0);
            }
            return success(list);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
    @SysLog()
    @ApiOperation(value = "查询路径")
    @GetMapping(value = "/selectPath")
    public ResponseMsg<String> selectPath() {
        try {
            String pathName = dataLoaderService.selectPath();
            return success(pathName);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
    @SysLog()
    @ApiOperation(value = "查询文件")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "path", value = "路径", dataType = "String", paramType = "query")
    })
    @GetMapping(value = "/selectFiles")
    public ResponseMsg<List<MetaFileEntity>> selectFiles(String path) {
        try {
            List<MetaFileEntity> list = dataLoaderService.selectFiles(path);
            return success(list);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
    @SysLog()
    @ApiOperation(value = "上传文件")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "path", value = "路径", dataType = "String", paramType = "query")
    })
    @ResponseBody
    @PostMapping(value = "/uploadFiles")
    public ResponseMsg<Object> uploadFiles(String path, HttpServletRequest req, HttpServletResponse res) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            List<MetaFileEntity> list = dataLoaderService.uploadData(null, path, req, res);
            if (null == list || list.isEmpty()) {
                return fail("没有找到上传文件", null);
            }
            return success(list.size());
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
    @SysLog()
    @ApiOperation(value = "删除文件")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "list", value = "实体类集合", dataType = "MetaFileEntity", paramType = "body")
    })
    @ResponseBody
    @PostMapping(value = "/deleteFiles")
    public ResponseMsg<Object> deleteFiles(@RequestBody List<MetaFileEntity> list, HttpServletRequest req) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            if (null == list || list.isEmpty()) {
                return fail("没有找到文件", null);
            }
            int rows = dataLoaderService.deleteFiles(list);
            return success("成功", rows);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
    @SysLog()
    @ApiOperation(value = "插入文件")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "entity", value = "上传实体类", dataType = "UploadEntity", paramType = "body")
    })
    @ResponseBody
    @PostMapping(value = "/insertFiles")
    public ResponseMsg<Object> insertFiles(@RequestBody UploadEntity entity, HttpServletRequest req) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
            if (null == entity || null == entity.getMetaEntity()) {
                return fail("元数据信息为空", null);
            }
            if (null == entity.getFileEntities() || entity.getFileEntities().isEmpty()) {
                return fail("没有找到上传文件", null);
            }
            MetaEntity me = entity.getMetaEntity();
            me.setCreateTime(WebHelper.getCurrentTimestamp());
            me.setBatch(StringHelper.YMDHMS_FORMAT.format(new Date(me.getCreateTime().getTime())));
            me.setCreateUser(ue.getId());
            int rows = dataLoaderService.insertFiles(me, entity.getFileEntities());
            return success("成功", rows);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
}
src/main/java/com/lf/server/controller/data/DataUploadController.java
@@ -26,7 +26,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
src/main/java/com/lf/server/service/data/DataLoaderService.java
@@ -1,7 +1,14 @@
package com.lf.server.service.data;
import com.lf.server.entity.data.MetaEntity;
import com.lf.server.entity.data.MetaFileEntity;
import com.lf.server.helper.FileHelper;
import com.lf.server.service.all.BaseUploadService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.File;
import java.util.List;
/**
 * 数据入库
@@ -9,5 +16,92 @@
 */
@Service
public class DataLoaderService extends BaseUploadService {
    //
    @Autowired
    MetaService metaService;
    @Autowired
    MetaFileService metaFileService;
    /**
     * 插入文件
     */
    public int insertFiles(MetaEntity entity, List<MetaFileEntity> list) {
        int count = 0;
        try {
            String temp = pathHelper.getConfig().getTempPath();
            String root = pathHelper.getUploadFullPath();
            for (MetaFileEntity mf : list) {
                // 移动文件
                File file = new File(temp + File.separator + mf.getPath());
                File newFile = new File(root + File.separator + mf.getGuid());
                MetaFileEntity old = metaFileService.selectByGuid(mf.getGuid());
                String filePath = null;
                if (null == old) {
                    filePath = newFile.getPath();
                    file.renameTo(newFile);
                } else {
                    filePath = old.getPath();
                    file.delete();
                }
                // 元数据
                MetaEntity me = createMetaEntity(entity);
                me.setName(mf.getName());
                me.setSizes(mf.getSizes());
                Integer rows = metaService.insert(me);
                if (rows < 1) {
                    continue;
                }
                // 元数据文件
                MetaFileEntity mef = createMetaFileEntity(mf, entity);
                mef.setPath(FileHelper.getRelativePath(filePath));
                rows = metaFileService.insert(mef);
                if (rows > 0) {
                    count++;
                }
            }
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
        return count;
    }
    /**
     * 创建元数据实体
     */
    private MetaEntity createMetaEntity(MetaEntity entity) {
        MetaEntity me = new MetaEntity();
        me.setDepid(entity.getDepid());
        me.setDirid(entity.getDirid());
        me.setVerid(entity.getVerid());
        me.setType("file");
        me.setGather(entity.getGather());
        me.setBatch(entity.getBatch());
        me.setDescr(entity.getDescr());
        me.setCreateTime(entity.getCreateTime());
        me.setCreateUser(entity.getCreateUser());
        return me;
    }
    /**
     * 创建元数据文件实体
     */
    private MetaFileEntity createMetaFileEntity(MetaFileEntity entity, MetaEntity metaEntity) {
        MetaFileEntity mfe = new MetaFileEntity();
        mfe.setName(entity.getName());
        mfe.setMetaid(metaEntity.getId());
        mfe.setGuid(entity.getGuid());
        mfe.setSizes(entity.getSizes());
        mfe.setCreateUser(metaEntity.getCreateUser());
        mfe.setCreateTime(metaEntity.getCreateTime());
        return mfe;
    }
}