1、design single 添加 design elements
2、design single -- print添加level2Type 3、替换部分flask接口 为 fastAPI接口
This commit is contained in:
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.List;
|
||||
|
||||
public interface DesignItemDetailPrintService extends IService<DesignItemDetailPrint> {
|
||||
List<DesignItemDetailPrint> getByDesignItemDetailId(Long designItemDetailId);
|
||||
List<DesignItemDetailPrint> getByDesignItemDetailId(Long designItemDetailId, String printType);
|
||||
|
||||
void deleteByDesignItemDetailId(Long designItemDetailId);
|
||||
}
|
||||
|
||||
@@ -87,6 +87,8 @@ public class ChatRobotServiceImpl implements ChatRobotService {
|
||||
private String accessPythonIp;
|
||||
@Value("${access.python.port:''}")
|
||||
private String accessPythonPort;
|
||||
@Value("${access.python.address}")
|
||||
private String fastApiPythonAddress;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ChatRobotVO sendMessageToChatRobot(ChatSendDTO chatSendDTO) {
|
||||
@@ -150,7 +152,8 @@ public class ChatRobotServiceImpl implements ChatRobotService {
|
||||
RequestBody body = RequestBody.create(mediaType, param);
|
||||
Request request = new Request.Builder()
|
||||
// .url("http://127.0.0.1:5000/api/chat_stream_test")
|
||||
.url(accessPythonIp + ":" + accessPythonPort + "/api/chat_stream_test")
|
||||
// .url(accessPythonIp + ":" + accessPythonPort + "/api/chat_stream_test")
|
||||
.url(fastApiPythonAddress + "/api/chat_robot")
|
||||
// .url(accessPythonIp + ":10200/aifda/api/v1.0/generate")
|
||||
.method("POST", body)
|
||||
.addHeader("Content-Type", "application/json")
|
||||
|
||||
@@ -15,9 +15,10 @@ public class DesignItemDetailPrintServiceImpl extends ServiceImpl<DesignItemDeta
|
||||
|
||||
|
||||
@Override
|
||||
public List<DesignItemDetailPrint> getByDesignItemDetailId(Long designItemDetailId) {
|
||||
public List<DesignItemDetailPrint> getByDesignItemDetailId(Long designItemDetailId, String printType) {
|
||||
QueryWrapper<DesignItemDetailPrint> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("design_item_detail_id", designItemDetailId);
|
||||
queryWrapper.eq("print_type", printType);
|
||||
|
||||
return baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@@ -681,6 +681,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
||||
designItemClothesDetailVO.setMinIOPath(singleItem.getPath());
|
||||
designItemClothesDetailVO.setColor(panToneService.getPantoneByRgb(singleItem.getColor()));
|
||||
designItemClothesDetailVO.setPrintObject(singleItem.getPrintObject());
|
||||
designItemClothesDetailVO.setTrims(singleItem.getTrims());
|
||||
designItemClothesDetailVO.setLayersObject(layersObject.stream().filter(
|
||||
layers -> (singleItem.getType().toLowerCase().equals(layers.getImageCategory().split("_")[0])
|
||||
&& (flag ? Boolean.TRUE : singleItem.getPriority().equals(layers.getPriority())))
|
||||
@@ -704,36 +705,58 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
||||
|
||||
designSingleItemDTOList.forEach(designSingleItem -> {
|
||||
// 1、判断有无印花,无印花则跳过
|
||||
DesignSinglePrintDTO printObject = designSingleItem.getPrintObject();
|
||||
if (printObject.getIfSingle().equals(Boolean.FALSE)
|
||||
&& CollectionUtil.isEmpty(printObject.getPrints())) {
|
||||
return;
|
||||
} else {
|
||||
// 2、有印花,添加到list
|
||||
printObject.getPrints().forEach(print -> {
|
||||
// 2.1 判断是否第一次添加印花,是:直接添加
|
||||
List<DesignItemDetailPrint> designItemDetailPrintList = designItemDetailPrintService.getByDesignItemDetailId(designItemDetailTypeIdMap.get(designSingleItem.getPriority()));
|
||||
if (!designItemDetailPrintList.isEmpty()) {
|
||||
// 2.2 否:先删除原始印花,再添加新印花信息
|
||||
designItemDetailPrintService.deleteByDesignItemDetailId(designItemDetailTypeIdMap.get(designSingleItem.getPriority()));
|
||||
}
|
||||
DesignItemDetailPrint designItemDetailPrint = new DesignItemDetailPrint();
|
||||
designItemDetailPrint.setDesignItemDetailId(designItemDetailTypeIdMap.get(designSingleItem.getPriority()));
|
||||
designItemDetailPrint.setPath(print.getMinIOPath());
|
||||
designItemDetailPrint.setScale(print.getScale());
|
||||
designItemDetailPrint.setSingleOrOverall(printObject.getIfSingle() ? "single" : "overall");
|
||||
designItemDetailPrint.setCreateDate(LocalDateTime.now(ZoneId.of(timeZone)));
|
||||
// single、overall模式下都有position、angle和priority
|
||||
designItemDetailPrint.setPosition(print.getLocation().toString());
|
||||
designItemDetailPrint.setAngle(print.getAngle());
|
||||
designItemDetailPrint.setPriority(print.getPriority());
|
||||
designItemDetailPrints.add(designItemDetailPrint);
|
||||
});
|
||||
}
|
||||
setDesignItemDetailPrintList(designSingleItem, designItemDetailPrints, "print", designItemDetailTypeIdMap, timeZone);
|
||||
|
||||
// 2、判断有无装饰配件
|
||||
setDesignItemDetailPrintList(designSingleItem, designItemDetailPrints, "trims", designItemDetailTypeIdMap, timeZone);
|
||||
});
|
||||
return designItemDetailPrints;
|
||||
}
|
||||
|
||||
private void setDesignItemDetailPrintList(DesignSingleItemDTO designSingleItem,
|
||||
ArrayList<DesignItemDetailPrint> designItemDetailPrints,
|
||||
String printType,
|
||||
Map<Integer, Long> designItemDetailTypeIdMap,
|
||||
String timeZone){
|
||||
DesignSinglePrintDTO printObject;
|
||||
if (printType.equals("print")){
|
||||
printObject = designSingleItem.getPrintObject();
|
||||
}else {
|
||||
printObject = designSingleItem.getTrims();
|
||||
if (Objects.isNull(printObject.getIfSingle())){
|
||||
printObject.setIfSingle(Boolean.FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
if (printObject.getIfSingle().equals(Boolean.FALSE)
|
||||
&& CollectionUtil.isEmpty(printObject.getPrints())) {
|
||||
return;
|
||||
} else {
|
||||
// 2、有印花,添加到list
|
||||
printObject.getPrints().forEach(print -> {
|
||||
// 2.1 判断是否第一次添加印花,是:直接添加
|
||||
List<DesignItemDetailPrint> designItemDetailPrintList = designItemDetailPrintService.getByDesignItemDetailId(designItemDetailTypeIdMap.get(designSingleItem.getPriority()), printType);
|
||||
if (!designItemDetailPrintList.isEmpty()) {
|
||||
// 2.2 否:先删除原始印花,再添加新印花信息
|
||||
designItemDetailPrintService.deleteByDesignItemDetailId(designItemDetailTypeIdMap.get(designSingleItem.getPriority()));
|
||||
}
|
||||
DesignItemDetailPrint designItemDetailPrint = new DesignItemDetailPrint();
|
||||
designItemDetailPrint.setDesignItemDetailId(designItemDetailTypeIdMap.get(designSingleItem.getPriority()));
|
||||
designItemDetailPrint.setPrintType(printType);
|
||||
designItemDetailPrint.setLevel2Type(print.getLevel2Type());
|
||||
designItemDetailPrint.setPath(print.getMinIOPath());
|
||||
designItemDetailPrint.setScale(print.getScale());
|
||||
designItemDetailPrint.setSingleOrOverall(printType.equals("print") ? printObject.getIfSingle() ? "single" : "overall" : "single");
|
||||
designItemDetailPrint.setCreateDate(LocalDateTime.now(ZoneId.of(timeZone)));
|
||||
// single、overall模式下都有position、angle和priority
|
||||
designItemDetailPrint.setPosition(print.getLocation().toString());
|
||||
designItemDetailPrint.setAngle(print.getAngle());
|
||||
designItemDetailPrint.setPriority(print.getPriority());
|
||||
designItemDetailPrints.add(designItemDetailPrint);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private List<OutfitDetailPythonItem> convertToOutfitDetailPythonItemList(List<DesignPythonOutfitVO> layers) {
|
||||
List<OutfitDetailPythonItem> composeLayerPythonItem = Arrays.asList(new OutfitDetailPythonItem[layers.size()]);
|
||||
layers.forEach(layer -> {
|
||||
|
||||
@@ -1000,12 +1000,19 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
d.setLevel1Type(converTypeToLevel1(o.getType()));
|
||||
// d.setGradient(JSONObject.parseObject(o.getGradientString(), Gradient.class));
|
||||
// 根据designItemDetailId获取印花
|
||||
List<DesignItemDetailPrint> prints = designItemDetailPrintService.getByDesignItemDetailId(o.getId());
|
||||
List<DesignItemDetailPrint> prints = designItemDetailPrintService.getByDesignItemDetailId(o.getId(), "print");
|
||||
// 判断有无印花
|
||||
if (CollectionUtil.isNotEmpty(prints)) {
|
||||
// 有印花
|
||||
d.setPrintObject(convertToDesignSinglePrintDTO(prints));
|
||||
}
|
||||
// 根据designItemDetailId获取design elements
|
||||
List<DesignItemDetailPrint> trims = designItemDetailPrintService.getByDesignItemDetailId(o.getId(), "trims");
|
||||
// 判断有无装饰 trims
|
||||
if (CollectionUtil.isNotEmpty(trims)) {
|
||||
// 有印花
|
||||
d.setTrims(convertToDesignSinglePrintDTO(trims));
|
||||
}
|
||||
}));
|
||||
//single 和 Models(模特)时候 系统元素为空
|
||||
List<DesignItemDetail> filterDetail2 = designItemDetails.stream()
|
||||
@@ -1196,6 +1203,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
DesignItemDetailPrint detailPrint = designItemDetailPrints.get(0);
|
||||
DesignSinglePrint designSinglePrint = new DesignSinglePrint();
|
||||
designSinglePrintDTO.setIfSingle(detailPrint.getSingleOrOverall().equals("single") ? Boolean.TRUE : Boolean.FALSE);
|
||||
designSinglePrint.setLevel2Type(detailPrint.getLevel2Type());
|
||||
designSinglePrint.setLocation(JSONArray.parseArray(detailPrint.getPosition(), Double.class));
|
||||
designSinglePrint.setAngle(detailPrint.getAngle());
|
||||
designSinglePrint.setPriority(detailPrint.getPriority());
|
||||
@@ -1209,6 +1217,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
designItemDetailPrints.forEach(print -> {
|
||||
if (print.getSingleOrOverall().equals("single")) {
|
||||
prints.add(new DesignSinglePrint(
|
||||
print.getLevel2Type(),
|
||||
minioUtil.getPresignedUrl(print.getPath(), 24 * 60),
|
||||
print.getPath(),
|
||||
JSONArray.parseArray(print.getPosition(), Double.class),
|
||||
@@ -1216,12 +1225,10 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
print.getAngle(),
|
||||
print.getPriority()));
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
designSinglePrintDTO.setPrints(prints);
|
||||
return designSinglePrintDTO;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -341,6 +341,11 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
throw new BusinessException("gender.cannot.be.empty");
|
||||
}
|
||||
}
|
||||
if (PRINT_BOARD.getRealName().equals(generateLikeDTO.getLevel1Type())) {
|
||||
if (StringUtil.isNullOrEmpty(generateLikeDTO.getLevel2Type())) {
|
||||
throw new BusinessException("level2Type.cannot.be.empty");
|
||||
}
|
||||
}
|
||||
// 1.2 判断参数是否真实有效
|
||||
Long generateDetailId = generateLikeDTO.getGenerateDetailId();
|
||||
GenerateDetail generateDetail = generateDetailMapper.selectById(generateDetailId);
|
||||
@@ -496,7 +501,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
}
|
||||
|
||||
// 将图片上传到图片服务器
|
||||
String path = minioUtil.base64Upload(generateThroughImageTextDTO.getSloganBase64(), sloganBucket);
|
||||
String path = minioUtil.base64UploadToPath(generateThroughImageTextDTO.getSloganBase64(), sloganBucket, null);
|
||||
String name = path.substring(path.lastIndexOf("/") + 1, path.lastIndexOf("."));
|
||||
// 保存到db,collection-element
|
||||
CollectionElement collectionElement = new CollectionElement();
|
||||
|
||||
@@ -92,6 +92,8 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> impl
|
||||
private String accessPythonIp;
|
||||
@Value("${access.python.port:''}")
|
||||
private String accessPythonPort;
|
||||
@Value("${access.python.address}")
|
||||
private String fastApiPythonAddress;
|
||||
|
||||
@Resource
|
||||
private PythonTAllInfoService pythonTAllInfoService;
|
||||
@@ -367,7 +369,8 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> impl
|
||||
log.info("processSketchBoards请求python 参数:####{}", param);
|
||||
RequestBody body = RequestBody.create(mediaType, param);
|
||||
Request request = new Request.Builder()
|
||||
.url(accessPythonIp + ":" + accessPythonPort + "/api/design_pre_processing")
|
||||
// .url(accessPythonIp + ":" + accessPythonPort + "/api/design_pre_processing")
|
||||
.url(fastApiPythonAddress + "/api/design_pre_processing")
|
||||
.method("POST", body)
|
||||
// .addHeader("Authorization", "Basic YWlkbGFiOjEyMw==")
|
||||
.addHeader("Content-Type", "application/json")
|
||||
|
||||
Reference in New Issue
Block a user