From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java |  139 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 118 insertions(+), 21 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 309550a..08e324e 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,15 +1,23 @@
 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.IntegralDetailsResponse;
+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;
 import com.dsh.account.util.DateTimeHelper;
+import com.dsh.account.util.ToolUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -34,11 +42,13 @@
 
     @Resource
     private TAppUserMapper tauMapper;
-    
+
+    @Resource
+    private MerChandiseClient mcClient;
+
     @Override
-    public IntegralDetailsResponse queryUserPointsDetails(String yearMonth, Integer recordId, Integer userIdFormRedis) {
-        IntegralDetailsResponse vo = new IntegralDetailsResponse();
-        List<IntegralDetailsResponse.IntegralsData> details = new ArrayList<>();
+    public List<IntegralsData> queryUserPointsDetails(String yearMonth, Integer recordId, Integer userIdFormRedis) {
+        List<IntegralsData> details = new ArrayList<>();
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
 
         Date monthStart = null;
@@ -51,33 +61,38 @@
             monthEnd = DateTimeHelper.getCurrentMouthEnd();
         }
         List<UserIntegralChanges> userIntegralChanges = this.baseMapper.selectList(new QueryWrapper<UserIntegralChanges>()
-                .eq("appUserId",userIdFormRedis )
-                .between("insertTime",monthStart,monthEnd)
+                .eq("appUserId", userIdFormRedis)
+                .between("insertTime", monthStart, monthEnd)
                 .orderByDesc("insertTime"));
-        if (userIntegralChanges.size() > 0 ){
+        if (userIntegralChanges.size() > 0) {
             for (UserIntegralChanges userIntegralChange : userIntegralChanges) {
-                IntegralDetailsResponse.IntegralsData detail= new IntegralDetailsResponse.IntegralsData();
-                switch (userIntegralChange.getType()){
+                IntegralsData detail = new IntegralsData();
+                switch (userIntegralChange.getType()) {
                     case 1:
-                        detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+                        detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                         detail.setConsumeName("赠送积分");
                         detail.setDetailsType(2);
                         break;
                     case 2:
-                        detail.setConsumeAmount("-"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+                        detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                         detail.setConsumeName("兑换商品");
                         detail.setDetailsType(1);
                         break;
                     case 3:
-                        detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+                        detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                         detail.setConsumeName("完成课后练习");
                         detail.setDetailsType(2);
                         break;
                     case 4:
-                        detail.setConsumeAmount("+"+(userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+                        detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
                         detail.setConsumeTime(simpleDateFormat.format(userIntegralChange.getInsertTime()));
                         detail.setConsumeName("观看教学视频");
                         detail.setDetailsType(2);
+                        break;
+                    case 5:
+                        detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+                        detail.setConsumeName("智慧球场开始游戏");
+                        detail.setDetailsType(1);
                         break;
                     default:
                         break;
@@ -85,22 +100,20 @@
                 detail.setConsumeTime(simpleDateFormat.format(userIntegralChange.getInsertTime()));
                 details.add(detail);
             }
-            if (null != recordId){
+            if (null != recordId) {
                 details = details.stream()
-                        .filter(obj -> obj instanceof IntegralDetailsResponse.IntegralsData)
-                        .filter(obj -> Objects.equals(obj.getDetailsType(), recordId))
+                        .filter(obj -> obj instanceof IntegralsData)
+                        .filter(obj -> !Objects.equals(obj.getDetailsType(), recordId))
                         .collect(Collectors.toList());
             }
-            TAppUser tAppUser = tauMapper.selectById(userIdFormRedis);
-            vo.setWpGold(tAppUser.getIntegral());
-            vo.setDetailList(details);
         }
-        return vo;
+        return details;
     }
 
 
     /**
      * 保存用户积分变动
+     *
      * @param vo
      * @throws Exception
      */
@@ -111,9 +124,93 @@
         userIntegralChanges.setAppUserId(vo.getAppUserId());
         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);
+        userIntegralChanges.setRemark(vo.getRemark());
         this.save(userIntegralChanges);
     }
+
+    @Override
+    public List<ExchangeDetailsResponse> queryExchangeGoodsdetails(Integer userIdFormRedis, Integer useType, Integer goodType) {
+        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());
+            }
+        }
+        return detailsResponses;
+    }
+
+    @Override
+    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