peng
5 天以前 095c52c6ec7882ce11177178b49d33e6c886af61
framework/src/main/resources/mapper/lmk/orderMapper.xml
@@ -9,11 +9,14 @@
    <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">
        <result column="goods_name" property="goodsName"/>
        <result column="repurchase_rate_percent" property="repurchaseRate"/>
        <result column="buyer_count" property="buyerCount"/>
        <result column="repurchase_buyer_count" property="repurchaseBuyerCount"/>
    </resultMap>
    <resultMap id="viewDataCount" type="java.util.Map">
@@ -21,7 +24,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 +37,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 +55,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 +115,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 +126,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>