From 55718b048ec0c5bd3b73deabb9154b5be511cbd5 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期三, 12 七月 2023 10:45:38 +0800
Subject: [PATCH] 使用福利:我的账单查询

---
 cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java                       |    3 +
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java                    |   56 ++++++++++++++----
 cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java     |    7 ++
 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PaymentCompetition.java    |   65 +++++++++++++++++++++
 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java             |    9 +++
 cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java                             |    2 
 cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java |    6 ++
 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java              |    3 +
 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java            |   21 +++++++
 9 files changed, 158 insertions(+), 14 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
index a88b8de..fe9c47e 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
@@ -2,6 +2,7 @@
 
 
 import com.dsh.account.feignclient.competition.model.GetStuSourseList;
+import com.dsh.account.feignclient.competition.model.PaymentCompetition;
 import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -14,4 +15,9 @@
     @PostMapping("/base/competition/getCompetitionsDetails")
     List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList getStuSourseList);
 
+    @PostMapping("/base/competition/getPayedCompetitions")
+    List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody Integer appUserId);
+
+    @PostMapping("/base/competition/getCancelOrderOfUserPay")
+    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody Integer appUserId);
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PaymentCompetition.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PaymentCompetition.java
new file mode 100644
index 0000000..359de61
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/PaymentCompetition.java
@@ -0,0 +1,65 @@
+package com.dsh.account.feignclient.competition.model;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/7/6 16:30
+ */
+@Data
+public class PaymentCompetition {
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 业务流水号
+     */
+    private String code;
+    /**
+     * 赛事id
+     */
+    private Integer competitionId;
+    /**
+     * 用户id
+     */
+    private Integer appUserId;
+    /**
+     * 支付方式(1=微信,2=支付宝,3=玩湃币,4=课时)
+     */
+    private Integer payType;
+    /**
+     * 支付金额
+     */
+    private Double amount;
+    /**
+     * 支付状态(1=待支付,2=已支付,3=已退款)
+     */
+    private Integer payStatus;
+    /**
+     * 支付时间
+     */
+    private Date payTime;
+    /**
+     * 第三方支付流水号
+     */
+    private String payOrderNo;
+    /**
+     * 退款时间
+     */
+    private Date refundTime;
+    /**
+     * 第三方退款流水
+     */
+    private String refundOrderNo;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    private Integer state;
+    /**
+     * 添加时间
+     */
+    private Date insertTime;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
index 9030b72..2e0b74f 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -49,4 +49,7 @@
     @PostMapping("/base/coursePack/savePaymentCoursePackage")
     public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment);
 
+    @PostMapping("/base/coursePack/allAmountPayRecordOfUser")
+    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId);
+
 }
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
index 3669462..e63f6f4 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -107,7 +107,7 @@
     /**
      * 获取用户账单列表
      * @param yearMonth 年月
-     * @param recordId 记录id
+     * @param recordId 记录
      * @return
      */
     BillingDetailsVo queryUserBillingDetails(String yearMonth, Integer recordId,Integer appUserId);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 851bc50..80663ea 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -12,12 +12,11 @@
 import com.dsh.account.feignclient.activity.UserConponClient;
 import com.dsh.account.feignclient.activity.model.CommodityRequest;
 import com.dsh.account.feignclient.activity.model.PointsMerchandise;
+import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
+import com.dsh.account.feignclient.competition.model.PaymentCompetition;
 import com.dsh.account.feignclient.course.CoursePackageClient;
 import com.dsh.account.feignclient.course.CoursePaymentClient;
-import com.dsh.account.feignclient.course.model.CourseOfStoreVo;
-import com.dsh.account.feignclient.course.model.CoursePackage;
-import com.dsh.account.feignclient.course.model.QueryStoreList;
-import com.dsh.account.feignclient.course.model.StuCourseResp;
+import com.dsh.account.feignclient.course.model.*;
 import com.dsh.account.feignclient.other.ImgConfigClient;
 import com.dsh.account.feignclient.other.RechargeConfigClient;
 import com.dsh.account.feignclient.other.StoreClient;
@@ -110,6 +109,9 @@
 
     @Resource
     private CoursePackageClient cpageClient;
+
+    @Resource
+    private DeductionCompetitionsClient deducClient;
 
     @Override
     public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
@@ -489,7 +491,6 @@
         BillingDetailsVo vo = new BillingDetailsVo();
         List<BillingDetailsVo.ConsumeDetail> details = new ArrayList<>();
 
-        // TODO: 2023/7/11 账单记录查询
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
         Date monthStart = null;
         Date monthEnd = null;
@@ -501,11 +502,41 @@
             monthEnd = DateTimeHelper.getCurrentMouthEnd();
         }
 //            1.赛事报名
