| | |
| | | import cn.gistack.sm.hk.constant.ProtocolConstant; |
| | | import cn.gistack.sm.hk.service.HkService; |
| | | import cn.gistack.sm.hk.vo.HkVO; |
| | | import cn.gistack.sm.hk.vo.VideoVO; |
| | | import cn.gistack.sm.sjztmd.service.IAttResBaseService; |
| | | import cn.gistack.sm.sjztmd.vo.AttResAdVO; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.google.protobuf.ServiceException; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import static cn.gistack.sm.hk.util.GetCameraUtils.*; |
| | |
| | | public class HkController { |
| | | |
| | | private final HkService hkService; |
| | | |
| | | private final IAttResBaseService attResBaseService; |
| | | |
| | | /** |
| | | * 分页列表查询 |
| | |
| | | * @param hk 查询参数 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "海康设备-获取海康摄像头语音对讲url", notes = "海康设备-获取海康摄像头语音对讲url") |
| | | @ApiOperation(value = "海康设备-设置监控点的预置点信息", notes = "海康设备-设置监控点的预置点信息") |
| | | @GetMapping(value = "/presetsAddition") |
| | | public R presetsAddition(HkVO hk) { |
| | | /** |
| | |
| | | return R.data(common(null==hk.getType()?1:hk.getType(),HkConstant.presetsAdditionURLs, body)); |
| | | } |
| | | |
| | | /** |
| | | * 删除监控点的预置点信息 |
| | | * @param hk 查询参数 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "海康设备-删除监控点的预置点信息", notes = "海康设备-删除监控点的预置点信息") |
| | | @GetMapping(value = "/presetsDeletion") |
| | | public R presetsDeletion(HkVO hk) { |
| | | /** |
| | | * 组装请求参数 |
| | | */ |
| | | JSONObject jsonBody = new JSONObject(); |
| | | jsonBody.put("cameraIndexCode", hk.getCameraIndexCode()); |
| | | jsonBody.put("presetIndex", hk.getPresetIndex()); |
| | | String body = jsonBody.toJSONString(); |
| | | |
| | | /** |
| | | * 调用接口并返回数据 |
| | | * post请求application/json类型参数; |
| | | */ |
| | | return R.data(common(null==hk.getType()?1:hk.getType(),HkConstant.presetsDeletionURLs, body)); |
| | | } |
| | | |
| | | /** |
| | | * 同步水库设备信息 |
| | | * @param hk 水库设备 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "海康设备-同步水库设备信息", notes = "海康设备-同步水库设备信息") |
| | | @PostMapping(value = "/syncVideo") |
| | | public R syncVideo(@RequestBody HkVO hk) { |
| | | // 通过水库编号获取区域(区县)名称 |
| | | AttResAdVO info = attResBaseService.getWaterRegionInfoByResGuid(hk.getRegionIndexCode()); |
| | | hk.setRegionName(info.getCountyName()); |
| | | // 通过区域名称查询对应的区域编号 |
| | | String rootRegionId = hkService.regionNodesByParams(hk); |
| | | if (null!= rootRegionId && !rootRegionId.equals("")){ |
| | | // 更新 |
| | | /** |
| | | * 组装请求参数 |
| | | */ |
| | | List<VideoVO> list = new ArrayList<>(); |
| | | VideoVO video = new VideoVO(); |
| | | video.setRegionName(hk.getRegionName()); |
| | | video.setRegionIndexCode(hk.getRegionIndexCode()); |
| | | video.setParentIndexCode(rootRegionId); |
| | | video.setRegionType(10); |
| | | list.add(video); |
| | | String body = JSON.toJSONString(list); |
| | | |
| | | /** |
| | | * 调用接口并返回数据 |
| | | * post请求application/json类型参数; |
| | | */ |
| | | JSONObject jsonObject = JSONObject.parseObject(common(null == hk.getType() ? 2 : hk.getType(), HkConstant.batchAddURLs, body)); |
| | | // 返回 |
| | | return R.data(200,jsonObject,null); |
| | | }else { |
| | | // 当前水库行政区域不匹配 |
| | | return R.data(400,null,"当前水库行政区域不匹配"); |
| | | } |
| | | } |
| | | |
| | | } |