From 9eb13929c8574e2b994db1e06f600d44f14af4a1 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期三, 19 七月 2023 17:38:23 +0800
Subject: [PATCH] 使用明细:充值明细的场地预约记录查询

---
 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java            |   22 ++++
 cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java                      |   20 ++++
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java        |   24 ++++
 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java                   |   39 +++++++
 cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java |   38 ++++++-
 cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/SiteBooking.java     |  125 +++++++++++++++++++++++++
 6 files changed, 260 insertions(+), 8 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
new file mode 100644
index 0000000..4a5661e
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
@@ -0,0 +1,22 @@
+package com.dsh.account.feignclient.other;
+
+import com.dsh.account.feignclient.other.model.SiteBooking;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+
+@FeignClient("mb-cloud-other")
+public interface SiteClient {
+
+    @PostMapping("/base/site/queryPaymentSiteDetail")
+    List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId);
+
+
+    @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
+    List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId);
+
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/SiteBooking.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/SiteBooking.java
new file mode 100644
index 0000000..586b9dd
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/SiteBooking.java
@@ -0,0 +1,125 @@
+package com.dsh.account.feignclient.other.model;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/7/13 16:11
+ */
+@Data
+public class SiteBooking {
+    /**
+     * 主键
+     */
+    private Integer id;
+    /**
+     * 业务流水号
+     */
+    private String orderNo;
+    /**
+     * 省
+     */
+    private String province;
+    /**
+     * 省编号
+     */
+    private String provinceCode;
+    /**
+     * 市名称
+     */
+    private String city;
+    /**
+     * 市编号
+     */
+    private String cityCode;
+    /**
+     * 门店id
+     */
+    private Integer storeId;
+    /**
+     * 场地id
+     */
+    private Integer siteId;
+    /**
+     * 用户id
+     */
+    private Integer appUserId;
+    /**
+     * 预约时段
+     */
+    private String times;
+    /**
+     * 预约开始时间
+     */
+    private Date startTime;
+    /**
+     * 预约结束
+     */
+    private Date endTime;
+    /**
+     * 预约人
+     */
+    private String booker;
+    /**
+     * 联系方式
+     */
+    private String phone;
+    /**
+     * 支付方式(1=微信,2=支付宝,3=玩湃比,4=手动支付)
+     */
+    private Integer payType;
+    /**
+     * 支付时间
+     */
+    private Date payTime;
+    /**
+     * 支付金额
+     */
+    private Double payMoney;
+    /**
+     * 优惠券id
+     */
+    private Long userCouponId;
+    /**
+     * 状态(0=待支付,1=待核销,2=已到店,3=已完成,4=已过期,5=已取消)
+     */
+    private Integer status;
+    /**
+     * 第三方支付流水号
+     */
+    private String payOrderNo;
+    /**
+     * 手动支付操作用户id
+     */
+    private Integer payUserId;
+    /**
+     * 取消用户id
+     */
+    private Integer cancelUserId;
+    /**
+     * 取消凭证
+     */
+    private String voucher;
+    /**
+     * 取消备注
+     */
+    private String remark;
+    /**
+     * 取消时间
+     */
+    private Date cancelTime;
+    /**
+     * 第三方取消退款流水号
+     */
+    private String refundOrderNo;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    private Integer state;
+    /**
+     * 添加时间
+     */
+    private Date insertTime;
+}
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 db3d035..daf66de 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
@@ -10,6 +10,8 @@
 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;
@@ -25,11 +27,9 @@
 
 import javax.annotation.Resource;
 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.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -57,6 +57,9 @@
 
     @Autowired
     private PayMoneyUtil payMoneyUtil;
+
+    @Resource
+    private SiteClient stClient;
 
 
     @Resource
@@ -108,8 +111,16 @@
             }
         }
 //            3.场地预约
