管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-11-18 d17ed74866f890b4cfe1fea2c314871d83999673
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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.KeyValueEntity;
import com.lf.server.entity.data.MetaFileEntity;
import com.lf.server.entity.data.MetaEntity;
import com.lf.server.entity.sys.UserEntity;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
 
/**
 * 数据上传
 * @author WWW
 * @date 2022-10-17
 */
@Api(tags = "数据管理\\数据上传")
@RestController
@RequestMapping("/uploader")
public class UploaderController extends BaseController {
    @Autowired
    UploaderService uploaderService;
 
    @Autowired
    TokenService tokenService;
 
    @SysLog()
    @ApiOperation(value = "上传数据")
    @ResponseBody
    @PostMapping(value = "/uploadData")
    public ResponseMsg<Object> uploadData(HttpServletRequest req, HttpServletResponse res) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
 
            MetaEntity me = new MetaEntity();
            List<MetaFileEntity> list = uploaderService.uploadData(me, null, req, res);
            if (list.size() == 0 || me.getDirid() == 0) {
                return fail("没有找到上传数据", null);
            }
 
            return success(list.size());
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
 
    @SysLog()
    @ApiOperation(value = "上传元数据")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "path", value = "路径", dataType = "String", paramType = "query")
    })
    @ResponseBody
    @PostMapping(value = "/uploadMetas")
    public ResponseMsg<Object> uploadMetas(String path, HttpServletRequest req, HttpServletResponse res) {
        try {
            UserEntity ue = tokenService.getCurrentUser(req);
            if (ue == null) {
                return fail("用户未登录", null);
            }
 
            List<MetaFileEntity> list = uploaderService.uploadData(null, path, req, res);
            if (list.size() == 0) {
                return fail("没有找到上传数据", null);
            }
 
            uploaderService.dealEntities(list);
 
            return success(list);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
 
    @SysLog()
    @ApiOperation(value = "删除元数据")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "list", value = "实体类集合", dataType = "MetaFileEntity", paramType = "body")
    })
    @ResponseBody
    @PostMapping(value = "/deleteMetas")
    public ResponseMsg<Object> deleteMetas(@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 = uploaderService.deleteFiles(list);
 
            return success("成功", rows);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
 
    @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);
            }
 
            List<KeyValueEntity> rs = uploaderService.insertMetas(kvs);
 
            return success(null == rs || rs.isEmpty() ? "失败" : "成功", rs);
        } catch (Exception ex) {
            return fail(ex.getMessage(), null);
        }
    }
}