peng
2025-10-16 e49e4c4284a7c390f605fb0e8c4d2c590ba20020
framework/src/main/resources/mapper/lmk/orderMapper.xml
@@ -9,6 +9,7 @@
    <resultMap id="orderTimePeriod" type="java.util.Map">
        <result column="day" property="day" />
        <result column="hour" property="hour"/>
        <result column="count" property="count"/>
    </resultMap>
    <resultMap id="productRepurchase" type="java.util.Map">
@@ -21,7 +22,11 @@
        <result column="hour" property="hour"/>
        <result column="count" property="count"/>
    </resultMap>
    <resultMap id="pvUvCount" type="java.util.Map">
        <result column="day" property="day"/>
        <result column="pvData" property="pvData"/>
        <result column="uvData" property="uvData"/>
    </resultMap>
    <select id="selectOrderCountByDay"  resultMap="OrderCountByDayMap">
        SELECT
            DATE(create_time) AS day,
@@ -30,6 +35,9 @@
            li_order o
            WHERE
            o.create_time BETWEEN #{startTime} AND #{endTime}
            <if test="storeId != null and storeId != ''">
                AND o.store_id = #{storeId}
            </if>
            GROUP BY
            day
            ORDER BY
@@ -45,19 +53,30 @@
            li_order o
            WHERE
            o.create_time BETWEEN #{startTime} AND #{endTime}
            <if test="storeId != null and storeId != ''">
                AND o.store_id = #{storeId}
            </if>
            GROUP BY
            day
            ORDER BY
            day , hour ASC
    </select>
    <select id="selectViewDataCount" resultMap="">
    <select id="selectViewDataCount" resultMap="viewDataCount">
        SELECT
            DATE(LAR.create_time) AS day,
            HOUR(LAR.create_time) AS hour,
            COUNT(LAR.id) AS count
        FROM lmk_action_record LAR
        where LAR.delete_flag = 0
          AND LAR.page_status = 'JOIN'
            AND LAR.page_status = 'JOIN'
            AND LAR.create_time BETWEEN #{startTime} AND #{endTime}
            <if test="storeId != null and storeId !=''">
                AND page_code = 'GOODS_DETAILS'
                AND JSON_EXTRACT(LAR.page_params, '$.goodsId') IN
                <foreach collection="goodsIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        GROUP BY day, hour
        ORDER BY day, hour;
    </select>
@@ -94,6 +113,9 @@
                            AND o.member_id IS NOT NULL
                            AND o.create_time >= #{startTime}
                            AND o.create_time &lt;= #{endTime}
                            <if test="storeId != null and storeId != ''">
                                AND o.store_id = #{storeId}
                            </if>
                          GROUP BY i.goods_id, i.goods_name, o.member_id
                      ) AS user_buy_counts
                 GROUP BY goods_id, goods_name
@@ -102,4 +124,27 @@
        LIMIT #{currentLimit};
    </select>
    <select id="selectPvUv" resultMap="pvUvCount">
        SELECT
            DATE(LAR.create_time) AS day,
            COUNT(*) AS pvData,
            COUNT(DISTINCT LAR.user_id) AS uvData
        FROM
            lmk_action_record LAR
        WHERE
            LAR.delete_flag = 0
            AND LAR.page_status = 'JOIN'
            AND LAR.create_time BETWEEN #{startTime} AND #{endTime}
        <if test="storeId != null and storeId !=''">
            AND page_code = 'GOODS_DETAILS'
            AND JSON_EXTRACT(LAR.page_params, '$.goodsId') IN
            <foreach collection="goodsIds" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
        GROUP BY
            DATE(LAR.create_time);
    </select>
</mapper>