package com.ld.igds.protocol.inoutplug; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * 本地插件--出入库数据接收入口 * * @author chen */ @Slf4j @Controller @RequestMapping("inout") public class InoutPlugServer { @Autowired private InoutPlugAnalysis inoutPlugAnalysis; /** * 奥特威出入库系统数据对接 * @param request * @return */ @ResponseBody @RequestMapping("/v1") public String inoutReceive(@RequestBody JSONObject request){ log.info("出入库数据插件----->>>平台:报文信息={}", request); try{ //异步处理,子线程解析事件 final ExecutorService exec = Executors.newFixedThreadPool(1); Callable call = new Callable() { public String call() throws Exception { //解析出入库数据 return inoutPlugAnalysis.analysisInout(request); } }; exec.submit(call); exec.shutdown(); return "SUCCESS"; }catch (Exception e){ log.error("----出入库数据解析失败,原因={}-----", e.getLocalizedMessage()); return "SUCCESS"; } } }