From f18634833512849ca9d95bf3522dfb9f7cedc55c Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期四, 21 十二月 2023 15:44:09 +0800
Subject: [PATCH] 优化识别返回数据

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 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 a6dbf31..0ca23e1 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
@@ -2,15 +2,19 @@
 
 
 import ai.djl.modality.Classifications;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 
+import org.jeecg.modules.dry.entity.DryHerbInfo;
 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.DryHerbInfoVo;
 import org.jeecg.modules.dry.vo.RealTimeDataVo;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +22,9 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.InputStream;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 
 @Api(tags = "瀹炴椂鏁版嵁澶勭悊鎺у埗鍣�")
@@ -32,6 +38,9 @@
 
     @Autowired
     private HerbUtil herbUtil;
+
+    @Autowired
+    private IDryHerbInfoService herbInfoService;
 
 
     @ApiOperation(value="娴嬭瘯", notes="杩斿洖Hello")
@@ -86,7 +95,23 @@
             }
             InputStream inputStream = file.getInputStream();
             List<Classifications.Classification> predict = herbUtil.predict(inputStream);
-            return Result.ok(predict);
+            Map<String, Double> collect = predict.stream().collect(Collectors.toMap(Classifications.Classification::getClassName, Classifications.Classification::getProbability));
+
+
+            List<DryHerbInfoVo> voList = new ArrayList<>();
+            Set<String> strings = collect.keySet();
+            List<DryHerbInfo> list = herbInfoService.list(new LambdaQueryWrapper<DryHerbInfo>().in(DryHerbInfo::getPinyin, strings));
+            list.forEach(item -> {
+                DryHerbInfoVo dryHerbInfoVo = new DryHerbInfoVo();
+                BeanUtil.copyProperties(item, dryHerbInfoVo);
+                dryHerbInfoVo.setProbabily(collect.get(item.getPinyin()));
+                voList.add(dryHerbInfoVo);
+            });
+
+            List<DryHerbInfoVo> collect1 = voList.stream().sorted(Comparator.comparing(DryHerbInfoVo::getProbabily, Comparator.reverseOrder())).
+                    collect(Collectors.toList());
+
+            return Result.ok(collect1);
         } catch (Exception e) {
             e.printStackTrace();
             return Result.error("AI璇嗗埆鏈嶅姟寮傚父");

--
Gitblit v1.9.3