<?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.ShopOrderSearchDao"> 
 | 
    <!-- 定义ShopOrder 的简单map  ,本map不添加其他的关联属性 --> 
 | 
    <resultMap type="com.matrix.system.shopXcx.bean.ShopOrderSearch" id="ShopOrderSearchMap"> 
 | 
        <!--<id property="id" column="id" />--> 
 | 
        <result property="proName" column="pro_name" /> 
 | 
        <result property="proType" column="pro_type" /> 
 | 
        <result property="proAttrs" column="pro_attrs" /> 
 | 
        <result property="proSpecification" column="pro_specification" /> 
 | 
        <result property="nickName" column="nick_name" /> 
 | 
        <result property="count" column="count" /> 
 | 
        <result property="orderMoney" column="order_money" /> 
 | 
        <result property="orderNo" column="order_no" /> 
 | 
        <result property="orderStatus" column="order_status" /> 
 | 
        <result property="orderTime" column="order_time" /> 
 | 
    </resultMap> 
 | 
  
 | 
  
 | 
    <!-- where sql --> 
 | 
    <sql id="where_sql"> 
 | 
          
 | 
         <if test="record!=null"> 
 | 
            <if test="(record.id!=null and record.id!='') or  (record.id!='' and record.id==0)  "> 
 | 
                and id  = #{record.id}  
 | 
            </if> 
 | 
            <if test="(record.orderNo!=null and record.orderNo!='') or  (record.orderNo!='' and record.orderNo==0)  "> 
 | 
                and order_no like concat('%', #{record.orderNo}, '%') 
 | 
            </if> 
 | 
            <if test="(record.orderMoney!=null and record.orderMoney!='') or  (record.orderMoney!='' and record.orderMoney==0)  "> 
 | 
                and order_money  = #{record.orderMoney}  
 | 
            </if> 
 | 
             <if test="(record.commodityPrice!=null and record.commodityPrice!='') or  (record.commodityPrice!='' and record.commodityPrice==0)  "> 
 | 
                 and commodity_price  = #{record.commodityPrice} 
 | 
             </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.orderTime!=null   "> 
 | 
                and order_time  = #{record.orderTime}  
 | 
            </if> 
 | 
            <if test="(record.payStatus!=null and record.payStatus!='') or  (record.payStatus!='' and record.payStatus==0)  "> 
 | 
                and pay_status  = #{record.payStatus}  
 | 
            </if> 
 | 
            <if test="(record.discountExplain!=null and record.discountExplain!='') or  (record.discountExplain!='' and record.discountExplain==0)  "> 
 | 
                and discount_explain  = #{record.discountExplain}  
 | 
            </if> 
 | 
            <if test="(record.discountAmount!=null and record.discountAmount!='') or  (record.discountAmount!='' and record.discountAmount==0)  "> 
 | 
                and discount_amount  = #{record.discountAmount}  
 | 
            </if> 
 | 
            <if test="(record.orderStatus!=null and record.orderStatus!='') or  (record.orderStatus!='' and record.orderStatus==0)  "> 
 | 
                and order_status  = #{record.orderStatus}  
 | 
            </if> 
 | 
            <if test="(record.refundCharge!=null and record.refundCharge!='') or  (record.refundCharge!='' and record.refundCharge==0)  "> 
 | 
                and refund_charge  = #{record.refundCharge}  
 | 
            </if> 
 | 
            <if test="(record.userName!=null and record.userName!='') or  (record.userName!='' and record.userName==0)  "> 
 | 
                and user_name  like concat('%', #{record.userName}, '%') 
 | 
            </if> 
 | 
            <if test="(record.userTel!=null and record.userTel!='') or  (record.userTel!='' and record.userTel==0)  "> 
 | 
                and user_tel  like concat('%', #{record.userTel}, '%') 
 | 
            </if> 
 | 
            <if test="(record.remarks!=null and record.remarks!='') or  (record.remarks!='' and record.remarks==0)  "> 
 | 
                and remarks  = #{record.remarks}  
 | 
            </if> 
 | 
            <if test="(record.shippingMethod!=null and record.shippingMethod!='') or  (record.shippingMethod!='' and record.shippingMethod==0)  "> 
 | 
                 and shipping_method  = #{record.shippingMethod} 
 | 
            </if> 
 | 
            <if test="(record.storeId!=null and record.storeId!='') or  (record.storeId!='' and record.storeId==0)  "> 
 | 
                and store_id  = #{record.storeId}  
 | 
            </if> 
 | 
            <if test="(record.purchaseQuantity!=null and record.purchaseQuantity!='') or  (record.purchaseQuantity!='' and record.purchaseQuantity==0)  "> 
 | 
                and purchase_quantity  = #{record.purchaseQuantity}  
 | 
            </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.wxOrderNo!=null and record.wxOrderNo!='') or  (record.wxOrderNo!='' and record.wxOrderNo==0)  "> 
 | 
                and wx_order_no  = #{record.wxOrderNo}  
 | 
            </if> 
 | 
            <if test="(record.payResult!=null and record.payResult!='') or  (record.payResult!='' and record.payResult==0)  "> 
 | 
                and pay_result  = #{record.payResult}  
 | 
            </if> 
 | 
             <if test="(record.postage!=null and record.postage!='') or  (record.postage!='' and record.postage==0)  "> 
 | 
                 and postage  = #{record.postage} 
 | 
             </if> 
 | 
        </if> 
 | 
          
 | 
    </sql> 
 | 
  
 | 
    <!-- 分页查询 --> 
 | 
    <select id="selectInPageByQuery" resultMap="ShopOrderSearchMap"> 
 | 
        select 
 | 
        so.order_no,so.order_status,sp.title pro_name,spa.attr_name pro_type,sp.attrs_values pro_attrs,sku.`NAME` pro_specification,sod.count 'count',sod.price*sod.count order_money,bu.nick_name nick_name,so.order_time 
 | 
        from 
 | 
        shop_order_details sod,shop_product sp,shop_product_attribute spa,shop_order so,sys_vip_info bu,shop_sku sku 
 | 
        where 
 | 
        so.del_flag = 2 
 | 
        and sod.p_id = sp.id 
 | 
        and sp.category_id = spa.attr_id 
 | 
        and sod.order_id = so.id 
 | 
        and bu.id = so.user_id 
 | 
        and sku.p_id = sod.p_id 
 | 
        and so.company_id=#{record.companyId} 
 | 
        <if test="record != null"> 
 | 
            <if test="(record.proName!=null and record.proName!='')"> 
 | 
                and  sp.title like concat('%', #{record.proName}, '%') 
 | 
            </if> 
 | 
            <if test="(record.proType!=null and record.proType!='')"> 
 | 
                and spa.attr_name like concat('%', (select attr_name from shop_product_attribute where attr_id = #{record.proType}) , '%') 
 | 
            </if> 
 | 
            <if test="(record.nickName!=null and record.nickName!='')"> 
 | 
                and  bu.nick_name like concat('%', #{record.nickName}, '%') 
 | 
            </if> 
 | 
            <if test="(record.orderNo!=null and record.orderNo!='')"> 
 | 
                and  so.order_no like concat('%', #{record.orderNo}, '%') 
 | 
            </if> 
 | 
            <if test="(record.orderStatus!=null and record.orderStatus!='')"> 
 | 
                and  so.order_status = #{record.orderStatus} 
 | 
            </if> 
 | 
  
 | 
            <if test="record.companyId != null and record.companyId !='' "> 
 | 
                and so.company_id = #{record.companyId} 
 | 
            </if> 
 | 
  
 | 
            <if test="(record.proAttrs!=null and record.proAttrs!='')"> 
 | 
                and  sp.attrs_values like concat('%', (select attr_name from shop_product_attribute where attr_id = #{record.proAttrs}) , '%') 
 | 
            </if> 
 | 
  
 | 
            <if test="record.orderBeginTime!=null "> 
 | 
                and date_format(so.order_time, '%Y-%m-%d') >= #{record.orderBeginTime} 
 | 
            </if> 
 | 
            <if test="record.orderEndTime!=null"> 
 | 
                and  #{record.orderEndTime} >= date_format(so.order_time, '%Y-%m-%d') 
 | 
            </if> 
 | 
        </if> 
 | 
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> 
 | 
            <if test="pageVo.sort !=null  and pageVo.order !=null"> 
 | 
                order by 
 | 
                ${pageVo.sort} ${pageVo.order} 
 | 
            </if> 
 | 
            <if test="pageVo.offset >=0  and pageVo.limit >0"> 
 | 
                limit 
 | 
                #{pageVo.offset},#{pageVo.limit} 
 | 
            </if> 
 | 
        </if> 
 | 
    </select> 
 | 
  
 | 
    <!-- 查询总条数 --> 
 | 
    <select id="selectTotalRecordByQuery" resultType="java.lang.Integer"> 
 | 
        select count(*) 
 | 
        from 
 | 
        shop_order_details sod,shop_product sp,shop_product_attribute spa,shop_order so,sys_vip_info bu,shop_sku sku 
 | 
        where 
 | 
        so.del_flag = 2 
 | 
        and sod.p_id = sp.id 
 | 
        and sp.category_id = spa.attr_id 
 | 
        and sod.order_id = so.id 
 | 
        and bu.id = so.user_id 
 | 
        and sku.p_id = sod.p_id 
 | 
        and so.company_id=#{record.companyId} 
 | 
        <if test="record != null"> 
 | 
            <if test="(record.proName!=null and record.proName!='')"> 
 | 
                and  sp.title like concat('%', #{record.proName}, '%') 
 | 
            </if> 
 | 
            <if test="(record.proType!=null and record.proType!='')"> 
 | 
                and spa.attr_name like concat('%', (select attr_name from shop_product_attribute where attr_id = #{record.proType}) , '%') 
 | 
            </if> 
 | 
            <if test="(record.nickName!=null and record.nickName!='')"> 
 | 
                and  bu.nick_name like concat('%', #{record.nickName}, '%') 
 | 
            </if> 
 | 
            <if test="(record.orderNo!=null and record.orderNo!='')"> 
 | 
                and  so.order_no like concat('%', #{record.orderNo}, '%') 
 | 
            </if> 
 | 
            <if test="(record.orderStatus!=null and record.orderStatus!='')"> 
 | 
                and  so.order_status = #{record.orderStatus} 
 | 
            </if> 
 | 
            <if test="(record.proAttrs!=null and record.proAttrs!='')"> 
 | 
                and  sp.attrs_values like concat('%', (select attr_name from shop_product_attribute where attr_id = #{record.proAttrs}) , '%') 
 | 
            </if> 
 | 
            <if test="record.orderBeginTime!=null "> 
 | 
                and date_format(so.order_time, '%Y-%m-%d') >= #{record.orderBeginTime} 
 | 
            </if> 
 | 
            <if test="record.orderEndTime!=null"> 
 | 
                and  #{record.orderEndTime} >= date_format(so.order_time, '%Y-%m-%d') 
 | 
            </if> 
 | 
        </if> 
 | 
    </select> 
 | 
  
 | 
</mapper> 
 |