|
@@ -40,6 +40,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
@@ -274,15 +275,22 @@ public class DistributePopularizeController {
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/get/general/distribute/detail")
|
|
@GetMapping("/get/general/distribute/detail")
|
|
|
public Result<DistributePopularizeView> getGeneralDistributeDetail() {
|
|
public Result<DistributePopularizeView> getGeneralDistributeDetail() {
|
|
|
- Long userId = StpUserUtil.getLoginIdAsLong();
|
|
|
|
|
- List<GoodsDon> goodsDons = goodsDonMapper.selectList(Wrappers.lambdaQuery(GoodsDon.class).eq(GoodsDon::getDeleted, true).gt(GoodsDon::getRate, 0).orderByAsc(GoodsDon::getRate).select(GoodsDon::getRate, GoodsDon::getTitle));
|
|
|
|
|
|
|
+ List<GoodsDon> goodsDons = goodsDonMapper.selectList(Wrappers.lambdaQuery(GoodsDon.class).eq(GoodsDon::getDeleted, true).orderByAsc(GoodsDon::getRate).select(GoodsDon::getRate, GoodsDon::getTitle));
|
|
|
if (goodsDons.isEmpty()) {
|
|
if (goodsDons.isEmpty()) {
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
}
|
|
}
|
|
|
DistributePopularizeView distributePopularizeView = new DistributePopularizeView();
|
|
DistributePopularizeView distributePopularizeView = new DistributePopularizeView();
|
|
|
GoodsDon highestRateGoods = goodsDons.get(goodsDons.size() - 1);
|
|
GoodsDon highestRateGoods = goodsDons.get(goodsDons.size() - 1);
|
|
|
distributePopularizeView.setHighestRate(highestRateGoods.getRate());
|
|
distributePopularizeView.setHighestRate(highestRateGoods.getRate());
|
|
|
- List<GoodsDon> generalDistributes = goodsDons.stream().filter(gd -> !gd.getRate().equals(highestRateGoods.getRate())).collect(Collectors.toList());
|
|
|
|
|
|
|
+ Map<Integer, List<GoodsDon>> rateMap = goodsDons.stream().filter(gd -> !gd.getRate().equals(highestRateGoods.getRate())).collect(Collectors.groupingBy(GoodsDon::getRate));
|
|
|
|
|
+ List<DistributeGoodsGeneralRateView> generalDistributes = new ArrayList<>();
|
|
|
|
|
+ rateMap.forEach((rate, v) -> {
|
|
|
|
|
+ DistributeGoodsGeneralRateView rateView = new DistributeGoodsGeneralRateView();
|
|
|
|
|
+ rateView.setRate(rate);
|
|
|
|
|
+ String goodsInfo = v.stream().map(GoodsDon::getTitle).collect(Collectors.joining("/"));
|
|
|
|
|
+ rateView.setGoodsInfo(goodsInfo);
|
|
|
|
|
+ generalDistributes.add(rateView);
|
|
|
|
|
+ });
|
|
|
distributePopularizeView.setGeneralDistributes(generalDistributes);
|
|
distributePopularizeView.setGeneralDistributes(generalDistributes);
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(distributePopularizeView);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(distributePopularizeView);
|
|
|
}
|
|
}
|