xin
2025-09-25 a6ac90e29e513b80b7ad881da8e319338021ef8b
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?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.oying.modules.pc.product.mapper.ProductAuditMapper">
    <resultMap id="BaseResultMap" type="com.oying.modules.pc.product.domain.ProductAudit">
        <id column="audit_id" property="auditId"/>
        <result column="product_id" property="productId"/>
        <result column="type" property="type"/>
        <result column="status" property="status"/>
        <result column="data" property="data"/>
        <result column="reason" property="reason"/>
        <result column="auditor" property="auditor"/>
        <result column="audit_time" property="auditTime"/>
        <result column="create_by" property="createBy"/>
        <result column="create_time" property="createTime"/>
        <result column="update_by" property="updateBy"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>
 
    <resultMap id="JoinResultMap" type="com.oying.modules.pc.product.view.ProductAuditView">
        <result column="product_id" property="productId"/>
        <result column="product_name" property="productName"/>
        <result column="product_title" property="productTitle"/>
        <result column="audit_id" property="auditId"/>
        <result column="type" property="type"/>
        <result column="status" property="status"/>
        <result column="data" property="data"/>
        <result column="reason" property="reason"/>
        <result column="auditor" property="auditor"/>
        <result column="audit_time" property="auditTime"/>
        <result column="create_by" property="createBy"/>
        <result column="create_time" property="createTime"/>
        <result column="update_by" property="updateBy"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>
 
    <sql id="Base_Column_List">
        audit_id, product_id, type, status, reason, auditor, audit_time, data, create_by, create_time, update_by, update_time
    </sql>
 
    <sql id="Join_Column_List">
        p.name as product_name, p.title as product_title,
        pa.audit_id, pa.product_id, pa.type, pa.status, pa.reason, pa.auditor, pa.audit_time, pa.data, pa.create_by, pa.create_time, pa.update_by, pa.update_time
    </sql>
 
    <select id="findAll" resultMap="JoinResultMap">
        select
        <include refid="Join_Column_List"/>
        from pc_product_audit as pa left join pc_product as p on pa.product_id = p.product_id
        <where>
            <if test="criteria.blurry != null and criteria.blurry != ''">
                and p.name like concat('%', #{criteria.blurry}, '%')
            </if>
            <if test="criteria.productName != null and criteria.productName != ''">
                and p.name like concat('%', #{criteria.productName}, '%')
            </if>
            <if test="criteria.blurry != null and criteria.blurry != ''">
                and p.title like concat('%', #{criteria.blurry}, '%')
            </if>
            <if test="criteria.productTitle != null and criteria.productTitle != ''">
                and p.title like concat('%', #{criteria.productTitle}, '%')
            </if>
            <if test="criteria.productId != null">
                and pa.product_id = #{criteria.productId}
            </if>
            <if test="criteria.type != null and criteria.type != ''">
                and pa.type = #{criteria.type}
            </if>
            <if test="criteria.status != null">
                and pa.status = #{criteria.status}
            </if>
            <if test="criteria.createBy != null and criteria.createBy != ''">
                and pa.create_by = #{criteria.createBy}
            </if>
        </where>
        order by pa.audit_id desc
    </select>
</mapper>