wuweihao преди 4 години
родител
ревизия
002d9ab5a3

+ 2 - 0
gis_application/src/main/resources/application-pro.properties

@@ -88,6 +88,8 @@ iot.sign=cYM6a5PNIOE3PFxL
 
 
 
+
+
 # swagger login
 # \uFFFD\uFFFD\uFFFD\uFFFDbasic\uFFFD\uFFFD\u00BC\uFFFD\uFFFD\u05A4
 knife4j.basic.enable=true

+ 29 - 0
gis_domain/src/main/java/com/gis/domain/dto/DevicePageDto.java

@@ -0,0 +1,29 @@
+package com.gis.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+
+/**
+ * Created by Owen on 2019/10/28 0028 12:24
+ *
+ * 编辑场景使用
+ */
+@Data
+public class DevicePageDto extends PageDto {
+
+
+    @ApiModelProperty(value = "设备名称")
+    private String name;
+
+    @ApiModelProperty(value = "设备类型")
+    private String devTypeId;
+
+    @ApiModelProperty(value = "用户ID")
+    private String userId;
+
+
+
+}

+ 39 - 0
gis_domain/src/main/java/com/gis/domain/vo/DeviceStatusVo.java

@@ -0,0 +1,39 @@
+package com.gis.domain.vo;
+
+import lombok.Data;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+/**
+ * @author 1clintel Team
+ * @description com.tml.entity
+ * @since 2021/4/30 12:36
+ */
+@Data
+@ToString
+@Accessors(chain = true)
+public class DeviceStatusVo {
+    /**
+     * 设备ID
+     */
+    private String deviceId;
+    /**
+     * 设备编号
+     */
+    public String deviceCode;
+    /**
+     * 设备状态(1-不在线,2-在线)
+     */
+    private Integer status;
+    /**
+     * 参数编号,
+     * 当灯在线时,开灯callback返回paramCode为2202,paramValue为0,表示开灯
+     * 当灯在线时,关灯callback返回paramCode为2202,paramValue为1,表示关灯
+     *
+     */
+    private String paramCode;
+    /**
+     * 参数值
+     */
+    private String paramValue;
+}

+ 2 - 2
gis_mapper/src/main/java/com/gis/mapper/SceneMapper.java

