SendUtils.java 2.64 KB
package com.bsth.websocket.handler;

import com.bsth.data.abnormal.entity.AbnormalEntity;
import com.bsth.data.schedule.dto.ScheduleInOut;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@Component
public class SendUtils{

	@Autowired
	private RealInoutSocketHandler socketHandler;

	private static Logger logger = LoggerFactory.getLogger(SendUtils.class);

	private static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");

	public void sendCarIn(String nbbm, String berthName, Long t){
		Map<String, Object> map = new HashMap<>();
		map.put("fn", "carIn");
		map.put("nbbm", nbbm);
		map.put("berthName", berthName);
		map.put("dataStr", sdf.format(new Date(t)));

		ObjectMapper mapper = new ObjectMapper();

		try {
			socketHandler.sendMessage(mapper.writeValueAsString(map));
		} catch (Exception e) {
			logger.error("", e);
		}
	}

	public void sendCarOut(String nbbm,  Long t){
		Map<String, Object> map = new HashMap<>();
		map.put("fn", "carOut");
		map.put("nbbm", nbbm);
		map.put("dataStr", sdf.format(new Date(t)));

		ObjectMapper mapper = new ObjectMapper();

		try {
			socketHandler.sendMessage(mapper.writeValueAsString(map));
		} catch (Exception e) {
			logger.error("", e);
		}
	}

	/**
	 * 异常-应到未到
	 */
	public void abnormal_ydwd(AbnormalEntity ae){
		Map<String, Object> map = new HashMap<>();
		map.put("fn", "abnormal_ydwd");
		map.put("entity", ae);

		ObjectMapper mapper = new ObjectMapper();

		try {
			socketHandler.sendMessage(mapper.writeValueAsString(map));
		} catch (Exception e) {
			logger.error("", e);
		}
	}

	/**
	 * 班次出场
	 * @param sio
	 */
	public void scheduleOut(ScheduleInOut sio, AbnormalEntity ae) {
		Map<String, Object> map = new HashMap<>();
		map.put("fn", "abnormal_out");
		map.put("sio", sio);
		if(null != ae)
			map.put("ae", ae);

		ObjectMapper mapper = new ObjectMapper();

		try {
			socketHandler.sendMessage(mapper.writeValueAsString(map));
		} catch (Exception e) {
			logger.error("", e);
		}
	}

	/**
	 * 驾驶员报到
	 * @param sio
	 */
	public void scheduleAttendace(ScheduleInOut sio, AbnormalEntity ae) {
		Map<String, Object> map = new HashMap<>();
		map.put("fn", "abnormal_att");
		map.put("sio", sio);
		if(null != ae)
			map.put("ae", ae);

		ObjectMapper mapper = new ObjectMapper();

		try {
			socketHandler.sendMessage(mapper.writeValueAsString(map));
		} catch (Exception e) {
			logger.error("", e);
		}
	}
}