From 26e2592813b9263124d518d238262910e817d323 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 14 八月 2023 10:13:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java |   62 ++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 17 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
index 0c0868e..a56044c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
@@ -8,6 +8,7 @@
 import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
 import com.dsh.account.feignclient.competition.model.PaymentCompetition;
 import com.dsh.account.feignclient.course.CoursePaymentClient;
+import com.dsh.account.feignclient.course.model.CouponPaymentVo;
 import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
 import com.dsh.account.feignclient.other.RechargeConfigClient;
 import com.dsh.account.feignclient.other.SiteClient;
@@ -18,10 +19,7 @@
 import com.dsh.account.model.vo.userBenefitDetail.RechargePayRequest;
 import com.dsh.account.model.vo.userBenefitDetail.RechargesDetail;
 import com.dsh.account.service.RechargeRecordsService;
-import com.dsh.account.util.DateTimeHelper;
-import com.dsh.account.util.PayMoneyUtil;
-import com.dsh.account.util.ResultUtil;
-import com.dsh.account.util.UUIDUtil;
+import com.dsh.account.util.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
@@ -35,6 +33,7 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -94,17 +93,19 @@
                 consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg() );
                 consumeDetail.setConsumeTime(simpleDateFormat.format(competition.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + competition.getAmount());
+                consumeDetail.setRecordId(2);
                 details.add(consumeDetail);
             }
         }
 //            2.课包购买
-        List<TCoursePackagePayment> appuserCourseList = cpClient.getAppuserCourseList(appUserId);
+        List<CouponPaymentVo> appuserCourseList = cpClient.getAppuserCourseList(appUserId);
         if (appuserCourseList.size() > 0){
-            for (TCoursePackagePayment tCoursePackagePayment : appuserCourseList) {
+            for (CouponPaymentVo tCoursePackagePayment : appuserCourseList) {
                 RechargesDetail consumeDetail = new RechargesDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg() );
-                consumeDetail.setConsumeTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime()));
-                consumeDetail.setConsumeAmount("-" + tCoursePackagePayment.getPlayPaiCoin());
+                consumeDetail.setConsumeTime(tCoursePackagePayment.getTime());
+                consumeDetail.setConsumeAmount("-" + tCoursePackagePayment.getAmount());
+                consumeDetail.setRecordId(2);
                 details.add(consumeDetail);
             }
         }
@@ -116,6 +117,7 @@
                 consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.name());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
+                consumeDetail.setRecordId(2);
                 details.add(consumeDetail);
             }
         }
@@ -132,8 +134,14 @@
                 consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name() + ":" + rechargeRecord.getPlayPaiCoins());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
                 consumeDetail.setConsumeAmount("+" + rechargeRecord.getAmount());
+                consumeDetail.setRecordId(1);
                 details.add(consumeDetail);
             }
+        }
+        if (ToolUtil.isNotEmpty(recordId)){
+            details = details.stream()
+                    .filter(record -> record.getRecordId().equals(recordId))
+                    .collect(Collectors.toList());
         }
         if (details.size() > 0 ){
             Collections.sort(details, new Comparator<RechargesDetail>() {
@@ -150,9 +158,16 @@
                 }
             });
         }
-        Pageable pageable = PageRequest.of(pageNum - 1, pageSize);
-        Page<RechargesDetail> page = getPage(details, pageable);
-        return page.getContent();
+        //当前第几页
+        int pageNo = pageNum;
+        //一页五条
+        int size = pageSize;
+
+        //分页
+        details = details.stream().skip((pageNo - 1) * size).limit(size).
+                collect(Collectors.toList());
+
+        return details;
     }
 
     @Override
@@ -168,7 +183,7 @@
         BigDecimal amount = BigDecimal.ZERO;
         if (rechargeConfig.size() > 0){
             for (Map<String, Object> stringObjectMap : rechargeConfig) {
-                Long o = (Long) stringObjectMap.get("money");
+                double o = (double) stringObjectMap.get("money");
                 if (BigDecimal.valueOf(o).compareTo(request.getAmount()) == 0) {
                     amount = BigDecimal.valueOf(o);
                     rechargeRecords.setAmount(BigDecimal.valueOf(o));
@@ -334,11 +349,24 @@
         return null;
     }
 
-    // 对数据进行分页处理的方法
-    private static Page<RechargesDetail> getPage(List<RechargesDetail> 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());
+    public static <T> List<T> pageList(List<T> list, int pageNum, int pageSize) {
+        //计算总页数
+        int page = list.size() % pageSize == 0 ? list.size() / pageSize : list.size() / pageSize + 1;
+        //兼容性分页参数错误
+        pageNum = pageNum <= 0 ? 1 : pageNum;
+        pageNum = pageNum >= page ? page : pageNum;
+        // 开始索引
+        int begin = 0;
+        // 结束索引
+        int end = 0;
+        if (pageNum != page) {
+            begin = (pageNum - 1) * pageSize;
+            end = begin + pageSize;
+        } else {
+            begin = (pageNum - 1) * pageSize;
+            end = list.size();
+        }
+        return list.subList(begin, end);
     }
 
 }

--
Gitblit v1.7.1