yujian
2019-01-14 92c681fabac989d1a9f16fa13202d7f5ccac52d9
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -303,11 +303,11 @@
   <select id="listUserOrder" resultMap="ResultMap">   
       <!-- 查询用户订单 -->
      SELECT COALESCE(SUM(IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`)),0)AS totalMoney,
            IF(hb.hb_id IS NULL,hbp.`hb_state`,hb.hb_state) AS hongBaoState,
            IF(hb.hb_id IS NULL,hbp.`hb_type`,hb.`hb_type`) AS hongBaoType,
            IF(hb.hb_id IS NULL,hbp.`hb_get_time`,hb.`hb_get_time`)  AS accountTime,
            IF(hb.hb_id IS NULL,hbp.`hb_pre_get_time`,hb.`hb_pre_get_time`) AS preAccountTime,
      SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalMoney,
            hb.hb_state AS hongBaoState,
            hb.`hb_type` AS hongBaoType,
            hb.`hb_get_time` AS accountTime,
            hb.`hb_pre_get_time`AS preAccountTime,
            co.*
      FROM yeshi_ec_hongbao_order ho 
      
@@ -315,16 +315,9 @@
               WHERE v2.`hb_uid`= #{uid} 
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hb ON hb.hb_id=ho.`ho_hongbao_id`
      LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= #{uid}
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hbp ON  hbp.hb_pid=ho.`ho_hongbao_id`
            )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 OR hbp.hb_id IS NOT NULL)
      WHERE hb.hb_id IS NOT NULL
           <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
           <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
           <if test="orderNo != null and orderNo !='' ">
@@ -343,16 +336,10 @@
               WHERE v2.`hb_uid`= #{uid} 
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hb ON hb.hb_id=ho.`ho_hongbao_id`
         LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= #{uid}
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hbp ON hbp.hb_pid=ho.`ho_hongbao_id`
            )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 OR hbp.hb_id IS NOT NULL)
          WHERE hb.hb_id IS NOT NULL
                 <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
                <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
               <if test="orderNo != null and orderNo !='' ">
@@ -388,13 +375,9 @@
            LEFT JOIN ( 
               SELECT * FROM yeshi_ec_hongbao_v2 v2 
               WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2)
               ) hb  ON hb.hb_id=ho.`ho_hongbao_id`
            LEFT JOIN (
               SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2)
               ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
               ) hb  ON hb.hb_id=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 OR hbp.hb_id IS NOT NULL)
         WHERE hb.hb_id IS NOT NULL
            <if test="day != null and day == 1"> <!-- 今天 -->
               AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
            </if>
@@ -418,13 +401,10 @@
               LEFT JOIN ( 
                  SELECT * FROM yeshi_ec_hongbao_v2 v2 
                  WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20
               ) hb  ON hb.hb_id=ho.`ho_hongbao_id`
               LEFT JOIN (
                  SELECT * FROM yeshi_ec_hongbao_v2 v2
                  WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20
               ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
               ) hb  ON hb.hb_id=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 OR hbp.hb_id IS NOT NULL)
            WHERE hb.hb_id IS NOT NULL
               <if test="day != null and day == 1"> <!-- 今天 -->
                  AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
               </if>
@@ -450,15 +430,9 @@
               WHERE v2.`hb_uid`= ${uid}
                   AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7
                        OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 )
               ) hb  ON hb.hb_id=ho.`ho_hongbao_id`
            LEFT JOIN (
               SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= ${uid}
                   AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7
                        OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 )
               ) hbp  ON hbp.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 OR hbp.hb_id IS NOT NULL)
            WHERE  hbp.hb_id IS NOT NULL
               <if test="day != null and day == 1"> <!-- 今天 -->
                  AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
               </if>
@@ -487,14 +461,10 @@
         LEFT JOIN ( 
            SELECT * FROM yeshi_ec_hongbao_v2 v2 
            WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
         ) hb  ON hb.hb_id=ho.`ho_hongbao_id`
         LEFT JOIN (
            SELECT * FROM yeshi_ec_hongbao_v2 v2
            WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
         ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
         ) 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 OR hbp.hb_id IS NOT NULL)
         WHERE hb.hb_id IS NOT NULL
              <![CDATA[AND co.`co_state` <> 3]]>
              AND (co.`co_state_whole_order` =1 OR co.`co_state_whole_order` = 2) 
            <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
@@ -507,13 +477,9 @@
            LEFT JOIN ( 
               SELECT * FROM yeshi_ec_hongbao_v2 v2 
               WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
            ) hb  ON hb.hb_id=ho.`ho_hongbao_id`
            LEFT JOIN (
               SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
            ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
            ) 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 OR hbp.hb_id IS NOT NULL)
            WHERE hb.hb_id IS NOT NULL
                 AND co.`co_state` = 3 
               <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
            GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
@@ -525,13 +491,9 @@
            LEFT JOIN ( 
               SELECT * FROM yeshi_ec_hongbao_v2 v2 
               WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
            ) hb  ON hb.hb_id=ho.`ho_hongbao_id`
            LEFT JOIN (
               SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
            ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
            ) 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 OR hbp.hb_id IS NOT NULL)
            WHERE hb.hb_id IS NOT NULL
               AND co.`co_state_whole_order` = 3 
               <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
            GROUP BY co.`co_order_no`, co.`co_source_type`)SX
@@ -547,15 +509,9 @@
            LEFT JOIN ( 
               SELECT * FROM yeshi_ec_hongbao_v2 v2 
               WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
            ) hb  ON hb.hb_id=ho.`ho_hongbao_id`
            LEFT JOIN (
               SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
            ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
            ) 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 OR hbp.hb_id IS NOT NULL)
            WHERE hb.hb_id IS NOT NULL
               <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
            GROUP BY co.`co_order_no`, co.`co_source_type`
      )A
@@ -563,20 +519,15 @@
   <select id="countBonusOrderMoney" resultType="java.math.BigDecimal">
      <!-- 奖金统计:订单总返利金额 去掉已失效 -->
      SELECT COALESCE(SUM(IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`)),0)AS totalmoney
      SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalmoney
      FROM yeshi_ec_hongbao_order ho    
      LEFT JOIN ( 
         SELECT * 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 hb.hb_id=ho.`ho_hongbao_id`
      LEFT JOIN (
         SELECT * 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)
      ) hbp  ON hbp.hb_pid=ho.`ho_hongbao_id`
      ) 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 OR hbp.hb_id IS NOT NULL)
      WHERE hb.hb_id IS NOT NULL
         <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
         <if test="day != null and day == 4"> 
            AND co.`co_state` = 2  <!-- 上月 :统计已收货 -->
