1.智眸接口优化

2.蛙跳机库接口优化
3.机库列表优化
This commit is contained in:
sdy 2026-06-11 18:46:41 +08:00
parent 23864f27bd
commit 69b89434b9
11 changed files with 34 additions and 22 deletions

View File

@ -50,7 +50,6 @@ public class DockController {
@DataFilter @DataFilter
@RequiresPermissions("bus:dock:page") @RequiresPermissions("bus:dock:page")
public Result<PageData<DockDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) { public Result<PageData<DockDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) {
params.put("scenario", "inspection");
PageData<DockDTO> page = dockService.pageList(params); PageData<DockDTO> page = dockService.pageList(params);
return new Result<PageData<DockDTO>>().ok(page); return new Result<PageData<DockDTO>>().ok(page);

View File

@ -50,7 +50,6 @@ public class MultiController {
@DataFilter @DataFilter
@RequiresPermissions("bus:dock:page") @RequiresPermissions("bus:dock:page")
public Result<PageData<DockDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) { public Result<PageData<DockDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params) {
params.put("scenario", "multi");
PageData<DockDTO> page = multiService.pageList(params); PageData<DockDTO> page = multiService.pageList(params);
return new Result<PageData<DockDTO>>().ok(page); return new Result<PageData<DockDTO>>().ok(page);
@ -118,14 +117,14 @@ public class MultiController {
return new Result<>(); return new Result<>();
} }
@DeleteMapping("/updateMultiGroupDevice") @DeleteMapping("/deleteMultiGroupDevice")
@Operation(summary = "蛙跳组解绑设备") @Operation(summary = "蛙跳组解绑设备")
@LogOperation("蛙跳组解绑设备") @LogOperation("蛙跳组解绑设备")
@RequiresPermissions("bus:multi:updateMultiGroupDevice") @RequiresPermissions("bus:multi:deleteMultiGroupDevice")
public Result<Object> updateMultiGroupDevice(@RequestBody List<Long> ids) { public Result<Object> deleteMultiGroupDevice(@RequestBody List<String> dockSn) {
//效验数据 //效验数据
AssertUtils.isListEmpty(ids, "ids"); AssertUtils.isListEmpty(dockSn, "dockSn");
multiService.deleteMultiGroupDevice(ids); multiService.deleteMultiGroupDevice(dockSn);
return new Result<>(); return new Result<>();
} }

View File

@ -97,7 +97,7 @@ public class ZhiMouController {
@Operation(summary = "下载AI检测报告") @Operation(summary = "下载AI检测报告")
@PostMapping("/downloadReport") @PostMapping("/downloadReport")
@RequiresPermissions("ai:zhiMou:downloadReport") @RequiresPermissions("bus:zhiMou:downloadReport")
public ResponseEntity<byte[]> getReportByBusinessId(@RequestBody DownloadReport downloadReport) { public ResponseEntity<byte[]> getReportByBusinessId(@RequestBody DownloadReport downloadReport) {
ValidatorUtils.validateEntity(downloadReport); ValidatorUtils.validateEntity(downloadReport);
byte[] reportBytes = zhiMouService.downloadReport(downloadReport); byte[] reportBytes = zhiMouService.downloadReport(downloadReport);

View File

@ -4,11 +4,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.multictrl.common.validator.group.AddGroup; import com.multictrl.common.validator.group.AddGroup;
import com.multictrl.common.validator.group.UpdateGroup; import com.multictrl.common.validator.group.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
/** /**
@ -22,14 +22,14 @@ public class MultiGroupDeviceDTO {
/** /**
* 蛙跳组id * 蛙跳组id
*/ */
@NotBlank(message = "{group.id.require}", groups = {AddGroup.class, UpdateGroup.class}) @NotNull(message = "蛙跳组标识不能为空", groups = {AddGroup.class, UpdateGroup.class})
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(description = "蛙跳组id") @Schema(description = "蛙跳组id")
private Long groupId; private Long groupId;
/** /**
* 网关sn * 网关sn
*/ */
@NotEmpty(message = "{gateway.sns.require}", groups = {AddGroup.class, UpdateGroup.class}) @NotEmpty(message = "设备网关sn不能为空", groups = {AddGroup.class, UpdateGroup.class})
@JsonProperty(required = true) @JsonProperty(required = true)
@Schema(description = "设备网关sn列表") @Schema(description = "设备网关sn列表")
private List<String> gatewaySns; private List<String> gatewaySns;

View File

@ -28,7 +28,7 @@ public class ZhiMouCallbackHandler implements MessageHandler{
String event = data.getStr("event"); String event = data.getStr("event");
if ("start".equals(event) || "stop".equals(event)) { if ("start".equals(event) || "stop".equals(event)) {
ZhimouCallbackEntity entity = new ZhimouCallbackEntity(); ZhimouCallbackEntity entity = new ZhimouCallbackEntity();
entity.setAppId(data.getStr("appId")); entity.setAppId(data.getStr("app_id"));
entity.setBusinessId(data.getStr("business_id")); entity.setBusinessId(data.getStr("business_id"));
entity.setDevice(data.getStr("device")); entity.setDevice(data.getStr("device"));
entity.setEvent(event); entity.setEvent(event);

View File

@ -91,7 +91,7 @@ public class Q20StatusHandler implements MessageHandler {
message.set("timestamp", System.currentTimeMillis()); message.set("timestamp", System.currentTimeMillis());
message.remove(BusinessConstant.NEED_REPLY); message.remove(BusinessConstant.NEED_REPLY);
String replyTopic = topic + Q20Constant.STATUS_REPLY_SUFFIX; String replyTopic = topic + Q20Constant.STATUS_REPLY_SUFFIX;
mqttPushService.pushMessageByClient1(replyTopic, message.toString()); mqttPushService.pushMessageByClient1NotLog(replyTopic, message.toString());
// log.debug("Q20 status --> 已回复, topic: {}", replyTopic); // log.debug("Q20 status --> 已回复, topic: {}", replyTopic);
} }
} }

View File

@ -34,6 +34,11 @@ public class MqttPushService {
setHeader("mqtt_topic", topic).build()); setHeader("mqtt_topic", topic).build());
} }
public void pushMessageByClient1NotLog(String topic, String msg) {
mqttOutboundHandler1.send(MessageBuilder.withPayload(msg).
setHeader("mqtt_topic", topic).build());
}
/** /**
* 客户端2推送消息 该连接处理drc控制的协议交互 * 客户端2推送消息 该连接处理drc控制的协议交互
* *

View File

@ -29,7 +29,7 @@ public interface MultiService {
void updateMultiGroup(MultiGroupDTO multiGroupDTO); void updateMultiGroup(MultiGroupDTO multiGroupDTO);
// void updateMultiGroupDevice(MultiGroupDeviceDTO multiGroupDeviceDTO); // void updateMultiGroupDevice(MultiGroupDeviceDTO multiGroupDeviceDTO);
void deleteMultiGroupDevice(List<Long> ids); void deleteMultiGroupDevice(List<String> dockSn);
void deleteMultiGroup(List<Long> ids); void deleteMultiGroup(List<Long> ids);

View File

@ -51,6 +51,7 @@ public class DockServiceImpl extends CrudServiceImpl<DockDao, DockEntity, DockDT
String key = (String) params.get("key"); String key = (String) params.get("key");
String scenario = (String) params.get("scenario"); String scenario = (String) params.get("scenario");
Object dockSns = params.get("dockSns"); Object dockSns = params.get("dockSns");
Object notDockSns = params.get("notDockSns");
QueryWrapper<DockEntity> wrapper = new QueryWrapper<>(); QueryWrapper<DockEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StrUtil.isNotBlank(id), "id", id); wrapper.eq(StrUtil.isNotBlank(id), "id", id);
@ -58,7 +59,10 @@ public class DockServiceImpl extends CrudServiceImpl<DockDao, DockEntity, DockDT
wrapper.and(StrUtil.isNotBlank(key), qw -> wrapper.and(StrUtil.isNotBlank(key), qw ->
qw.like("dock_name", key).or().eq("dock_sn", key)); qw.like("dock_name", key).or().eq("dock_sn", key));
if (dockSns != null) { if (dockSns != null) {
wrapper.notIn("dock_sn", (List<String>) dockSns); wrapper.in("dock_sn", (List<String>) dockSns);
}
if (notDockSns != null) {
wrapper.notIn("dock_sn", (List<String>) notDockSns);
} }
wrapper.orderByDesc("update_date"); wrapper.orderByDesc("update_date");
@ -88,6 +92,7 @@ public class DockServiceImpl extends CrudServiceImpl<DockDao, DockEntity, DockDT
@Override @Override
public PageData<DockDTO> pageList(Map<String, Object> params) { public PageData<DockDTO> pageList(Map<String, Object> params) {
params.put("scenario", "inspection");
PageData<DockDTO> page = page(params); PageData<DockDTO> page = page(params);
for (DockDTO dockDTO : page.getList()) { for (DockDTO dockDTO : page.getList()) {
Integer dockModeCode = djiBaseService.getDockModeCode(dockDTO.getDockSn()); Integer dockModeCode = djiBaseService.getDockModeCode(dockDTO.getDockSn());

View File

@ -70,7 +70,8 @@ public class MultiServiceImpl implements MultiService {
if (CollUtil.isNotEmpty(multiGroupDeviceEntities)) { if (CollUtil.isNotEmpty(multiGroupDeviceEntities)) {
dockSns = multiGroupDeviceEntities.stream().map(MultiGroupDeviceEntity::getGatewaySn).toList(); dockSns = multiGroupDeviceEntities.stream().map(MultiGroupDeviceEntity::getGatewaySn).toList();
} }
params.put("dockSns", dockSns); params.put("notDockSns", dockSns);
params.put("scenario", "multi");
PageData<DockDTO> page = dockService.page(params); PageData<DockDTO> page = dockService.page(params);
addDockProperty(page.getList()); addDockProperty(page.getList());
return page; return page;
@ -127,8 +128,9 @@ public class MultiServiceImpl implements MultiService {
}*/ }*/
@Override @Override
public void deleteMultiGroupDevice(List<Long> ids) { public void deleteMultiGroupDevice(List<String> dockSn) {
multiGroupDeviceDao.deleteByIds(ids); multiGroupDeviceDao.delete(new QueryWrapper<MultiGroupDeviceEntity>()
.in("gateway_sn", dockSn));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

View File

@ -207,7 +207,8 @@ public class ZhiMouServiceImpl implements ZhiMouService {
zhiMouTask.setMode("video"); zhiMouTask.setMode("video");
zhiMouTask.setAppId(zhiMouAiStart.getAppId()); zhiMouTask.setAppId(zhiMouAiStart.getAppId());
zhiMouTask.setDevice(dockSn); zhiMouTask.setDevice(dockSn);
zhiMouTask.setBusinessId((String) CacheUtils.get(BusinessConstant.IN_FLIGHT_WORKING_TASK_ID + dockSn)); String dockTaskId = (String) CacheUtils.get(BusinessConstant.WORKING_TASK_ID + dockSn);
zhiMouTask.setBusinessId(dockTaskId);
zhiMouTask.setRules(zhiMouAiStart.getRules()); zhiMouTask.setRules(zhiMouAiStart.getRules());
zhiMouTask.setInput(srsService.getUavPushLiveUrl(dockSn)); zhiMouTask.setInput(srsService.getUavPushLiveUrl(dockSn));
zhiMouTask.setOutput(srsService.getUavAiPushLiveUrl(dockSn)); zhiMouTask.setOutput(srsService.getUavAiPushLiveUrl(dockSn));
@ -257,6 +258,7 @@ public class ZhiMouServiceImpl implements ZhiMouService {
.header(AUTHORIZATION, BEARER + zhiMouInfo.getToken()) .header(AUTHORIZATION, BEARER + zhiMouInfo.getToken())
.execute() .execute()
.body(); .body();
log.debug("invoke zhiMou start dockTaskId: {}", dockTaskId);
log.debug("invoke zhiMou start request: {},result: {}", jsonObject, result); log.debug("invoke zhiMou start request: {},result: {}", jsonObject, result);
if (StrUtil.isNotBlank(result)) { if (StrUtil.isNotBlank(result)) {
return JSONObject.parse(result); return JSONObject.parse(result);