<?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.matrix.system.shopXcx.dao.ShopProductCommentDao"> 
 | 
    <!-- 定义ShopProductComment 的复杂关联map --> 
 | 
    <resultMap type="com.matrix.system.shopXcx.bean.ShopProductComment" id="ShopProductCommentMap"> 
 | 
        <id property="comId" column="com_id" /> 
 | 
        <result property="createBy" column="create_by" /> 
 | 
        <result property="createTime" column="create_time" /> 
 | 
        <result property="updateBy" column="update_by" /> 
 | 
        <result property="updateTime" column="update_time" /> 
 | 
            <result property="userId" column="user_id" /> 
 | 
            <result property="productId" column="product_id" /> 
 | 
            <result property="orderId" column="order_id" /> 
 | 
            <result property="comContent" column="com_content" /> 
 | 
            <result property="comScore" column="com_score" /> 
 | 
            <result property="comAuditStatus" column="com_audit_status" /> 
 | 
            <result property="comVerify" column="com_verify" /> 
 | 
            <result property="comVerifyId" column="com_verify_id" /> 
 | 
            <result property="delFlag" column="del_flag" /> 
 | 
            <result property="title" column="title" /> 
 | 
            <result property="imgMobile" column="img_mobile" /> 
 | 
            <result property="orderNo" column="order_no" /> 
 | 
            <result property="orderMoney" column="order_money" /> 
 | 
            <result property="nickName" column="nick_name" /> 
 | 
            <result property="avatarUrl" column="avatar_url" /> 
 | 
        <result property="companyId" column="company_id" /> 
 | 
    </resultMap> 
 | 
     
 | 
     
 | 
    <!-- 定义ShopProductComment 的简单map  ,本map不添加其他的关联属性 --> 
 | 
    <resultMap type="com.matrix.system.shopXcx.bean.ShopProductComment" id="ShopProductCommentSimpleMap"> 
 | 
        <id property="comId" column="com_id" /> 
 | 
        <result property="createBy" column="create_by" /> 
 | 
        <result property="createTime" column="create_time" /> 
 | 
        <result property="updateBy" column="update_by" /> 
 | 
        <result property="updateTime" column="update_time" /> 
 | 
            <result property="userId" column="user_id" /> 
 | 
            <result property="productId" column="product_id" /> 
 | 
            <result property="orderId" column="order_id" /> 
 | 
            <result property="comContent" column="com_content" /> 
 | 
            <result property="comScore" column="com_score" /> 
 | 
            <result property="comAuditStatus" column="com_audit_status" /> 
 | 
            <result property="comVerify" column="com_verify" /> 
 | 
            <result property="comVerifyId" column="com_verify_id" /> 
 | 
            <result property="delFlag" column="del_flag" /> 
 | 
        <result property="companyId" column="company_id" /> 
 | 
    </resultMap> 
 | 
     
 | 
    <!-- 字段sql --> 
 | 
    <sql id="columns"> 
 | 
        create_by, 
 | 
        create_time, 
 | 
        update_by, 
 | 
        update_time, 
 | 
            com_id, 
 | 
            user_id, 
 | 
            product_id, 
 | 
            order_id, 
 | 
            com_content, 
 | 
            com_score, 
 | 
            com_audit_status, 
 | 
            com_verify, 
 | 
            com_verify_id, 
 | 
            del_flag, 
 | 
            company_id 
 | 
    </sql> 
 | 
     
 | 
    <!-- 属性sql --> 
 | 
    <sql id="propertys"> 
 | 
        #{item.createBy}, 
 | 
        now(), 
 | 
        #{item.updateBy}, 
 | 
        now(), 
 | 
            #{item.comId}, 
 | 
            #{item.userId}, 
 | 
            #{item.productId}, 
 | 
            #{item.orderId}, 
 | 
            #{item.comContent}, 
 | 
            #{item.comScore}, 
 | 
            #{item.comAuditStatus}, 
 | 
            #{item.comVerify}, 
 | 
            #{item.comVerifyId}, 
 | 
            #{item.delFlag}, 
 | 
            #{item.companyId} 
 | 
    </sql> 
 | 
     
 | 
    <!-- where sql --> 
 | 
    <sql id="where_sql"> 
 | 
          
 | 
         <if test="record!=null"> 
 | 
            <if test="(record.comId!=null and record.comId!='') or  (record.comId!='' and record.comId==0)  "> 
 | 
                and com_id  = #{record.comId}  
 | 
            </if> 
 | 
            <if test="(record.userId!=null and record.userId!='') or  (record.userId!='' and record.userId==0)  "> 
 | 
                and user_id  = #{record.userId}  
 | 
            </if> 
 | 
            <if test="(record.productId!=null and record.productId!='') or  (record.productId!='' and record.productId==0)  "> 
 | 
                and product_id  = #{record.productId}  
 | 
            </if> 
 | 
            <if test="(record.orderId!=null and record.orderId!='') or  (record.orderId!='' and record.orderId==0)  "> 
 | 
                and order_id  = #{record.orderId}  
 | 
            </if> 
 | 
  
 | 
             <if test="record.companyId != null and record.companyId !='' "> 
 | 
                 and c.company_id = #{record.companyId} 
 | 
             </if> 
 | 
  
 | 
            <if test="(record.comContent!=null and record.comContent!='') or  (record.comContent!='' and record.comContent==0)  "> 
 | 
                and com_content  = #{record.comContent}  
 | 
            </if> 
 | 
            <if test="(record.comScore!=null and record.comScore!='') or  (record.comScore!='' and record.comScore==0)  "> 
 | 
                and com_score  = #{record.comScore}  
 | 
            </if> 
 | 
            <if test="record.comAuditStatus!=null "> 
 | 
                and com_audit_status  = #{record.comAuditStatus}  
 | 
            </if> 
 | 
            <if test="(record.comVerify!=null and record.comVerify!='') or  (record.comVerify!='' and record.comVerify==0)  "> 
 | 
                and com_verify  = #{record.comVerify}  
 | 
            </if> 
 | 
            <if test="(record.comVerifyId!=null and record.comVerifyId!='') or  (record.comVerifyId!='' and record.comVerifyId==0)  "> 
 | 
                and com_verify_id  = #{record.comVerifyId}  
 | 
            </if> 
 | 
            <if test="(record.delFlag!=null and record.delFlag!='') or  (record.delFlag!='' and record.delFlag==0)  "> 
 | 
                and del_flag  = #{record.delFlag}  
 | 
            </if> 
 | 
             <if test="(record.title!=null and record.title!='') or  (record.title!='' and record.title==0)  "> 
 | 
                 and p.title like concat('%',#{record.title},'%') 
 | 
             </if> 
 | 
             <if test="(record.nickName!=null and record.nickName!='') or  (record.nickName!='' and record.nickName==0)  "> 
 | 
                 and b.nick_name like concat('%',#{record.nickName},'%') 
 | 
             </if> 
 | 
             <if test="(record.orderNo!=null and record.orderNo!='') or  (record.orderNo!='' and record.orderNo==0)  "> 
 | 
                 and o.order_no  = #{record.orderNo} 
 | 
             </if> 
 | 
             <if test="record.commentBeginTime!=null "> 
 | 
                 and date_format(c.create_time, '%Y-%m-%d') >= #{record.commentBeginTime} 
 | 
             </if> 
 | 
             <if test="record.commentEndTime!=null"> 
 | 
                 and  #{record.commentEndTime} >= date_format(c.create_time, '%Y-%m-%d') 
 | 
             </if> 
 | 
             AND p.del_flag = 2 
 | 
             AND o.del_flag = 2 
 | 
             AND c.del_flag = 2 
 | 
         </if> 
 | 
          
 | 
    </sql> 
 | 
     
 | 
    <!--  插入方法   --> 
 | 
    <insert id="insert" parameterType="com.matrix.system.shopXcx.bean.ShopProductComment" 
 | 
        useGeneratedKeys="true" keyProperty="item.comId"> 
 | 
        INSERT INTO shop_product_comment ( 
 | 
             <include refid="columns"></include> 
 | 
        ) 
 | 
    VALUES ( 
 | 
         <include refid="propertys"></include> 
 | 
    ) 
 | 
    </insert> 
 | 
     
 | 
     
 | 
     
 | 
    <!--  批量插入   --> 
 | 
    <insert id="batchInsert" parameterType="java.util.List"> 
 | 
        INSERT INTO shop_product_comment ( 
 | 
        <include refid="columns"></include>     
 | 
        ) 
 | 
    VALUES  
 | 
    <foreach collection="list" item="item" index="index" separator=",">( 
 | 
        <include refid="propertys"></include>     
 | 
    )</foreach> 
 | 
    </insert> 
 | 
     
 | 
     
 | 
     
 | 
     
 | 
     
 | 
    <!--  根据Map更新 部分更新   --> 
 | 
    <update id="updateByMap" parameterType="java.util.HashMap" > 
 | 
        UPDATE shop_product_comment 
 | 
        <set> 
 | 
            <if test="_parameter.containsKey('userId')"> 
 | 
                    user_id = #{userId}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('productId')"> 
 | 
                    product_id = #{productId}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('orderId')"> 
 | 
                    order_id = #{orderId}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('comContent')"> 
 | 
                    com_content = #{comContent}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('comScore')"> 
 | 
                    com_score = #{comScore}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('comAuditStatus')"> 
 | 
                    com_audit_status = #{comAuditStatus}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('comVerify')"> 
 | 
                    com_verify = #{comVerify}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('comVerifyId')"> 
 | 
                    com_verify_id = #{comVerifyId}, 
 | 
                </if>         
 | 
            <if test="_parameter.containsKey('delFlag')"> 
 | 
                    del_flag = #{delFlag}, 
 | 
                </if>         
 | 
        </set> 
 | 
        WHERE com_id=#{comId}  
 | 
    </update>  
 | 
     
 | 
     
 | 
    <!--  根据对象更新 部分更新   --> 
 | 
    <update id="updateByModel" parameterType="Integer"> 
 | 
        UPDATE shop_product_comment 
 | 
        <set> 
 | 
            <if test="record.userId != null and record.userId != '' "> 
 | 
                user_id  = #{record.userId},  
 | 
            </if> 
 | 
            <if test="record.productId != null "> 
 | 
                product_id  = #{record.productId},  
 | 
            </if> 
 | 
            <if test="record.orderId != null "> 
 | 
                order_id  = #{record.orderId},  
 | 
            </if> 
 | 
            <if test="record.comContent != null and record.comContent != '' "> 
 | 
                com_content  = #{record.comContent},  
 | 
            </if> 
 | 
            <if test="record.comScore != null "> 
 | 
                com_score  = #{record.comScore},  
 | 
            </if> 
 | 
            <if test="record.comAuditStatus != null "> 
 | 
                com_audit_status  = #{record.comAuditStatus},  
 | 
            </if> 
 | 
            <if test="record.comVerify != null and record.comVerify != '' "> 
 | 
                com_verify  = #{record.comVerify},  
 | 
            </if> 
 | 
            <if test="record.comVerifyId != null "> 
 | 
                com_verify_id  = #{record.comVerifyId},  
 | 
            </if> 
 | 
            <if test="record.delFlag != null "> 
 | 
                del_flag  = #{record.delFlag},  
 | 
            </if> 
 | 
        </set> 
 | 
        WHERE com_id=#{record.comId}  
 | 
    </update> 
 | 
  
 | 
    <!-- 根据状态批量更新审核状态 --> 
 | 
    <update id="updateStatusByStateAndIds"> 
 | 
        update shop_product_comment 
 | 
        <set> 
 | 
            <if test="state == 1 or state == 2"> 
 | 
                com_audit_status = #{state}, 
 | 
            </if> 
 | 
            <if test="suName != null"> 
 | 
                com_verify = #{suName}, 
 | 
            </if><if test="suId != null"> 
 | 
                com_verify_id = #{suId}, 
 | 
            </if> 
 | 
        </set> 
 | 
        where com_id in 
 | 
        <foreach collection="list" index="index" item="item" open="(" 
 | 
                 separator="," close=")"> 
 | 
            #{item} 
 | 
        </foreach> 
 | 
    </update> 
 | 
  
 | 
    <!-- 批量删除 --> 
 | 
    <delete id="deleteByIds" parameterType="java.util.List"> 
 | 
        delete from shop_product_comment where  com_id in 
 | 
        <foreach collection="list" index="index" item="item" open="(" 
 | 
            separator="," close=")"> 
 | 
            #{item} 
 | 
        </foreach> 
 | 
    </delete> 
 | 
         
 | 
    <!-- 根据id删除--> 
 | 
    <delete id="deleteById" parameterType="Integer"> 
 | 
        DELETE FROM shop_product_comment 
 | 
        where  com_id=#{comId}  
 | 
    </delete> 
 | 
     
 | 
    <!-- 根据对象删除--> 
 | 
    <delete id="deleteByModel" parameterType="com.matrix.system.shopXcx.bean.ShopProductComment"> 
 | 
        DELETE FROM shop_product_comment 
 | 
        <where> 
 | 
        <include refid="where_sql" ></include> 
 | 
        </where> 
 | 
    </delete> 
 | 
     
 | 
     
 | 
     
 | 
    <!-- 分页查询 --> 
 | 
    <select id="selectInPage" resultMap="ShopProductCommentMap"> 
 | 
        select 
 | 
        c.create_by, 
 | 
        c.create_time, 
 | 
        c.update_by, 
 | 
        c.update_time, 
 | 
        c.com_id, 
 | 
        c.user_id, 
 | 
        c.product_id, 
 | 
        c.order_id, 
 | 
        c.com_content, 
 | 
        c.com_score, 
 | 
        c.com_audit_status, 
 | 
        c.com_verify, 
 | 
        c.com_verify_id, 
 | 
        c.del_flag, 
 | 
        p.title, 
 | 
        p.img_mobile, 
 | 
        o.order_no, 
 | 
        o.order_money, 
 | 
        b.nick_name, 
 | 
        b.avatar_url 
 | 
        from 
 | 
        shop_product_comment c 
 | 
        LEFT JOIN shop_product p ON c.product_id = p.id 
 | 
        LEFT JOIN shop_order o ON c.order_id = o.id 
 | 
        LEFT JOIN sys_vip_info b ON c.user_id = b.openid 
 | 
        <where> 
 | 
          <include refid="where_sql"></include> 
 | 
         </where> 
 | 
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> 
 | 
            order by c.create_time desc 
 | 
            <if test="pageVo.offset >=0  and pageVo.limit >0"> 
 | 
                limit 
 | 
                #{pageVo.offset},#{pageVo.limit} 
 | 
            </if> 
 | 
        </if> 
 | 
    </select> 
 | 
     
 | 
    <!-- 查询总条数 --> 
 | 
    <select id="selectTotalRecord" parameterType="long"   resultType="java.lang.Integer"> 
 | 
    select count(*) 
 | 
        from 
 | 
        shop_product_comment c 
 | 
        LEFT JOIN shop_product p ON c.product_id = p.id 
 | 
        LEFT JOIN shop_order o ON c.order_id = o.id 
 | 
        LEFT JOIN sys_vip_info b ON c.user_id = b.id 
 | 
        <where> 
 | 
           <include refid="where_sql"></include> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
    <!-- 根据id查询--> 
 | 
    <select id="selectById" resultMap="ShopProductCommentMap"> 
 | 
        select  
 | 
        <include refid="columns" ></include> 
 | 
        from shop_product_comment 
 | 
        where  com_id=#{comId}  
 | 
    </select> 
 | 
  
 | 
    <!-- 根据用户id查询--> 
 | 
    <select id="selectByUserId" resultMap="ShopProductCommentMap"> 
 | 
        SELECT 
 | 
            c.create_by, 
 | 
            c.create_time, 
 | 
            c.update_by, 
 | 
            c.update_time, 
 | 
            c.com_id, 
 | 
            c.user_id, 
 | 
            c.product_id, 
 | 
            c.order_id, 
 | 
            c.com_content, 
 | 
            c.com_score, 
 | 
            c.com_audit_status, 
 | 
            c.com_verify, 
 | 
            c.com_verify_id, 
 | 
            c.del_flag, 
 | 
            p.title, 
 | 
            p.img_mobile, 
 | 
            o.order_no, 
 | 
            o.order_money, 
 | 
            b.nick_name, 
 | 
            b.avatar_url 
 | 
        FROM 
 | 
            shop_product_comment c 
 | 
            LEFT JOIN shop_product p ON c.product_id = p.id 
 | 
            LEFT JOIN shop_order o ON c.order_id = o.id 
 | 
            LEFT JOIN sys_vip_info b ON c.user_id = b.id 
 | 
        <where> 
 | 
            <if test="record!=null"> 
 | 
                <if test="(record.userId!=null and record.userId!='') or  (record.userId!='' and record.userId==0)  "> 
 | 
                    and c.user_id = #{record.userId} 
 | 
                </if> 
 | 
            </if> 
 | 
            AND p.del_flag = 2 
 | 
            AND o.del_flag = 2 
 | 
            AND c.del_flag = 2 
 | 
            AND c.com_audit_status = 1 
 | 
        </where> 
 | 
        order by c.create_time desc 
 | 
        <if test="record.offset >=0  and record.limit >0"> 
 | 
            limit 
 | 
            #{record.offset},#{record.limit} 
 | 
        </if> 
 | 
    </select> 
 | 
  
 | 
    <!-- 根据产品id查询--> 
 | 
    <select id="selectByProductId" resultMap="ShopProductCommentMap"> 
 | 
        SELECT 
 | 
            c.create_by, 
 | 
            c.create_time, 
 | 
            c.update_by, 
 | 
            c.update_time, 
 | 
            c.com_id, 
 | 
            c.user_id, 
 | 
            c.product_id, 
 | 
            c.order_id, 
 | 
            c.com_content, 
 | 
            c.com_score, 
 | 
            c.com_audit_status, 
 | 
            c.com_verify, 
 | 
            c.com_verify_id, 
 | 
            c.del_flag, 
 | 
            p.title, 
 | 
            p.img_mobile, 
 | 
            o.order_no, 
 | 
            o.order_money, 
 | 
            b.nick_name, 
 | 
            b.avatar_url 
 | 
        FROM 
 | 
            shop_product_comment c 
 | 
            LEFT JOIN shop_product p ON c.product_id = p.id 
 | 
            LEFT JOIN shop_order o ON c.order_id = o.id 
 | 
            LEFT JOIN sys_vip_info b ON c.user_id = b.openid 
 | 
        <where> 
 | 
            and c.product_id = #{record.productId} 
 | 
            AND p.del_flag = 2 
 | 
            AND o.del_flag = 2 
 | 
            AND c.del_flag = 2 
 | 
            AND c.com_audit_status = 1 
 | 
        </where> 
 | 
        order by c.create_time desc 
 | 
        <if test="record.offset >=0  and record.limit >0"> 
 | 
            limit 
 | 
            #{record.offset},#{record.limit} 
 | 
        </if> 
 | 
  
 | 
    </select> 
 | 
  
 | 
    <!-- 查询总条数 --> 
 | 
    <select id="selectByProductTotal" parameterType="long"   resultType="java.lang.Integer"> 
 | 
        select count(*) 
 | 
        from 
 | 
        shop_product_comment c 
 | 
        LEFT JOIN shop_product p ON c.product_id = p.id 
 | 
        LEFT JOIN shop_order o ON c.order_id = o.id 
 | 
        LEFT JOIN sys_vip_info b ON c.user_id = b.openid 
 | 
        <where> 
 | 
            <if test="record!=null"> 
 | 
                <if test="(record.productId!=null and record.productId!='') or  (record.productId!='' and record.productId==0)  "> 
 | 
                    and c.product_id = #{record.productId} 
 | 
                </if> 
 | 
            </if> 
 | 
            and c.com_audit_status=1 
 | 
            AND p.del_flag = 2 
 | 
            AND o.del_flag = 2 
 | 
            AND c.del_flag = 2 
 | 
        </where> 
 | 
    </select> 
 | 
     
 | 
    <!-- 根据id 锁表查询--> 
 | 
    <select id="selectForUpdate" resultMap="ShopProductCommentMap"> 
 | 
        select  
 | 
        <include refid="columns" ></include> 
 | 
        from shop_product_comment 
 | 
        where  com_id=#{com_id}  
 | 
        for update 
 | 
    </select>     
 | 
     
 | 
     
 | 
     
 | 
    <!-- 根据对象查询--> 
 | 
    <select id="selectByModel" resultMap="ShopProductCommentMap"> 
 | 
        select  
 | 
        <include refid="columns" ></include> 
 | 
        from shop_product_comment 
 | 
        <where> 
 | 
          <include refid="where_sql"></include> 
 | 
         </where> 
 | 
    </select> 
 | 
</mapper> 
 |