Browse Source

自动播放直播流

nantong
吴远 1 month ago
parent
commit
cbd3cf974a
  1. 13
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceEnum.java
  2. 39
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceTypeVideoEnum.java
  3. 80
      dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceVideoEnum.java
  4. 2
      dk-common/common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java
  5. 5
      dk-common/common-redis/src/main/java/org/dromara/common/redis/config/RedisConst.java
  6. 4
      dk-modules/sample/pom.xml
  7. 9
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceRedisService.java
  8. 23
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceRedisServiceImpl.java
  9. 41
      dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java
  10. 46
      dk-modules/sample/src/main/java/org/dromara/sample/rocketmq/RocketMqConsum.java
  11. 8
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java
  12. 2
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IFlightTaskService.java
  13. 28
      dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/FlightTaskServiceImpl.java
  14. 4
      dk-visual/nacos/src/main/resources/application.properties

13
dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceEnum.java

@ -142,4 +142,17 @@ public enum DeviceEnum {
return Arrays.stream(values()).filter(device -> device.getDevice().equals(finalKey)) return Arrays.stream(values()).filter(device -> device.getDevice().equals(finalKey))
.findAny().orElseThrow(() -> new CloudSDKException(DeviceEnum.class, finalKey1)); .findAny().orElseThrow(() -> new CloudSDKException(DeviceEnum.class, finalKey1));
} }
@JsonCreator
public static DeviceEnum findKey(String key) {
if(StringUtils.isEmpty(key)){
key = DeviceEnum.M3TD.getDevice();
}
String finalKey = key;
String finalKey1 = key;
return Arrays.stream(values()).filter(device -> device.toString().equals(finalKey))
.findAny().orElseThrow(() -> new CloudSDKException(DeviceEnum.class, finalKey1));
}
} }

39
dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceTypeVideoEnum.java

@ -0,0 +1,39 @@
package org.dromara.common.sdk.cloudapi.device;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.Schema;
import org.dromara.common.sdk.exception.CloudSDKException;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/5/26
*/
@Schema(description = "DeviceTypeVideoEnum", enumAsRef = true)
public enum DeviceTypeVideoEnum {
ZERO(0),
SEVEN(7);
;
private final int videoType;
DeviceTypeVideoEnum(int videoType) {
this.videoType = videoType;
}
@JsonValue
public int getVideoType() {
return videoType;
}
@JsonCreator
public static DeviceTypeVideoEnum find(int videoType) {
return Arrays.stream(values()).filter(typeEnum -> typeEnum.videoType == videoType).findAny()
.orElseThrow(() -> new CloudSDKException(DeviceTypeVideoEnum.class, videoType));
}
}

80
dk-common/common-cloudsdk/src/main/java/org/dromara/common/sdk/cloudapi/device/DeviceVideoEnum.java

@ -0,0 +1,80 @@
package org.dromara.common.sdk.cloudapi.device;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.v3.oas.annotations.media.Schema;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.sdk.exception.CloudSDKException;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/5/19
*/
@Schema(description = "device model key.", format = "domain-type-subType", enumAsRef = true, example = "0-89-0")
public enum DeviceVideoEnum {
DOCK(DeviceTypeEnum.DOCK_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.SEVEN),
DJIDock2(DeviceTypeEnum.DOCK_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.SEVEN),
DOCK3(DeviceTypeEnum.DOCK_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.SEVEN),
Matrice30(DeviceTypeEnum.M30_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.ZERO),
Matrice30T(DeviceTypeEnum.M30T_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.ZERO),
M3D(DeviceTypeEnum.M3D_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.ZERO),
M3TD(DeviceTypeEnum.M3TD_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.ZERO),
M4D(DeviceTypeEnum.M4D_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.ZERO),
M4TD(DeviceTypeEnum.M4TD_CAMERA, DeviceSubTypeEnum.ZERO, DeviceTypeVideoEnum.ZERO),
;
@Schema(enumAsRef = true)
private final DeviceTypeEnum type;
@Schema(enumAsRef = true)
private final DeviceSubTypeEnum subType;
@Schema(enumAsRef = true)
private final DeviceTypeVideoEnum videoType;
DeviceVideoEnum(DeviceTypeEnum type, DeviceSubTypeEnum subType, DeviceTypeVideoEnum videoType) {
this.type = type;
this.subType = subType;
this.videoType = videoType;
}
public DeviceTypeEnum getType() {
return type;
}
public DeviceSubTypeEnum getSubType() {
return subType;
}
public DeviceTypeVideoEnum getVideoType() {
return videoType;
}
@JsonValue
public String getDevice() {
return String.format("%s-%s-%s", type.getType(), subType.getSubType(),videoType.getVideoType());
}
@JsonCreator
public static DeviceVideoEnum find(String key) {
String finalKey = key.replaceAll(" ","");
return Arrays.stream(values()).filter(device -> device.toString().equals(finalKey))
.findAny().orElseThrow(() -> new CloudSDKException(DeviceEnum.class, finalKey));
}
}