@@ -584,36 +535,35 @@
   </select>
   
   <select id="countBonusOrderMoneyAndNumber" resultType="java.util.HashMap">
      <!-- 奖金统计有效订单:订单总金额 / 总订单数      -->
      SELECT COUNT(ho.`ho_id`) AS totalNum,
         CAST(SUM(IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`))AS DECIMAL(19,2)) AS totalmoney
      FROM yeshi_ec_hongbao_order ho
      LEFT JOIN (
         SELECT * 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 hb.hb_id=ho.`ho_hongbao_id`
      LEFT JOIN (
         SELECT * 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)
      ) hbp  ON hbp.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 OR hbp.hb_id IS NOT NULL)
         <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
         <if test="day != null and day == 4">
            AND co.`co_state` = 2  <!-- 上月 :统计已收货 -->
         </if>
      GROUP BY co.`co_order_no`, co.`co_source_type`
      SELECT COUNT(*) AS totalNum, CAST(SUM(moneys) AS DECIMAL(19,2)) AS totalmoney FROM
         (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
            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`
         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>
            GROUP BY co.`co_order_no`, co.`co_source_type`
         )A
   </select>
   
   <select id="listQueryByUid" resultMap="ResultMap">   
       <!-- 查询用户订单 -->
      SELECT  IF(hb.hb_id IS NULL,hbp.`hb_money`,hb.`hb_money`) AS totalMoney,
            IF(hb.hb_id IS NULL,hbp.`hb_state`,hb.hb_state) AS hongBaoState,
            IF(hb.hb_id IS NULL,hbp.`hb_type`,hb.`hb_type`) AS hongBaoType,
            IF(hb.hb_id IS NULL,hbp.`hb_get_time`,hb.`hb_get_time`)  AS accountTime,
            IF(hb.hb_id IS NULL,hbp.`hb_pre_get_time`,hb.`hb_pre_get_time`) AS preAccountTime,
      SELECT  hb.`hb_money` AS totalMoney,
            hb.hb_state AS hongBaoState,
            hb.`hb_type` AS hongBaoType,
            hb.`hb_get_time`  AS accountTime,
            hb.`hb_pre_get_time` AS preAccountTime,
            co.*,cog.*
      FROM yeshi_ec_hongbao_order ho 
      
@@ -621,17 +571,10 @@
               WHERE v2.`hb_uid`= #{uid} 
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hb ON hb.hb_id=ho.`ho_hongbao_id`
      LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= #{uid}
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hbp ON  hbp.hb_pid=ho.`ho_hongbao_id`
            )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`
      LEFT JOIN yeshi_ec_common_order_goods cog ON cog.`cog_id`= co.`co_order_goods_id`
      WHERE (hb.hb_id IS NOT NULL OR hbp.hb_id IS NOT NULL)
      WHERE hb.hb_id IS NOT NULL
           <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
           <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
           <if test="orderNo != null and orderNo !='' ">
@@ -649,16 +592,10 @@
               WHERE v2.`hb_uid`= #{uid} 
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hb ON hb.hb_id=ho.`ho_hongbao_id`
         LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
               WHERE v2.`hb_uid`= #{uid}
                  <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
            )hbp ON hbp.hb_pid=ho.`ho_hongbao_id`
            )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 OR hbp.hb_id IS NOT NULL)
          WHERE hb.hb_id IS NOT NULL
                 <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
                <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
               <if test="orderNo != null and orderNo !='' ">