admin
2020-02-18 ddf5db7d31af51fcf697eac0cee7dd46ff73bcc1
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
@@ -7,7 +7,12 @@
      <result column="showValue" property="showValue" jdbcType="VARCHAR" />
   </resultMap>
    <resultMap id="CountOrderMap" type="com.yeshi.fanli.dto.order.CountOrderDTO">
      <result column="uid" property="uid" jdbcType="BIGINT" />
      <result column="totalOrder" property="totalOrder" jdbcType="INTEGER" />
      <result column="commission" property="commission" jdbcType="DECIMAL" />
   </resultMap>
   <sql id="Column_DateType">
      <if test="dateType == 1">
         DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') AS 'showDate'
@@ -52,12 +57,9 @@
         </if>
   </select>
   
   <select id="countOrderNumber" resultMap="ChartMap">
      SELECT IFNULL(COUNT(t.`co_id`),0) AS showValue,<include refid="Column_DateType"/>
      FROM `yeshi_ec_common_order` t
      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_third_create_time`
   <select id="countOrderBySourceTypeAndDay" resultType="java.lang.Long">
      SELECT COUNT(t.`co_id`) FROM `yeshi_ec_common_order` t
      WHERE t.co_source_type=#{sourceType} AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') = #{preDay}
   </select>
   
   
@@ -275,6 +277,47 @@
      ) b WHERE b.c>=#{minSameGoodsOrderCount}
   </select>
   
   <select id="countOderByUidAndDate" resultType="Integer">
      SELECT COUNT(1) FROM (SELECT d.`co_id` FROM `yeshi_ec_common_order` d
      WHERE d.`co_third_create_time`<![CDATA[<=]]> #{preDay} AND d.`co_uid` = #{uid}
           AND (d.`co_state`=1 OR d.`co_state`=2)
      GROUP BY d.`co_order_no`,d.`co_source_type`)A
   </select>
   
   <select id="countValidOrderByDay" resultMap="CountOrderMap">
      SELECT co_uid AS uid ,totalOrder FROM (
         SELECT COUNT(d.`co_id`) AS totalOrder,d.`co_uid` FROM `yeshi_ec_common_order` d
         WHERE DATE_FORMAT(d.`co_third_create_time`,'%Y-%m-%d') = '2019-11-11'  AND (d.`co_state`=1 OR d.`co_state`=2)
         GROUP BY d.`co_order_no`,d.`co_source_type`)A
      GROUP BY co_uid
   </select>
   <select id="countDownOrderUserByUidAndDate" resultType="Integer">
      SELECT COUNT(DISTINCT d.`co_uid`) FROM `yeshi_ec_common_order` d
      WHERE  d.`co_third_create_time`<![CDATA[<=]]> #{preDay} AND (d.`co_state`=1 OR d.`co_state`=2)
      <foreach collection="list" item="uid" open="AND (" separator="OR" close=")" >
         d.`co_uid` = #{uid}
      </foreach>
   </select>
   <select id="countCommissionByDay" resultMap="CountOrderMap">
   SELECT co_uid AS uid ,commission FROM (
         SELECT SUM(IFNULL(d.`co_eIncome`,d.`co_estimate`)) AS commission,d.`co_uid` FROM `yeshi_ec_common_order` d
         WHERE DATE_FORMAT(d.`co_third_create_time`,'%Y-%m-%d') = '2019-11-11'  AND (d.`co_state`=1 OR d.`co_state`=2)
         GROUP BY d.`co_order_no`,d.`co_source_type`)A
      GROUP BY co_uid
   </select>
   <select id="countOderByDate" resultType="Integer">
      SELECT COUNT(1) FROM (SELECT d.`co_id` FROM `yeshi_ec_common_order` d
      WHERE DATE_FORMAT(d.`co_third_create_time`,'%Y-%m-%d') = #{preDay} AND (d.`co_state`=1 OR d.`co_state`=2)
      GROUP BY d.`co_order_no`,d.`co_source_type`)A
   </select>
   <select id="countCommissionByDate" resultType="BigDecimal">
      SELECT SUM(IFNULL(d.`co_eIncome`,d.`co_estimate`)) FROM `yeshi_ec_common_order` d
      WHERE d.`co_third_create_time`= #{preDay} AND (d.`co_state`=1 OR d.`co_state`=2)
   </select>
   
</mapper>