From 437a74c950f626398edd13025c654286280e7bbc Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 01 九月 2025 18:01:30 +0800
Subject: [PATCH] bug修改
---
cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java | 130 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 119 insertions(+), 11 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
index a3e5662..bf0e37a 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
@@ -1,25 +1,31 @@
package com.dsh.account.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.dsh.account.entity.CoachType;
import com.dsh.account.entity.RechargeRecords;
+import com.dsh.account.entity.TAppUser;
import com.dsh.account.entity.VipPayment;
+import com.dsh.account.feignclient.activity.UserConponClient;
import com.dsh.account.model.IncomeQuery;
+import com.dsh.account.model.dto.VipPaymentDto;
+import com.dsh.account.model.dto.VipRefundDto;
import com.dsh.account.model.query.RechargeRecordsQuery;
-import com.dsh.account.model.query.coachQuery.CoachQuery;
-import com.dsh.account.model.vo.CoachSerchVO;
import com.dsh.account.model.vo.RechargeRecordsVO;
-import com.dsh.account.service.CoachService;
-import com.dsh.account.service.CoachTypeService;
-import com.dsh.account.service.IVipPaymentService;
-import com.dsh.account.service.RechargeRecordsService;
+import com.dsh.account.model.vo.VipPaymentListVO;
+import com.dsh.account.service.*;
+import io.swagger.models.auth.In;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
-import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 充值记录控制器
@@ -31,6 +37,10 @@
private RechargeRecordsService rechargeRecordsService;
@Autowired
private IVipPaymentService vipPaymentService;
+ @Autowired
+ private TAppUserService appUserService;
+ @Autowired
+ private UserConponClient userConponClient;
/**
@@ -38,15 +48,113 @@
*/
@ResponseBody
@RequestMapping("/finance/rechargeList")
- public List<RechargeRecordsVO> rechargeList(@RequestBody RechargeRecordsQuery query){
- return rechargeRecordsService.rechargeList(query);
+ public List<RechargeRecordsVO> rechargeList(@RequestBody RechargeRecordsQuery query) {
+ List<RechargeRecordsVO> rechargeRecordsVOS = rechargeRecordsService.rechargeList(query);
+ for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) {
+ TAppUser byId = appUserService.getById(rechargeRecordsVO.getAppUserId());
+ if (byId == null) continue;
+ Date vipEndTime = byId.getVipEndTime();
+ if (vipEndTime == null) {
+ rechargeRecordsVO.setType(2);
+ continue;
+ }
+ if (rechargeRecordsVO.getPayTime().after(vipEndTime)) {
+ rechargeRecordsVO.setType(2);
+ } else {
+ rechargeRecordsVO.setType(1);
+ }
+ }
+ return rechargeRecordsVOS;
}
+
+ /**
+ * 数据统计-充值记录列表数据
+ */
+ @ResponseBody
+ @RequestMapping("/finance/rechargeList1")
+ public List<RechargeRecords> rechargeList1(@RequestBody RechargeRecordsQuery query) {
+ List<RechargeRecords> payStatus = rechargeRecordsService.list(new QueryWrapper<RechargeRecords>().eq("payStatus", 2));
+ for (RechargeRecords list : payStatus) {
+ TAppUser byId = appUserService.getById(list.getAppUserId());
+ Integer addUserId = byId.getAddUserId();
+
+ }
+ return payStatus;
+ }
+
/**
* 加入会员列表数据
*/
@ResponseBody
@RequestMapping("/finance/vipPaymentList")
- public List<VipPayment> registrationList(@RequestBody IncomeQuery query){
+ public List<VipPayment> registrationList(@RequestBody IncomeQuery query) {
return rechargeRecordsService.listAll(query);
}
+ /**
+ * 退费
+ */
+ @ResponseBody
+ @RequestMapping("/finance/refund")
+ public String refund(@RequestBody VipRefundDto vipRefundDto) throws ParseException {
+ VipPayment vipPayment = vipPaymentService.getById(vipRefundDto.getId());
+ if (vipPayment==null){
+ return "500";
+ }
+ Integer appUserId = vipPayment.getAppUserId();
+ TAppUser appUser = appUserService.getById(appUserId);
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date parse = simpleDateFormat.parse(vipRefundDto.getEndTime() + " 00:00:00");
+ appUser.setVipEndTime( parse);
+ if (parse.before(new Date())){
+ appUser.setIsVip(0);
+ }
+ vipPayment.setRemark(vipRefundDto.getRemark());
+ appUserService.updateById(appUser);
+ vipPayment.setPayStatus(3);
+ vipPaymentService.updateById(vipPayment);
+ // 将未使用的门票优惠券设置为已过期
+ userConponClient.setStatusVipDetail(vipPayment.getId());
+ return "200";
+ }
+
+ @ResponseBody
+ @PostMapping("/finance/vipPayment")
+ List<VipPaymentListVO> vipPayment(@RequestBody VipPaymentDto vipPaymentDto){
+ List<VipPaymentListVO> vipPaymentListVOS = new ArrayList<>();
+
+ List<Integer> payStatus = new ArrayList<>();
+ LambdaQueryWrapper<VipPayment> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ vipPaymentLambdaQueryWrapper.in(vipPaymentDto.getUserIds()!=null&&!vipPaymentDto.getUserIds().isEmpty(),VipPayment::getAppUserId, vipPaymentDto.getUserIds());
+ vipPaymentLambdaQueryWrapper.in(vipPaymentDto.getVipIds()!=null&&!vipPaymentDto.getVipIds().isEmpty(),VipPayment::getVipId, vipPaymentDto.getVipIds());
+ vipPaymentLambdaQueryWrapper.ge(StringUtils.hasLength(vipPaymentDto.getStartTime()), VipPayment::getInsertTime, vipPaymentDto.getStartTime());
+ vipPaymentLambdaQueryWrapper.le(StringUtils.hasLength(vipPaymentDto.getEndTime()), VipPayment::getInsertTime, vipPaymentDto.getEndTime());
+ if (vipPaymentDto.getIsRefund()==null){
+ payStatus.add(3);
+ payStatus.add(2);
+ }
+ if (vipPaymentDto.getIsRefund()!=null&&vipPaymentDto.getIsRefund()==1){
+ payStatus.add(3);
+ }
+ if (vipPaymentDto.getIsRefund()!=null&&vipPaymentDto.getIsRefund()==2){
+ payStatus.add(2);
+ }
+ vipPaymentLambdaQueryWrapper.in(VipPayment::getPayStatus,payStatus);
+
+ vipPaymentLambdaQueryWrapper.orderByDesc(VipPayment::getInsertTime);
+ List<VipPayment> list = vipPaymentService.list(vipPaymentLambdaQueryWrapper);
+ // 使用 Stream + 手动拷贝提升性能和可读性(或使用 MapStruct)
+ vipPaymentListVOS = list.stream().map(vipDetail -> {
+ VipPaymentListVO vo = new VipPaymentListVO();
+ BeanUtils.copyProperties(vipDetail,vo); // 注意参数顺序是否正确
+ return vo;
+ }).collect(Collectors.toList());
+ for (VipPaymentListVO vipPaymentListVO : vipPaymentListVOS) {
+ if (vipPaymentListVO.getPayStatus()==2){
+ vipPaymentListVO.setIsRefund(0);
+ }else {
+ vipPaymentListVO.setIsRefund(1);
+ }
+ }
+ return vipPaymentListVOS;
+ }
}
--
Gitblit v1.7.1