|  |  | 
 |  |  | package com.genersoft.iot.vmp.gb28181.session; | 
 |  |  |  | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.*; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.event.record.RecordEndEventListener; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; | 
 |  |  | import com.genersoft.iot.vmp.vmanager.bean.WVPResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private DeferredResultHolder deferredResultHolder; | 
 |  |  |     @Autowired | 
 |  |  |     private RecordEndEventListener recordEndEventListener; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public int put(String deviceId, String sn, int sumNum, List<RecordItem> recordItems) { | 
 |  |  |     public int put(String deviceId,String channelId, String sn, int sumNum, List<RecordItem> recordItems) { | 
 |  |  |         String key = deviceId + sn; | 
 |  |  |         RecordInfo recordInfo = data.get(key); | 
 |  |  |         if (recordInfo == null) { | 
 |  |  |             recordInfo = new RecordInfo(); | 
 |  |  |             recordInfo.setDeviceId(deviceId); | 
 |  |  |             recordInfo.setChannelId(channelId); | 
 |  |  |             recordInfo.setSn(sn.trim()); | 
 |  |  |             recordInfo.setSumNum(sumNum); | 
 |  |  |             recordInfo.setRecordList(Collections.synchronizedList(new ArrayList<>())); | 
 |  |  | 
 |  |  |                 msg.setKey(msgKey); | 
 |  |  |                 msg.setData(recordInfo); | 
 |  |  |                 deferredResultHolder.invokeAllResult(msg); | 
 |  |  |                 recordEndEventListener.delEndEventHandler(recordInfo.getDeviceId(),recordInfo.getChannelId()); | 
 |  |  |                 data.remove(key); | 
 |  |  |             } | 
 |  |  |         } |