@@ -27,10 +27,10 @@ public interface SceneMapper extends IBaseMapper<SceneEntity, Long> {
 
 
 
-    @Update("update tb_scene set display = 0 where display = 1 ")
+    @Update("update tb_scene set display = 0 , update_time = NOW() where display = 1 ")
     void setDisable();
 
-    @Update("update tb_scene set display = 1 where id = #{id} ")
+    @Update("update tb_scene set display = 1 , update_time = NOW() where id = #{id} ")
     void setDisplay(Long id);
 
     @Update("update tb_scene set display = 0 where is_delete = '0' and display = 1 and type = #{type}")

+ 7 - 0
gis_service/src/main/java/com/gis/service/DeviceService.java

@@ -2,6 +2,7 @@ package com.gis.service;
 
 
 import com.gis.common.util.Result;
+import com.gis.domain.dto.DevicePageDto;
 
 
 /**
@@ -16,4 +17,10 @@ public interface DeviceService  {
     Result control(String deviceId, String paramCode, String paramValue, String cmdCode);
 
     Result getStatus(String deviceCode);
+
+    Result listPage(DevicePageDto param);
+
+    Result getType();
+
+    Result getLive(String deviceCode);
 }

+ 41 - 0
gis_service/src/main/java/com/gis/service/impl/DeviceServiceImpl.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.gis.common.constant.ConfigConstant;
 import com.gis.common.util.HttpUtils;
 import com.gis.common.util.Result;
+import com.gis.domain.dto.DevicePageDto;
+import com.gis.domain.dto.PageDto;
 import com.gis.service.DeviceService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +55,45 @@ public class DeviceServiceImpl  implements DeviceService {
         return doGet(api, null);
     }
 
+    @Override
+    public Result listPage(DevicePageDto param) {
+       // http://1reSetclintel.cn:9081/api/server/v1/pageDevice?pageNo=1&pageSize=10&devTypeId=&name=&userId=
+        PageDto pageDto = reSet(param);
+        String api = "/api/server/v1/pageDevice?pageNo=" + pageDto.getPageNum()   +"&pageSize=" + pageDto.getPageSize() +
+                "&devTypeId=" + param.getDevTypeId() + "&name=" + param.getName() + "&userId=" + param.getUserId();
+        return doGet(api, null);
+    }
+
+    @Override
+    public Result getType() {
+        String api = "/api/server/v1/listDeviceType";
+        return doGet(api, null);
+    }
+
+    @Override
+    public Result getLive(String deviceCode) {
+        String api = "/api/server/v1/camera/playLive";
+        HashMap<String, String> query = new HashMap<>();
+        query.put("channelId", deviceCode);
+        return doGet(api, query);
+    }
+
+
+    private PageDto reSet(PageDto param){
+        Integer pageNum = param.getPageNum();
+        Integer pageSize = param.getPageSize();
+        if (pageNum == null || pageNum <= 0) {
+            pageNum = 1;
+        }
+
+        if (pageSize == null || pageSize <= 0) {
+            pageSize = 10;
+        }
+        param.setPageNum(pageNum);
+        param.setPageSize(pageSize);
+        return param;
+    }
+
 
     private Result doPostJson(String api, JSONObject body ){
         String host = configConstant.iotDomain;

+ 24 - 5
gis_web/src/main/java/com/gis/web/controller/DeviceController.java

@@ -2,6 +2,7 @@ package com.gis.web.controller;
 
 
 import com.gis.common.util.Result;
+import com.gis.domain.dto.DevicePageDto;
 import com.gis.service.DeviceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -26,10 +27,24 @@ public class DeviceController extends BaseController {
     @Autowired
     DeviceService deviceService;
 
-    @ApiOperation("设备列表")
-    @GetMapping("list")
-    public Result list() {
-        return deviceService.getList();
+//    @ApiOperation("设备列表")
+//    @GetMapping("list")
+//    public Result list() {
+//        return deviceService.getList();
+//    }
+
+
+    @ApiOperation("设备列表分页搜索")
+    @PostMapping("listPage")
+    public Result listPage(@RequestBody DevicePageDto param) {
+        return deviceService.listPage(param);
+    }
+
+
+    @ApiOperation("设备类型列表")
+    @GetMapping("getType")
+    public Result getType() {
+        return deviceService.getType();
     }
 
 
@@ -54,7 +69,11 @@ public class DeviceController extends BaseController {
     }
 
 
-
+    @ApiOperation(value = "获取设备视频流")
+    @GetMapping("getLive/{deviceCode}")
+    public Result getLive(@PathVariable String deviceCode) {
+        return deviceService.getLive(deviceCode);
+    }
 
 
 }

+ 29 - 0
gis_web/src/main/java/com/gis/web/controller/DeviceStatusController.java

@@ -0,0 +1,29 @@
+package com.gis.web.controller;
+
+import com.gis.domain.vo.DeviceStatusVo;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author 1clintel Team
+ * @description com.tml.controller
+ * @since 2021/4/30 12:11
+ * 甲方提供的代码
+ */
+@Api(tags = "设备状态回调")
+@Slf4j
+@RestController
+@RequestMapping
+public class DeviceStatusController {
+
+    @GetMapping("api/callback/handle")
+    public void callbackHandle(DeviceStatusVo deviceStatusVo){
+        if(deviceStatusVo!=null){
+            System.out.println(deviceStatusVo.toString());
+            log.info("回调接口值: " + deviceStatusVo.toString());
+        }
+    }
+}