2
dk-common/common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java

@ -24,6 +24,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
public static final String SLASH = "/"; public static final String SLASH = "/";
public static final String DASH = "-";
/** /**
* 获取参数不为空值 * 获取参数不为空值
* *

5
dk-common/common-redis/src/main/java/org/dromara/common/redis/config/RedisConst.java

@ -19,6 +19,8 @@ public final class RedisConst {
public static final Integer WEBSOCKET_ALIVE_SECOND = 60 * 60 * 24; public static final Integer WEBSOCKET_ALIVE_SECOND = 60 * 60 * 24;
public static final Integer DEVICE_VIDEO_STATUE_SECOND = 60 * 50;
public static final String DEVICE_ONLINE_PREFIX = "online" + DELIMITER; public static final String DEVICE_ONLINE_PREFIX = "online" + DELIMITER;
public static final String WEBSOCKET_PREFIX = "webSocket" + DELIMITER; public static final String WEBSOCKET_PREFIX = "webSocket" + DELIMITER;
@ -62,4 +64,7 @@ public final class RedisConst {
public static final String FILE_UPLOADING_PREFIX = "file_uploading" + DELIMITER; public static final String FILE_UPLOADING_PREFIX = "file_uploading" + DELIMITER;
public static final String DRONE_CONTROL_PREFiX = "control_source" + DELIMITER; public static final String DRONE_CONTROL_PREFiX = "control_source" + DELIMITER;
public static final String VIDEO_STATUS = "video_status" + DELIMITER;
} }

4
dk-modules/sample/pom.xml

@ -140,6 +140,10 @@
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>api-workflow</artifactId> <artifactId>api-workflow</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>common-rocketmq</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId> <artifactId>spring-boot-starter</artifactId>

9
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceRedisService.java

@ -1,6 +1,7 @@
package org.dromara.sample.manage.service; package org.dromara.sample.manage.service;
import org.dromara.common.sdk.cloudapi.device.OsdDockDrone; import org.dromara.common.sdk.cloudapi.device.OsdDockDrone;
import org.dromara.common.sdk.cloudapi.device.VideoId;
import org.dromara.common.sdk.cloudapi.firmware.OtaProgress; import org.dromara.common.sdk.cloudapi.firmware.OtaProgress;
import org.dromara.sample.component.mqtt.model.EventsReceiver; import org.dromara.sample.component.mqtt.model.EventsReceiver;
import org.dromara.sample.manage.model.dto.DeviceDTO; import org.dromara.sample.manage.model.dto.DeviceDTO;
@ -126,4 +127,12 @@ public interface IDeviceRedisService {
*/ */
List<OsdDockDrone> getDevicesOsdInfo(List<String> snList); List<OsdDockDrone> getDevicesOsdInfo(List<String> snList);
Boolean checkDeviceVideo(String sn);
void setDeviceVideo(String sn, Object data);
Optional<VideoId> getDeviceVideo(String sn, Object data);
Boolean delDeviceVideo(String sn);
} }

23
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceRedisServiceImpl.java

@ -2,7 +2,9 @@ package org.dromara.sample.manage.service.impl;
import org.dromara.common.redis.config.RedisConst; import org.dromara.common.redis.config.RedisConst;
import org.dromara.common.redis.utils.RedisOpsUtils; import org.dromara.common.redis.utils.RedisOpsUtils;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.sdk.cloudapi.device.OsdDockDrone; import org.dromara.common.sdk.cloudapi.device.OsdDockDrone;
import org.dromara.common.sdk.cloudapi.device.VideoId;
import org.dromara.common.sdk.cloudapi.firmware.OtaProgress; import org.dromara.common.sdk.cloudapi.firmware.OtaProgress;
import org.dromara.sample.component.mqtt.model.EventsReceiver; import org.dromara.sample.component.mqtt.model.EventsReceiver;
import org.dromara.sample.manage.model.dto.DeviceDTO; import org.dromara.sample.manage.model.dto.DeviceDTO;
@ -133,4 +135,25 @@ public class DeviceRedisServiceImpl implements IDeviceRedisService {
return resultList; return resultList;
} }
@Override
public Boolean checkDeviceVideo(String sn) {
return RedisOpsUtils.checkExist(RedisConst.VIDEO_STATUS + sn) && RedisOpsUtils.getExpire(RedisConst.VIDEO_STATUS + sn) > 0;
}
@Override
public void setDeviceVideo(String sn, Object data) {
RedisOpsUtils.setWithExpire(RedisConst.VIDEO_STATUS + sn, data, RedisConst.DEVICE_VIDEO_STATUE_SECOND);
}
@Override
public Optional<VideoId> getDeviceVideo(String sn, Object data) {
return Optional.ofNullable((VideoId) RedisOpsUtils.get(RedisConst.VIDEO_STATUS + sn));
}
@Override
public Boolean delDeviceVideo(String sn) {
return RedisOpsUtils.del(sn);
}
} }

