From b1fb83530b7105e4aa73e4101727dea945eb01c2 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 29 八月 2025 21:48:15 +0800
Subject: [PATCH] bug修改
---
cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java | 162 ++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 128 insertions(+), 34 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 e04b185..cd07796 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,19 @@
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.IntegralDetailsResponse;
+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;
@@ -43,9 +47,8 @@
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;
@@ -58,32 +61,62 @@
monthEnd = DateTimeHelper.getCurrentMouthEnd();
}
List<UserIntegralChanges> userIntegralChanges = this.baseMapper.selectList(new QueryWrapper<UserIntegralChanges>()
- .eq("appUserId",userIdFormRedis )
- .between("insertTime",monthStart,monthEnd)
+ .eq("appUserId", userIdFormRedis).le("type", 5)
+ .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;
+ case 6:
+ detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("参与社区世界杯");
+ detail.setDetailsType(2);
+ break;
+ case 7:
+ detail.setConsumeAmount("+" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("社区世界杯获胜");
+ detail.setDetailsType(2);
+ break;
+ case 8:
+ detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("社区世界杯调整比分");
+ detail.setDetailsType(1);
+ break;
+ case 9:
+ detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("社区世界杯平场");
+ detail.setDetailsType(2);
+ break;
+ case 10:
+ detail.setConsumeAmount("" + (userIntegralChange.getNewIntegral() - userIntegralChange.getOldIntegral()));
+ detail.setConsumeName("社区世界杯败场");
detail.setDetailsType(2);
break;
default:
@@ -92,56 +125,117 @@
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
*/
@Override
- public void saveUserIntegralChanges(SaveUserIntegralChangesVo vo) throws Exception {
+ public void saveUserIntegralChanges(SaveUserIntegralChangesVo vo) {
TAppUser appUser = tauMapper.selectById(vo.getAppUserId());
UserIntegralChanges userIntegralChanges = new UserIntegralChanges();
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(vo.getIntegral() > 0 ? 1 : 2);
+ userIntegralChanges.setRemark(vo.getRemark());
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