From f97f81f5c118240183d5731745b243dd312c6a7c Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 22 八月 2025 10:30:42 +0800
Subject: [PATCH] 抽奖活动

---
 framework/src/main/resources/mapper/lmk/ActivityMapper.xml |  166 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 147 insertions(+), 19 deletions(-)

diff --git a/framework/src/main/resources/mapper/lmk/ActivityMapper.xml b/framework/src/main/resources/mapper/lmk/ActivityMapper.xml
index 0362cd4..cd31bbf 100644
--- a/framework/src/main/resources/mapper/lmk/ActivityMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/ActivityMapper.xml
@@ -4,6 +4,7 @@
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.ActivityVO">
+        <id property="id" column="id"/>
         <result column="activity_name" property="activityName" />
         <result column="activity_type" property="activityType"/>
         <result column="report_start_time" property="reportStartTime" />
@@ -18,6 +19,15 @@
         <result column="limit_user_num" property="limitUserNum" />
         <result column="activity_location" property="activityLocation" />
         <result column="activity_content" property="activityContent" />
+        <result column="publish" property="publish" />
+        <result column="auditStatus" property="auditStatus"/>
+        <result column="member_id" property="memberId"/>
+<!--                <collection property="auditRecordVOS"  ofType="cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO"-->
+<!--                            select="selectAuditRecord"-->
+<!--                            column="id"-->
+<!--                />-->
+
+
     </resultMap>
 
     <resultMap id="MyActivityResultMap" type="cn.lili.modules.lmk.domain.vo.MyActivityVo">
@@ -32,10 +42,20 @@
         <result column="activity_report_id" property="activityReportId"/>
     </resultMap>
 
-    <resultMap id="ActivityReportMap" type="cn.lili.modules.lmk.domain.vo.ActivityReportVO">
+    <resultMap id="auditRecordResult" type="cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO">
         <result column="activity_id" property="activityId"/>
-        <result column="user_id" property="userId"/>
+        <result column="remarks" property="remarks"/>
+        <result column="audit" property="audit"/>
     </resultMap>
+
+    <select id="selectAuditRecord" resultMap="auditRecordResult">
+        select LAAR.id,
+               LAAR.activity_id,
+               LAAR.remarks,
+               LAAR.audit
+               from lmk_activity_audit_record LAAR
+        WHERE LAAR.activity_id = #{id}
+    </select>
 
 
     <select id="getMyActivityList" resultMap="MyActivityResultMap">
@@ -55,10 +75,10 @@
                  LEFT JOIN lmk_activity LA ON LAR.activity_id = LA.id
         where  LA.delete_flag = 0
           AND LAR.delete_flag = 0
-          AND LAR.user_id = #{query.id}
+          AND LAR.user_id = #{userId}
           AND LAR.cancel = #{query.cancel}
         <if test="query.status == null or query.status == ''">
-            AND LA.status != '宸茬粨鏉�'
+            AND LA.status != 'end'
         </if>
         <if test="query.status != null and query.status != ''">
           AND LA.status = #{query.status}
@@ -82,7 +102,8 @@
             LA.cover_type,
             LA.limit_user_num,
             LA.activity_location,
-            LA.activity_content
+            LA.activity_content,
+            LA.publish
         FROM
             lmk_activity LA
         WHERE
@@ -105,9 +126,31 @@
             LA.cover_type,
             LA.limit_user_num,
             LA.activity_location,
-            LA.activity_content
+            LA.activity_content,
+            LA.publish,
+            LAAR.audit as auditStatus
         FROM
             lmk_activity LA
