TASK:模块化;

This commit is contained in:
shahaibo
2025-03-24 15:59:46 +08:00
parent 39cb20618b
commit ae484c9e6c
3 changed files with 65 additions and 9 deletions

View File

@@ -3966,4 +3966,54 @@ public class PythonService {
}
}
public JSONObject segProduct(String url) {
OkHttpClient client = new OkHttpClient().newBuilder()
.connectTimeout(30, TimeUnit.SECONDS)
.pingInterval(5, TimeUnit.SECONDS)//websocket轮训间隔(单位:秒)
.readTimeout(60, TimeUnit.SECONDS)//读取超时(单位:秒)
.writeTimeout(60, TimeUnit.SECONDS)//写入超时(单位:秒)
.build();
MediaType mediaType = MediaType.parse("application/json");
//关闭FastJson的引用检测 防止出现$ref 现象
Map<String, Object> map = new HashMap<>();
map.put("image_url", url);
map.put("is_brand_dna", Boolean.TRUE);
log.info("bright请求python 参数:####{}", map);
String param = JSON.toJSONString(map, SerializerFeature.WriteNullStringAsEmpty);
log.info(param);
RequestBody body = RequestBody.create(mediaType, param);
Request request = new Request.Builder()
// .url(accessPythonIp + ":" + accessPythonPort + "/api/generate_product_image")
// .url(accessPythonIp + ":9996/api/generate_product_image")
.url(accessPythonIp + ":" + accessPythonPort + "/api/seg_product")
.method("POST", body)
.addHeader("Authorization", "Basic YWlkbGFiOjEyMw==")
.addHeader("Content-Type", "application/json")
.build();
Response response;
String responseBody;
try {
response = client.newCall(request).execute();
} catch (IOException ioException) {
log.error("PythonService##bright异常###{}", ExceptionUtil.getThrowableList(ioException));
throw new BusinessException("segProduct.interface.exception");
}
if (response.isSuccessful()) {
try {
if (Objects.nonNull(response.body())) {
responseBody = response.body().string();
JSONObject responseObject = JSON.parseObject(responseBody);
log.info("PythonService##responseObject###{}", responseObject);
return responseObject;
}
throw new BusinessException("segProduct.interface.exception");
} catch (IOException | JSONException e) {
log.error("PythonService##segProduct异常###{}", e.getMessage());
throw new BusinessException("segProduct.interface.exception");
}
}
log.error("PythonService##segProduct异常response###{}", response);
//生成失败
throw new BusinessException("segProduct.interface.exception");
}
}

View File

@@ -1140,8 +1140,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
String url = library.getUrl();
String gender = library.getLevel2Type();
// 提取sketch TODO
// 提取sketch
JSONObject sketchList = pythonService.segProduct(url);
String clothCategory = pythonService.getClothCategory(url, gender);
JSONObject attributeRecognition = pythonService.getAttributeRecognition(url, clothCategory, gender);
JSONObject data = attributeRecognition.getJSONObject("data");

View File

@@ -367,10 +367,15 @@ public class WorkspaceServiceImpl extends ServiceImpl<WorkspaceMapper, Workspace
vo.setMalePresignedUrl(minioUtil.getPreSignedUrl(libraryMapper.selectById(vo.getMannequinMaleId()).getUrl(), 24 * 60));
}
}
Sex sex = Sex.getSex(vo.getSex());
Position position = Position.getPosition(vo.getPosition());
vo.setSexEnum(new BizJson(sex.getValue(), sex.name(), BusinessException.getMessageFromResource(sex.name())));
vo.setPositionEnum(new BizJson(position.getValue(), position.name(), BusinessException.getMessageFromResource(position.name())));
if (!StringUtils.isEmpty(vo.getSex())) {
Sex sex = Sex.getSex(vo.getSex());
vo.setSexEnum(new BizJson(sex.getValue(), sex.name(), BusinessException.getMessageFromResource(sex.name())));
}
if (!StringUtils.isEmpty(vo.getPosition())) {
Position position = Position.getPosition(vo.getPosition());
vo.setPositionEnum(new BizJson(position.getValue(), position.name(), BusinessException.getMessageFromResource(position.name())));
}
QueryWrapper<WorkspaceRelStyle> qw = new QueryWrapper<>();
qw.lambda().eq(WorkspaceRelStyle::getWorkspaceId, vo.getId());
List<WorkspaceRelStyle> workspaceRelStyles = workspaceRelStyleMapper.selectList(qw);
@@ -698,7 +703,8 @@ public class WorkspaceServiceImpl extends ServiceImpl<WorkspaceMapper, Workspace
workspaceRelStyleMapper.deleteBatchIds(workspaceRelStyles);
}
}
WorkspaceVO byIdForProject = workspaceService.getByIdForProject(projectId);
Long workspaceId = workspaceService.getByProjectId(projectId);
WorkspaceVO byIdForProject = workspaceService.getByIdForProject(workspaceId);
vo.setId(projectId);
vo.setWorkspaceVO(byIdForProject);
return vo;
@@ -717,7 +723,7 @@ public class WorkspaceServiceImpl extends ServiceImpl<WorkspaceMapper, Workspace
workspace.setCreateTime(LocalDateTime.now());
workspace.setUpdateTime(LocalDateTime.now());
if (projectDTO.getProcess().equals(DesignProcess.SERIES_DESIGN.name())) {
if (projectDTO.getProcess().equals(DesignProcess.SERIES_DESIGN.name()) || projectDTO.getProcess().equals(DesignProcess.SKETCH_COLLAGE_PROCESS.name())) {
SysFile sysFile = sysFileService.getOneBySex(projectDTO.getStyleId(), projectDTO.getWorkspace().getSex());
if (projectDTO.getWorkspace().getSex().equals(Sex.FEMALE.getValue())) {
@@ -737,7 +743,7 @@ public class WorkspaceServiceImpl extends ServiceImpl<WorkspaceMapper, Workspace
rel.setStyleId(projectDTO.getStyleId());
workspaceRelStyleMapper.insert(rel);
}
WorkspaceVO byIdForProject = workspaceService.getByIdForProject(project.getId());
WorkspaceVO byIdForProject = workspaceService.getByIdForProject(workspace.getId());
vo.setId(project.getId());
vo.setWorkspaceVO(byIdForProject);
return vo;