南昌市物联网技防平台-后台
zengh
2021-06-01 cd2cfd37366002f790a2ed1435962d4eff7d5cec
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/xlfeedback/controller/XlfeedbackController.java
@@ -25,6 +25,7 @@
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.SneakyThrows;
import org.junit.Test;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -33,6 +34,8 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.jfpt.alarm.service.IAlarmService;
import org.springblade.jfpt.avideo.entity.Avideo;
import org.springblade.jfpt.avideo.service.IAvideoService;
import org.springblade.jfpt.wj.entity.Wj;
import org.springblade.jfpt.wj.service.IWjService;
import org.springblade.jfpt.xlfeedback.entity.Xlfeedback;
@@ -58,7 +61,7 @@
import java.util.UUID;
/**
 *  控制器
 * 控制器
 *
 * @author BladeX
 * @since 2020-07-30
@@ -73,6 +76,7 @@
   private IWjService iWjService;
   private MinioTemplate minioTemplate;
   private final IAlarmService alarmService;
   private final IAvideoService iAvideoService;
   /**
    * 详情
@@ -150,30 +154,30 @@
   }
   /**
    *
    * @param snumber 人员编码
    * @param rid 路线id
    * @param regionId  区域id
    * @param bz   备注
    * @param jd   经度
    * @param wd   纬度
    * @param snumber  人员编码
    * @param rid      路线id
    * @param regionId 区域id
    * @param bz       备注
    * @param jd       经度
    * @param wd       纬度
    * @return
    */
   @PostMapping("/saves")
   public R saves(String snumber, String rid, String regionId, String bz, String jd, String wd, HttpServletResponse response) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      response.setHeader("Access-Control-Allow-Credentials", "true");
      Date day = new Date();
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      String time=df.format(day);
      xlfeedbackService.s(snumber,rid,regionId,bz,time,jd,wd);
      String time = df.format(day);
      xlfeedbackService.s(snumber, rid, regionId, bz, time, jd, wd);
      return R.success("新增成功");
   }
   /**
    * 图片上传
    *
    * @param file
    * @return
    * @throws IOException
@@ -185,9 +189,9 @@
      String fileExtension = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
      String s = UUID.randomUUID().toString().replace("-", "");
      String fileName = s + fileExtension;
      String path ="D:/nginx-1.12.2/imagelx/";
      String path = "D:/nginx-1.12.2/imagelx/";
      //检查该路径对应的目录是否存在. 如果不存在则创建目录
      File dir=new File(path);
      File dir = new File(path);
      if (!dir.exists()) {
         dir.mkdirs();
      }
@@ -198,7 +202,7 @@
         file.transferTo(dest);
      }
      //文件新增
      String address= "localhost:80/"+fileName;
      String address = "localhost:80/" + fileName;
      //文件新增
      Wj wj = new Wj();
      wj.setRid(rid);
@@ -206,28 +210,29 @@
      wj.setAddress(address);
      iWjService.insertxlf(wj);
      map.put("id", wj.getId());
      map.put("filePath","D:/nginx-1.12.2/imagelx/"+fileName);
      map.put("filePath", "D:/nginx-1.12.2/imagelx/" + fileName);
      return R.data(map);
   }
   /**
    * 删除
    *
    * @return
    */
   @PostMapping("/deletefeed")
   public R deletefeed(String Path, String id, HttpServletResponse response) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      try{
      response.setHeader("Access-Control-Allow-Credentials", "true");
      try {
         File file = new File(Path);
         if(file.delete()){
         if (file.delete()) {
            iWjService.del(id);
            System.out.println(file.getName() + " 文件已被删除!");
         }else{
         } else {
            System.out.println("文件删除失败!");
         }
      }catch(Exception e){
      } catch (Exception e) {
         e.printStackTrace();
      }
      return R.success("删除成功");
@@ -235,53 +240,99 @@
   @SneakyThrows
   @PostMapping("put-object")
   public R<String> put(@RequestParam MultipartFile file,@RequestParam String buckeName){
      BladeFile bladeFile=minioTemplate.putFile(buckeName,file.getOriginalFilename(),file.getInputStream());
      String link=bladeFile.getLink();
      return  R.data(link);
   public R<String> put(@RequestParam MultipartFile file, @RequestParam String buckeName) {
      BladeFile bladeFile = minioTemplate.putFile(buckeName, file.getOriginalFilename(), file.getInputStream());
      String link = bladeFile.getLink();
      return R.data(link);
   }
   /**
    * APP警单反馈图片,视频
    *
    * @param file
    */
   @PostMapping("put-objects")
   public R put(@RequestParam MultipartFile file) throws InvalidPortException, InvalidEndpointException, IOException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, InvalidArgumentException, InternalException, NoResponseException, InvalidBucketNameException, InsufficientDataException, ErrorResponseException, RegionConflictException {
      MinioClient minioClient = new MinioClient("http://36.134.81.48:9000","adminminio","adminminio");
      if (!minioClient.bucketExists("jfpt")) {   //是否存在名为“test”的bucket
      MinioClient minioClient = new MinioClient("http://web.byisf.com:9000", "adminminio", "adminminio");
      if (!minioClient.bucketExists("jfpt")) {    //是否存在名为“test”的bucket
         minioClient.makeBucket("jfpt");
      }
      String fileName = file.getOriginalFilename();
      String newName ="upload/"+UUID.randomUUID().toString().replaceAll("-", "")
      String newName = "upload/fk/" + UUID.randomUUID().toString().replaceAll("-", "")
         + fileName.substring(fileName.lastIndexOf("."));
      InputStream inputStream = file.getInputStream();   //获取file的inputStream
      minioClient.putObject("jfpt", newName, inputStream, "application/octet-stream");//上传
      inputStream.close();
      String url = minioClient.getObjectUrl("jfpt", newName);   //文件访问路径
      return R.data(url);
      String urls = "https://web.byisf.com/minio/jfpt/" + newName;
      System.out.println("开始");
      Thread thread = new Thread(new Runnable() {
         @Override
         public void run() {
            try {
               InputStream inputStream = file.getInputStream();    //获取file的inputStream
               minioClient.putObject("jfpt", newName, inputStream, "application/octet-stream");//上传
               inputStream.close();
            } catch (IOException e) {
               e.printStackTrace();
            } catch (InvalidKeyException e) {
               e.printStackTrace();
            } catch (NoSuchAlgorithmException e) {
               e.printStackTrace();
            }
            catch (NoResponseException e) {
               e.printStackTrace();
            }
            catch (XmlPullParserException e) {
               e.printStackTrace();
            }
            catch (InvalidArgumentException e) {
               e.printStackTrace();
            }
            catch (InvalidBucketNameException e) {
               e.printStackTrace();
            }
            catch (ErrorResponseException e) {
               e.printStackTrace();
            }
            catch (InternalException e) {
               e.printStackTrace();
            }
            catch (InsufficientDataException e) {
               e.printStackTrace();
            }
         }
      });
      thread.start();
      System.out.println("结束");
      return R.data(urls);
   }
   /**
    * @param file
    */
   @PostMapping("put-objecty")
   public R puty(@RequestParam MultipartFile file,String jid) throws InvalidPortException, InvalidEndpointException, IOException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, InvalidArgumentException, InternalException, NoResponseException, InvalidBucketNameException, InsufficientDataException, ErrorResponseException, RegionConflictException {
      MinioClient minioClient = new MinioClient("http://web.byisf.com:9000","adminminio","adminminio");
      if (!minioClient.bucketExists("jfpt")) {   //是否存在名为“test”的bucket
   public R puty(@RequestParam MultipartFile file, String jid) throws InvalidPortException, InvalidEndpointException, IOException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, InvalidArgumentException, InternalException, NoResponseException, InvalidBucketNameException, InsufficientDataException, ErrorResponseException, RegionConflictException {
      MinioClient minioClient = new MinioClient("http://web.byisf.com:9000", "adminminio", "adminminio");
      if (!minioClient.bucketExists("jfpt")) {
         minioClient.makeBucket("jfpt");
      }
      String fileName = file.getOriginalFilename();
      String newName ="upload/avoid/"+UUID.randomUUID().toString().replaceAll("-", "")
      String newName = "upload/avoid/" + UUID.randomUUID().toString().replaceAll("-", "")
         + fileName.substring(fileName.lastIndexOf("."));
      InputStream inputStream = file.getInputStream();   //获取file的inputStream
      InputStream inputStream = file.getInputStream();    //获取file的inputStream
      minioClient.putObject("jfpt", newName, inputStream, "application/octet-stream");//上传
      inputStream.close();
      String url = minioClient.getObjectUrl("jfpt", newName);   //文件访问路径
      String url = minioClient.getObjectUrl("jfpt", newName);    //文件访问路径
      String substring = url.substring(25, url.length());
      String urls="https://web.byisf.com/minio"+substring;
      alarmService.updateAaddress(url,jid);
      return R.data(url);
      String urls = "https://web.byisf.com/minio" + substring;
      //alarmService.updateAaddress(urls,jid);
      Avideo avideo = new Avideo();
      avideo.setJid(jid);
      avideo.setAddress(urls);
      Date dd = new Date();
      SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      String time = sim.format(dd);
      avideo.setRtime(time);
      iAvideoService.save(avideo);
      return R.data(urls);
   }