+        LEFT JOIN
+            (
+            SELECT
+            activity_id,
+            audit,
+            create_time
+                FROM (
+                SELECT
+                activity_id,
+                audit,
+                create_time,
+                ROW_NUMBER() OVER (PARTITION BY activity_id ORDER BY create_time DESC) AS rn
+                FROM
+                lmk_activity_audit_record
+                WHERE
+                delete_flag = 0
+                ) t
+                WHERE
+                rn = 1
+            ) LAAR ON LA.id = LAAR.activity_id
         WHERE
             LA.delete_flag = 0
             <if test="query.activityName != null and query.activityName != ''">AND LA.activity_name LIKE CONCAT('%', #{query.activityName}, '%')</if>
@@ -115,7 +158,104 @@
             <if test="query.recommend != null  and query.recommend != ''">AND LA.recommend = #{recommend}</if>
             <if test="query.reportStartTime != null">AND LA.report_start_time >= #{query.reportStartTime}</if>
             <if test="query.reportEndTime != null">AND LA.report_end_time &lt;= #{query.reportEndTime}</if>
+            <if test="query.memberId != null and query.memberId !=''">AND LA.member_id &lt;= #{query.memberId}</if>
+            <if test="query.audit == true" >AND LAAR.audit != 0</if>
+            <if test="query.audit == false" >AND LAAR.audit = 0</if>
+            <if test="query.memberId !=null and query.memberId !=''">And LA.member_id = #{query.memberId}</if>
+            <if test="query.storeId !=null and query.storeId !=''">And LA.store_id = #{query.storeId}</if>
+            Order by LA.create_time DESC
     </select>
+
+    <select id="storeGetPage" resultMap="BaseResultMap">
+        SELECT
+        LA.id,
+        LA.activity_name,
+        LA.activity_type,
+        LA.report_start_time,
+        LA.report_end_time,
+        LA.start_time,
+        LA.end_time,
+        LA.status,
+        LA.recommend,
+        LA.cover,
+        LA.cover_type,
+        LA.limit_user_num,
+        LA.activity_location,
+        LA.activity_content,
+        LA.publish,
+        LAAR.audit as auditStatus
+        FROM
+        lmk_activity LA
+        LEFT JOIN
+        (
+        SELECT
+        activity_id,
+        audit,
+        create_time
+        FROM (
+        SELECT
+        activity_id,
+        audit,
+        create_time,
+        ROW_NUMBER() OVER (PARTITION BY activity_id ORDER BY create_time DESC) AS rn
+        FROM
+        lmk_activity_audit_record
+        WHERE
+        delete_flag = 0
+        ) t
+        WHERE
+        rn = 1
+        ) LAAR ON LA.id = LAAR.activity_id
+        WHERE
+        LA.delete_flag = 0
+        <if test="query.activityName != null and query.activityName != ''">AND LA.activity_name LIKE CONCAT('%', #{query.activityName}, '%')</if>
+        <if test="query.activityType != null and query.activityType != ''">AND LA.activity_type LIKE CONCAT('%', #{query.activityType}, '%')</if>
+        <if test="query.recommend != null  and query.recommend != ''">AND LA.recommend = #{recommend}</if>
+        <if test="query.reportStartTime != null">AND LA.report_start_time >= #{query.reportStartTime}</if>
+        <if test="query.reportEndTime != null">AND LA.report_end_time &lt;= #{query.reportEndTime}</if>
+        <if test="query.memberId != null and query.memberId !=''">AND LA.member_id &lt;= #{query.memberId}</if>
+        <if test="query.audit == true" >AND LAAR.audit != 0</if>
+        <if test="query.audit == false" >AND LAAR.audit = 0</if>
+        <if test="query.memberId !=null and query.memberId !=''">And LA.member_id = #{query.memberId}</if>
+        <if test="query.storeId !=null and query.storeId !=''">And LA.store_id = #{query.storeId}</if>
+        Order by LA.create_time DESC
+    </select>
+
+
+
+
+    <select id="getCanReportPage" resultMap="BaseResultMap">
+        SELECT
+            LA.id,
+            LA.activity_name,
+            LA.activity_type,
+            LA.report_start_time,
+            LA.report_end_time,
+            LA.start_time,
+            LA.end_time,
+            LA.status,
+            LA.recommend,
+            LA.cover,
+            LA.cover_type,
+            LA.limit_user_num,
+            LA.activity_location,
+            LA.activity_content
+        FROM
+            lmk_activity LA
+        WHERE
+            LA.delete_flag = 0
+          AND LA.publish = 1
+          AND EXISTS (
+            SELECT 1
+            FROM lmk_activity_audit_record LAAR
+            WHERE LA.id = LAAR.activity_id
+              AND LAAR.delete_flag = 0
+              AND LAAR.audit = 1
+        )
+    </select>
+
+
+
     <resultMap id="memberMap" type="cn.lili.modules.member.entity.vo.MemberVO">
         <id property="id" column="id"/>
 
@@ -148,19 +288,6 @@
         WHERE LAR.activity_id = #{query.id}
     </select>
 
-
-    <update id="cancelActivity" >
-        UPDATE
-            lmk_activity_report LAR
-        SET LAR.cancel = true where LAR.id = #{id}
-    </update>
-
-
-    <select id="getActivityReport" resultMap="ActivityReportMap">
-        SELECT LAR.* FROM lmk_activity_report LAR
-        WHERE LAR.user_id = #{query.userId} and LAR.activity_id = #{query.activityId}
-    </select>
-
     <update id="batchUpdateActivities">
         UPDATE lmk_activity
         <trim prefix="SET" suffixOverrides=",">
@@ -175,4 +302,5 @@
             #{item.id}
         </foreach>
     </update>
+
 </mapper>

--
Gitblit v1.8.0