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