123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- package com.fdkankan.fusion.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.fdkankan.fusion.common.ResultCode;
- import com.fdkankan.fusion.common.ResultData;
- import com.fdkankan.fusion.common.util.Openai;
- import com.fdkankan.fusion.common.util.UploadToOssUtil;
- import com.fdkankan.fusion.config.FusionConfig;
- import com.fdkankan.fusion.entity.CaseFiles;
- import com.fdkankan.fusion.entity.CaseFilesType;
- import com.fdkankan.fusion.entity.CaseInquestInfo;
- import com.fdkankan.fusion.entity.CaseNumEntity;
- import com.fdkankan.fusion.exception.BusinessException;
- import com.fdkankan.fusion.request.AiParam;
- import com.fdkankan.fusion.response.FloorPathVo;
- import com.fdkankan.fusion.service.ICaseFilesService;
- import com.fdkankan.fusion.service.ICaseFilesTypeService;
- import com.fdkankan.fusion.service.ICaseInquestInfoService;
- import com.fdkankan.fusion.service.ICaseNumService;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.ibatis.annotations.Param;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import scala.Int;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author
- * @since 2024-12-10
- */
- @RestController
- @RequestMapping("/ai")
- @Slf4j
- public class AiController {
- @Autowired
- FusionConfig fusionConfig;
- @PostMapping("/getByImage")
- public ResultData getByImage(@RequestBody AiParam param){
- if(StringUtils.isBlank(param.getImageUrl())){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- try {
- return ResultData.ok(Openai.gptVision(param.getImageUrl(),fusionConfig.getAiUrl(),null));
- } catch (Exception e) {
- log.info("Openai-error:{}",e);
- throw new BusinessException(ResultCode.AI_ERROR);
- }
- }
- @Autowired
- ICaseNumService caseNumService;
- @GetMapping("/getFloor/{caseId}")
- public ResultData getFloor(@PathVariable Integer caseId){
- String foorPath = "/oss/4dkankan/scene_view_data/%s/user";
- String fileName = "cad";
- String extName = "jpg";
- List<CaseNumEntity> byCaseId = caseNumService.getByCaseId(caseId);
- List<FloorPathVo> pathVos = new ArrayList<>();
- for (CaseNumEntity caseNumEntity : byCaseId) {
- if(caseNumEntity.getNumType() == 3){
- continue;
- }
- FloorPathVo pathVo = new FloorPathVo();
- pathVo.setNum(caseNumEntity.getNum());
- String path = String.format(foorPath, caseNumEntity.getNum());
- File file = new File(path);
- File[] files = file.listFiles();
- if(files == null || files.length <=0){
- continue;
- }
- for (File file1 : files) {
- if(file1.getName().contains(fileName) && file1.getName().contains(extName)){
- pathVo.getUrls().add(file1.getPath().replace("4dkankan/",""));
- }
- }
- pathVos.add(pathVo);
- }
- return ResultData.ok(pathVos);
- }
- // @Autowired
- // ICaseFilesService caseFilesService;
- // @Autowired
- // ICaseFilesTypeService caseFilesTypeService;
- //
- // @GetMapping("/getFloor/{caseId}")
- // public ResultData getFloor(@PathVariable Integer caseId){
- // List<FloorPathVo> pathVos = new ArrayList<>();
- // CaseFilesType caseFilesType = caseFilesTypeService.getByName("平面图");
- // if(caseFilesType == null){
- // return ResultData.ok(pathVos);
- // }
- // List<CaseFiles> list = caseFilesService.getByCaseIdAndTypeId(caseId,caseFilesType.getFilesTypeId());
- // for (CaseFiles caseFiles : list) {
- // FloorPathVo pathVo = new FloorPathVo();
- // pathVo.setNum(caseFiles.getFilesTitle());
- // pathVo.getUrls().add(caseFiles.getFilesUrl());
- // pathVos.add(pathVo);
- // }
- //
- // return ResultData.ok(pathVos);
- // }
- }
|