41
dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/SDKDeviceService.java

@ -2,8 +2,10 @@ package org.dromara.sample.manage.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import org.dromara.common.redis.utils.RedisOpsUtils; import org.dromara.common.redis.utils.RedisOpsUtils;
import org.dromara.common.rocketmq.producer.MessageProducerUtil;
import org.dromara.common.sdk.cloudapi.device.*; import org.dromara.common.sdk.cloudapi.device.*;
import org.dromara.common.sdk.cloudapi.device.api.AbstractDeviceService; import org.dromara.common.sdk.cloudapi.device.api.AbstractDeviceService;
import org.dromara.common.sdk.cloudapi.livestream.VideoTypeEnum;
import org.dromara.common.sdk.cloudapi.psdk.PsdkUiResource; import org.dromara.common.sdk.cloudapi.psdk.PsdkUiResource;
import org.dromara.common.sdk.cloudapi.psdk.PsdkWidgetValues; import org.dromara.common.sdk.cloudapi.psdk.PsdkWidgetValues;
import org.dromara.common.sdk.cloudapi.tsa.DeviceIconUrl; import org.dromara.common.sdk.cloudapi.tsa.DeviceIconUrl;
@ -36,6 +38,9 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.dromara.common.core.utils.StringUtils.DASH;
import static org.dromara.common.core.utils.StringUtils.SLASH;
/** /**
* @author sean * @author sean
* @version 1.7 * @version 1.7
@ -172,6 +177,34 @@ public class SDKDeviceService extends AbstractDeviceService {
deviceService.pushOsdDataToWeb(device.getWorkspaceId(), BizCodeEnum.DOCK_OSD, from, request.getData()); deviceService.pushOsdDataToWeb(device.getWorkspaceId(), BizCodeEnum.DOCK_OSD, from, request.getData());
} }
@Override
public void dockLiveStatusUpdate(TopicStateRequest<DockLiveStatus> request, MessageHeaders headers){
Optional<DeviceDTO> dockOnline = deviceRedisService.getDeviceOnline(request.getGateway());
Optional<DeviceDTO> deviceOnline = deviceRedisService.getDeviceOnline(dockOnline.get().getChildDeviceSn());
if(deviceOnline.isEmpty()){
return;
}
if(request.getData().getLiveStatus().size() == 0 ){
String deviceVideoEnum = DeviceVideoEnum.find(deviceOnline.get().getDeviceName()).getDevice();
if(!deviceRedisService.checkDeviceVideo(deviceOnline.get().getDeviceSn())){
VideoId videoId = new VideoId(deviceOnline.get().getDeviceSn()+deviceVideoEnum+SLASH + VideoTypeEnum.NORMAL + DASH+DeviceTypeVideoEnum.ZERO.getVideoType());
deviceRedisService.setDeviceVideo(deviceOnline.get().getDeviceSn(),videoId);
MessageProducerUtil.sendAsyncProducerMessage("videoStartConsum","videoStopStart",deviceOnline.get().getDeviceSn(),videoId.toString());
}
}
List<DockLiveStatusData> dockLiveStatusDataList = request.getData().getLiveStatus().stream().filter(item ->
item.getVideoId().getDroneSn().equals(dockOnline.get().getChildDeviceSn()) && item.getStatus() == true).collect(Collectors.toList());
if(dockLiveStatusDataList.size() == 0){
String deviceVideoEnum = DeviceVideoEnum.find(deviceOnline.get().getDeviceName()).getDevice();
if(!deviceRedisService.checkDeviceVideo(deviceOnline.get().getDeviceSn())){
VideoId videoId = new VideoId(deviceOnline.get().getDeviceSn()+deviceVideoEnum+SLASH + VideoTypeEnum.NORMAL + DASH+DeviceTypeVideoEnum.ZERO.getVideoType());
deviceRedisService.setDeviceVideo(deviceOnline.get().getDeviceSn(),videoId);
MessageProducerUtil.sendAsyncProducerMessage("videoStartConsum","videoStopStart",deviceOnline.get().getDeviceSn(),videoId.toString());
}
}
}
@Override @Override
public void osdDockDrone(TopicOsdRequest<OsdDockDrone> request, MessageHeaders headers) { public void osdDockDrone(TopicOsdRequest<OsdDockDrone> request, MessageHeaders headers) {
String from = request.getFrom(); String from = request.getFrom();
@ -190,12 +223,18 @@ public class SDKDeviceService extends AbstractDeviceService {
} }
DeviceDTO device = deviceOpt.get(); DeviceDTO device = deviceOpt.get();
String deviceVideoEnum = DeviceVideoEnum.find(device.getDeviceName()).getDevice();
if(!deviceRedisService.checkDeviceVideo(device.getDeviceSn())){
VideoId videoId = new VideoId(device.getDeviceSn()+deviceVideoEnum+SLASH + VideoTypeEnum.NORMAL + DASH+DeviceTypeVideoEnum.ZERO.getVideoType());
deviceRedisService.setDeviceVideo(device.getDeviceSn(),videoId);
MessageProducerUtil.sendAsyncProducerMessage("videoStartConsum","videoStart",device.getDeviceSn(),videoId.toString());
}
deviceRedisService.setDeviceOnline(device); deviceRedisService.setDeviceOnline(device);
deviceRedisService.setDeviceOsd(from, request.getData()); deviceRedisService.setDeviceOsd(from, request.getData());
deviceService.pushOsdDataToWeb(device.getWorkspaceId(), BizCodeEnum.DEVICE_OSD, from, request.getData()); deviceService.pushOsdDataToWeb(device.getWorkspaceId(), BizCodeEnum.DEVICE_OSD, from, request.getData());
} }
@Override @Override
public void osdRemoteControl(TopicOsdRequest<OsdRemoteControl> request, MessageHeaders headers) { public void osdRemoteControl(TopicOsdRequest<OsdRemoteControl> request, MessageHeaders headers) {
String from = request.getFrom(); String from = request.getFrom();

46
dk-modules/sample/src/main/java/org/dromara/sample/rocketmq/RocketMqConsum.java

@ -0,0 +1,46 @@
package org.dromara.sample.rocketmq;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.dromara.common.sdk.cloudapi.device.VideoId;
import org.dromara.common.sdk.cloudapi.livestream.LensChangeVideoTypeEnum;
import org.dromara.common.sdk.cloudapi.livestream.UrlTypeEnum;
import org.dromara.common.sdk.cloudapi.livestream.VideoQualityEnum;
import org.dromara.sample.manage.model.dto.LiveTypeDTO;
import org.dromara.sample.manage.service.ILiveStreamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
/**
* @auther wuyuan
* @data 2025/5/12
*/
@RocketMQMessageListener(consumerGroup = "videoStart",topic = "videoStartConsum")
@Component
public class RocketMqConsum implements RocketMQListener<MessageExt> {
@Autowired
private ILiveStreamService liveStreamService;
@Override
public void onMessage(MessageExt message) {
String tags = message.getTags();
String videoIds = new String(message.getBody());
VideoId videoId = new VideoId(videoIds);
LiveTypeDTO liveTypeDTO = new LiveTypeDTO();
liveTypeDTO.setUrlType(UrlTypeEnum.WHIP);
liveTypeDTO.setVideoType(LensChangeVideoTypeEnum.WIDE);
liveTypeDTO.setVideoQuality(VideoQualityEnum.ULTRA_HD);
liveTypeDTO.setVideoId(videoId);
if(tags.equals("videoStart")){
liveStreamService.liveStart(liveTypeDTO);
}else if(tags.equals("videoStopStart")){
liveStreamService.liveStop(videoId);
liveStreamService.liveStart(liveTypeDTO);
}
}
}

