فهرست منبع

商品列表排序

cup 2 سال پیش
والد
کامیت
44d6e6b041

+ 33 - 15
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserExchangeController.java

@@ -31,10 +31,8 @@ import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
+
+import java.util.*;
 import java.util.stream.Collectors;
 
 import io.swagger.annotations.ApiResponse;
@@ -132,17 +130,37 @@ public class UserExchangeController extends BaseApiController {
       goodsIds = goodsTagRelList.stream().map(GoodsTagRel::getGoodsId).collect(Collectors.toList());
     }
     startPage();
-    List<Goods> goodsList = goodsService.list(new LambdaQueryWrapper<Goods>()
-        .eq(null != param.getCategoryId() && 0 != param.getCategoryId(), Goods::getCategoryId, param.getCategoryIdList())
-        .ge(null != param.getStartPrice() && 0 != param.getStartPrice(), Goods::getExchangePrice, param.getStartPrice())
-        .le(null != param.getEndPrice() && 0 != param.getEndPrice(), Goods::getExchangePrice, param.getEndPrice())
-        .in(!CollectionUtils.isEmpty(param.getCategoryIdList()), Goods::getCategoryId, param.getCategoryIdList())
-        .like(StringUtils.isNotBlank(param.getGoodsName()), Goods::getTitle, param.getGoodsName())
-        .eq(Goods::getStatus, GoodsStatusEnum.PUT_ON)
-        .eq(Goods::getExchangeShow, 1)
-        .in(!CollectionUtils.isEmpty(goodsIds), Goods::getGoodsId, goodsIds)
-        .orderByDesc(Goods::getSortWeight)
-        .orderByAsc(Goods::getExchangePrice));
+    LambdaQueryWrapper<Goods> queryWrapper = new LambdaQueryWrapper<Goods>()
+            .eq(null != param.getCategoryId() && 0 != param.getCategoryId(), Goods::getCategoryId, param.getCategoryIdList())
+            .ge(null != param.getStartPrice() && 0 != param.getStartPrice(), Goods::getExchangePrice, param.getStartPrice())
+            .le(null != param.getEndPrice() && 0 != param.getEndPrice(), Goods::getExchangePrice, param.getEndPrice())
+            .in(!CollectionUtils.isEmpty(param.getCategoryIdList()), Goods::getCategoryId, param.getCategoryIdList())
+            .like(StringUtils.isNotBlank(param.getGoodsName()), Goods::getTitle, param.getGoodsName())
+            .eq(Goods::getStatus, GoodsStatusEnum.PUT_ON)
+            .eq(Goods::getExchangeShow, 1)
+            .in(!CollectionUtils.isEmpty(goodsIds), Goods::getGoodsId, goodsIds);
+
+    if (Objects.isNull(param.getSaleSort()) && Objects.isNull(param.getPriceSort())){
+      queryWrapper.orderByDesc(Goods::getSortWeight)
+              .orderByAsc(Goods::getExchangePrice);
+    }
+    if (Objects.nonNull(param.getSaleSort())) {
+      if (param.getSaleSort() == 1) {
+        queryWrapper.orderByAsc(Goods::getExchangedQty);
+      } else if (param.getSaleSort() == 2) {
+        queryWrapper.orderByDesc(Goods::getExchangedQty);
+      }
+    }
+
+    if (Objects.nonNull(param.getPriceSort())){
+      if (param.getPriceSort() == 1) {
+        queryWrapper.orderByAsc(Goods::getExchangePrice);
+      }else if (param.getPriceSort() == 2) {
+        queryWrapper.orderByDesc(Goods::getExchangePrice);
+      }
+    }
+
+    List<Goods> goodsList = goodsService.list(queryWrapper);
     List<GoodsListVO> goodsListVOList = mapperFacade.mapAsList(goodsList, GoodsListVO.class);
     TableDataInfo rspData = getDataTable(goodsList);
     rspData.setRows(goodsListVOList);

+ 6 - 0
mp-service/src/main/java/com/qs/mp/user/domain/param/ExchangeGoodsListQueryParam.java

@@ -33,4 +33,10 @@ public class ExchangeGoodsListQueryParam {
     @ApiModelProperty("商品名称")
     private String goodsName;
 
+    @ApiModelProperty("价格排序,1正序,2倒序")
+    private Integer priceSort;
+
+    @ApiModelProperty("销量排序,1正序,2倒序")
+    private Integer saleSort;
+
 }