Newer
Older
newfiber-data-adapter / src / main / java / org / springnewfiber / dataadapter / xf / controller / MonitorPointDataController.java
@dongjt dongjt on 12 Jul 2022 1 KB plc数据对接
package org.springnewfiber.dataadapter.xf.controller;

import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springnewfiber.dataadapter.config.R;
import org.springnewfiber.dataadapter.xf.entity.monitor.MonitorPointData;
import org.springnewfiber.dataadapter.xf.enums.EDataAccessType;
import org.springnewfiber.dataadapter.xf.service.DataAccessRecordService;

import javax.validation.Valid;
import java.util.Date;

/**
 * @program: newfiber-data-adapter
 * @description: 点表监测数据接口
 * @author: djt
 * @create: 2022-07-01 17:22
 **/
@RestController
@RequiredArgsConstructor
//@PreAuth(AuthConstant.PERMISSION_ALL)
@RequestMapping("/pointData")
@Api(value = "点表监测数据接口", tags = "点表监测数据接口")
@Slf4j
public class MonitorPointDataController {
    private final DataAccessRecordService dataAccessRecordService;
    @Value("${plc.queue_name}")
    private String plc_queue;
    @Value("${plc.Exchange}")
    private String Exchange;
    @Value("${plc.routingKey}")
    private String routingKey;
    private final RabbitTemplate rabbitTemplate;

    @PostMapping("/realData")
    public R xfInterfaceSingle(@Valid @RequestBody MonitorPointData monitorPointData) {
        dataAccessRecordService.save(EDataAccessType.IflytekPlcRealtime, EDataAccessType.IflytekPlcRealtime.name(), JSONObject.toJSONString(monitorPointData));
        monitorPointData.setUt(new Date());
        rabbitTemplate.convertAndSend(Exchange, routingKey, JSONObject.toJSONString(monitorPointData));
        return R.status(true);
    }
}