Newer
Older
smartwell_demos / src / main / java / com / casic / controller / ThirdDataController.java
chaizhuang on 7 Sep 2023 1 KB 下发配置确认
package com.casic.controller;

import com.alibaba.fastjson.JSON;
import com.casic.service.ThirdDataService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

@RestController
@Slf4j
public class ThirdDataController {

    @Autowired
    private ThirdDataService thirdDataService;

    private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10));

    /**
     * 硫化氢订阅接口
     *
     * @param h2sDataMap
     * @return
     */
    @RequestMapping("/push/data")
    public Object h2sData(@RequestBody Map<String, String> h2sDataMap) {
        System.out.println(JSON.toJSON(h2sDataMap));
        return thirdDataService.h2sData(h2sDataMap);
    }

    @RequestMapping("/config/confirm")
    public Object configConfirm(@RequestBody Map<String, String> configConfirmMap) {
        System.out.println(JSON.toJSON(configConfirmMap));
        threadPoolExecutor.execute(
                () -> {
                    thirdDataService.configConfirm(configConfirmMap);
                }
        );
        return "ok";
    }

}