package com.gk.hotwork.Controller;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.gk.hotwork.Controller.Base.BaseController;
|
import com.gk.hotwork.Domain.EmergencyPlan;
|
import com.gk.hotwork.Domain.Utils.FilterObject;
|
import com.gk.hotwork.Domain.Utils.Msg;
|
import com.gk.hotwork.Domain.Utils.UploadUtil;
|
import com.gk.hotwork.Service.EmergencyPlanService;
|
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.beans.factory.annotation.Value;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.*;
|
import java.net.URLEncoder;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
|
@Api(tags = "应急预案")
|
@RestController
|
@RequestMapping("/emergencyPlan")
|
public class EmergencyPlanController extends BaseController {
|
|
@Autowired
|
private EmergencyPlanService emergencyPlanService;
|
|
@Value("${emergencyPlanPath}")
|
private String emergencyPlanPath;
|
@Value("${emergencyPlanUrl}")
|
private String emergencyPlanUrl;
|
@Value("${emergencyPlan}")
|
private String emergencyPlan;
|
|
@ApiOperation("分页")
|
@PostMapping("/page")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前页码"),
|
@ApiImplicitParam(name = "pageSize",value = "每页行数"),
|
@ApiImplicitParam(name = "filter.name",value = "{}"),
|
})
|
public Msg selectPage(@RequestBody FilterObject filterObject) {
|
Integer pageIndex = filterObject.getPageIndex();
|
Integer pageSize = filterObject.getPageSize();
|
IPage page = emergencyPlanService.selectPage(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser());
|
return success(page);
|
}
|
|
@ApiOperation("/图片+文件上传")
|
@PostMapping("/upload")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "file",value = "文件"),
|
})
|
public Msg upload(@RequestParam(required = false) MultipartFile file) throws Exception {
|
String name= UploadUtil.uploadFile(file,emergencyPlanPath);
|
String url= emergencyPlan+name;
|
Map<String,String> map=new HashMap<>();
|
map.put("fileName",name);
|
map.put("fileUrl",url);
|
return success(map);
|
}
|
|
@ApiOperation("/下载")
|
@PostMapping("/download")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "path",value = "文件路径"),
|
})
|
public Msg upload(HttpServletRequest request, HttpServletResponse response, String path) throws Exception {
|
try {
|
response.setContentType("text/html;charset=UTF-8");
|
request.setCharacterEncoding("UTF-8");
|
|
BufferedInputStream bis = null;
|
BufferedOutputStream bos = null;
|
File file = new File(emergencyPlanPath,path);
|
String fileName = file.getName();
|
long fileLength = file.length();
|
|
response.setContentType("application/octet-stream");
|
|
String header = request.getHeader("User-Agent").toUpperCase();
|
if (header.contains("MSIE") || header.contains("TRIDENT") || header.contains("EDGE")) {
|
fileName = URLEncoder.encode(fileName, "utf-8");
|
fileName = fileName.replace("+", "%20"); //IE下载文件名空格变+号问题
|
} else {
|
fileName = new String(fileName.getBytes(), "ISO8859-1");
|
}
|
|
response.setHeader("Content-disposition", "attachment; filename=\"" + fileName + "\"");
|
response.setHeader("Content-Length", String.valueOf(fileLength));
|
|
bis = new BufferedInputStream(new FileInputStream(file));
|
bos = new BufferedOutputStream(response.getOutputStream());
|
|
byte[] buff = new byte[2048];
|
int bytesRead;
|
|
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
|
bos.write(buff, 0, bytesRead);
|
}
|
bis.close();
|
bos.close();
|
} catch (FileNotFoundException e) {
|
e.printStackTrace();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return success();
|
}
|
|
@ApiOperation("/新增")
|
@PostMapping("/add")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "name",value = "应急预案名称"),
|
@ApiImplicitParam(name = "fileType",value = "应急预案文件类型"),
|
@ApiImplicitParam(name = "fileList",value = "应急预案文件"),
|
@ApiImplicitParam(name = "remark",value = "应急预案备注"),
|
|
})
|
public Msg add(@RequestBody EmergencyPlan param) {
|
emergencyPlanService.addOne(param, getUser());
|
return success();
|
}
|
|
@ApiOperation("/修改")
|
@PostMapping("/mod")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id",value = "id"),
|
@ApiImplicitParam(name = "name",value = "应急预案名称"),
|
@ApiImplicitParam(name = "fileType",value = "应急预案文件类型"),
|
@ApiImplicitParam(name = "fileList",value = "应急预案文件"),
|
@ApiImplicitParam(name = "remark",value = "应急预案备注"),
|
})
|
public Msg mod(@RequestBody EmergencyPlan param) {
|
emergencyPlanService.modOne(param, getUser());
|
return success();
|
}
|
|
@ApiOperation("/删除")
|
@PostMapping("/del")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id",value = "id"),
|
})
|
public Msg mod(@RequestBody JSONObject jsonObject) {
|
Long id = jsonObject.getLong("id");
|
emergencyPlanService.delOne(id, getUser());
|
return success();
|
}
|
}
|