From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期四, 26 十月 2023 18:04:58 +0800
Subject: [PATCH] 修改bug

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java |   89 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 75 insertions(+), 14 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
index 68321ea..5d076e5 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -1,14 +1,18 @@
 package com.dsh.account.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.account.entity.TAppUser;
+import com.dsh.account.entity.UserIntegral;
 import com.dsh.account.entity.UserIntegralChanges;
 import com.dsh.account.feignclient.activity.MerChandiseClient;
 import com.dsh.account.mapper.TAppUserMapper;
 import com.dsh.account.mapper.UserIntegralChangesMapper;
+import com.dsh.account.model.IntegralListQuery;
 import com.dsh.account.model.SaveUserIntegralChangesVo;
 import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse;
+import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsVo;
 import com.dsh.account.model.vo.userBenefitDetail.IntegralsData;
 import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo;
 import com.dsh.account.service.UserIntegralChangesService;
@@ -70,7 +74,7 @@
                         detail.setDetailsType(2);
                         break;
                     case 2:
-                        detail.setConsumeAmount("-"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+                        detail.setConsumeAmount(""+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                         detail.setConsumeName("兑换商品");
                         detail.setDetailsType(1);
                         break;
@@ -115,29 +119,86 @@
         userIntegralChanges.setOldIntegral(appUser.getIntegral());
         userIntegralChanges.setType(vo.getType());
         appUser.setIntegral(appUser.getIntegral() + vo.getIntegral());
+        tauMapper.updateById(appUser);
         userIntegralChanges.setNewIntegral(appUser.getIntegral());
         userIntegralChanges.setInsertTime(new Date());
+        userIntegralChanges.setCategory(1);
         this.save(userIntegralChanges);
     }
 
     @Override
     public List<ExchangeDetailsResponse> queryExchangeGoodsdetails(Integer userIdFormRedis, Integer useType, Integer goodType) {
-        List<ExchangeDetailsResponse> integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
-        if (ToolUtil.isNotEmpty(useType)){
-            integralExchangeDetails = integralExchangeDetails.stream()
-                    .filter(response -> Objects.equals(response.getUseStatus(), useType))
-                    .collect(Collectors.toList());
+        List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>();
+        ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
+        if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())){
+            detailsResponses = integralExchangeDetails.getDetailsResponses();
+            if (ToolUtil.isNotEmpty(useType)){
+                detailsResponses = integralExchangeDetails.getDetailsResponses().stream()
+                        .filter(response -> Objects.equals(response.getUseStatus(), useType))
+                        .collect(Collectors.toList());
+            }
+            if (ToolUtil.isNotEmpty(goodType)){
+                detailsResponses = integralExchangeDetails.getDetailsResponses().stream()
+                        .filter(response -> Objects.equals(response.getGoodType(), goodType))
+                        .collect(Collectors.toList());
+            }
         }
-        if (ToolUtil.isNotEmpty(goodType)){
-            integralExchangeDetails = integralExchangeDetails.stream()
-                    .filter(response -> Objects.equals(response.getGoodType(), goodType))
-                    .collect(Collectors.toList());
-        }
-        return integralExchangeDetails;
+        return detailsResponses;
     }
 
     @Override
-    public PointDetailsVo queryRedemptionDetails(Integer detailsId) {
-        return mcClient.getSpecificsOfGoods(detailsId);
+    public PointDetailsVo queryRedemptionDetails(Long detailsId) {
+        PointDetailsVo specificsOfGoods = mcClient.getSpecificsOfGoods(detailsId);
+        return specificsOfGoods;
+    }
+
+    @Override
+    public Page<UserIntegral> listAll(Page<UserIntegral> userIntegralPage, IntegralListQuery integralListQuery) {
+        String sTime =null;
+        String eTime =null;
+        if(ToolUtil.isNotEmpty(integralListQuery.getTime())){
+            sTime = integralListQuery.getTime().split(" - ")[0]+" 00:00:00";
+            eTime = integralListQuery.getTime().split(" - ")[1]+" 23:59:59";
+        }
+        Page<UserIntegral> userIntegrals = this.baseMapper.listAll(userIntegralPage, integralListQuery, sTime, eTime);
+        for (UserIntegral userIntegral : userIntegrals.getRecords()) {
+            if(userIntegral.getCategory()==1){
+                userIntegral.setIntegral(userIntegral.getNewIntegral()-userIntegral.getOldIntegral());
+            }else {
+                userIntegral.setIntegral(userIntegral.getOldIntegral()-userIntegral.getNewIntegral());
+            }
+        }
+        return userIntegrals;
+    }
+
+    @Override
+    public List<ExchangeDetailsResponse> queryExchangeGoodsdetails1(Integer userIdFormRedis, Integer useType, Integer goodType, Integer page, Integer size) {
+        List<ExchangeDetailsResponse> detailsResponses = new ArrayList<>();
+        ExchangeDetailsVo integralExchangeDetails = mcClient.getIntegralExchangeDetails(userIdFormRedis);
+        if (ToolUtil.isNotEmpty(integralExchangeDetails.getDetailsResponses())){
+            detailsResponses = integralExchangeDetails.getDetailsResponses();
+            if (ToolUtil.isNotEmpty(useType)){
+                detailsResponses = detailsResponses.stream()
+                        .filter(response -> Objects.equals(response.getUseStatus(), useType))
+                        .collect(Collectors.toList());
+            }
+            if (ToolUtil.isNotEmpty(goodType)){
+                detailsResponses = detailsResponses.stream()
+                        .filter(response -> Objects.equals(response.getGoodType(), goodType))
+                        .collect(Collectors.toList());
+            }
+        }
+
+        int totalItems = detailsResponses.size();
+        int startIndex = (page - 1) * size;
+        int endIndex = Math.min(startIndex + size, totalItems);
+
+        if (startIndex <= endIndex) {
+            detailsResponses = detailsResponses.subList(startIndex, endIndex);
+        } else {
+            detailsResponses.clear();
+        }
+
+        return detailsResponses;
     }
 }

--
Gitblit v1.7.1