| <?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> |