From 6b7bbf4c2a9470bb9c674dd5a866004e4f061031 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 25 七月 2023 17:45:48 +0800
Subject: [PATCH] 删除管理后台无用代码
---
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java | 325 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 325 insertions(+), 0 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 83729db..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
@@ -1,10 +1,40 @@
package com.dsh.account.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.account.entity.RechargeRecords;
+import com.dsh.account.entity.TAppUser;
+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.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.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;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* <p>
@@ -17,4 +47,299 @@
@Service
public class RechargeRecordsServiceImpl extends ServiceImpl<RechargeRecordsMapper, RechargeRecords> implements RechargeRecordsService {
+ @Resource
+ private RechargeRecordsMapper rereMapper;
+
+
+ @Resource
+ private TAppUserMapper tappMapper;
+
+ @Autowired
+ private CoursePaymentClient cpClient;
+
+ @Autowired
+ private DeductionCompetitionsClient deducClient;
+
+ @Autowired
+ private PayMoneyUtil payMoneyUtil;
+
+ @Resource
+ private SiteClient stClient;
+
+
+ @Resource
+ private RechargeConfigClient reconMapper;
+
+
+ @Override
+ 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;
+ Date monthEnd = null;
+ if (StringUtils.hasText(yearMonth)) {
+ monthStart = DateTimeHelper.getCurrentIdetMouthStart(yearMonth);
+ monthEnd = DateTimeHelper.getCurrentIdeaMouthEnd(yearMonth);
+ } else {
+ monthStart = DateTimeHelper.getCurrentMouthStart();
+ monthEnd = DateTimeHelper.getCurrentMouthEnd();
+ }
+
+// 1.赛事报名
+ List<PaymentCompetition> playPaiFGoldPayRecord = deducClient.getPlayPaiFGoldPayRecord(appUserId);
+ if (playPaiFGoldPayRecord.size() > 0 ){
+ for (PaymentCompetition competition : playPaiFGoldPayRecord) {
+ RechargesDetail consumeDetail = new RechargesDetail();
+ consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg() );
+ consumeDetail.setConsumeTime(simpleDateFormat.format(competition.getInsertTime()));
+ consumeDetail.setConsumeAmount("-" + competition.getAmount());
+ details.add(consumeDetail);
+ }
+ }
+// 2.课包购买
+ List<TCoursePackagePayment> appuserCourseList = cpClient.getAppuserCourseList(appUserId);
+ if (appuserCourseList.size() > 0){
+ for (TCoursePackagePayment tCoursePackagePayment : appuserCourseList) {
+ RechargesDetail consumeDetail = new RechargesDetail();
+ consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg() );
+ consumeDetail.setConsumeTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime()));
+ consumeDetail.setConsumeAmount("-" + tCoursePackagePayment.getPlayPaiCoin());
+ details.add(consumeDetail);
+ }
+ }
+// 3.场地预约
+ List<SiteBooking> siteBookings = stClient.wanpaiGoldSiteBookingList(appUserId);
+ if (siteBookings.size() > 0 ){
+ for (SiteBooking booking : siteBookings) {
+ RechargesDetail consumeDetail = new RechargesDetail();
+ consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.name());
+ consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
+ consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
+ details.add(consumeDetail);
+ }
+ }
+// 4.智慧球场
+
+// 5.充值
+ List<RechargeRecords> rechargeRecords = this.baseMapper.selectList(new QueryWrapper<RechargeRecords>()
+ .eq("payStatus", 2)
+ .eq("appUserId", appUserId)
+ .between("insertTime", monthStart, monthEnd));
+ if (rechargeRecords.size() > 0) {
+ for (RechargeRecords rechargeRecord : rechargeRecords) {
+ RechargesDetail consumeDetail = new RechargesDetail();
+ consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name() + ":" + rechargeRecord.getPlayPaiCoins());
+ consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
+ consumeDetail.setConsumeAmount("+" + rechargeRecord.getAmount());
+ details.add(consumeDetail);
+ }
+ }
+ if (details.size() > 0 ){
+ Collections.sort(details, new Comparator<RechargesDetail>() {
+ @Override
+ public int compare(RechargesDetail o1, RechargesDetail o2) {
+ try {
+ Date date1 = simpleDateFormat.parse(o1.getConsumeTime());
+ Date date2 = simpleDateFormat.parse(o2.getConsumeTime());
+ return date2.compareTo(date1); // 降序排序
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+ });
+ }
+ Pageable pageable = PageRequest.of(pageNum - 1, pageSize);
+ Page<RechargesDetail> page = getPage(details, pageable);
+ return page.getContent();
+ }
+
+ @Override
+ public ResultUtil rechargeCenPayment(Integer userIdFormRedis, RechargePayRequest request) {
+ TAppUser tAppUser = tappMapper.selectById(userIdFormRedis);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
+ RechargeRecords rechargeRecords = new RechargeRecords();
+ rechargeRecords.setCode(code);
+ rechargeRecords.setAppUserId(userIdFormRedis);
+
+ List<Map<String, Object>> rechargeConfig = reconMapper.getRechargeConfig();
+ 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");
+ amount = BigDecimal.valueOf(o);
+ rechargeRecords.setAmount(BigDecimal.valueOf(o));
+ if (tAppUser.getIsVip() == 1) {
+ rechargeRecords.setPlayPaiCoins((Integer) stringObjectMap.get("MemberCoins"));
+ } else {
+ rechargeRecords.setPlayPaiCoins((Integer) stringObjectMap.get("usersCoins"));
+ }
+ }
+ }
+ }
+ rechargeRecords.setPayStatus(1);
+ rechargeRecords.setState(1);
+ rechargeRecords.setInsertTime(new Date());
+ this.baseMapper.insert(rechargeRecords);
+ try {
+ switch (request.getPayType()){
+ case 1:
+ return WeChatPayment(code,amount);
+ case 2:
+ return AlipayPayment(code,amount);
+ default:
+ break;
+ }
+ }catch (Exception e){
+ ResultUtil.runErr();
+ }
+ return ResultUtil.success();
+ }
+
+
+
+ private ResultUtil AlipayPayment(String code,BigDecimal amount) {
+ ResultUtil alipay = payMoneyUtil.alipay("玩湃币充值", "玩湃币充值", "", code, amount.toString(),
+ "/base/recharge/alipayRechargeCallback");
+ if(alipay.getCode() == 200){
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ int num = 1;
+ int wait = 0;
+ while (num <= 10){
+ int min = 5000;
+ wait += (min * num);
+ Thread.sleep(wait);
+
+ RechargeRecords records = rereMapper.selectOne(new QueryWrapper<RechargeRecords>()
+ .eq("code",code));
+ if(records.getPayStatus() == 2){
+ break;
+ }
+ ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code);
+ if(resultUtil.getCode() == 200 && records.getPayStatus() == 1){
+ /**
+ * WAIT_BUYER_PAY(交易创建,等待买家付款)、
+ * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
+ * TRADE_SUCCESS(交易支付成功)、
+ * TRADE_FINISHED(交易结束,不可退款)
+ */
+ Map<String, String> data1 = resultUtil.getData();
+ String s = data1.get("tradeStatus");
+ String tradeNo = data1.get("tradeNo");
+ if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
+ records.setState(3);
+ rereMapper.deleteById(records.getId());
+ break;
+ }
+ if("TRADE_SUCCESS".equals(s)){
+ records.setPayStatus(2);
+ records.setOrderNumber(tradeNo);
+ rereMapper.updateById(records);
+ break;
+ }
+ if("WAIT_BUYER_PAY".equals(s)){
+ num++;
+ }
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }).start();
+ }
+ return alipay;
+ }
+
+ private ResultUtil WeChatPayment(String code,BigDecimal amount) throws Exception {
+ ResultUtil weixinpay = payMoneyUtil.weixinpay("玩湃币充值", "", code, amount.toString(),
+ "/base/recharge/wechatRechargeCallback", "APP", "");
+ if(weixinpay.getCode() == 200){
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ int num = 1;
+ int wait = 0;
+ while (num <= 10){
+ int min = 5000;
+ wait += (min * num);
+ Thread.sleep(wait);
+ RechargeRecords records = rereMapper.selectOne(new QueryWrapper<RechargeRecords>()
+ .eq("code",code));
+ if(records.getPayStatus() == 2){
+ break;
+ }
+ ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(code, "");
+ if(resultUtil.getCode() == 200 && records.getPayStatus() == 1){
+ /**
+ * SUCCESS—支付成功,
+ * REFUND—转入退款,
+ * NOTPAY—未支付,
+ * CLOSED—已关闭,
+ * REVOKED—已撤销(刷卡支付),
+ * USERPAYING--用户支付中,
+ * PAYERROR--支付失败(其他原因,如银行返回失败)
+ */
+ Map<String, String> data1 = resultUtil.getData();
+ String s = data1.get("trade_state");
+ String transaction_id = data1.get("transaction_id");
+ if("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){
+ records.setState(3);
+ rereMapper.deleteById(records.getId());
+ break;
+ }
+ if("SUCCESS".equals(s)){
+ records.setPayStatus(2);
+ records.setOrderNumber(transaction_id);
+ rereMapper.updateById(records);
+ break;
+ }
+ if("USERPAYING".equals(s)){
+ num++;
+ }
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }).start();
+ }
+ return weixinpay;
+
+ }
+
+ @Override
+ public ResultUtil addRechargeCallbackPay(String code, String orderNumber) {
+ RechargeRecords rechargeRecords = this.baseMapper.selectOne(new QueryWrapper<RechargeRecords>()
+ .eq("code", code));
+ if (rechargeRecords.getPayStatus() == 2){
+ return ResultUtil.success();
+ }
+ rechargeRecords.setPayStatus(2);
+ rechargeRecords.setPayTime(new Date());
+ rechargeRecords.setOrderNumber(orderNumber);
+ this.baseMapper.updateById(rechargeRecords);
+
+ TAppUser tAppUser = tappMapper.selectById(rechargeRecords.getAppUserId());
+ tAppUser.setPlayPaiCoins(null == tAppUser.getPlayPaiCoins()? rechargeRecords.getPlayPaiCoins(): tAppUser.getPlayPaiCoins() +rechargeRecords.getPlayPaiCoins() );
+ tappMapper.updateById(tAppUser);
+ 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