mitao
2024-04-30 ab4ea7b8f10c9b66aed9c2ea161a08b25c3851a7
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
<?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.sinata.shop.modular.mall.dao.MallGoodsMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.sinata.shop.modular.mall.model.MallGoods">
        <id column="id" property="id"/>
        <result column="classify_id_one" property="classifyIdOne"/>
        <result column="classify_id_two" property="classifyIdTwo"/>
        <result column="goods_no" property="goodsNo"/>
        <result column="goods_name" property="goodsName"/>
        <result column="goods_title" property="goodsTitle"/>
        <result column="goods_image" property="goodsImage"/>
        <result column="price" property="price"/>
        <result column="price_sale" property="priceSale"/>
        <result column="price_member" property="priceMember"/>
        <result column="stock" property="stock"/>
        <result column="buy_count" property="buyCount"/>
        <result column="is_delete" property="isDelete"/>
        <result column="state" property="state"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="is_recommend" property="isRecommend"/>
        <result column="look_count" property="lookCount"/>
        <result column="collect_count" property="collectCount"/>
        <result column="audit_remark" property="auditRemark"/>
        <result column="sort" property="sort"/>
        <result column="tag_ids" property="tagIds"/>
        <result column="group_type" property="groupType"/>
        <result column="start_time" property="startTime"/>
        <result column="end_time" property="endTime"/>
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, classify_id_one, classify_id_two, goods_no, goods_name, goods_title, goods_image, price, price_sale, price_member, stock, buy_count, is_delete, state, create_time, update_time, is_recommend, look_count, collect_count, audit_remark, sort, tag_ids, group_type, start_time, end_time
    </sql>
 
    <select id="findList" resultMap="BaseResultMap">
        SELECT
            goods.*,
            goods_sku.sku_name,
            CONCAT(one.classify_name,'-',two.classify_name) as classify_name
        FROM
            mall_goods goods
                LEFT JOIN mall_classify_one one on one.id = goods.classify_id_one
                LEFT JOIN mall_classify_two two on two.id = goods.classify_id_two
                LEFT JOIN (
                    SELECT goods_id,
                           GROUP_CONCAT( grep_name, ' ', sell_cost, '元' SEPARATOR '\n' ) AS sku_name
                    FROM mall_goods_sku GROUP BY goods_id
                ) goods_sku ON goods_sku.goods_id = goods.id
        <where>goods.is_delete = false   ${ew.sqlSegment}</where>
    </select>
 
</mapper>