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.course.CoursePaymentClient;
|
import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
|
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.service.RechargeRecordsService;
|
import com.dsh.account.util.DateTimeHelper;
|
import com.dsh.account.util.ResultUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.StringUtils;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 充值记录 服务实现类
|
* </p>
|
*
|
* @author jqs
|
* @since 2023-07-07
|
*/
|
@Service
|
public class RechargeRecordsServiceImpl extends ServiceImpl<RechargeRecordsMapper, RechargeRecords> implements RechargeRecordsService {
|
|
@Resource
|
private RechargeRecordsMapper rereMapper;
|
|
|
@Resource
|
private TAppUserMapper tappMapper;
|
|
@Autowired
|
private CoursePaymentClient cpClient;
|
|
|
@Override
|
public RechargeDetailsVo getAppUserRechargeRecord(String yearMonth, Integer recordId, Integer appUserId) {
|
RechargeDetailsVo vo = new RechargeDetailsVo();
|
List<RechargeDetailsVo.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();
|
}
|
|
TAppUser tAppUser = tappMapper.selectById(appUserId);
|
if (null != tAppUser){
|
vo.setWpGold(tAppUser.getPlayPaiCoins());
|
}else {
|
vo.setWpGold(0);
|
}
|
// 1.赛事报名
|
|
// 2.课包购买
|
List<TCoursePackagePayment> appuserCourseList = cpClient.getAppuserCourseList(appUserId);
|
if (appuserCourseList.size() > 0){
|
for (TCoursePackagePayment tCoursePackagePayment : appuserCourseList) {
|
RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
|
consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg() );
|
consumeDetail.setConsumeTime(simpleDateFormat.format(tCoursePackagePayment.getInsertTime()));
|
consumeDetail.setConsumeAmount("-" + tCoursePackagePayment.getPlayPaiCoin());
|
details.add(consumeDetail);
|
}
|
}
|
// 3.场地预约
|
// 4.智慧球场
|
|
// 5.充值
|
List<RechargeRecords> rechargeRecords = rereMapper.selectList(new QueryWrapper<RechargeRecords>()
|
.eq("payStatus", 2)
|
.eq("appUserId", appUserId)
|
.between("insertTime", monthStart, monthEnd));
|
if (rechargeRecords.size() > 0) {
|
for (RechargeRecords rechargeRecord : rechargeRecords) {
|
RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
|
consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name() + ":" + rechargeRecord.getPlayPaiCoins());
|
consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
|
consumeDetail.setConsumeAmount("+" + rechargeRecord.getAmount());
|
details.add(consumeDetail);
|
}
|
}
|
vo.setDetailList(details);
|
return vo;
|
}
|
|
@Override
|
public ResultUtil rechargePayment(Integer userIdFormRedis, RechargePayRequest request) {
|
// TODO: 2023/7/10 充值支付
|
switch (request.getPayType()){
|
case 1:
|
WeChatPayment(request.getPayAmount());
|
break;
|
case 2:
|
AlipayPayment(request.getPayAmount());
|
break;
|
default:
|
break;
|
}
|
return ResultUtil.success();
|
}
|
|
private void AlipayPayment(BigDecimal payAmount) {
|
|
|
}
|
|
private void WeChatPayment(BigDecimal payAmount) {
|
|
|
}
|
}
|