燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2024-11-13 2f55cebbad3dea187a5f91d16ec80a9677dab699
src/main/java/com/yssh/controller/SuYuanController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,229 @@
package com.yssh.controller;
import cn.hutool.core.date.DateTime;
import com.yssh.entity.*;
import com.yssh.service.CommonService;
import com.yssh.service.SocketService;
import com.yssh.service.VocValsService;
import com.yssh.utils.DateUtils;
import com.yssh.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.yssh.service.SuYuanService;
import com.yssh.utils.Result;
import javax.annotation.Resource;
@Api(tags="溯源信息")
@RestController
@RequestMapping("/suYuan")
@SuppressWarnings("rawtypes")
public class SuYuanController {
    @Resource
    private CommonService commonService;
    @Resource
    private SuYuanService suYuanService;
    @Resource
    private VocValsService vocValsService;
    @Resource
    private SocketService socketService;
    private final static SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHH");
    @ApiOperation(value = "查询2d热力图数据", notes = "根据时间查询2d热力图数据")
    @ApiOperationSupport(order = 1)
    @GetMapping("/get2d")
    public Result get2d(
            @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        List<SuYuan2d> list = suYuanService.selectSuYuan2d(date);
        return Result.OK(list);
    }
    @ApiOperation(value = "查询3d热力图数据", notes = "根据时间查询3d热力图数据")
    @ApiOperationSupport(order = 2)
    @GetMapping("/get3d")
    public Result get3d(
            @RequestParam(value = "name", required = true) String name,
            @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        List<SuYuan3d> list = suYuanService.selectSuYuan3d(name, date);
        return Result.OK(list);
    }
    @ApiOperation(value = "查询溯源100热力图数据", notes = "根据时间查询溯源100热力图数据,result返回值中data对应值为热力图数据,feedbackId为反馈主键编号,在进行反馈中需要传递")
    @ApiOperationSupport(order = 3)
    @GetMapping("/get100")
    public Result get100(
            @RequestParam(value = "name", required = true) String name,
            @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date
    ) {
        return Result.OK(suYuanService.selectSuYuan100(name, date));
    }
    @ApiOperation(value = "查询溯源200热力图数据", notes = "根据时间查询溯源200热力图数据,result返回值中data对应值为热力图数据,feedbackId为反馈主键编号,在进行反馈中需要传递")
    @ApiOperationSupport(order = 4)
    @GetMapping("/get200")
    public Result get200(
            @RequestParam(value = "name", required = true) String name,
            @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date
    ) {
        return Result.OK(suYuanService.selectSuYuan200(name, date));
    }
    @ApiOperation(value = "查询溯源300热力图数据", notes = "根据时间查询溯源300热力图数据,result返回值中data对应值为热力图数据,feedbackId为反馈主键编号,在进行反馈中需要传递")
    @ApiOperationSupport(order = 5)
    @GetMapping("/get300")
    public Result get300(
            @RequestParam(value = "name", required = true) String name,
            @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date
    ) {
        return Result.OK(suYuanService.selectSuYuan300(name, date));
    }
    @ApiOperation(value = "查询溯源500热力图数据", notes = "根据时间查询溯源500热力图数据,result返回值中data对应值为热力图数据,feedbackId为反馈主键编号,在进行反馈中需要传递")
    @ApiOperationSupport(order = 6)
    @GetMapping("/get500")
    public Result get500(
            @RequestParam(value = "name", required = true) String name,
            @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date
    ) {
        return Result.OK(suYuanService.selectSuYuan500(name, date));
    }
    @ApiOperation(value = "获取所有监测数据", notes = "获取所有监测数据")
    @ApiOperationSupport(order = 7)
    @GetMapping("/query/{name}")
    public Result getMonitorData(@PathVariable("name") String name) {
        List<SuYuanMonitorData> list = suYuanService.getMonitorData(name);
        return Result.OK(list);
    }
    @ApiOperation(value = "更新Vocs名称", notes = "更新Vocs名称")
    @ApiOperationSupport(order = 8)
    @GetMapping("/updateVocsName")
    public Result updateVocsName(@RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date,
                                 @RequestParam(value = "id", required = true) String id,
                                 @RequestParam(value = "vocsName", required = true) String vocsName
    ) {
        return Result.OK(suYuanService.updateVocsName(date, id, vocsName));
    }
    @ApiOperation(value = "根据名称获取坐标值", notes = "根据名称获取坐标值")
    @ApiOperationSupport(order = 9)
    @GetMapping("/getCoordByName/{name}")
    public Result getCoordByName(@PathVariable("name") String name) {
        MonitorPointPosition point = StringUtils.isEmpty(name) ? null : commonService.select3dCheckPointByName(name);
        return Result.OK(point);
    }
    @ApiOperation(value = "根据Qxsh值", notes = "根据Qxsh值")
    @ApiOperationSupport(order = 10)
    @GetMapping("/queryQxsh")
    public Result queryQxsh(@RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        List<Qxsh> list = suYuanService.queryQxsh(date);
        return Result.OK(list);
    }
    @ApiOperation(value = "根据时间查询Voc值", notes = "根据时间查询Voc值")
    @ApiOperationSupport(order = 11)
    @GetMapping("/selectVocByTime")
    public Result selectVocByTime(@RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        String time = DateUtils.getYyyyMmDdHhMmSs(date);
        List<VocVals> list = vocValsService.selectByTime(time);
        return Result.OK(list);
    }
    @ApiOperation(value = "根据ID和日期查询溯源46表", notes = "根据ID和日期查询溯源46表")
    @ApiOperationSupport(order = 12)
    @GetMapping("/selectSuYuan46ById")
    public Result selectSuYuan46ById(@RequestParam(value = "id", required = true) String id, @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        return Result.OK(suYuanService.selectSuYuan46ById(id, date));
    }
    @ApiOperation(value = "根据ID和日期查询溯源700表", notes = "根据ID和日期查询溯源700表")
    @ApiOperationSupport(order = 13)
    @GetMapping("/selectSuYuan700ById")
    public Result selectSuYuan700ById(@RequestParam(value = "id", required = true) String id, @RequestParam(value = "date", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        return Result.OK(suYuanService.selectSuYuan700ById(id, date));
    }
    @ApiOperation(value = "根据X,Y值查询地址", notes = "根据X,Y值查询地址")
    @ApiOperationSupport(order = 14)
    @GetMapping("/selectCoords")
    public Result selectCoords(@RequestParam(value = "x") Integer x, @RequestParam(value = "y") Integer y, @RequestParam(value = "isSuYuan") Integer isSuYuan) {
        if (isSuYuan < 1) {
            x = x / 10;
            y = y / 10;
        }
        return Result.OK(vocValsService.selectCoords(x, y));
    }
    @ApiOperation(value = "根据经纬度查询地名", notes = "根据经纬度查询地名")
    @ApiOperationSupport(order = 15)
    @GetMapping("/selectAddrByXY")
    public Result selectAddrByXY(@RequestParam(value = "x", required = true) double x, @RequestParam(value = "y", required = true) double y) {
        return Result.OK(suYuanService.selectAddrByXY(x, y));
    }
    @ApiOperation(value = "根据X、Y值查询矩形框", notes = "根据X、Y值查询矩形框")
    @ApiOperationSupport(order = 16)
    @GetMapping("/selectRects")
    public Result selectRects(@RequestParam(value = "x[]", required = true) Double[] x, @RequestParam(value = "y[]", required = true) Double[] y) {
        if (null == x || null == y || x.length == 0 || x.length != y.length) return Result.OK(null);
        return Result.OK(suYuanService.selectRects(x, y));
    }
    @ApiOperation(value = "根据名称查询溯源ID", notes = "根据名称查询溯源ID")
    @ApiOperationSupport(order = 17)
    @GetMapping("/selectSuYuanIdByName")
    public Result selectSuYuanIdByName(@RequestParam(value = "name") String name) {
        if (null == name || name.length() == 0) return Result.OK(null);
        return Result.OK(suYuanService.selectSuYuanIdByName(name));
    }
    @ApiOperation(value = "根据ID查询快速溯源")
    @ApiOperationSupport(order = 18)
    @GetMapping("/selectFastById")
    public Result selectFastById(@RequestParam(value = "id") String id, @RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        if (StringUtils.isEmpty(id)) return Result.OK(null);
        if (null == date) date = DateTime.now();
        return Result.OK(suYuanService.selectFastById(id, date));
    }
    @ApiOperation(value = "发送消息")
    @ApiOperationSupport(order = 19)
    @GetMapping("/sendMsg")
    public Result sendMsg(@RequestParam(value = "msg") String msg) {
        if (StringUtils.isEmpty(msg)) return Result.error("消息不能为空");
        try {
            String rs = socketService.sendMsg(msg);
            return Result.OK(rs);
        } catch (Exception ex) {
            return Result.error(ex.getMessage());
        }
    }
}