From e61275c2e77d27e299e74d84568bedd43b6d82ca Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期二, 25 七月 2023 11:52:06 +0800
Subject: [PATCH] 探索玩湃-积分商城的列表优化;managent模块去除冗余类

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 34 insertions(+), 24 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 daf66de..4fe4c9f 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
@@ -16,12 +16,17 @@
 import com.dsh.account.mapper.TAppUserMapper;
 import com.dsh.account.model.vo.userBenefitDetail.RechargeDetailsVo;
 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 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;
 
@@ -67,9 +72,8 @@
 
 
     @Override
-    public RechargeDetailsVo getAppUserRechargeRecord(String yearMonth, Integer recordId, Integer appUserId) {
-        RechargeDetailsVo vo = new RechargeDetailsVo();
-        List<RechargeDetailsVo.RechargesDetail> details = new ArrayList<>();
+    public List<RechargesDetail> getAppUserRechargeRecord(String yearMonth, Integer recordId, Integer appUserId,Integer pageNum,Integer pageSize) {
+        List<RechargesDetail> details = new ArrayList<>();
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
 
         Date monthStart = null;
@@ -82,17 +86,11 @@
             monthEnd = DateTimeHelper.getCurrentMouthEnd();
         }
 
-        TAppUser tAppUser = tappMapper.selectById(appUserId);
-        if (null != tAppUser){
-            vo.setWpGold(tAppUser.getPlayPaiCoins());
-        }else {
-            vo.setWpGold(0);
-        }
 //            1.赛事报名
         List<PaymentCompetition> playPaiFGoldPayRecord = deducClient.getPlayPaiFGoldPayRecord(appUserId);
         if (playPaiFGoldPayRecord.size() > 0 ){
             for (PaymentCompetition competition : playPaiFGoldPayRecord) {
-                RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
+                RechargesDetail consumeDetail = new RechargesDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg() );
                 consumeDetail.setConsumeTime(simpleDateFormat.format(competition.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + competition.getAmount());
@@ -103,7 +101,7 @@
         List<TCoursePackagePayment> appuserCourseList = cpClient.getAppuserCourseList(appUserId);
         if (appuserCourseList.size() > 0){
             for (TCoursePackagePayment tCoursePackagePayment : appuserCourseList) {
-                RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
+                RechargesDetail consumeDetail = new RechargesDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg() );
                 consumeDetail.setConsumeTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + tCoursePackagePayment.getPlayPaiCoin());
@@ -114,7 +112,7 @@
         List<SiteBooking> siteBookings = stClient.wanpaiGoldSiteBookingList(appUserId);
         if (siteBookings.size() > 0 ){
             for (SiteBooking booking : siteBookings) {
-                RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
+                RechargesDetail consumeDetail = new RechargesDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.name());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
                 consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
@@ -130,7 +128,7 @@
                 .between("insertTime", monthStart, monthEnd));
         if (rechargeRecords.size() > 0) {
             for (RechargeRecords rechargeRecord : rechargeRecords) {
-                RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
+                RechargesDetail consumeDetail = new RechargesDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name() + ":" + rechargeRecord.getPlayPaiCoins());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
                 consumeDetail.setConsumeAmount("+" + rechargeRecord.getAmount());
@@ -138,9 +136,9 @@
             }
         }
         if (details.size() > 0 ){
-            Collections.sort(details, new Comparator<RechargeDetailsVo.RechargesDetail>() {
+            Collections.sort(details, new Comparator<RechargesDetail>() {
                 @Override
-                public int compare(RechargeDetailsVo.RechargesDetail o1, RechargeDetailsVo.RechargesDetail o2) {
+                public int compare(RechargesDetail o1, RechargesDetail o2) {
                     try {
                         Date date1 = simpleDateFormat.parse(o1.getConsumeTime());
                         Date date2 = simpleDateFormat.parse(o2.getConsumeTime());
@@ -152,8 +150,9 @@
                 }
             });
         }
-        vo.setDetailList(details);
-        return vo;
+        Pageable pageable = PageRequest.of(pageNum - 1, pageSize);
+        Page<RechargesDetail> page = getPage(details, pageable);
+        return page.getContent();
     }
 
     @Override
@@ -164,15 +163,19 @@
         RechargeRecords rechargeRecords = new RechargeRecords();
         rechargeRecords.setCode(code);
         rechargeRecords.setAppUserId(userIdFormRedis);
-        rechargeRecords.setAmount(request.getPayAmount());
+
         List<Map<String, Object>> rechargeConfig = reconMapper.getRechargeConfig();
+        BigDecimal amount = BigDecimal.ZERO;
         if (rechargeConfig.size() > 0){
             for (Map<String, Object> stringObjectMap : rechargeConfig) {
-                Object o = stringObjectMap.get("money");
-                if (o.equals(request.getPayAmount())){
-                    if (tAppUser.getIsVip() == 1){
+                Integer chargeId = (Integer) stringObjectMap.get("chargeId");
+                if (chargeId.equals(request.getChargeId())) {
+                    Long o = (Long) stringObjectMap.get("money");
+                    amount = BigDecimal.valueOf(o);
+                    rechargeRecords.setAmount(BigDecimal.valueOf(o));
+                    if (tAppUser.getIsVip() == 1) {
                         rechargeRecords.setPlayPaiCoins((Integer) stringObjectMap.get("MemberCoins"));
-                    }else {
+                    } else {
                         rechargeRecords.setPlayPaiCoins((Integer) stringObjectMap.get("usersCoins"));
                     }
                 }
@@ -185,9 +188,9 @@
         try {
             switch (request.getPayType()){
                 case 1:
-                    return WeChatPayment(code,request.getPayAmount());
+                    return WeChatPayment(code,amount);
                 case 2:
-                    return AlipayPayment(code,request.getPayAmount());
+                    return AlipayPayment(code,amount);
                 default:
                     break;
             }
@@ -332,4 +335,11 @@
         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());
+    }
+
 }

--
Gitblit v1.7.1