yujian
2019-09-02 9eeda0d3049b71877c373c04d65533939b5582ef
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
@@ -5,37 +5,37 @@
   <sql id="Column_DateType">
      <if test="dateType == 1">
         DATE_FORMAT(t.`co_create_time`,'%Y-%m-%d') AS 'showDate'
         DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') AS 'showDate'
      </if>
      <if test="dateType == 2">
         DATE_FORMAT(t.`co_create_time`,'%m') AS 'showDate'
         DATE_FORMAT(t.`co_third_create_time`,'%m') AS 'showDate'
      </if>
      <if test="dateType == 3">
         DATE_FORMAT(t.`co_create_time`,'%Y') AS 'showDate'
         DATE_FORMAT(t.`co_third_create_time`,'%Y') AS 'showDate'
      </if>
   </sql>
   <sql id="Count_Select_DateType">
      <if test="startTime != null and startTime != '' ">
         AND DATE_FORMAT(t.`co_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
         AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
      </if>
      <if test="endTime != null and endTime != '' ">
         AND DATE_FORMAT(t.`co_create_time`,'%Y-%m-%d') <![CDATA[ <= ]]>'${endTime}'
         AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') <![CDATA[ <= ]]>'${endTime}'
      </if>
      <if test="year != null and year != '' ">
         AND DATE_FORMAT(t.`co_create_time`,'%Y') = '${year}'
         AND DATE_FORMAT(t.`co_third_create_time`,'%Y') = '${year}'
      </if>
   </sql>
   <sql id="Count_Group_DateType">
      <if test="dateType == 1">
         GROUP BY DATE_FORMAT(t.`co_create_time`,'%Y-%m-%d')
         GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')
      </if>
      <if test="dateType == 2">
         GROUP BY DATE_FORMAT(t.`co_create_time`,'%Y-%m')
         GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m')
      </if>
      <if test="dateType == 3">
         GROUP BY DATE_FORMAT(t.`co_create_time`,'%Y')
         GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y')
      </if>
   </sql>
@@ -50,9 +50,9 @@
   <select id="countOrderNumber" resultType="java.util.HashMap">
      SELECT IFNULL(COUNT(t.`co_id`),0) AS showValue,<include refid="Column_DateType"/>
      FROM `yeshi_ec_common_order` t 
      WHERE t.`co_create_time` IS NOT NULL <include refid="Count_Select_DateType"/>
      WHERE t.co_source_type=#{sourceType} and t.`co_third_create_time` IS NOT NULL <include refid="Count_Select_DateType"/>
      <include refid="Count_Group_DateType"/>
      ORDER BY t.`co_create_time`
      ORDER BY t.`co_third_create_time`
   </select>
   
   
@@ -65,7 +65,7 @@
         FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho 
            LEFT JOIN ( 
               SELECT * FROM yeshi_ec_hongbao_v2 v2 
               WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2)
               WHERE v2.`hb_uid`= ${uid} and v2.hb_state!=4 AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2)
               ) 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 
@@ -95,11 +95,11 @@
         FROM  (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho 
               LEFT JOIN ( 
                  SELECT * FROM yeshi_ec_hongbao_v2 v2 
                  WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20
                  WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20 and v2.hb_state!=4
               ) 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
            WHERE hb.hb_id IS NOT NULL and hb.hb_state!=4
               <if test="state != null"> 
                  AND co.`co_state` = ${state} 
               </if>
@@ -128,10 +128,10 @@
               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 )
                        OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 ) and v2.hb_state!=4
               ) 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  hbp.hb_id IS NOT NULL
            WHERE  hbp.hb_id IS NOT NULL and hbp.hb_state!=4
               <if test="state != null"> 
                  AND co.`co_state` = ${state} 
               </if>
@@ -153,4 +153,27 @@
      )A
   </select>
   
   <select id="countValidOrder" resultType="java.lang.Long">
      SELECT IFNULL(COUNT(co.`co_id`),0) FROM yeshi_ec_hongbao_order ho
      LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
         WHERE v2.`hb_uid`= #{uid}  AND v2.`hb_type` IN(1,20))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 AND <![CDATA[co.`co_state` <> 4]]>
   </select>
   <select id="getMoneyByOrderNo" resultType="java.math.BigDecimal">
      SELECT SUM(v2.`hb_money`) FROM yeshi_ec_common_order co
      LEFT JOIN  yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id`
      LEFT JOIN yeshi_ec_hongbao_v2 v2 ON  v2.hb_id=ho.`ho_hongbao_id`
      WHERE co.`co_order_no` = #{orderNo}
   </select>
   <select id="countValidOrderByDate" resultType="Long">
      SELECT IFNULL(COUNT(co.`co_id`),0) FROM yeshi_ec_common_order co
      LEFT JOIN  yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id`
      LEFT JOIN yeshi_ec_hongbao_v2 v2 ON  v2.hb_id=ho.`ho_hongbao_id`
      WHERE co.`co_uid` = #{uid} AND v2.`hb_type` = 1 AND v2.`hb_state` = 3
           AND co.`co_third_create_time` > #{dateTime}
   </select>
</mapper>