8
dk-modules/sample/src/main/java/org/dromara/sample/wayline/controller/WaylineJobController.java

@ -127,10 +127,14 @@ public class WaylineJobController {
@RequestParam(name = "device_sn") String deviceSn, HttpServletRequest req, HttpServletResponse rsp) { @RequestParam(name = "device_sn") String deviceSn, HttpServletRequest req, HttpServletResponse rsp) {
try { try {
Optional<EventsReceiver<FlighttaskProgress>> runningWaylineJob = waylineRedisService.getRunningWaylineJob(deviceSn); Optional<EventsReceiver<FlighttaskProgress>> runningWaylineJob = waylineRedisService.getRunningWaylineJob(deviceSn);
if(runningWaylineJob.isEmpty())return; if(runningWaylineJob.isEmpty()) {
return;
}
String jobId = runningWaylineJob.get().getOutput().getExt().getFlightId(); String jobId = runningWaylineJob.get().getOutput().getExt().getFlightId();
Optional<WaylineJobDTO> waylineJobDTO = waylineJobService.getJobByJobId(workspaceId, jobId); Optional<WaylineJobDTO> waylineJobDTO = waylineJobService.getJobByJobId(workspaceId, jobId);
if(waylineJobDTO.isEmpty())return; if(waylineJobDTO.isEmpty()) {
return;
}
URL url = waylineFileService.getObjectUrl(workspaceId, waylineJobDTO.get().getFileId()); URL url = waylineFileService.getObjectUrl(workspaceId, waylineJobDTO.get().getFileId());
rsp.sendRedirect(url.toString()); rsp.sendRedirect(url.toString());
} catch (IOException | SQLException e) { } catch (IOException | SQLException e) {

2
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/IFlightTaskService.java

@ -74,5 +74,7 @@ public interface IFlightTaskService {
*/ */
void updateJobStatus(String workspaceId, String jobId, UpdateJobParam param); void updateJobStatus(String workspaceId, String jobId, UpdateJobParam param);
void updateJobDeviceSnStatus(String workspaceId, String deviceSn, UpdateJobParam param);
void retryPrepareJob(ConditionalWaylineJobKey jobKey, WaylineJobDTO waylineJob); void retryPrepareJob(ConditionalWaylineJobKey jobKey, WaylineJobDTO waylineJob);
} }

28
dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/FlightTaskServiceImpl.java

@ -505,6 +505,34 @@ public class FlightTaskServiceImpl extends AbstractWaylineService implements IFl
} }
@Override
public void updateJobDeviceSnStatus(String workspaceId, String deviceSn, UpdateJobParam param) {
Optional<EventsReceiver<FlighttaskProgress>> runningWaylineJob = waylineRedisService.getRunningWaylineJob(deviceSn);
if(runningWaylineJob.isEmpty()) {
return;
}
String jobId = runningWaylineJob.get().getOutput().getExt().getFlightId();
Optional<WaylineJobDTO> waylineJobOpt = waylineJobService.getJobByJobId(workspaceId, jobId);
if (waylineJobOpt.isEmpty()) {
throw new RuntimeException("作业不存在。");
}
WaylineJobDTO waylineJob = waylineJobOpt.get();
WaylineJobStatusEnum statusEnum = waylineJobService.getWaylineState(waylineJob.getDockSn());
if (statusEnum.getEnd() || WaylineJobStatusEnum.PENDING == statusEnum) {
throw new RuntimeException("路线作业状态不匹配,因此无法执行该操作。");
}
switch (param.getStatus()) {
case PAUSE:
pauseJob(workspaceId, waylineJob.getDockSn(), jobId, statusEnum);
break;
case RESUME:
resumeJob(workspaceId, waylineJob.getDockSn(), jobId, statusEnum);
break;
}
}
private void pauseJob(String workspaceId, String dockSn, String jobId, WaylineJobStatusEnum statusEnum) { private void pauseJob(String workspaceId, String dockSn, String jobId, WaylineJobStatusEnum statusEnum) {
if (WaylineJobStatusEnum.PAUSED == statusEnum && jobId.equals(waylineRedisService.getPausedWaylineJobId(dockSn))) { if (WaylineJobStatusEnum.PAUSED == statusEnum && jobId.equals(waylineRedisService.getPausedWaylineJobId(dockSn))) {
waylineRedisService.setPausedWaylineJob(dockSn, jobId); waylineRedisService.setPausedWaylineJob(dockSn, jobId);

4
dk-visual/nacos/src/main/resources/application.properties

@ -40,9 +40,9 @@ spring.sql.init.platform=mysql
db.num=1 db.num=1
### Connect URL of DB: ### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/dk_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true db.url.0=jdbc:mysql://114.235.183.147:3306/dk_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root db.user.0=root
db.password.0=123456 db.password.0=dkcy@yf
### the maximum retry times for push ### the maximum retry times for push
nacos.config.push.maxRetryTime=50 nacos.config.push.maxRetryTime=50

Loading…
Cancel
Save