From 8e2d31e804cd7fd5736c9c2e7b755b153b462f7a Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期五, 13 十月 2023 14:02:20 +0800
Subject: [PATCH] 10.12
---
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java | 94 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 75 insertions(+), 19 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 4fe4c9f..01d206d 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
@@ -4,24 +4,26 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.account.entity.RechargeRecords;
import com.dsh.account.entity.TAppUser;
+import com.dsh.account.entity.VipPayment;
import com.dsh.account.enums.RechargeRecordEnum;
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;
import com.dsh.account.feignclient.other.model.SiteBooking;
import com.dsh.account.mapper.RechargeRecordsMapper;
import com.dsh.account.mapper.TAppUserMapper;
+import com.dsh.account.model.IncomeQuery;
+import com.dsh.account.model.query.RechargeRecordsQuery;
+import com.dsh.account.model.vo.RechargeRecordsVO;
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 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 +37,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
/**
* <p>
@@ -69,6 +72,8 @@
@Resource
private RechargeConfigClient reconMapper;
+ @Autowired
+ private RechargeRecordsMapper rechargeRecordsMapper;
@Override
@@ -94,17 +99,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 +123,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 +140,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 +164,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,9 +189,8 @@
BigDecimal amount = BigDecimal.ZERO;
if (rechargeConfig.size() > 0){
for (Map<String, Object> stringObjectMap : rechargeConfig) {
- Integer chargeId = (Integer) stringObjectMap.get("chargeId");
- if (chargeId.equals(request.getChargeId())) {
- 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));
if (tAppUser.getIsVip() == 1) {
@@ -335,11 +355,47 @@
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());
+ @Override
+ public List<RechargeRecordsVO> rechargeList(RechargeRecordsQuery query) {
+ String STime = null;
+ String ETime = null;
+ if (StringUtils.hasLength(query.getTime())) {
+ STime = query.getTime().split(" - ")[0] + " 00:00:00";
+ ETime = query.getTime().split(" - ")[1] + " 23:59:59";
+ }
+
+ return rechargeRecordsMapper.rechargeList(query,STime,ETime);
+
+ }
+
+ @Override
+ public List<VipPayment> listAll(IncomeQuery query) {
+ String STime = null;
+ String ETime = null;
+ if (StringUtils.hasLength(query.getTime())) {
+ STime = query.getTime().split(" - ")[0] + " 00:00:00";
+ ETime = query.getTime().split(" - ")[1] + " 23:59:59";
+ }
+ return rechargeRecordsMapper.listAll(query,STime,ETime,query.getAmount(),query.getInsertType());
+ }
+ 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