From 7fe6d026bcc8f993ce76437d01607e591cc671fe Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 25 十一月 2023 17:20:02 +0800
Subject: [PATCH] 重写课包支付和排课逻辑

---
 cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml |  119 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 60 insertions(+), 59 deletions(-)

diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
index 5d7eeb1..e8062f9 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -4,26 +4,26 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dsh.course.entity.TCoursePackagePayment">
-        <id column="id" property="id" />
-        <result column="appUserId" property="appUserId" />
-        <result column="studentId" property="studentId" />
-        <result column="coursePackageId" property="coursePackageId" />
-        <result column="payType" property="payType" />
-        <result column="classHours" property="classHours" />
-        <result column="cashPayment" property="cashPayment" />
-        <result column="playPaiCoin" property="playPaiCoin" />
-        <result column="totalClassHours" property="totalClassHours" />
-        <result column="laveClassHours" property="laveClassHours" />
-        <result column="absencesNumber" property="absencesNumber" />
-        <result column="payUserType" property="payUserType" />
-        <result column="payStatus" property="payStatus" />
-        <result column="orderNumber" property="orderNumber" />
-        <result column="payUserId" property="payUserId" />
-        <result column="status" property="status" />
-        <result column="withdrawalTime" property="withdrawalTime" />
-        <result column="certificate" property="certificate" />
-        <result column="state" property="state" />
-        <result column="insertTime" property="insertTime" />
+        <id column="id" property="id"/>
+        <result column="appUserId" property="appUserId"/>
+        <result column="studentId" property="studentId"/>
+        <result column="coursePackageId" property="coursePackageId"/>
+        <result column="payType" property="payType"/>
+        <result column="classHours" property="classHours"/>
+        <result column="cashPayment" property="cashPayment"/>
+        <result column="playPaiCoin" property="playPaiCoin"/>
+        <result column="totalClassHours" property="totalClassHours"/>
+        <result column="laveClassHours" property="laveClassHours"/>
+        <result column="absencesNumber" property="absencesNumber"/>
+        <result column="payUserType" property="payUserType"/>
+        <result column="payStatus" property="payStatus"/>
+        <result column="orderNumber" property="orderNumber"/>
+        <result column="payUserId" property="payUserId"/>
+        <result column="status" property="status"/>
+        <result column="withdrawalTime" property="withdrawalTime"/>
+        <result column="certificate" property="certificate"/>
+        <result column="state" property="state"/>
+        <result column="insertTime" property="insertTime"/>
     </resultMap>
     <update id="updateUseTime">
         update t_course_package_payment
@@ -46,16 +46,16 @@
     </select>
 
     <select id="getCoursePackagePaymentByCode" resultType="com.dsh.course.entity.TCoursePackagePayment">
-    select * from t_course_package_payment where 1=1
-    <if test="code != null">
-        and `code` = #{code}
-    </if>
+        select * from t_course_package_payment where 1=1
+        <if test="code != null">
+            and `code` = #{code}
+        </if>
     </select>
 
     <select id="billingDataRequestVo" resultType="com.dsh.course.model.BillingRequest">
         SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,IFNULL(playPaiCoin, cashPayment) AS amount
         from t_course_package_payment
-        where  payStatus = 2 and state = 1 and payType in (1,2)
+        where payStatus = 2 and state = 1 and payType in (1,2)
         <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd">
             and DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd}
         </if>
@@ -63,7 +63,6 @@
             and appUserId = #{appUserId}
         </if>
     </select>
-
 
 
     <select id="queryRegistrationRecord" resultType="map">
