feat: bug-564 产品中心,管理端,产品资料管理这里,设置默认文件,设置错了,想取消取消不了

This commit is contained in:
曹鹏飞 2025-08-12 18:07:23 +08:00
parent 4a3d096ac2
commit b40ceda0eb
2 changed files with 20 additions and 23 deletions

View File

@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -72,10 +73,12 @@ public class ProductModelFileItemServiceImpl extends ServiceImpl<ProductModelFil
.eq(ProductModelFileItem::getModelId, request.getModelId())
.update();
request.getItems().forEach(item -> {
lambdaUpdate()
.set(ProductModelFileItem::getShowInList, true)
.eq(ProductModelFileItem::getId, item.getFileItemId())
.update();
if (Objects.nonNull(item.getFileItemId())) {
lambdaUpdate()
.set(ProductModelFileItem::getShowInList, true)
.eq(ProductModelFileItem::getId, item.getFileItemId())
.update();
}
});
}

View File

@ -27,7 +27,6 @@ import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@ -229,25 +228,20 @@ public class ProductModelFileServiceImpl extends ServiceImpl<ProductModelFileMap
@Override
public List<FileDefaultConfigVO> getDefaultConfig(Integer modelId) {
List<Language> languages = languageService.getAllLanguages();
// List<ProductModelFileItem> list = productModelFileItemService.lambdaQuery()
// .eq(ProductModelFileItem::getModelId, modelId)
// .orderByAsc(ProductModelFileItem::getLanguageCode)
// .orderByDesc(ProductModelFileItem::getShowInList)
// .list();
List<ProductModelFileItem> list =productModelFileItemService.getPublishedByLanguage(modelId);
List<FileDefaultConfigVO> vos=new ArrayList<>();
Map<String, List<ProductModelFileItem>> maps=list.stream().collect(Collectors.groupingBy(ProductModelFileItem::getLanguageCode));
maps.forEach((languageCode,data)->{
FileDefaultConfigVO vo=new FileDefaultConfigVO()
.setLanguageCode(languageCode)
.setLanguageName(languages.stream().filter(lang->lang.getCode().equals(languageCode)).findFirst().get().getName())
.setItems(data.stream().map(item->new FileDefaultConfigItemVO()
.setId(item.getId())
.setName(item.getName())
.setSelected(item.getShowInList()))
.collect(Collectors.toList())
);
List<Language> languages = languageService.getLanguages();
List<ProductModelFileItem> list = productModelFileItemService.getPublishedByLanguage(modelId);
languages.forEach(language -> {
FileDefaultConfigVO vo = new FileDefaultConfigVO()
.setLanguageCode(language.getCode())
.setLanguageName(language.getName())
.setItems(list.stream().filter(item -> StrUtil.equals(language.getCode(), item.getLanguageCode()))
.map(item -> {
return new FileDefaultConfigItemVO()
.setId(item.getId())
.setName(item.getName())
.setSelected(item.getShowInList());
}).collect(Collectors.toList()));
vos.add(vo);
});
return vos;