From 92e356d1ee1b877bc17d3aee3a137c234f01c477 Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期三, 20 十二月 2023 16:04:59 +0800
Subject: [PATCH] 增加药材识别神经网络模型及接口

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
index 46ee064..a6dbf31 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
@@ -1,6 +1,7 @@
 package org.jeecg.modules.dry.controller;
 
 
+import ai.djl.modality.Classifications;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -8,11 +9,16 @@
 
 import org.jeecg.modules.dry.service.*;
 
+import org.jeecg.modules.dry.util.HerbUtil;
 import org.jeecg.modules.dry.vo.CommandMessageVo;
 import org.jeecg.modules.dry.vo.RealTimeDataVo;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.InputStream;
+import java.util.List;
 
 
 @Api(tags = "瀹炴椂鏁版嵁澶勭悊鎺у埗鍣�")
@@ -23,6 +29,9 @@
 
     @Autowired
     private IDryRealTimeDataService dryRealTimeDataService;
+
+    @Autowired
+    private HerbUtil herbUtil;
 
 
     @ApiOperation(value="娴嬭瘯", notes="杩斿洖Hello")
@@ -66,4 +75,22 @@
     public Result<?> sendCommand(@RequestBody CommandMessageVo msgVo) {
         return dryRealTimeDataService.sendSocketMsg(msgVo);
     }
+
+
+    @ApiOperation(value = "鑽潗璇嗗埆")
+    @PostMapping("/identify")
+    public Result<?> identify(@RequestParam("file") MultipartFile file) throws Exception {
+        try {
+            if (file.isEmpty()) {
+                throw new RuntimeException("涓婁紶鏂囦欢涓嶈兘涓虹┖");
+            }
+            InputStream inputStream = file.getInputStream();
+            List<Classifications.Classification> predict = herbUtil.predict(inputStream);
+            return Result.ok(predict);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return Result.error("AI璇嗗埆鏈嶅姟寮傚父");
+        }
+    }
+
 }

--
Gitblit v1.9.3