BUGFIX:1、修改新增生成接口失败的状态 2、添加aliyun请求接口的密钥

This commit is contained in:
2025-06-16 13:49:30 +08:00
parent 174d1bf0d0
commit 9ad6acf28c
3 changed files with 29 additions and 11 deletions

View File

@@ -39,6 +39,24 @@ public class SendRequestUtil {
return null;
}
public String sendAliYunPost(String apiUrl, String requestBody){
// 发送POST请求 todo 异常处理
HttpResponse execute = HttpRequest.post(apiUrl)
.header(Header.AUTHORIZATION, "Bearer " + ALIYUN_API_KEY)
.header(Header.CONTENT_TYPE, "application/json")
.body(requestBody)
.timeout(20000) // 设置超时时间20秒
.execute();
int status = execute.getStatus();
if (status == 200){
String body = execute.body();
JSONObject bodyJson = JSONUtil.parseObj(body);
return body;
}
log.warn("请求失败,状态码为 {}", status);
return null;
}
public static final String FREE_PIK = "https://api.freepik.com/v1/ai/beta/text-to-image/reimagine-flux";
public String sendFreepikPost( String requestBody){
// 发送POST请求 todo 异常处理

View File

@@ -17,7 +17,7 @@ public class GenerateResultVO {
private String url;
// Success || Executing || Invalid || Failed
// Success || Executing || Invalid || Fail
private String status;
private String category;

View File

@@ -1015,7 +1015,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
} catch (Exception e) {
log.error("异步处理图片转sketch失败, taskId: {}", taskId, e);
// 更新redis
redisUtil.addToString(generateResultKey + ":" + taskId, new Gson().toJson(new GenerateResultVO(taskId, "Failed")), CommonConstant.GENERATE_RESULT_EXPIRE_TIME);
redisUtil.addToString(generateResultKey + ":" + taskId, new Gson().toJson(new GenerateResultVO(taskId, "Fail")), CommonConstant.GENERATE_RESULT_EXPIRE_TIME);
}
}, asyncTaskExecutor);
return taskId;
@@ -1565,7 +1565,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
return new GenerateResultVO(taskId, null, null, "Executing");
} else {
log.warn("万象 异步接口返回生成状态为:{}", taskStatus);
return new GenerateResultVO(taskId, null, null, "Failed");
return new GenerateResultVO(taskId, null, null, "Fail");
}
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
@@ -1586,7 +1586,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
inputImage = "aida-users/87/product_image/03983c74-741b-4d4d-820a-7c0a98a8f500-0-87.png";
String inputImageUrl = minioUtil.getPreSignedUrl(inputImage, CommonConstant.MINIO_IMAGE_EXPIRE_TIME);
// 1、输入图片检测
// checkImage(inputImageUrl);
checkImage(inputImageUrl);
// 2、动作模板生成
/* 目前只有一个pose,所以不调获取templateId的方法写死
@@ -1637,7 +1637,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
requestBody.set("input", input);
requestBody.set("parameters", parameters);
String response = sendRequestUtil.sendPost(IMAGE_DETECT, requestBody.toString());
String response = sendRequestUtil.sendAliYunPost(IMAGE_DETECT, requestBody.toString());
System.out.println("API响应: " + response);
JSONObject jsonResponse = JSONUtil.parseObj(response);
@@ -1820,7 +1820,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
break;
case STATUS_FAILED:
case STATUS_UNKNOWN:
poseTransformationVO.setStatus("Failed");
poseTransformationVO.setStatus("Fail");
break;
case STATUS_RUNNING:
case STATUS_PENDING:
@@ -1829,7 +1829,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
break;
default:
log.info("未知状态: {}", status);
poseTransformationVO.setStatus("Failed");
poseTransformationVO.setStatus("Fail");
}
poseTransformationVO.setTaskId(taskId);
@@ -2085,7 +2085,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
String status = respObj.getStr("status");
switch (status){
case "Task not found":
return "Failed";
return "Fail";
case "Pending":
case "Request Moderated":
case "Content Moderated":
@@ -2101,7 +2101,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
return userBucket + "/" + objectName;
case "Error":
// 出错
return "Failed";
return "Fail";
}
return null;
}
@@ -2114,8 +2114,8 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
String objectName = accountId + "/imageToSketch/" + taskId + ".png";
String fluxResult = getFluxResult(taskId, objectName);
if (Objects.isNull(generateDetail)){
if (fluxResult.equals("Failed") || fluxResult.equals("Pending")){
String status = fluxResult.equals("Failed") ? "Failed" : "Executing";
if (fluxResult.equals("Fail") || fluxResult.equals("Pending")){
String status = fluxResult.equals("Fail") ? "Fail" : "Executing";
return new GenerateResultVO(taskId, status);
}