diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/NtzyDeviceInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/NtzyDeviceInfoController.java index 5a664223..e0acea7a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/NtzyDeviceInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/NtzyDeviceInfoController.java @@ -3,6 +3,7 @@ package com.ruoyi.web.controller.system; import java.util.List; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.util.StrUtil; import com.ruoyi.system.service.DahuaSnapService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -106,12 +107,28 @@ public class NtzyDeviceInfoController extends BaseController * 立即把 JPG 保存到本地 * 把“文件访问 URI”返回给调用方——相当于“返回图片链接”效果。 */ - @GetMapping("/snap") - public AjaxResult snap(@RequestParam String ip, + @GetMapping("/snap2") + public AjaxResult snap2(@RequestParam String ip, @RequestParam(defaultValue = "37777") int port, @RequestParam String user, @RequestParam String pwd){ String url = service.snap(ip, port, user, pwd); return success(url); } + + /** + * 抓拍成功后保存图片文件(根据相机编码) + * 抓拍成功后 + * 立即把 JPG 保存到本地 + * 把“文件访问 URI”返回给调用方——相当于“返回图片链接”效果。 + */ + @GetMapping("/snap") + public AjaxResult snap(@RequestParam String code){ + NtzyDeviceInfo info = ntzyDeviceInfoService.selectNtzyDeviceInfoByCode(code); + if (info == null){ + return error("照相机未注册!"); + } + String url = service.snap(info.getDeviceIpLocation(), 37777, info.getUserName(), info.getPassword()); + return success(url); + } } diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml index 48efe281..c778a0a6 100644 --- a/ruoyi-system/pom.xml +++ b/ruoyi-system/pom.xml @@ -26,6 +26,10 @@ com.demo dahua-sdk-demo + + cn.hutool + hutool-all + \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/NtzyDeviceInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/NtzyDeviceInfoMapper.java index e4b150e5..9f95f7c0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/NtzyDeviceInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/NtzyDeviceInfoMapper.java @@ -58,4 +58,12 @@ public interface NtzyDeviceInfoMapper * @return 结果 */ public int deleteNtzyDeviceInfoByIds(Long[] ids); + + /** + * 根据设备编码查询设备信息 + * + * @param deviceCode 设备信息主键 + * @return 设备信息 + */ + public NtzyDeviceInfo selectNtzyDeviceInfoByCode(String deviceCode); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/INtzyDeviceInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/INtzyDeviceInfoService.java index 4282a9a9..d03ea4d2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/INtzyDeviceInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/INtzyDeviceInfoService.java @@ -58,4 +58,12 @@ public interface INtzyDeviceInfoService * @return 结果 */ public int deleteNtzyDeviceInfoById(Long id); + + /** + * 查询设备信息 + * + * @param deviceCode 设备信息主键 + * @return 设备信息 + */ + public NtzyDeviceInfo selectNtzyDeviceInfoByCode(String deviceCode); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NtzyDeviceInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NtzyDeviceInfoServiceImpl.java index cfbfbdb6..0b231d89 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NtzyDeviceInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/NtzyDeviceInfoServiceImpl.java @@ -93,4 +93,16 @@ public class NtzyDeviceInfoServiceImpl implements INtzyDeviceInfoService { return ntzyDeviceInfoMapper.deleteNtzyDeviceInfoById(id); } + + /** + * 查询设备信息 + * + * @param deviceCode 设备信息主键 + * @return 设备信息 + */ + @Override + public NtzyDeviceInfo selectNtzyDeviceInfoByCode(String deviceCode) + { + return ntzyDeviceInfoMapper.selectNtzyDeviceInfoByCode(deviceCode); + } } diff --git a/ruoyi-system/src/main/resources/mapper/system/NtzyDeviceInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/NtzyDeviceInfoMapper.xml index 7a84252c..2692aca8 100644 --- a/ruoyi-system/src/main/resources/mapper/system/NtzyDeviceInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/NtzyDeviceInfoMapper.xml @@ -42,6 +42,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + insert into ntzy_device_info