1078-存储多媒体数据上传

This commit is contained in:
648540858 2024-05-18 16:52:02 +08:00
parent e9562d7d31
commit 6af9b8da1f
5 changed files with 18 additions and 15 deletions

View File

@ -64,6 +64,7 @@ public class JT1078Template {
private static final String H0500 = "0500"; private static final String H0500 = "0500";
private static final String H0608 = "0608"; private static final String H0608 = "0608";
private static final String H0702 = "0702"; private static final String H0702 = "0702";
private static final String H0801 = "0801";
private static final String H0802 = "0802"; private static final String H0802 = "0802";
private static final String H0805 = "0805"; private static final String H0805 = "0805";
private static final String H1205 = "1205"; private static final String H1205 = "1205";
@ -595,12 +596,12 @@ public class JT1078Template {
return SessionManager.INSTANCE.request(cmd, timeOut); return SessionManager.INSTANCE.request(cmd, timeOut);
} }
public Object updateMediaData(String devId, J8803 j8803, int timeOut) { public Object uploadMediaData(String devId, J8803 j8803, int timeOut) {
Cmd cmd = new Cmd.Builder() Cmd cmd = new Cmd.Builder()
.setDevId(devId) .setDevId(devId)
.setPackageNo(randomInt()) .setPackageNo(randomInt())
.setMsgId(H8803) .setMsgId(H8803)
.setRespId(H0802) .setRespId(H0801)
.setRs(j8803) .setRs(j8803)
.build(); .build();
return SessionManager.INSTANCE.request(cmd, timeOut); return SessionManager.INSTANCE.request(cmd, timeOut);

View File

@ -780,11 +780,11 @@ public class JT1078Controller {
@Operation(summary = "1078-存储多媒体数据上传命令", security = @SecurityRequirement(name = JwtUtils.HEADER)) @Operation(summary = "1078-存储多媒体数据上传命令", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "param", description = "存储多媒体数据参数", required = true) @Parameter(name = "param", description = "存储多媒体数据参数", required = true)
@PostMapping("/media-data-update") @PostMapping("/media-data-upload")
public WVPResult<List<JTMediaDataInfo>> updateMediaData(@RequestBody QueryMediaDataParam param){ public WVPResult<List<JTMediaEventInfo>> updateMediaData(@RequestBody QueryMediaDataParam param){
logger.info("[1078-存储多媒体数据上传命令] param: {}", param ); logger.info("[1078-存储多媒体数据上传命令] param: {}", param );
List<JTMediaDataInfo> ids = service.updateMediaData(param.getDeviceId(), param.getQueryMediaDataCommand()); List<JTMediaEventInfo> ids = service.uploadMediaData(param.getDeviceId(), param.getQueryMediaDataCommand());
if (ids != null) { if (ids != null) {
return WVPResult.success(ids); return WVPResult.success(ids);
}else { }else {

View File

@ -8,6 +8,7 @@ import com.genersoft.iot.vmp.jt1078.proc.response.J8001;
import com.genersoft.iot.vmp.jt1078.proc.response.Rs; import com.genersoft.iot.vmp.jt1078.proc.response.Rs;
import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service; import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service;
import com.genersoft.iot.vmp.jt1078.session.Session; import com.genersoft.iot.vmp.jt1078.session.Session;
import com.genersoft.iot.vmp.jt1078.session.SessionManager;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -33,6 +34,7 @@ public class J0801 extends Re {
@Override @Override
protected Rs decode0(ByteBuf buf, Header header, Session session) { protected Rs decode0(ByteBuf buf, Header header, Session session) {
mediaEventInfo = JTMediaEventInfo.decode(buf); mediaEventInfo = JTMediaEventInfo.decode(buf);
System.out.println(mediaEventInfo.getId());
ByteBuf byteBuf = buf.readSlice(28); ByteBuf byteBuf = buf.readSlice(28);
positionBaseInfo = JTPositionBaseInfo.decode(byteBuf); positionBaseInfo = JTPositionBaseInfo.decode(byteBuf);
String fileName = "mediaEvent/" + mediaEventInfo.getId() + "."; String fileName = "mediaEvent/" + mediaEventInfo.getId() + ".";
@ -58,18 +60,19 @@ public class J0801 extends Re {
break; break;
} }
try { try {
ByteBuf dst = buf.readBytes(buf.readableBytes());
File file = new File(fileName); File file = new File(fileName);
if (!file.exists()) { file.deleteOnExit();
file.createNewFile(); file.createNewFile();
} FileOutputStream fileOutputStream = new FileOutputStream(file);
FileOutputStream fileOutputStream = new FileOutputStream(fileName); byte[] bytes = new byte[buf.readableBytes()];
fileOutputStream.write(dst.array()); buf.readBytes(bytes);
fileOutputStream.write(bytes);
fileOutputStream.close(); fileOutputStream.close();
} catch (IOException e) { } catch (IOException e) {
log.info("[JT-多媒体数据上传] 写入文件失败", e); log.info("[JT-多媒体数据上传] 写入文件失败", e);
} }
log.info("[JT-多媒体数据上传]: {}", mediaEventInfo); log.info("[JT-多媒体数据上传]: {}", mediaEventInfo);
// SessionManager.INSTANCE.response(header.getTerminalId(), "0801", null, mediaEventInfo);
return null; return null;
} }

View File

@ -100,6 +100,6 @@ public interface Ijt1078Service {
List<JTMediaDataInfo> queryMediaData(String deviceId, JTQueryMediaDataCommand queryMediaDataCommand); List<JTMediaDataInfo> queryMediaData(String deviceId, JTQueryMediaDataCommand queryMediaDataCommand);
List<JTMediaDataInfo> updateMediaData(String deviceId, JTQueryMediaDataCommand queryMediaDataCommand); List<JTMediaEventInfo> uploadMediaData(String deviceId, JTQueryMediaDataCommand queryMediaDataCommand);
} }

View File

@ -35,7 +35,6 @@ import org.springframework.stereotype.Service;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
@ -722,9 +721,9 @@ public class jt1078ServiceImpl implements Ijt1078Service {
} }
@Override @Override
public List<JTMediaDataInfo> updateMediaData(String deviceId, JTQueryMediaDataCommand queryMediaDataCommand) { public List<JTMediaEventInfo> uploadMediaData(String deviceId, JTQueryMediaDataCommand queryMediaDataCommand) {
J8803 j8803 = new J8803(); J8803 j8803 = new J8803();
j8803.setCommand(queryMediaDataCommand); j8803.setCommand(queryMediaDataCommand);
return (List<JTMediaDataInfo>)jt1078Template.updateMediaData(deviceId, j8803, 300); return (List<JTMediaEventInfo>)jt1078Template.uploadMediaData(deviceId, j8803, 300);
} }
} }