whyclxw
2024-07-30 ed04733e15a5304c68ac16c121fd2989c851a57b
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
package com.whyc.controller;
 
import com.whyc.dto.Response;
import com.whyc.pojo.Station3D;
import com.whyc.service.Station3DService;
import com.whyc.util.ActionUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.system.ApplicationHome;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
@RestController
@RequestMapping("station3D")
@Api(tags = "3D机房配置")
public class Station3DController extends BaseController{
 
    @Autowired
    private Station3DService service;
 
    @PostMapping
    @ApiOperation(value = "新增")
    public Response add(@RequestBody Station3D station3D){
        service.add(station3D);
        return new Response().setII(1,"新增成功");
    }
 
    @PostMapping("batch")
    @ApiOperation(value = "新增批量")
    public Response addBatch(@RequestBody List<Station3D> station3DList){
        service.addBatch(station3DList);
        return new Response().setII(1,"新增成功");
    }
 
    @PostMapping("delete")
    @ApiOperation(value = "删除")
    public Response delete(@RequestParam int stationId){
        service.delete(stationId);
        return new Response().setII(1,"删除成功");
    }
 
    @PostMapping("update")
    @ApiOperation(value = "更新")
    public Response update(@RequestBody Station3D station3D){
        service.update(station3D);
        return new Response().setII(1,"更新成功");
    }
 
    @PostMapping("updateBatch")
    @ApiOperation(value = "更新批量")
    public Response updateBatch(@RequestBody List<Station3D> station3DList){
        service.updateBatch(station3DList);
        return new Response().setII(1,"更新成功");
    }
 
    @GetMapping("byId")
    @ApiOperation(value = "查询站点-根据记录id")
    public Response<Station3D> getById(@RequestParam int id){
        Station3D station3D = service.getById(id);
        return new Response<Station3D>().set(1,station3D);
    }
 
    @GetMapping("byDeviceId")
    @ApiOperation(value = "查询站点-根据设备id")
    public Response<List<Station3D>> getByDeviceId(@RequestParam int deviceId){
        List<Station3D> station3DList = service.getByDeviceId(deviceId);
        return new Response<List<Station3D>>().set(1,station3DList);
    }
 
    @GetMapping("all")
    @ApiOperation(value = "查询所有")
    public Response<List<Station3D>> getAll(){
        List<Station3D> station3DList = service.getAll();
        return new Response<List<Station3D>>().set(1,station3DList);
    }
 
    @GetMapping("allStations")
    @ApiOperation(value = "查询所有站点")
    public Response<List<Station3D>> getAllStations(){
        List<Station3D> station3DList = service.getAllStations();
        return new Response<List<Station3D>>().set(1,station3DList);
    }
 
    @PostMapping("uploadPicture")
    @ApiOperation(value = "上传图片")
    public Response uploadPicture(@RequestBody Map<String,String> map,HttpServletRequest request){
        String fileData = (String)map.get("fileData");
        String pictureName = (String)map.get("pictureName");
        String stationName = (String)map.get("stationName");
        //过滤特殊字符,避免路径遍历攻击
        pictureName = ActionUtil.filterFileName(pictureName);
        service.uploadPicture(stationName,fileData,pictureName,request);
        return new Response().setII(1,"上传成功");
 
    }
 
    /**
     * 读取
     * @return
     */
    @GetMapping("loadPicture")
    @ApiOperation(value = "读取图片")
    public Response pictureLoad(HttpServletRequest request){
        /*=========图片保存===========*/
        ApplicationHome applicationHome = new ApplicationHome(getClass());
        File jarFile = applicationHome.getDir();
        //存储3D站点图片的文件夹
 
        //开发
        String fileDirName = jarFile.getParentFile().toString()+File.separator+"fg_photo_3DStation";
        //打包
        //String fileDirName = jarFile.toString()+File.separator+"fg_photo_3DStation";
 
        //图片的Url
        File file = new File(fileDirName);
        if(file.exists()){
            File[] files = file.listFiles();
            return new Response().set(1,files);
        }else{
            return new Response().set(1,new ArrayList<>());
        }
    }
 
}