xuhy
2025-05-19 508f3e225df87e0da974424981e7782fc5ce875c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?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.ruoyi.system.mapper.TOrderMealGoodsMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.domain.TOrderMealGoods">
        <id column="id" property="id" />
        <result column="goodsNum" property="goodsNum" />
        <result column="goodsName" property="goodsName" />
        <result column="goodsSalePrice" property="goodsSalePrice" />
        <result column="goodsPicture" property="goodsPicture" />
        <result column="goodsCount" property="goodsCount" />
        <result column="orderId" property="orderId" />
        <result column="typeName" property="typeName" />
        <result column="costPrice" property="costPrice" />
        <result column="typeId" property="typeId" />
        <result column="goodsId" property="goodsId" />
        <result column="createTime" property="createTime" />
        <result column="updateTime" property="updateTime" />
        <result column="disabled" property="disabled" />
        <result column="createBy" property="createBy" />
        <result column="updateBy" property="updateBy" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, goodsNum, goodsName, goodsSalePrice, goodsPicture, goodsCount, orderId,typeName,costPrice,typeId,goodsId,createTime
    </sql>
    <delete id="deleteByOrderId">
        delete from t_order_meal_goods where orderId in
         <foreach collection="mealIds" separator="," item="orderId" open="(" close=")">
            #{orderId}
         </foreach>
    </delete>
    <select id="costTotal" resultType="java.math.BigDecimal">
        select sum(costPrice*goodsCount) from t_order_meal_goods
        <where>
            <if test="ids != null and ids.size()>0">
                AND orderId IN
                <foreach collection="ids" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
    </select>
    <select id="salesRanking" resultType="com.ruoyi.system.vo.SalesRankingVO">
        SELECT tomg.typeName,SUM(tomg.goodsSalePrice*goodsCount) AS salesVolume
        from t_order_meal_goods tomg
        left join t_order_meal tom on tomg.orderId=tom.id
        <where>
            <if test="ids != null and ids.size()>0">
                AND tomg.orderId IN
                <foreach collection="ids" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
            AND tom.isCover = 1
            AND tom.status = 2
        </where>
        GROUP BY tomg.typeName
    </select>
 
</mapper>