UpstreamEntrance.java 1.91 KB
package com.bsth.controller;

import com.alibaba.fastjson.JSON;
import com.bsth.data.attendance.dto.RemoteAttendaceDTO;
import com.bsth.data.attendance.entity.JsyAttendance;
import com.bsth.data.in_out.buffer.ElectricDataBuffer;
import com.bsth.data.in_out.entity.Electric;
import com.bsth.data.in_out.entity.RfidInOutDto;
import com.bsth.data.msg_queue.SignalAndAttConsumeQueue;
import com.bsth.entity.ac.CarInOutEntity;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 对外的输入接口
 * Created by panzhao on 2017/9/4.
 */
@RestController
@RequestMapping("bus_park_dispatch")
public class UpstreamEntrance {

    Logger logger = LoggerFactory.getLogger(this.getClass());

    /**
     * 查询一体机实时签到
     * @param attendace
     */
    @RequestMapping(value = "attendace", method = RequestMethod.POST)
    public void attendace(@RequestBody RemoteAttendaceDTO attendace){
        SignalAndAttConsumeQueue.put(JsyAttendance.getInstance(attendace));
    }

    /**
     * RFID 进出场
     * @param rfidInOut
     */
    @RequestMapping(value = "inout_rfid", method = RequestMethod.POST)
    public void inOut_rfid(@RequestBody RfidInOutDto rfidInOut){
        logger.info("RFID 进出场 : " + JSON.toJSONString(rfidInOut));
        if(null == rfidInOut)
            return;
        if(StringUtils.isEmpty(rfidInOut.getCarCard()))
            return;

        if(null == rfidInOut.getReportTime())
            return;

        CarInOutEntity cio = CarInOutEntity.getInstance(rfidInOut);
        SignalAndAttConsumeQueue.put(cio);
    }

    /**
     * 雷博电量数据接入
     * @param list
     */
    @RequestMapping(value = "electric", method = RequestMethod.POST)
    @ResponseBody
    public void electric(@RequestBody List<Electric> list){
        ElectricDataBuffer.put(list);
    }
}