From 33658ae5597c9e395545fac39d8fe4bfc732f2ca Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期五, 07 七月 2023 18:37:36 +0800
Subject: [PATCH] account:充值记录-实体类

---
 cloud-server-account/src/main/java/com/dsh/account/entity/RechargeRecords.java                  |   79 +++++++++++++++
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java        |   83 +++++++++++++++-
 cloud-server-account/src/main/java/com/dsh/account/enums/RechargeRecordEnum.java                |   26 +++++
 cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java            |   16 +++
 cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml                        |    6 +
 cloud-server-account/src/main/java/com/dsh/account/service/RechargeRecordsService.java          |   16 +++
 cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java |   20 ++++
 7 files changed, 240 insertions(+), 6 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/RechargeRecords.java b/cloud-server-account/src/main/java/com/dsh/account/entity/RechargeRecords.java
new file mode 100644
index 0000000..05d3117
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/RechargeRecords.java
@@ -0,0 +1,79 @@
+package com.dsh.account.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 充值记录
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_recharge_records")
+public class RechargeRecords extends Model<RechargeRecords> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 流水号
+     */
+    private String code;
+    /**
+     * 用户id
+     */
+    private Integer appUserId;
+    /**
+     * 充值金额
+     */
+    private BigDecimal amount;
+    /**
+     * 玩湃币
+     */
+    private Integer playPaiCoins;
+    /**
+     * 支付状态(1=待支付,2=已支付)
+     */
+    private Integer payStatus;
+    /**
+     * 支付时间
+     */
+    private Date payTime;
+    /**
+     * 第三方支付流水号
+     */
+    private String orderNumber;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    private Integer state;
+    /**
+     * 添加时间
+     */
+    private Date insertTime;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/enums/RechargeRecordEnum.java b/cloud-server-account/src/main/java/com/dsh/account/enums/RechargeRecordEnum.java
new file mode 100644
index 0000000..a19401c
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/enums/RechargeRecordEnum.java
@@ -0,0 +1,26 @@
+package com.dsh.account.enums;
+
+
+
+public enum RechargeRecordEnum {
+    COURSE_PACKAGE_PURCHASE("课包购买"),
+    VENUE_RESERVATION("场地预约"),
+    SMART_STADIUM("智慧球场"),
+    ANNUAL_MEMBERSHIP("年度会员"),
+    CONTINUATION_PAYMENT("续课"),
+    RECHARGE("充值玩湃币"),
+    EVENT_REGISTRATION("赛事报名"),
+    CANCEL_EVENT_REGISTRATION("取消赛事报名"),
+    CANCEL_VENUE_RESERVATION("取消场地预约"),
+
+
+    ;
+     String msg;
+
+    RechargeRecordEnum() {
+    }
+
+    RechargeRecordEnum(String msg) {
+        this.msg = msg;
+    }
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java
new file mode 100644
index 0000000..30237b2
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/RechargeRecordsMapper.java
@@ -0,0 +1,16 @@
+package com.dsh.account.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.account.entity.RechargeRecords;
+
+/**
+ * <p>
+ * 充值记录 Mapper 接口
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+public interface RechargeRecordsMapper extends BaseMapper<RechargeRecords> {
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/RechargeRecordsService.java b/cloud-server-account/src/main/java/com/dsh/account/service/RechargeRecordsService.java
new file mode 100644
index 0000000..183fd4d
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/RechargeRecordsService.java
@@ -0,0 +1,16 @@
+package com.dsh.account.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.account.entity.RechargeRecords;
+
+/**
+ * <p>
+ * 充值记录 服务类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+public interface RechargeRecordsService extends IService<RechargeRecords> {
+
+}
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
new file mode 100644
index 0000000..83729db
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
@@ -0,0 +1,20 @@
+package com.dsh.account.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.account.entity.RechargeRecords;
+import com.dsh.account.mapper.RechargeRecordsMapper;
+import com.dsh.account.service.RechargeRecordsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 充值记录 服务实现类
+ * </p>
+ *
+ * @author jqs
+ * @since 2023-07-07
+ */
+@Service
+public class RechargeRecordsServiceImpl extends ServiceImpl<RechargeRecordsMapper, RechargeRecords> implements RechargeRecordsService {
+
+}
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 2111e73..de01b85 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
@@ -3,8 +3,11 @@
 
 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.entity.TStudent;
+import com.dsh.account.entity.VipPayment;
+import com.dsh.account.enums.RechargeRecordEnum;
 import com.dsh.account.feignclient.activity.MerChandiseClient;
 import com.dsh.account.feignclient.course.CoursePaymentClient;
 import com.dsh.account.feignclient.course.model.CourseOfStoreVo;
@@ -14,8 +17,10 @@
 import com.dsh.account.feignclient.other.StoreClient;
 import com.dsh.account.feignclient.other.model.Store;
 import com.dsh.account.feignclient.other.model.TImgConfig;
+import com.dsh.account.mapper.RechargeRecordsMapper;
 import com.dsh.account.mapper.TAppUserMapper;
 import com.dsh.account.mapper.TStudentMapper;
+import com.dsh.account.mapper.VipPaymentMapper;
 import com.dsh.account.model.AddAppUserVo;
 import com.dsh.account.model.JoinPlayPaiVo;
 import com.dsh.account.model.LoginSMSCodeVo;
@@ -35,6 +40,7 @@
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -83,10 +89,11 @@
     @Resource
     private ImgConfigClient icfgClient;
 
+    @Resource
+    private VipPaymentMapper vipPaymentMapper;
 
-
-
-
+    @Resource
+    private RechargeRecordsMapper rrMapper;
 
     @Override
     public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
@@ -464,17 +471,81 @@
     @Override
     public BillingDetailsVo queryUserBillingDetails(String yearMonth, Integer recordId) {
         BillingDetailsVo vo = new BillingDetailsVo();
+        List<BillingDetailsVo.ConsumeDetail> details = new ArrayList<>();
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
         if (null != yearMonth){
+
             Date monthStart = DateTimeHelper.getCurrentIdetMouthStart(yearMonth);
             Date monthEnd = DateTimeHelper.getCurrentIdeaMouthEnd(yearMonth);
+//            1.赛事报名
+//            2.课包购买
 
-
+//            3.场地预约
+//            4.智慧球场
+//            5.年度会员
+            List<VipPayment> vipPayments = vipPaymentMapper.selectList(new QueryWrapper<VipPayment>()
+                    .eq("payStatus",2 )
+                    .between("insertTime",monthStart, monthEnd));
+            if (vipPayments.size() > 0){
+                for (VipPayment vipPayment : vipPayments) {
+                    BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                    consumeDetail.setConsumeName(RechargeRecordEnum.ANNUAL_MEMBERSHIP.name());
+                    consumeDetail.setConsumeTime(simpleDateFormat.format(vipPayment.getInsertTime()));
+                    consumeDetail.setConsumeAmount("+"+vipPayment.getAmount());
+                    details.add(consumeDetail);
+                }
+            }
+//            6.续课
+//            7.充值
+            List<RechargeRecords> rechargeRecords = rrMapper.selectList(new QueryWrapper<RechargeRecords>()
+                    .eq("payStatus", 2)
+                    .between("insertTime",monthStart, monthEnd));
+            if (rechargeRecords.size() > 0){
+                for (RechargeRecords rechargeRecord : rechargeRecords) {
+                    BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                    consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name()+":"+rechargeRecord.getPlayPaiCoins());
+                    consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
+                    consumeDetail.setConsumeAmount("+"+rechargeRecord.getAmount());
+                    details.add(consumeDetail);
+                }
+            }
         }else {
             Date currentMouthStart = DateTimeHelper.getCurrentMouthStart();
             Date currentMouthEnd = DateTimeHelper.getCurrentMouthEnd();
-
-
+//            1.赛事报名
+//            2.课包购买
+//            3.场地预约
+//            4.智慧球场
+//            5.年度会员
+            List<VipPayment> vipPayments = vipPaymentMapper.selectList(new QueryWrapper<VipPayment>()
+                    .eq("payStatus",2 )
+                    .between("insertTime",currentMouthStart, currentMouthEnd));
+            if (vipPayments.size() > 0){
+                for (VipPayment vipPayment : vipPayments) {
+                    BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                    consumeDetail.setConsumeName(RechargeRecordEnum.ANNUAL_MEMBERSHIP.name());
+                    consumeDetail.setConsumeTime(simpleDateFormat.format(vipPayment.getInsertTime()));
+                    consumeDetail.setConsumeAmount("+"+vipPayment.getAmount());
+                    details.add(consumeDetail);
+                }
+            }
+//            6.续课
+//            7.充值
+            List<RechargeRecords> rechargeRecords = rrMapper.selectList(new QueryWrapper<RechargeRecords>()
+                    .eq("payStatus", 2)
+                    .between("insertTime",currentMouthStart, currentMouthEnd));
+            if (rechargeRecords.size() > 0){
+                for (RechargeRecords rechargeRecord : rechargeRecords) {
+                    BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
+                    consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.name()+":"+rechargeRecord.getPlayPaiCoins());
+                    consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime()));
+                    consumeDetail.setConsumeAmount("+"+rechargeRecord.getAmount());
+                    details.add(consumeDetail);
+                }
+            }
         }
+        vo.setDetails(details);
         return vo;
     }
 
diff --git a/cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml b/cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml
new file mode 100644
index 0000000..48dd4bb
--- /dev/null
+++ b/cloud-server-account/src/main/resources/mapper/RechargeRecordsMapper.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dsh.account.mapper.RechargeRecordsMapper">
+
+
+</mapper>

--
Gitblit v1.7.1