getDetail 修改bug-相同的colorIndex导致颜色返回为空

This commit is contained in:
xupei
2023-09-22 17:04:08 +08:00
parent 55e32d2fe7
commit 255529c8bc
2 changed files with 16 additions and 1 deletions

View File

@@ -872,6 +872,12 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
return design.getId();
}
/**
* 避免多次连接数据所这里一次查多条颜色并利用designItemDetailId保持颜色与vo的对应关系
* @param designItemDetails
* @param designItemDetailVO
* @return
*/
private DesignItemDetailVO editResponseColor(List<DesignItemDetail> designItemDetails, DesignItemDetailVO designItemDetailVO) {
/*designItemDetails.forEach(d -> {
if (!StringUtil.isNullOrEmpty(d.getColor())){

View File

@@ -87,6 +87,7 @@ public class PanToneServiceImpl extends ServiceImpl<PanToneMapper, PanTone> impl
});
List<ColorLookupTable> colorValueList = colorLoopUpTableService.getByColorValueList(values);
colorValueList.forEach(colorValue ->{
// 不同的colorValue可能会有相同的colorIndex
colorIndexRgb.put(colorValue.getColorIndex(),colorValueRgb.get(colorValue.getColorValue()));
});
@@ -98,7 +99,15 @@ public class PanToneServiceImpl extends ServiceImpl<PanToneMapper, PanTone> impl
HashMap<String, PantoneVO> colorPantoneVO = new HashMap<>();
pantoneVOS.forEach(pantoneVO -> {
colorPantoneVO.put(colorIndexRgb.get(pantoneVO.getId()),pantoneVO);
int colorIndex = pantoneVO.getId();
List<ColorLookupTable> collect = colorValueList.stream().filter(colorValue -> colorValue.getColorIndex().equals(colorIndex)).collect(Collectors.toList());
if (collect.size() > 1){
for (ColorLookupTable colorLookupTable : collect) {
colorPantoneVO.put(colorValueRgb.get(colorLookupTable.getColorValue()), pantoneVO);
}
}else if (collect.size() == 1){
colorPantoneVO.put(colorIndexRgb.get(pantoneVO.getId()),pantoneVO);
}
});
return colorPantoneVO;