添加图片识别千问大模型
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
package com.klp.controller;
|
||||
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.core.validate.QueryGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.domain.bo.ImageRecognitionBo;
|
||||
import com.klp.domain.vo.ImageRecognitionVo;
|
||||
import com.klp.service.IImageRecognitionService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 图片识别控制器
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-01-27
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/wms/imageRecognition")
|
||||
public class WmsImageRecognitionController extends BaseController {
|
||||
|
||||
private final IImageRecognitionService iImageRecognitionService;
|
||||
|
||||
/**
|
||||
* 识别图片内容
|
||||
*/
|
||||
@PostMapping("/recognize")
|
||||
public R<ImageRecognitionVo> recognize(@RequestBody @Validated(AddGroup.class) ImageRecognitionBo bo) {
|
||||
return R.ok(iImageRecognitionService.recognizeImage(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 识别BOM内容
|
||||
*/
|
||||
@PostMapping("/recognizeBom")
|
||||
public R<ImageRecognitionVo> recognizeBom(@RequestBody @Validated(AddGroup.class) ImageRecognitionBo bo) {
|
||||
bo.setRecognitionType("bom");
|
||||
return R.ok(iImageRecognitionService.recognizeBom(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 识别文字内容
|
||||
*/
|
||||
@PostMapping("/recognizeText")
|
||||
public R<ImageRecognitionVo> recognizeText(@RequestBody @Validated(AddGroup.class) ImageRecognitionBo bo) {
|
||||
bo.setRecognitionType("text");
|
||||
return R.ok(iImageRecognitionService.recognizeText(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量识别图片
|
||||
*/
|
||||
@PostMapping("/recognizeBatch")
|
||||
public R<List<ImageRecognitionVo>> recognizeBatch(@RequestBody @Validated(AddGroup.class) List<ImageRecognitionBo> boList) {
|
||||
return R.ok(iImageRecognitionService.recognizeImages(boList));
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试AI连接
|
||||
*/
|
||||
@PostMapping("/testConnection")
|
||||
public R<Map<String, Object>> testConnection() {
|
||||
return R.ok(iImageRecognitionService.testAiConnection());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取识别配置
|
||||
*/
|
||||
@GetMapping("/config")
|
||||
public R<Map<String, Object>> getConfig() {
|
||||
return R.ok(iImageRecognitionService.getRecognitionConfig());
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新识别配置
|
||||
*/
|
||||
@PostMapping("/config")
|
||||
public R<Void> updateConfig(@RequestBody Map<String, Object> config) {
|
||||
iImageRecognitionService.updateRecognitionConfig(config);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取识别历史
|
||||
*/
|
||||
@PostMapping("/history")
|
||||
public R<Map<String, Object>> getHistory(@RequestBody Map<String, Object> pageQuery) {
|
||||
return R.ok(iImageRecognitionService.getRecognitionHistory(pageQuery));
|
||||
}
|
||||
|
||||
/**
|
||||
* 简单识别接口(兼容原有格式)
|
||||
*/
|
||||
@PostMapping("/recognizeTextSimple")
|
||||
public R<ImageRecognitionVo> recognizeTextSimple(@RequestBody Map<String, String> request) {
|
||||
String imgUrl = request.get("imgUrl");
|
||||
if (imgUrl == null || imgUrl.trim().isEmpty()) {
|
||||
return R.fail("图片URL不能为空");
|
||||
}
|
||||
|
||||
ImageRecognitionBo bo = new ImageRecognitionBo();
|
||||
bo.setImageUrl(imgUrl);
|
||||
bo.setRecognitionType("text");
|
||||
|
||||
ImageRecognitionVo result = iImageRecognitionService.recognizeText(bo);
|
||||
return R.ok(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 识别BOM接口(兼容原有格式)
|
||||
*/
|
||||
@PostMapping("/recognizeBomSimple")
|
||||
public R<ImageRecognitionVo> recognizeBomSimple(@RequestBody Map<String, String> request) {
|
||||
String imgUrl = request.get("imgUrl");
|
||||
if (imgUrl == null || imgUrl.trim().isEmpty()) {
|
||||
return R.fail("图片URL不能为空");
|
||||
}
|
||||
|
||||
ImageRecognitionBo bo = new ImageRecognitionBo();
|
||||
bo.setImageUrl(imgUrl);
|
||||
bo.setRecognitionType("bom");
|
||||
|
||||
ImageRecognitionVo result = iImageRecognitionService.recognizeBom(bo);
|
||||
return R.ok(result);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user