-        // TODO: 2023/7/14  充值明细的场地预约查询
-
+        List<SiteBooking> siteBookings = stClient.wanpaiGoldSiteBookingList(appUserId);
+        if (siteBookings.size() > 0 ){
+            for (SiteBooking booking : siteBookings) {
+                RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
+                consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.name());
+                consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
+                consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
+                details.add(consumeDetail);
+            }
+        }
 //            4.智慧球场
 
 //            5.充值
@@ -126,6 +137,21 @@
                 details.add(consumeDetail);
             }
         }
+        if (details.size() > 0 ){
+            Collections.sort(details, new Comparator<RechargeDetailsVo.RechargesDetail>() {
+                @Override
+                public int compare(RechargeDetailsVo.RechargesDetail o1, RechargeDetailsVo.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;
+                }
+            });
+        }
         vo.setDetailList(details);
         return vo;
     }
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 96b94e1..97acc47 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
@@ -17,7 +17,9 @@
 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.SiteClient;
 import com.dsh.account.feignclient.other.StoreClient;
+import com.dsh.account.feignclient.other.model.SiteBooking;
 import com.dsh.account.feignclient.other.model.Store;
 import com.dsh.account.feignclient.other.model.StoreDetailOfCourse;
 import com.dsh.account.feignclient.other.model.TImgConfig;
@@ -119,8 +121,11 @@
     @Resource
     private CoursePackageConfigClient cpconClient;
 
-    @Autowired
+    @Resource
     private PayMoneyUtil payMoneyUtil;
+
+    @Resource
+    private SiteClient stClient;
 
     @Override
     public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
@@ -545,7 +550,22 @@
             }
         }
 //            4.场地预约
-        // TODO: 2023/7/14 账单的场地预约查询
+        List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(appUserId);
+        if (allSiteBookingList.size() >  0){
+            for (SiteBooking booking : allSiteBookingList) {
+                BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                if (booking.getStatus() != 5){
+                    consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
+                    consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
+                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getPayTime()));
+                }else {
+                    consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
+                    consumeDetail.setConsumeAmount("+" + booking.getPayMoney());
+                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getCancelTime()));
+                }
+                details.add(consumeDetail);
+            }
+        }
 
 //            5.智慧球场
 //            6.年度会员
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index 2b42da9..5111d86 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -22,6 +22,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -353,5 +354,43 @@
         }
     }
 
+    /**
+     * 查询所有现金支付的预约记录
+     * @param appUserId
+     * @return
+     */
+    @PostMapping("/base/site/queryPaymentSiteDetail")
+    public List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId){
+        ArrayList<Integer> integers = new ArrayList<>();
+        integers.add(1);
+        integers.add(2);
+        integers.add(3);
+        integers.add(4);
+        integers.add(5);
+        return siteBookingService.list(new QueryWrapper<SiteBooking>()
+                .in("status",integers)
+                .ne("payType",3)
+                .eq("appUserId",appUserId));
+    }
+
+    /**
+     * 查询所有玩湃币支付的预约记录
+     * @param appUserId
+     * @return
+     */
+    @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
+    public List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId){
+        ArrayList<Integer> integers = new ArrayList<>();
+        integers.add(1);
+        integers.add(2);
+        integers.add(3);
+        integers.add(4);
+        integers.add(5);
+        return siteBookingService.list(new QueryWrapper<SiteBooking>()
+                .in("status",integers)
+                .eq("payType",3)
+                .eq("appUserId",appUserId));
+    }
+
 
 }
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java
new file mode 100644
index 0000000..8f03d45
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java
@@ -0,0 +1,20 @@
+package com.dsh.other.feignclient;
+
+import com.dsh.other.entity.SiteBooking;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+
+@FeignClient("mb-cloud-other")
+public interface SiteClient {
+
+    @PostMapping("/base/site/queryPaymentSiteDetail")
+    List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId);
+
+    @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
+    List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId);
+
+}

--
Gitblit v1.7.1