|
|
@@ -39,6 +39,7 @@ import com.store.goods.vo.GoodsDescVO;
|
|
|
import com.store.goods.service.IGoodsDescService;
|
|
|
import org.springblade.core.boot.ctrl.BladeController;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -71,6 +72,20 @@ public class GoodsDescController extends BladeController {
|
|
|
.eq(GoodsItems::getPid,detail.getId())
|
|
|
.eq(GoodsItems::getTenantId, AuthUtil.getTenantId());
|
|
|
List<GoodsItems> itemsList = goodsItemsService.list(itemsLambdaQueryWrapper);
|
|
|
+ if(CollectionUtils.isNotEmpty(itemsList))
|
|
|
+ {
|
|
|
+ //最低价
|
|
|
+ BigDecimal lowPrice = itemsList.stream()
|
|
|
+ .filter(o -> o.getPrice().compareTo(BigDecimal.ZERO) == 1)
|
|
|
+ .map(GoodsItems::getPrice).distinct().min(BigDecimal::compareTo).get();
|
|
|
+ detail.setLowPrice(lowPrice);
|
|
|
+ //最高价
|
|
|
+ BigDecimal highPrice = itemsList.stream()
|
|
|
+ .filter(o -> o.getPrice().compareTo(BigDecimal.ZERO) == 1)
|
|
|
+ .map(GoodsItems::getPrice).distinct().max(BigDecimal::compareTo).get();
|
|
|
+ detail.setHighPrice(highPrice);
|
|
|
+ }
|
|
|
+
|
|
|
detail.setItemsList(itemsList);
|
|
|
return R.data(detail);
|
|
|
}
|
|
|
@@ -88,6 +103,35 @@ public class GoodsDescController extends BladeController {
|
|
|
@ApiOperation(value = "分页", notes = "传入goodsDesc")
|
|
|
public R<IPage<GoodsDesc>> list(GoodsDesc goodsDesc, Query query) {
|
|
|
IPage<GoodsDesc> pages = goodsDescService.page(Condition.getPage(query), Condition.getQueryWrapper(goodsDesc));
|
|
|
+ List<GoodsDesc> records = pages.getRecords();
|
|
|
+ if(CollectionUtils.isNotEmpty(records))
|
|
|
+ {
|
|
|
+ records.forEach(e->{
|
|
|
+ LambdaQueryWrapper<GoodsItems> itemsLambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
+ itemsLambdaQueryWrapper
|
|
|
+ .eq(GoodsItems::getIsDeleted,0)
|
|
|
+ .eq(GoodsItems::getPid,e.getId())
|
|
|
+ .eq(GoodsItems::getTenantId, AuthUtil.getTenantId());
|
|
|
+ List<GoodsItems> itemsList = goodsItemsService.list(itemsLambdaQueryWrapper);
|
|
|
+ if(CollectionUtils.isNotEmpty(itemsList))
|
|
|
+ {
|
|
|
+ //最低价
|
|
|
+ BigDecimal lowPrice = itemsList.stream()
|
|
|
+ .filter(o -> o.getPrice().compareTo(BigDecimal.ZERO) == 1)
|
|
|
+ .map(GoodsItems::getPrice).distinct().min(BigDecimal::compareTo).get();
|
|
|
+ e.setLowPrice(lowPrice);
|
|
|
+ //最高价
|
|
|
+ BigDecimal highPrice = itemsList.stream()
|
|
|
+ .filter(o -> o.getPrice().compareTo(BigDecimal.ZERO) == 1)
|
|
|
+ .map(GoodsItems::getPrice).distinct().max(BigDecimal::compareTo).get();
|
|
|
+ e.setHighPrice(highPrice);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
return R.data(pages);
|
|
|
}
|
|
|
|