diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ProductModelController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ProductModelController.java index 1ce07d9a..e7df5a1d 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ProductModelController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/ProductModelController.java @@ -995,7 +995,7 @@ public class ProductModelController extends ControllerBase{ * @param request 请求参数 */ @PostMapping("/saveFileSort") - public ApiResult saveFileSort(@Valid @RequestBody SortSaveRequest request){ + public ApiResult saveFileSort(@Valid @RequestBody SortSaveRequest request) { productModelFileService.saveSort(request); return ApiResult.success(); } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SortSaveNewRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SortSaveNewRequest.java new file mode 100644 index 00000000..d1b52e47 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SortSaveNewRequest.java @@ -0,0 +1,23 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +public class SortSaveNewRequest { + + /** + * 机型id + */ + @NotNull + private Integer modelId; + + /** + * 调整后的顺序 + */ + @NotEmpty + private List ids; +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileItemServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileItemServiceImpl.java index 6537d7e6..a68f4b3c 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileItemServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileItemServiceImpl.java @@ -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 { - 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(); + } }); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java index 835e5a2a..9812e739 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelFileServiceImpl.java @@ -29,7 +29,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; @@ -240,25 +239,20 @@ public class ProductModelFileServiceImpl extends ServiceImpl getDefaultConfig(Integer modelId) { - List languages = languageService.getAllLanguages(); -// List list = productModelFileItemService.lambdaQuery() -// .eq(ProductModelFileItem::getModelId, modelId) -// .orderByAsc(ProductModelFileItem::getLanguageCode) -// .orderByDesc(ProductModelFileItem::getShowInList) -// .list(); - List list =productModelFileItemService.getPublishedByLanguage(modelId); List vos=new ArrayList<>(); - Map> 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 languages = languageService.getLanguages(); + List 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; diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelFileMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelFileMapper.xml index 78ecf0af..4dfe1a86 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelFileMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelFileMapper.xml @@ -25,5 +25,6 @@ FROM product_model_file pmf INNER JOIN product_model_file_item pmfi ON pmf.id = pmfi.model_file_id WHERE pmf.`enable` = 1 AND pmf.state = 1 AND pmf.model_id = #{modelId} AND pmfi.language_code = #{language} + ORDER BY pmf.sort