package com.hxzkmonitor.controller;
import cn.hutool.core.io.FileUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hxzkmonitor.mapper.TbBaidumapMapper;
import com.hxzkmonitor.mapper.TbUserMapper;
import com.hxzkmonitor.pojo.*;
import com.hxzkmonitor.service.*;
import com.hxzkmonitor.udp.Udp_Out;
import com.hxzkmonitor.util.MyFile;
import com.hxzkmonitor.util.R;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
*
* 前端控制器
*
*
* @author wangfei
* @since 2025-04-09
*/
@RestController
@RequestMapping("/")
public class TbGuangboController {
@Autowired
TbGuangboService tbGuangboService;
private String ROOT_PATH = "D:\\hxzkMonitor\\hxzkMonitor-boot\\src\\main\\resources\\static";
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/api/getGuangboPage")
public R getGuangboPage(Page page) {
IPage ipage = tbGuangboService.getGuangboPage( page);
return R.ok(ipage);
}
// @PostMapping("/api/addpic")
// public String addpic( MultipartFile file) throws IOException {
//// String name = request.getParameter("name");
//// String bumen = request.getParameter("opinion");
// String originalFilename = file.getOriginalFilename();
// String fileExtension = StringUtils.getFilenameExtension(originalFilename);
//// name = name + bumen;
// MyFile.addWeichatImage(file);
// return "111111." + fileExtension;
// }
@PostMapping("/api/addpic")
public String upload(MultipartFile file) throws IOException {
// 获取文件的原始名称:aaa.jpg
String originalFilename = file.getOriginalFilename();
// 获取文件名:aaa 此处的FileUtil是Hutool包提供的
String mainName = FileUtil.mainName(originalFilename);
// 获取文件的后缀:jpg
String extName = FileUtil.extName(originalFilename);
// 判断文件上传的路径是否存在,不存在就需要主动创建一个
if (!FileUtil.exist(ROOT_PATH)) {
// 如果文件的父级目录不存在,则创建一个文件夹
FileUtil.mkdir(ROOT_PATH);
}
// 对上传的文件进行重命名,命名规则:当前时间戳.文件后缀
originalFilename = System.currentTimeMillis() + "." + extName;
// 创建一个File对象,将上传的文件保存到指定文件上传地址 其中:File.separator表示 \
File saveFile = new File(ROOT_PATH + File.separator + originalFilename);
// 将文件保存到本地磁盘中:D:\files\1716169296.jpg
file.transferTo(saveFile);
// 文件上传成功之后需要返回一个文件的链接,这个链接就是文件的下载地址,是后台提供的
String url = "http://localhost:8080/file/download/" + originalFilename;
return url;
}
@PostMapping("/api/addorupGuangbo")
public R addorupGuangbo(TbGuangbo tbGuangbo) {
return R.ok(tbGuangboService.addorupGuangbo(tbGuangbo));
}
@GetMapping("/api/delGuangbo")
public R delGuangbo(Integer id) {
return R.ok(tbGuangboService.delGuangbo(id));
}
@GetMapping("/api/searchGuangbo")
public R searchGuangbo(Page page,String keyword ) {
return R.ok(tbGuangboService.searchGuangbo(page,keyword));
}
@GetMapping("/api/getGuangbo")
public R getVoicetip(String query) {
return R.ok(tbGuangboService.getGuangbo(query));
}
@GetMapping("/api/getGuangbofive")
public R getGuangbofive() {
return R.ok(tbGuangboService.getGuangbofive());
}
@GetMapping("/api/startorstop")
public R startorstop(String status,String tagid) {
String time = this.gettime();
String xieyi = "BSTOCS,CONTROLJDQ,"+tagid+","+status+","+time+",END,";
Udp_Out.udp_to_cs(xieyi);
return R.ok();
}
public String gettime(){
Date now = new Date();
// 创建日期格式化对象,设置格式为 "yyyy-MM-dd HH:mm"
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
// 格式化日期对象,输出字符串结果
String formattedDate = sdf.format(now);
return formattedDate;
}
}