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 | 37 ++++++++++++++++++++++++++++++++++++- 1 files changed, 36 insertions(+), 1 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 6c78f38..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") @@ -45,12 +54,21 @@ return dryRealTimeDataService.queryMachineRealTImeData(realTimeDataVo); } + @ApiOperation(value="鑾峰彇杞﹂棿缁熻鏁版嵁", notes="閫氳繃绉熸埛ID鑾峰彇杞﹂棿缁熻鏁版嵁") + @GetMapping("/workshopStatistics") + public Result<?> workshopStatistics(RealTimeDataVo realTimeDataVo) { + return dryRealTimeDataService.queryWorkshopStatistics(realTimeDataVo); + } + /** * 1001 椋庣鍗� 1002 椋庣闄� * 1003 婊氱瓛鍗� 1004 婊氱瓛闄� * 1005 婊氱瓛姝h浆 1006 婊氱瓛鍙嶈浆 - * 1007 璁惧鍋滄 + * 1007 璁惧鍋滄 1010 骞茬嚗鍚姩 + * 1011 鍓嶉棬寮�鍏� 1012 鍚庨棬寮�鍏� + * 1013 鐑鍚姩 1014 寮�闂ㄨ瀵� + * 1015 鍑烘枡鎸夐挳 */ @ApiOperation(value="鍙戦�佹帶鍒舵寚浠�", notes="鍚戞湇鍔$鍙戦�佹帶鍒舵寚浠わ紝鐢辨湇鍔$閫氳繃socket杞彂缁欐帶鍒舵ā鍧�") @PostMapping("/sendCommand") @@ -58,4 +76,21 @@ 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