yujian
2019-11-27 e915a40b79552686b8d8a8cfc48a341fa2c0f518
fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2CountMapper.xml
@@ -196,6 +196,21 @@
      OR h.`hb_type`=6
      OR h.`hb_type`=7)
   </select>
   <select id="getHongBaoCount" resultType="Long">
      SELECT IFNULL(count(v2.`hb_id`),0) FROM `yeshi_ec_hongbao_v2` v
      WHERE v.`hb_uid`=#{uid}
      <if test="type == 1"> <!-- 自购订单 -->
         AND (v.hb_type =1 or v.hb_type =2)
      </if>
      <if test="type == 2"> <!-- 分享订单 -->
         AND v.`hb_type` = 20
      </if>
      <if test="type == 3"> <!-- 邀请订单 -->
         AND (v.`hb_type` = 5 OR v.`hb_type` = 6 OR v.`hb_type` = 7 OR v.`hb_type` = 21 OR v.`hb_type` = 22)
      </if>
   </select>
   <select id="countValidNumberByUid" resultType="java.lang.Long">
      <!--统计有效订单数量 -->
@@ -396,5 +411,50 @@
         AND v2.`hb_create_time` > #{date}
         AND (t2.`hb_type` = 1 OR t2.`hb_type` = 20))A
   </select>
   <select id="getRewardMoneyByDate" resultType="BigDecimal">
      SELECT COALESCE(SUM(v2.`hb_money`),0)AS totalmoney FROM (
         SELECT * FROM yeshi_ec_hongbao_v2 v
         WHERE v.hb_state <![CDATA[<>]]> 4 AND v.`hb_uid`= 389677
         <if test="type == 1"> <!-- 自购订单 -->
            AND (v.hb_type =1 or v.hb_type =2)
         </if>
         <if test="type == 2"> <!-- 分享订单 -->
            AND v.`hb_type` = 20
         </if>
         <if test="type == 3"> <!-- 邀请订单 -->
            AND (v.`hb_type` = 5 OR v.`hb_type` = 6 OR v.`hb_type` = 7 OR v.`hb_type` = 21 OR v.`hb_type` = 22)
         </if>
         <if test="type == 2 and day == 4"> <!-- 本月月将要到账 -->
            AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(v.`hb_pre_get_time`, '%Y%m')) = 1
         </if>
         <if test="type == 3 and day == 4"> <!-- 本月将要到账 -->
            AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(v.`hb_pre_get_time`, '%Y%m')) = 1
         </if>
      )v2
      LEFT JOIN yeshi_ec_hongbao_order ho ON ho.`ho_hongbao_id` = IF(v2.hb_pid IS NULL,v2.hb_id,v2.hb_pid)
      LEFT JOIN yeshi_ec_common_order co ON co.`co_id` = ho.`ho_order_id`
      WHERE co.`co_state`<![CDATA[<>]]> 4
      <if test="day == 1"> <!-- 今天产生-->
         AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
      </if>
      <if test="day == 2"> <!-- 昨天产生-->
         AND TO_DAYS(NOW()) - TO_DAYS(co.`co_third_create_time`) = 1
      </if>
      <if test="day == 3"> <!-- 本月产生 -->
         AND DATE_FORMAT(co.`co_third_create_time`,'%Y%m') =   DATE_FORMAT(CURDATE(),'%Y%m')
      </if>
      <if test="day == 4 and type == 1"> <!-- 上月产生自购 -->
         AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
      </if>
      <if test="orderState ==  1"> <!-- 有效订单: 整个订单有效 -->
         AND <![CDATA[co.`co_state` <> 3]]>
         AND (co.co_state_whole_order = 1 or co.co_state_whole_order = 2)
      </if>
      <if test="orderState ==  2"> <!-- 维权订单 -->
         AND co.co_state = 3
      </if>
   </select>
</mapper>