diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/cmd/JT1078Template.java b/src/main/java/com/genersoft/iot/vmp/jt1078/cmd/JT1078Template.java index f0d2efff9..a4003cc0a 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/cmd/JT1078Template.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/cmd/JT1078Template.java @@ -34,6 +34,8 @@ public class JT1078Template { private static final String H8601 = "8601"; private static final String H8602 = "8602"; private static final String H8603 = "8603"; + private static final String H8604 = "8604"; + private static final String H8605 = "8605"; private static final String H9101 = "9101"; private static final String H9102 = "9102"; private static final String H9201 = "9201"; @@ -493,4 +495,26 @@ public class JT1078Template { .build(); return SessionManager.INSTANCE.request(cmd, timeOut); } + + public Object setAreaForPolygon(String devId, J8604 j8604, int timeOut) { + Cmd cmd = new Cmd.Builder() + .setDevId(devId) + .setPackageNo(randomInt()) + .setMsgId(H8604) + .setRespId(H0001) + .setRs(j8604) + .build(); + return SessionManager.INSTANCE.request(cmd, timeOut); + } + + public Object deleteAreaForPolygon(String devId, J8605 j8605, int timeOut) { + Cmd cmd = new Cmd.Builder() + .setDevId(devId) + .setPackageNo(randomInt()) + .setMsgId(H8605) + .setRespId(H0001) + .setRs(j8605) + .build(); + return SessionManager.INSTANCE.request(cmd, timeOut); + } } diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java index 19918ab35..842feef93 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java @@ -612,5 +612,38 @@ public class JT1078Controller { } } + @Operation(summary = "1078-设置多边形区域", security = @SecurityRequirement(name = JwtUtils.HEADER)) + @Parameter(name = "areaParam", description = "设置区域参数", required = true) + @PostMapping("/area/polygon/set") + public WVPResult setAreaForPolygon(@RequestBody SetAreaParam areaParam){ + + logger.info("[1078-设置多边形区域] areaParam: {},", areaParam); + int result = service.setAreaForPolygon(areaParam.getDeviceId(), areaParam.getPolygonArea()); + if (result == 0) { + return WVPResult.success(result); + }else { + WVPResult fail = WVPResult.fail(ErrorCode.ERROR100); + fail.setData(result); + return fail; + } + } + + @Operation(summary = "1078-删除多边形区域", security = @SecurityRequirement(name = JwtUtils.HEADER)) + @Parameter(name = "deviceId", description = "设备编号", required = true) + @Parameter(name = "ids", description = "待删除圆形区域的id,例如1,2,3", required = true) + @GetMapping("/area/polygon/delete") + public WVPResult deleteAreaForPolygon(String deviceId, @RequestParam(value = "ids", required = false) List ids){ + + logger.info("[1078-删除多边形区域] deviceId: {}, ids:{}", deviceId, ids); + int result = service.deleteAreaForPolygon(deviceId, ids); + if (result == 0) { + return WVPResult.success(result); + }else { + WVPResult fail = WVPResult.fail(ErrorCode.ERROR100); + fail.setData(result); + return fail; + } + } + } diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java b/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java index ebc9024bb..3a6a7abbc 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java @@ -77,4 +77,8 @@ public interface Ijt1078Service { int setAreaForRectangle(int i, String deviceId, List rectangleAreas); int deleteAreaForRectangle(String deviceId, List ids); + + int setAreaForPolygon(String deviceId, JTPolygonArea polygonArea); + + int deleteAreaForPolygon(String deviceId, List ids); } diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java index 1363d3f9e..a46c53d77 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java @@ -639,4 +639,18 @@ public class jt1078ServiceImpl implements Ijt1078Service { j8603.setIdList(ids); return (int)jt1078Template.deleteAreaForRectangle(deviceId, j8603, 20); } + + @Override + public int setAreaForPolygon(String deviceId, JTPolygonArea polygonArea) { + J8604 j8604 = new J8604(); + j8604.setPolygonArea(polygonArea); + return (int)jt1078Template.setAreaForPolygon(deviceId, j8604, 20); + } + + @Override + public int deleteAreaForPolygon(String deviceId, List ids) { + J8605 j8605 = new J8605(); + j8605.setIdList(ids); + return (int)jt1078Template.deleteAreaForPolygon(deviceId, j8605, 20); + } }