feat: 增加手动拍照mqtt

dev
huangfeng 2 months ago
parent 6ab6bb2779
commit 30c009faa3

@ -56,7 +56,7 @@ public class TerminalPhotoController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")})
@RequestMapping("/takePic")
@Log(title = "主动拍照", type = "查询")
public ResponseReult<TakePIcModel> takePic(@Validated TerminalPhotoVo vo) {
public ResponseReult<TakePIcModel> takePic(@Validated TerminalPhotoVo vo) throws Exception {
ServiceBody<TakePIcModel> serviceBody = terminalPhotoService.takePic(vo);
if (serviceBody.getCode() == ServiceStatus.SUCCESS) {
return ResponseReult.success(serviceBody.getData());

@ -10,4 +10,9 @@ public class MessageSend {
String cmd;
Paras paras;
String msgType;
public MessageSend() {
msgType = "cloudReq";
paras = new Paras();
}
}

@ -27,5 +27,6 @@ public class TerminalPhotoVo {
@ApiModelProperty(value = "图片类型")
private Integer captureType;
Integer mqtt;
}

@ -0,0 +1,34 @@
package com.shxy.xymanager_service.impl;
import com.shxy.xymanager_common.model.mqtt.MessageSend;
import com.shxy.xymanager_common.model.mqtt.Paras;
import com.shxy.xymanager_service.mqtt.MqttPublisherService;
import com.shxy.xymanager_service.service.MqttService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
public class MqttServiceImpl implements MqttService {
@Resource
MqttPublisherService mqttPublisherService;
@Override
public void takePic(String cmdid, Integer channel, Integer preset, Integer type, Integer requestId) throws Exception {
MessageSend msg = new MessageSend();
msg.setServiceId("PlatformControlDeviceCommandLssueService");
msg.setDeviceId(cmdid);
msg.setCmd("manualCapturePicture");
Paras paras = msg.getParas();
paras.setChannelNumber(channel);
paras.setPresetPosition(preset);
paras.setPassword("");
mqttPublisherService.publish(msg);
}
}

@ -84,6 +84,8 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService {
NewCacheService newCacheService;
@Resource
TerminalExtService terminalExtService;
@Resource
MqttService mqttService;
@Autowired
RequestResultsDao requestResultsDao;
@ -676,7 +678,7 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService {
}
@Override
public ServiceBody<TakePIcModel> takePic(TerminalPhotoVo vo) {
public ServiceBody<TakePIcModel> takePic(TerminalPhotoVo vo) throws Exception {
TakePIcModel model = new TakePIcModel();
int requestId = 0;
DateTime now = DateTime.now();
@ -692,8 +694,12 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService {
}
if (StrUtil.isNotEmpty(cmdid)) {
requestId = Constants.REQUEST_ID.addAndGet(1);
String cmd = CmaUtil.takePic(cmdid, channel, preset, captureType, requestId);
ProcessExecUtils.exec(cmd);
if (vo.getMqtt() != null && vo.getMqtt().intValue() == 1) {
mqttService.takePic(cmdid, channel, preset, captureType, requestId);
} else {
String cmd = CmaUtil.takePic(cmdid, channel, preset, captureType, requestId);
ProcessExecUtils.exec(cmd);
}
model.setRequestId(requestId);
model.setTaketime(MyDateUtils.date(now));
}

@ -0,0 +1,8 @@
package com.shxy.xymanager_service.service;
public interface MqttService {
void takePic(String cmdid, Integer channel, Integer preset, Integer type, Integer requestId) throws Exception;
}

@ -46,7 +46,7 @@ public interface TerminalPhotoService {
*
* @return
*/
ServiceBody<TakePIcModel> takePic(TerminalPhotoVo vo);
ServiceBody<TakePIcModel> takePic(TerminalPhotoVo vo) throws Exception;
/**
*

Loading…
Cancel
Save