diff --git a/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/BasicExceptionAdvice.java b/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/BasicExceptionAdvice.java index 25a10cb..79f4101 100644 --- a/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/BasicExceptionAdvice.java +++ b/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/BasicExceptionAdvice.java @@ -5,6 +5,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; +import java.io.IOException; + /** * 全局异常处理类 * @@ -13,7 +15,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler; @Slf4j @ControllerAdvice public class BasicExceptionAdvice { - @ExceptionHandler(Exception.class) + @ExceptionHandler(IOException.class) public void exception(HttpServletRequest request, Exception e) { if(request.getRequestURI().equals("/video")){ return; diff --git a/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/ExceptionAdvice.java b/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/ExceptionAdvice.java index caebb3b..70af9d0 100644 --- a/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/ExceptionAdvice.java +++ b/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/advice/ExceptionAdvice.java @@ -1,5 +1,6 @@ package cn.skcks.docking.gb28181.wvp.advice; +import cn.skcks.docking.gb28181.common.json.JsonException; import cn.skcks.docking.gb28181.common.json.JsonResponse; import jakarta.validation.ConstraintViolationException; import lombok.extern.slf4j.Slf4j; @@ -72,6 +73,11 @@ public class ExceptionAdvice { return JsonResponse.error("参数异常"); } + @ExceptionHandler(JsonException.class) + public JsonResponse handleJsonException(JsonException e){ + return JsonResponse.error(e.getMessage()); + } + @ExceptionHandler(Exception.class) public JsonResponse exception(Exception e) { e.printStackTrace(); diff --git a/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/api/device/DeviceController.java b/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/api/device/DeviceController.java index b5978dd..c816e6a 100644 --- a/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/api/device/DeviceController.java +++ b/gb28181-wvp-proxy-api/src/main/java/cn/skcks/docking/gb28181/wvp/api/device/DeviceController.java @@ -41,7 +41,7 @@ public class DeviceController { } @PostJson("/add") - public JsonResponse addDevice(@RequestBody AddDeviceDTO dto){ + public JsonResponse addDevice(@RequestBody AddDeviceDTO dto) { return JsonResponse.success(deviceService.addDevice(DeviceDTOConvertor.INSTANCE.dto2dao(dto))); } } diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/device/DeviceService.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/device/DeviceService.java index 9b9a0f0..0d522e2 100644 --- a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/device/DeviceService.java +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/device/DeviceService.java @@ -1,5 +1,6 @@ package cn.skcks.docking.gb28181.wvp.service.device; +import cn.skcks.docking.gb28181.common.json.JsonException; import cn.skcks.docking.gb28181.wvp.orm.mybatis.dynamic.mapper.WvpProxyDeviceDynamicSqlSupport; import cn.skcks.docking.gb28181.wvp.orm.mybatis.dynamic.mapper.WvpProxyDeviceMapper; import cn.skcks.docking.gb28181.wvp.orm.mybatis.dynamic.model.WvpProxyDevice; @@ -8,6 +9,7 @@ import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -43,25 +45,26 @@ public class DeviceService { * @param device 设备 * @return 是否成功 */ - public boolean addDevice(WvpProxyDevice device){ + @SneakyThrows + public boolean addDevice(WvpProxyDevice device) { if(device == null){ return false; } String deviceCode = device.getDeviceCode(); if(StringUtils.isBlank(deviceCode)){ - throw new RuntimeException("设备编码不能为空"); + throw new JsonException("设备编码不能为空"); } if(getDeviceByDeviceCode(deviceCode).isPresent()){ - throw new RuntimeException(MessageFormat.format("设备编码 {0} 已存在" ,deviceCode)); + throw new JsonException(MessageFormat.format("设备编码 {0} 已存在" ,deviceCode)); } String gbDeviceId = device.getGbDeviceId(); if(StringUtils.isBlank(gbDeviceId)){ - throw new RuntimeException("国标编码不能为空"); + throw new JsonException("国标编码不能为空"); } if(getDeviceByGbDeviceId(gbDeviceId).isPresent()){ - throw new RuntimeException(MessageFormat.format("国标编码 {0} 已存在" ,gbDeviceId)); + throw new JsonException(MessageFormat.format("国标编码 {0} 已存在" ,gbDeviceId)); } return deviceMapper.insert(device) > 0;