Просмотр исходного кода

perf(消费服务): 消费服务controller

1.捕获并记录异常,返回前端为友好错误提示
autumnal_wind 11 месяцев назад
Родитель
Сommit
14ba4591dc

+ 20 - 14
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/controller/v1/ConsumeController.java

@@ -168,23 +168,29 @@ public class ConsumeController {
         bo.setUseType(SystemUseTypeEnum.CONSUME.code());
 
         R<ErrorInfo> errorInfo;
-        if (Objects.equals(type, "requestConsume")) {
-            errorInfo = consumeBusiness.createOrder(bo, mac, xfPwd);
-        } else if (Objects.equals(type, "uploadRecord")) {
-            threadPoolTaskExecutor.submit(() -> consumeBusiness.postOrderAsync(bo, mac, xfPwd));
-            errorInfo = R.ok();
-            //errorInfo = consumeBusiness.postOrder(bo, mac, xfPwd);
-        } else {
-            errorInfo = consumeBusiness.fullOrder(bo, mac, xfPwd);
-        }
-        if (R.isError(errorInfo)) {
+        try {
+            if (Objects.equals(type, "requestConsume")) {
+                errorInfo = consumeBusiness.createOrder(bo, mac, xfPwd);
+            } else if (Objects.equals(type, "uploadRecord")) {
+                threadPoolTaskExecutor.submit(() -> consumeBusiness.postOrderAsync(bo, mac, xfPwd));
+                errorInfo = R.ok();
+            } else {
+                errorInfo = consumeBusiness.fullOrder(bo, mac, xfPwd);
+            }
+            if (R.isError(errorInfo)) {
+                ErrorResult result = new ErrorResult();
+                result.setStatusCode(HttpStatus.NOT_FOUND.value());
+                result.setMessage(errorInfo.getMsg());
+                result.getErrors().add(errorInfo.getData());
+                return new ResponseEntity<Object>(result, null, HttpStatus.NOT_FOUND);
+            }
+            return recordConvertStrategy.reConvert(bo, "YC");
+        } catch (Exception e) {
+            log.error("业务处理异常-",e);
             ErrorResult result = new ErrorResult();
             result.setStatusCode(HttpStatus.NOT_FOUND.value());
-            result.setMessage(errorInfo.getMsg());
-            result.getErrors().add(errorInfo.getData());
+            result.setMessage("业务处理异常");
             return new ResponseEntity<Object>(result, null, HttpStatus.NOT_FOUND);
         }
-        return recordConvertStrategy.reConvert(bo, "YC");
     }
-
 }