@@ -138,25 +137,28 @@
     </select>
     <select id="getStudentTotal" resultType="map">
         SELECT * from(
-                         SELECT studentId, totalClassHours, name as courseName, laveClassHours,cashPayment as cashPayment,hasHours,appUserId,insertTime
-                         ,coursePackageId
-                         FROM (
-                                  SELECT studentId, totalClassHours, name, laveClassHours,cashPayment, (totalClassHours - laveClassHours) AS hasHours,py.appUserId,py.insertTime
-                                    ,coursePackageId
-                                  FROM t_course_package_payment py
-                                           LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
-                                  UNION ALL
-                                  SELECT studentId, SUM(totalClassHours) AS totalClassHours,'总计' as name, SUM(laveClassHours) AS laveClassHours, SUM(cashPayment) AS cashPayment,
-                                         (SUM(totalClassHours) - SUM(laveClassHours)) AS hasHours,py.appUserId,py.insertTime,py.coursePackageId
-                                  FROM t_course_package_payment py
-                                           LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
-                                  GROUP BY studentId
-                                  ORDER BY studentId, length(name) desc ,totalClassHours
-                              ) subquery
-                     ) a
+        SELECT studentId, totalClassHours, name as courseName, laveClassHours,cashPayment as
+        cashPayment,hasHours,appUserId,insertTime
+        ,coursePackageId
+        FROM (
+        SELECT studentId, totalClassHours, name, laveClassHours,cashPayment, (totalClassHours - laveClassHours) AS
+        hasHours,py.appUserId,py.insertTime
+        ,coursePackageId
+        FROM t_course_package_payment py
+        LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
+        UNION ALL
+        SELECT studentId, SUM(totalClassHours) AS totalClassHours,'总计' as name, SUM(laveClassHours) AS laveClassHours,
+        SUM(cashPayment) AS cashPayment,
+        (SUM(totalClassHours) - SUM(laveClassHours)) AS hasHours,py.appUserId,py.insertTime,py.coursePackageId
+        FROM t_course_package_payment py
+        LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
+        GROUP BY studentId
+        ORDER BY studentId, length(name) desc ,totalClassHours
+        ) subquery
+        ) a
         <where>
             <if test="null != start and '' != start and null != end and '' != end">
-                  a.insertTime between #{start} and #{end}
+                a.insertTime between #{start} and #{end}
             </if>
             <if test="coursePackageIds != null and coursePackageIds.size()>0">
                 AND a.coursePackageId IN
@@ -170,18 +172,18 @@
     <select id="pacQueryDto" resultType="map">
 
         SELECT
-            coursePackageId,
-            SUM( cashPayment ) AS cashPayment,
-            SUM( totalClassHours ) AS totalClassHours,
-            SUM( totalClassHours - laveClassHours ) AS hasHours,
-            ROUND( SUM(( totalClassHours - laveClassHours ) * ( cashPayment / totalClassHours )), 2 ) AS lavePay,
-            cp.`name` ,
-            cp.province,
-            cp.city,
-            cp.storeId,cp.cityCode,cp.provinceCode,py.insertTime
+        coursePackageId,
+        SUM( cashPayment ) AS cashPayment,
+        SUM( totalClassHours ) AS totalClassHours,
+        SUM( totalClassHours - laveClassHours ) AS hasHours,
+        ROUND( SUM(( totalClassHours - laveClassHours ) * ( cashPayment / totalClassHours )), 2 ) AS lavePay,
+        cp.`name` ,
+        cp.province,
+        cp.city,
+        cp.storeId,cp.cityCode,cp.provinceCode,py.insertTime
         FROM
-            t_course_package_payment py
-                LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
+        t_course_package_payment py
+        LEFT JOIN t_course_package cp ON py.coursePackageId = cp.id
         <where>
             <if test="storeIds != null and storeIds.size()>0">
                 AND cp.id IN
@@ -193,7 +195,7 @@
                 py.insertTime between #{start} and #{end}
             </if>
             <if test="null != cityCode and '' != cityCode">
-               and cityCode =#{cityCode}
+                and cityCode =#{cityCode}
             </if>
 
             <if test="null != provinceCode and '' != provinceCode">
@@ -207,15 +209,14 @@
 
         </where>
         GROUP BY
-            coursePackageId
-
-
+        coursePackageId
 
 
     </select>
 
     <select id="listOne" resultType="com.dsh.course.entity.TCoursePackagePayment">
-        select * from t_course_package_payment where appUserId in <foreach collection="ids" separator="," open="(" item="id" close=")">#{id}</foreach>
+        select * from t_course_package_payment where appUserId in
+        <foreach collection="ids" separator="," open="(" item="id" close=")">#{id}</foreach>
     </select>
     <select id="queryStore" resultType="java.lang.Integer">
         SELECT

--
Gitblit v1.7.1