package com.ld.igds.io.notify.impl;
|
|
import com.ld.igds.constant.BizType;
|
import com.ld.igds.constant.RedisConst;
|
import com.ld.igds.inout.dto.InoutApiData;
|
import com.ld.igds.io.notify.NotifyLprService;
|
import com.ld.igds.util.ContextUtil;
|
import com.ld.igds.util.RedisUtil;
|
import com.ld.igds.websocket.WebSocketPacket;
|
import com.ld.igds.websocket.WebSocketServer;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Repository;
|
|
@Slf4j
|
@Repository(NotifyLprService.BEAN_ID)
|
public class NotifyLprServiceImpl implements NotifyLprService {
|
|
@Autowired
|
private WebSocketServer socketServer;
|
@Autowired
|
private RedisUtil redisUtil;
|
|
public static final String KEY_LPR = "T_LPR";
|
|
@SuppressWarnings("static-access")
|
@Override
|
public void notify(InoutApiData plate) {
|
if (null == plate) return;
|
WebSocketPacket packet = new WebSocketPacket();
|
packet.setCompanyId(ContextUtil.getDefaultCompanyId());
|
packet.setBizType(BizType.INOUT_IN.getCode());
|
packet.setBizTag(plate.getInoutProgress());
|
packet.setUserId(plate.getUserId());
|
packet.setBizId("PLATE_NUM");
|
|
packet.setData(plate);
|
|
log.debug("向前端推送车牌信息={}", plate.toString());
|
socketServer.sendByUser(packet);
|
}
|
|
|
|
@Override
|
public InoutApiData getLpr(String key) {
|
key = RedisConst.buildKey(ContextUtil.getDefaultCompanyId(),KEY_LPR,key);
|
InoutApiData lprDto = (InoutApiData) redisUtil.get(key);
|
if(null == lprDto) return null;
|
return lprDto;
|
}
|
|
@Override
|
public void remove(String key) {
|
key = RedisConst.buildKey(ContextUtil.getDefaultCompanyId(),KEY_LPR,key);
|
redisUtil.del(key);
|
}
|
|
@Override
|
public void setLpr(String sn, InoutApiData lprDto) {
|
String key = RedisConst.buildKey(ContextUtil.getDefaultCompanyId(),KEY_LPR,sn);
|
redisUtil.set(key,lprDto, 60 * 60);
|
}
|
|
}
|