From e0504d28a1fc10be6979d36fb93b936ef49ffcf4 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期三, 26 七月 2023 17:09:32 +0800 Subject: [PATCH] 积分明细的字段优化 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 36 +++++++++++++++++++++--------------- 1 files changed, 21 insertions(+), 15 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index deb3dc6..ea5d476 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -38,6 +38,10 @@ import com.dsh.account.util.*; import com.dsh.account.util.akeylogin.Md5Util; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import org.springframework.web.multipart.MultipartFile; @@ -629,14 +633,8 @@ } @Override - public PointMallDetailsResponse queryAppUserIntegral(MallRequest request, Integer userIdFormRedis) { - PointMallDetailsResponse detailsResponse = new PointMallDetailsResponse(); - List<PointMallDetailsResponse.Goods> goods = new ArrayList<>(); - - TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); - detailsResponse.setName(tAppUser.getName()); - detailsResponse.setIntegral(tAppUser.getIntegral()); - detailsResponse.setHeadImg(tAppUser.getHeadImg()); + public List<Goods> queryAppUserIntegral(MallRequest request ) { + List<Goods> goods = new ArrayList<>(); CommodityRequest commodityRequest = new CommodityRequest(); commodityRequest.setLon(request.getLon()); @@ -644,7 +642,7 @@ List<PointsMerchandise> vicinityGoods = mcClient.getVicinityGoods(commodityRequest); if (vicinityGoods.size() > 0) { for (PointsMerchandise vicinityGood : vicinityGoods) { - PointMallDetailsResponse.Goods commodity = new PointMallDetailsResponse.Goods(); + Goods commodity = new Goods(); switch (vicinityGood.getType()) { case 1: commodity.setGoodId(vicinityGood.getId()); @@ -701,7 +699,7 @@ List<Coupon> allCoupons = ucponClient.getAllCoupons(commodityRequest); if (allCoupons.size() > 0) { for (Coupon allCoupon : allCoupons) { - PointMallDetailsResponse.Goods commodity = new PointMallDetailsResponse.Goods(); + Goods commodity = new Goods(); commodity.setGoodId(allCoupon.getId()); commodity.setGoodName(allCoupon.getName()); commodity.setCondition(allCoupon.getRedemptionMethod()); @@ -727,17 +725,17 @@ switch (request.getRank()){ case 1: goods = goods.stream() - .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getIntegral).reversed()) + .sorted(Comparator.comparing(Goods::getIntegral).reversed()) .collect(Collectors.toList()); break; case 2: goods = goods.stream() - .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getIntegral)) + .sorted(Comparator.comparing(Goods::getIntegral)) .collect(Collectors.toList()); break; case 3: goods = goods.stream() - .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getNums).reversed()) + .sorted(Comparator.comparing(Goods::getNums).reversed()) .collect(Collectors.toList()); break; default: @@ -750,8 +748,16 @@ .filter(merchandise -> merchandise.getGoodsType().equals(request.getGoodsType())) .collect(Collectors.toList()); } - detailsResponse.setGoods(goods); - return detailsResponse; + Pageable pageable = PageRequest.of(request.getPageNum() - 1, request.getPageSize()); + Page<Goods> page = getPage(goods, pageable); + return page.getContent(); + } + + // 对数据进行分页处理的方法 + private static Page<Goods> getPage(List<Goods> dataList, Pageable pageable) { + int start = (int) pageable.getOffset(); + int end = Math.min((start + pageable.getPageSize()), dataList.size()); + return new PageImpl<>(dataList.subList(start, end), pageable, dataList.size()); } @Override -- Gitblit v1.7.1