-//            2.课包购买
-
-//            3.场地预约
-//            4.智慧球场
-//            5.年度会员
+        List<PaymentCompetition> allCompetitionPayRecord = deducClient.getAllCompetitionPayRecord(appUserId);
+        if (allCompetitionPayRecord.size() > 0 ){
+            for (PaymentCompetition paymentCompetition : allCompetitionPayRecord) {
+                BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg());
+                consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime()));
+                consumeDetail.setConsumeAmount("-" + paymentCompetition.getAmount());
+                details.add(consumeDetail);
+            }
+        }
+//            2.取消赛事报名
+        List<PaymentCompetition> cancelOrderOfUserPayRecord = deducClient.getCancelOrderOfUserPayRecord(appUserId);
+        if (cancelOrderOfUserPayRecord.size() > 0 ){
+            for (PaymentCompetition paymentCompetition : cancelOrderOfUserPayRecord) {
+                BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_EVENT_REGISTRATION.getMsg());
+                consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime()));
+                consumeDetail.setConsumeAmount("+" + paymentCompetition.getAmount());
+                details.add(consumeDetail);
+            }
+        }
+//            3.课包购买
+        List<TCoursePackagePayment> amountPayRecord = paymentClient.getAmountPayRecord(appUserId);
+        if (amountPayRecord.size() > 0 ){
+            for (TCoursePackagePayment coursePackagePayment : amountPayRecord) {
+                BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg());
+                consumeDetail.setConsumeTime(simpleDateFormat.format(coursePackagePayment.getInsertTime()));
+                consumeDetail.setConsumeAmount("-" + coursePackagePayment.getCashPayment());
+                details.add(consumeDetail);
+            }
+        }
+//            4.场地预约
+//            5.智慧球场
+//            6.年度会员
         List<VipPayment> vipPayments = vipPaymentMapper.selectList(new QueryWrapper<VipPayment>()
                 .eq("payStatus", 2)
                 .eq("appUserId", appUserId)
@@ -515,11 +546,10 @@
                 BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.ANNUAL_MEMBERSHIP.getMsg());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(vipPayment.getInsertTime()));
-                consumeDetail.setConsumeAmount("+" + vipPayment.getAmount());
+                consumeDetail.setConsumeAmount("-" + vipPayment.getAmount());
                 details.add(consumeDetail);
             }
         }
-//            6.续课
 //            7.充值
         List<RechargeRecords> rechargeRecords = rrMapper.selectList(new QueryWrapper<RechargeRecords>()
                 .eq("payStatus", 2)
@@ -530,7 +560,7 @@
                 BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
                 consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":" + rechargeRecord.getPlayPaiCoins());
                 consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
-                consumeDetail.setConsumeAmount("+" + rechargeRecord.getAmount());
+                consumeDetail.setConsumeAmount("-" + rechargeRecord.getAmount());
                 details.add(consumeDetail);
             }
         }
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
index dfbb732..79a520b 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -63,8 +63,29 @@
     private IPaymentCompetitionService paymentCompetitionService;
 
 
+    @PostMapping("/base/competition/getPayedCompetitions")
+    public List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody Integer appUserId){
+        List<Integer> integers = new ArrayList<>();
+        integers.add(1);
+        integers.add(2);
+        return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
+                .in("payType",integers)
+                .eq("appUserId",appUserId)
+                .eq("payStatus",2));
+    }
 
 
+    @PostMapping("/base/competition/getCancelOrderOfUserPay")
+    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody Integer appUserId){
+        List<Integer> integers = new ArrayList<>();
+        integers.add(1);
+        integers.add(2);
+        return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
+                .in("payType",integers)
+                .eq("appUserId",appUserId)
+                .eq("payStatus",3));
+    }
+
 
 
     @PostMapping("/base/competition/getCompetitionsDetails")
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
index e23d5b5..1567a97 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
@@ -1,6 +1,7 @@
 package com.dsh.competition.feignclient;
 
 
+import com.dsh.competition.entity.PaymentCompetition;
 import com.dsh.competition.feignclient.model.GetStuSourseList;
 import com.dsh.competition.feignclient.model.PurchaseRecordVo;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -15,4 +16,10 @@
     @PostMapping("/base/competition/getCompetitionsDetails")
     public List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList sourseList);
 
+    @PostMapping("/base/competition/getPayedCompetitions")
+    List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody Integer appUserId);
+
+    @PostMapping("/base/competition/getCancelOrderOfUserPay")
+    public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody Integer appUserId);
+
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index c18ed93..574528c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -338,6 +338,15 @@
                 .eq("state",1));
     }
 
+    @PostMapping("/base/coursePack/allAmountPayRecordOfUser")
+    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId){
+        return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+                .eq("appUserId",appUserId)
+                .notIn("payType",3)
+                .eq("payStatus",2)
+                .eq("state",1));
+    }
+
 
     @ResponseBody
     @PostMapping("/api/course/queryArrangeCourseList")
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
index 3c6311a..d081599 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -55,4 +55,7 @@
     @PostMapping("/base/coursePack/savePaymentCoursePackage")
     public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment);
 
+    @PostMapping("/base/coursePack/allAmountPayRecordOfUser")
+    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody Integer appUserId);
+
 }

--
Gitblit v1.7.1