yujian
2019-01-22 88b54772dbcf5ecab1e2316e4e4626ac901b8908
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -283,7 +283,7 @@
      </if>
      <if test="day != null and day == 4">  <!-- 上月 -->
         AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
         DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
         DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
      </if>
   </sql>
   
@@ -301,16 +301,20 @@
   
   <sql id="SELECT_PARAM_HONGBAO_STATE">
      <if test="state != null and state == 1">  <!-- 未到账 -->
         AND (v2.hb_state = 1 or v2.hb_state = 2)
         AND (hb.hb_state = 1 or hb.hb_state = 2)
      </if>
      <if test="state != null and state == 2"> <!-- 已到账 -->
         AND v2.hb_state = 3
         AND hb.hb_state = 3
      </if>
      <if test="state != null and state == 3">  <!-- 红包已失效 -->
         AND v2.hb_state =4
      <if test="state != null and state == 3">  <!-- 红包已失效、整个订单失效 -->
         AND hb.hb_state =4 AND co.co_state_whole_order = 3
      </if>
   </sql>
   
   <sql id="Hongbao_Column_List">
      hb_id,hb_uid,hb_urank,hb_pid,hb_type,hb_state,hb_pre_get_time,hb_get_time,hb_version,
      IF(v2.`hb_state` = 4, 0, v2.hb_money)AS hb_money
   </sql>
   <select id="listUserOrder" resultMap="ResultMap">   
       <!-- 查询用户订单 -->
@@ -322,15 +326,15 @@
            co.*
      FROM yeshi_ec_hongbao_order ho 
      
      LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
      LEFT JOIN (SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= #{uid} 
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
      LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
      WHERE hb.hb_id IS NOT NULL
           <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
           <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
           <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
           <if test="orderNo != null and orderNo !='' ">
            AND co.co_order_no = #{orderNo}
           </if>
@@ -343,16 +347,16 @@
       <!-- 统计用户订单数量 -->
      SELECT IFNULL(COUNT(ho_id),0) FROM 
         (SELECT ho.ho_id FROM yeshi_ec_hongbao_order ho 
          LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
          LEFT JOIN (SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= #{uid} 
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
            
           LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
          WHERE hb.hb_id IS NOT NULL
                 <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
                <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
                <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
               <if test="orderNo != null and orderNo !='' ">
                  AND co.co_order_no = #{orderNo}
               </if>
@@ -401,7 +405,7 @@
            </if>
            <if test="day != null and day == 4">  <!-- 上月 -->
               AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
               DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
               DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
            </if>
         GROUP BY co.`co_order_no`, co.`co_source_type`)YX
         
@@ -428,7 +432,7 @@
               </if>
               <if test="day != null and day == 4">  <!-- 上月 -->
                  AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                  DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
                  DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
               </if>
            GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
            
@@ -456,7 +460,7 @@
               </if>
               <if test="day != null and day == 4">  <!-- 上月 -->
                  AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                  DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
                  DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
               </if>
            GROUP BY co.`co_order_no`, co.`co_source_type`)SX
      )A
@@ -533,7 +537,7 @@
      SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalmoney
      FROM yeshi_ec_hongbao_order ho    
      LEFT JOIN ( 
         SELECT * FROM yeshi_ec_hongbao_v2 v2
         SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
         WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
              AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3)
      ) hb  ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
@@ -550,7 +554,7 @@
         (SELECT CAST(SUM(hb.`hb_money`) AS DECIMAL(19,2))AS moneys   
         FROM yeshi_ec_hongbao_order ho    
         LEFT JOIN ( 
            SELECT * FROM yeshi_ec_hongbao_v2 v2
            SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
            WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
                 AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3)
         ) hb  ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
@@ -558,9 +562,6 @@
         LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
         WHERE hb.hb_id IS NOT NULL 
            <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
            <if test="day == null">
               AND <![CDATA[co.`co_state` <> 2]]> <!-- 统计有效的 -->
            </if>
            <if test="day != null and day == 4"> 
               AND co.`co_state` = 2 <!-- 上月 :统计已收货 -->
            </if>
@@ -685,6 +686,7 @@
      LEFT JOIN yeshi_ec_common_order_goods cog ON cog.`cog_id`= co.`co_order_goods_id`
      WHERE hb.hb_id IS NOT NULL
         <include refid="SELECT_PARAM_ORDER_STATE"/>   <!-- 订单状态 -->
         <if test="startTime != null and startTime != '' ">
            AND <![CDATA[co.co_third_create_time >= #{startTime}]]>
         </if>