[+] 协议

This commit is contained in:
acgist
2023-03-03 23:31:59 +08:00
parent 9c5ab2ec9f
commit 07678b3297
13 changed files with 337 additions and 113 deletions

View File

@@ -11,10 +11,6 @@ import com.acgist.taoyao.signal.protocol.control.ControlBellProtocol;
import com.acgist.taoyao.signal.protocol.control.ControlPhotographProtocol;
import com.acgist.taoyao.signal.protocol.control.ControlPtzProtocol;
import com.acgist.taoyao.signal.protocol.control.ControlRecordProtocol;
import com.acgist.taoyao.signal.protocol.platform.PlatformRebootProtocol;
import com.acgist.taoyao.signal.protocol.platform.PlatformShutdownProtocol;
import com.acgist.taoyao.signal.protocol.system.SystemRebootProtocol;
import com.acgist.taoyao.signal.protocol.system.SystemShutdownProtocol;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -33,26 +29,18 @@ public class ControlController {
private final ControlPtzProtocol controlPtzProtocol;
private final ControlBellProtocol controlBellProtocol;
private final SystemRebootProtocol systemRebootProtocol;
private final ControlRecordProtocol controlRecordProtocol;
private final SystemShutdownProtocol systemShutdownProtocol;
private final PlatformRebootProtocol platformRebootProtocol;
private final PlatformShutdownProtocol platformShutdownProtocol;
private final ControlPhotographProtocol controlPhotographProtocol;
public ControlController(
ControlPtzProtocol controlPtzProtocol, ControlBellProtocol controlBellProtocol,
SystemRebootProtocol systemRebootProtocol, ControlRecordProtocol controlRecordProtocol,
SystemShutdownProtocol systemShutdownProtocol, PlatformRebootProtocol platformRebootProtocol,
PlatformShutdownProtocol platformShutdownProtocol, ControlPhotographProtocol controlPhotographProtocol
ControlPtzProtocol controlPtzProtocol,
ControlBellProtocol controlBellProtocol,
ControlRecordProtocol controlRecordProtocol,
ControlPhotographProtocol controlPhotographProtocol
) {
this.controlPtzProtocol = controlPtzProtocol;
this.controlBellProtocol = controlBellProtocol;
this.systemRebootProtocol = systemRebootProtocol;
this.controlRecordProtocol = controlRecordProtocol;
this.systemShutdownProtocol = systemShutdownProtocol;
this.platformRebootProtocol = platformRebootProtocol;
this.platformShutdownProtocol = platformShutdownProtocol;
this.controlPhotographProtocol = controlPhotographProtocol;
}
@@ -88,32 +76,4 @@ public class ControlController {
return Message.success();
}
@Operation(summary = "重启系统", description = "重启系统")
@GetMapping("/system/reboot")
public Message systemReboot() {
this.systemRebootProtocol.execute();
return Message.success();
}
@Operation(summary = "关闭系统", description = "关闭系统")
@GetMapping("/system/shutdown")
public Message systemShutdown() {
this.systemShutdownProtocol.execute();
return Message.success();
}
@Operation(summary = "重启平台", description = "重启平台")
@GetMapping("/platform/reboot")
public Message platformReboot() {
this.platformRebootProtocol.execute();
return Message.success();
}
@Operation(summary = "关闭平台", description = "关闭平台")
@GetMapping("/platform/shutdown")
public Message platformShutdown() {
this.platformShutdownProtocol.execute();
return Message.success();
}
}

View File

@@ -0,0 +1,52 @@
package com.acgist.taoyao.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.acgist.taoyao.boot.model.Message;
import com.acgist.taoyao.signal.protocol.platform.PlatformRebootProtocol;
import com.acgist.taoyao.signal.protocol.platform.PlatformShutdownProtocol;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
/**
* 平台
*
* @author acgist
*/
@Tag(name = "平台", description = "平台管理")
@Validated
@RestController
@RequestMapping("/platform")
public class PlatformController {
private final PlatformRebootProtocol platformRebootProtocol;
private final PlatformShutdownProtocol platformShutdownProtocol;
public PlatformController(
@Autowired(required = false) PlatformRebootProtocol platformRebootProtocol,
@Autowired(required = false) PlatformShutdownProtocol platformShutdownProtocol
) {
this.platformRebootProtocol = platformRebootProtocol;
this.platformShutdownProtocol = platformShutdownProtocol;
}
@Operation(summary = "重启平台", description = "重启平台")
@GetMapping("/reboot")
public Message platformReboot() {
this.platformRebootProtocol.execute();
return Message.success();
}
@Operation(summary = "关闭平台", description = "关闭平台")
@GetMapping("/shutdown")
public Message platformShutdown() {
this.platformShutdownProtocol.execute();
return Message.success();
}
}

View File

@@ -0,0 +1,52 @@
package com.acgist.taoyao.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.acgist.taoyao.boot.model.Message;
import com.acgist.taoyao.signal.protocol.system.SystemRebootProtocol;
import com.acgist.taoyao.signal.protocol.system.SystemShutdownProtocol;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
/**
* 系统
*
* @author acgist
*/
@Tag(name = "系统", description = "系统管理")
@Validated
@RestController
@RequestMapping("/system")
public class SystemController {
private final SystemRebootProtocol systemRebootProtocol;
private final SystemShutdownProtocol systemShutdownProtocol;
public SystemController(
@Autowired(required = false) SystemRebootProtocol systemRebootProtocol,
@Autowired(required = false) SystemShutdownProtocol systemShutdownProtocol
) {
this.systemRebootProtocol = systemRebootProtocol;
this.systemShutdownProtocol = systemShutdownProtocol;
}
@Operation(summary = "重启系统", description = "重启系统")
@GetMapping("/reboot")
public Message systemReboot() {
this.systemRebootProtocol.execute();
return Message.success();
}
@Operation(summary = "关闭系统", description = "关闭系统")
@GetMapping("/shutdown")
public Message systemShutdown() {
this.systemShutdownProtocol.execute();
return Message.success();
}
}

View File

@@ -0,0 +1,26 @@
package com.acgist.taoyao.signal;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.acgist.taoyao.annotation.TaoyaoTest;
import com.acgist.taoyao.boot.model.MessageCodeException;
import com.acgist.taoyao.main.TaoyaoApplication;
import com.acgist.taoyao.signal.protocol.platform.PlatformErrorProtocol;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@TaoyaoTest(classes = TaoyaoApplication.class)
public class PlatformErrorProtocolTest {
@Autowired
private PlatformErrorProtocol platformErrorProtocol;
@Test
public void testException() {
log.info("{}", this.platformErrorProtocol.build(MessageCodeException.of("自定义")));
log.info("{}", this.platformErrorProtocol.build(new NullPointerException("空指针")));
}
}