shjung 2 år sedan
förälder
incheckning
24983a12d1

+ 2 - 1
src/main/java/com/its/op/ItsOpServerApplication.java

@@ -41,7 +41,8 @@ import java.util.Date;
 //@ComponentScan("com.its")
 //@MapperScan({"com.its.op.dao.mapper.its", "com.its.op.dao.mapper.bis", "com.its.op.dao.mapper.utis"})
 @CrossOrigin("*")
-public class ItsOpServerApplication extends SpringBootServletInitializer implements CommandLineRunner, ApplicationListener<ContextClosedEvent>, InitializingBean, DisposableBean {
+public class ItsOpServerApplication extends SpringBootServletInitializer
+        implements CommandLineRunner, ApplicationListener<ContextClosedEvent>, InitializingBean, DisposableBean {
 
     private static final String applicationName = "its-op-server";
 

+ 21 - 16
src/main/java/com/its/op/controller/its/cctv/CctvControlController.java

@@ -25,6 +25,12 @@ public class CctvControlController {
     private final CctvControlService service;
     private final LoginController loginController;
 
+    @ApiOperation(value = "CCTV 제어서버 정보 조회", response = CctvParamControlDto.CctvServerInfoRes.class)
+    @GetMapping(value = "/server-info", produces = {"application/json; charset=utf8"})
+    public CctvParamControlDto.CctvServerInfoRes getCctvServerInfo() {
+        return this.service.getCctvServerInfo();
+    }
+
     @ApiOperation(value = "CCTV 환경 파라미터 조회", response = CctvParamControlDto.CctvParamValueRes.class)
     @GetMapping(value = "/param-qry/{id}", produces = {"application/json; charset=utf8"})
     public CctvParamControlDto.CctvParamValueRes requestParam(
@@ -33,22 +39,6 @@ public class CctvControlController {
         return this.service.requestParam(id);
     }
 
-    @ApiOperation(value = "CCTV 상태 조회", response = CctvStatusDto.CctvStatusDtoRes.class)
-    @GetMapping(value = "/status/{id}", produces = {"application/json; charset=utf8"})
-    public CctvStatusDto.CctvStatusDtoRes requestStatus(
-            @ApiParam(name = "id", value = "제어기번호", example = "1001", required = true)
-            @PathVariable("id") Long id) {
-        return this.service.requestStatus(id);
-    }
-
-    @ApiOperation(value = "CCTV 현재위치정보 조회", response = CctvPresetControlDto.CctvPresetValueRes.class)
-    @GetMapping(value = "/preset-value/{id}", produces = {"application/json; charset=utf8"})
-    public CctvPresetControlDto.CctvPresetValueRes requestPresetValue(
-            @ApiParam(name = "id", value = "제어기번호", example = "1001", required = true)
-            @PathVariable("id") Long id) {
-        return this.service.requestPresetValue(id);
-    }
-
     @ApiOperation(value = "CCTV 환경 파라미터 설정", response = CctvParamControlDto.CctvParamControlRes.class)
     @PostMapping(value = "/param-set/{id}", produces = {"application/json; charset=utf8"})
     public CctvParamControlDto.CctvParamControlRes controlParam(
@@ -65,6 +55,21 @@ public class CctvControlController {
         return this.service.controlParam(id, req);
     }
 
+    @ApiOperation(value = "CCTV 상태 조회", response = CctvStatusDto.CctvStatusDtoRes.class)
+    @GetMapping(value = "/status/{id}", produces = {"application/json; charset=utf8"})
+    public CctvStatusDto.CctvStatusDtoRes requestStatus(
+            @ApiParam(name = "id", value = "제어기번호", example = "1001", required = true)
+            @PathVariable("id") Long id) {
+        return this.service.requestStatus(id);
+    }
+
+    @ApiOperation(value = "CCTV 현재위치정보 조회", response = CctvPresetControlDto.CctvPresetValueRes.class)
+    @GetMapping(value = "/preset-value/{id}", produces = {"application/json; charset=utf8"})
+    public CctvPresetControlDto.CctvPresetValueRes requestPresetValue(
+            @ApiParam(name = "id", value = "제어기번호", example = "1001", required = true)
+            @PathVariable("id") Long id) {
+        return this.service.requestPresetValue(id);
+    }
     @ApiOperation(value = "CCTV PTZ 제어", response = CctvPtzControlDto.CctvPtzControlRes.class)
     @PostMapping(value = "/ptz/{id}", produces = {"application/json; charset=utf8"})
     public CctvPtzControlDto.CctvPtzControlRes controlPtz(

+ 22 - 0
src/main/java/com/its/op/dto/its/cctv/CctvParamControlDto.java

@@ -17,6 +17,28 @@ import java.io.Serializable;
 public class CctvParamControlDto implements Serializable {
     private static final long serialVersionUID = 1L;
 
+    @ApiModel("CctvServerInfoRes(CCTV 제어서버 정보 요청 응답)")
+    @Getter
+    @Setter
+    @ToString
+    @NoArgsConstructor//(access = AccessLevel.PROTECTED)
+    public static class CctvServerInfoRes {
+
+        @ApiModelProperty("IP Address, http://ip_address:port/api/cctv/control/-xxxx")
+        @JsonProperty("ip_address")
+        private String ipAddress;
+
+        @ApiModelProperty("Port")
+        @JsonProperty("port")
+        private Integer port;
+
+        @Builder
+        public CctvServerInfoRes(String ipAddress, Integer port) {
+            this.ipAddress = ipAddress;
+            this.port = port;
+        }
+    }
+
     @ApiModel("CctvParamControlReq(CCTV 파라미터설정 정보)")
     @Getter
     @Setter

+ 8 - 0
src/main/java/com/its/op/service/its/cctv/CctvControlService.java

@@ -44,6 +44,13 @@ public class CctvControlService {
 //                .orElseThrow(() -> new NoSuchElementException("데이터가 존재하지 않습니다: " + id));
     }
 
+    public CctvParamControlDto.CctvServerInfoRes getCctvServerInfo() {
+        return CctvParamControlDto.CctvServerInfoRes.builder()
+                .ipAddress(this.cctvServerConfig.getIpAddress())
+                .port(this.cctvServerConfig.getPort())
+                .build();
+    }
+
     /**
      * PROBE Digital Preset control
      * @param ipAddr
@@ -759,4 +766,5 @@ public class CctvControlService {
 
         return result;
     }
+
 }

+ 2 - 0
src/test/java/com/its/op/ItsOpServerApplicationTests.java

@@ -102,6 +102,8 @@ public class ItsOpServerApplicationTests {
 //        }
         log.error("{}", SHA256Util.encrypt("1"));               // 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
         log.error("{}", SHA256Util.encrypt2("admin12#$!")); // 3de9f98e4b5b4e52ff7d78cfa3140cf23e2b33c5a3143d1b2d1048237c31593c
+        log.error("{}", SHA256Util.encrypt2("PA5461")); // bc269b87a038d1ef21eaad1eed2967ea7afdd2f34ae01850e9b80d9e0bd1d99c
+        log.error("{}", SHA256Util.encrypt2("system")); // bbc5e661e106c6dcd8dc6dd186454c2fcba3c710fb4d8e71a60c93eaf077f073
     }
     @Test
     public void testConnection() {