|
@@ -1,7 +1,10 @@
|
|
|
package com.cyksj.web.controller.group;
|
|
package com.cyksj.web.controller.group;
|
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.dto.Result;
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
|
|
+import com.cyksj.mapper.GoodsDonSkuMapper;
|
|
|
|
|
+import com.cyksj.model.entity.GoodsDonSku;
|
|
|
import com.cyksj.model.manage.views.GroupsRelationView;
|
|
import com.cyksj.model.manage.views.GroupsRelationView;
|
|
|
import com.cyksj.model.views.GroupsView;
|
|
import com.cyksj.model.views.GroupsView;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
@@ -14,6 +17,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
+import java.util.Comparator;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Set;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author chan
|
|
* @author chan
|
|
@@ -29,15 +36,29 @@ public class GroupController {
|
|
|
|
|
|
|
|
private final BeanSearcher beanSearcher;
|
|
private final BeanSearcher beanSearcher;
|
|
|
|
|
|
|
|
|
|
+ private final GoodsDonSkuMapper goodsDonSkuMapper;
|
|
|
|
|
+
|
|
|
@GetMapping("/get")
|
|
@GetMapping("/get")
|
|
|
- public Result<SearchResult<GroupsView>> get(){
|
|
|
|
|
|
|
+ public Result<SearchResult<GroupsView>> get(Long skuId) {
|
|
|
SearchResult<GroupsView> search = beanSearcher.search(GroupsView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
SearchResult<GroupsView> search = beanSearcher.search(GroupsView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
.orderBy(GroupsView::getOrderBy).asc()
|
|
.orderBy(GroupsView::getOrderBy).asc()
|
|
|
.orderBy(GroupsView::getId).desc().build()
|
|
.orderBy(GroupsView::getId).desc().build()
|
|
|
);
|
|
);
|
|
|
- search.getDataList().forEach((groupsView)->{
|
|
|
|
|
- groupsView.setRelations(beanSearcher.searchAll(GroupsRelationView.class,MapUtils.builder().field(GroupsRelationView::getGroupsId,groupsView.getId()).build()));
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ List<GoodsDonSku> goodsDonSkus = goodsDonSkuMapper.selectList(Wrappers.lambdaQuery(GoodsDonSku.class).eq(GoodsDonSku::getGoodsId, 18).select(GoodsDonSku::getId));
|
|
|
|
|
+ Set<Long> skuIds = goodsDonSkus.stream().map(GoodsDonSku::getId).collect(Collectors.toSet());
|
|
|
|
|
+ if (skuIds.contains(skuId)) {
|
|
|
|
|
+ search.getDataList().forEach((groupsView)->{
|
|
|
|
|
+ groupsView.setRelations(beanSearcher.searchAll(GroupsRelationView.class, MapUtils.builder()
|
|
|
|
|
+ .field(GroupsRelationView::getGroupsId, groupsView.getId())
|
|
|
|
|
+ .orderBy(GroupsRelationView::getUpdate_time).desc()
|
|
|
|
|
+ .build()));
|
|
|
|
|
+ });
|
|
|
|
|
+ search.getDataList().sort(Comparator.comparing(GroupsView::getOrderBy));
|
|
|
|
|
+ }else {
|
|
|
|
|
+ search.getDataList().forEach((groupsView) -> {
|
|
|
|
|
+ groupsView.setRelations(beanSearcher.searchAll(GroupsRelationView.class, MapUtils.builder().field(GroupsRelationView::getGroupsId, groupsView.getId()).build()));
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
}
|
|
}
|
|
|
|
|
|