ソースを参照

Merge branch 'chat_gpt_func'

zoujiajian 3 年 前
コミット
eaa73c848e

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/GroupsRelationView.java

@@ -75,6 +75,12 @@ public class GroupsRelationView {
     @DbField("gr.created_time")
     private Date createdTime;
 
+    /**
+     * 创建时间
+     */
+    @DbField("gr.update_time")
+    private Date update_time;
+
     /**
      * 账号
      */

+ 25 - 4
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupController.java

@@ -1,7 +1,10 @@
 package com.cyksj.web.controller.group;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.dto.Result;
 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.views.GroupsView;
 import com.ejlchina.searcher.BeanSearcher;
@@ -14,6 +17,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * @author chan
@@ -29,15 +36,29 @@ public class GroupController {
 
     private final BeanSearcher beanSearcher;
 
+    private final GoodsDonSkuMapper goodsDonSkuMapper;
+
     @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())
                 .orderBy(GroupsView::getOrderBy).asc()
                 .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);
     }