| | |
| | | <?xml version="1.0" encoding="UTF-8"?>
|
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
| | |
|
| | | <mapper namespace="com.yeshi.fanli.dao.mybatis.order.CommonOrderCountMapper">
|
| | | <resultMap id="ChartMap" type="com.yeshi.fanli.dto.ChartTDO">
|
| | | <result column="showDate" property="showDate" jdbcType="VARCHAR" />
|
| | | <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'
|
| | | </if>
|
| | | <if test="dateType == 2">
|
| | | DATE_FORMAT(t.`co_third_create_time`,'%m') AS 'showDate'
|
| | | </if>
|
| | | <if test="dateType == 3">
|
| | | 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_third_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}'
|
| | | </if>
|
| | | <if test="endTime != null and 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_third_create_time`,'%Y') = '${year}'
|
| | | </if>
|
| | | </sql>
|
| | |
|
| | | <sql id="Count_Group_DateType">
|
| | | <if test="dateType == 1">
|
| | | GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')
|
| | | </if>
|
| | | <if test="dateType == 2">
|
| | | GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m')
|
| | | </if>
|
| | | <if test="dateType == 3">
|
| | | GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y')
|
| | | </if>
|
| | | </sql>
|
| | |
|
| | | <select id="countByState" resultType="java.lang.Long">
|
| | | SELECT IFNULL(COUNT(t.`co_id`),0) FROM `yeshi_ec_common_order` t |
| | | WHERE 1=1 |
| | | <if test="type != null"> |
| | | AND t.`co_state` = #{state}
|
| | | </if>
|
| | | </select>
|
| | | |
| | | <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>
|
| | | |
| | | |
| | | <select id="countOrderNumberBySettleTime" resultType="java.util.HashMap">
|
| | | <!-- 统计历史订单数量 根据结算时间 -->
|
| | | SELECT SUM(A.self)AS totalSelf,SUM(A.shared)AS totalShared,SUM(A.invite)AS totalInvite
|
| | | FROM ( |
| | | <!-- 返利订单 -->
|
| | | SELECT IFNULL(COUNT(ho_id),0) AS self,0 AS shared,0 AS invite
|
| | | 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_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 |
| | | <if test="state != null"> |
| | | AND co.`co_state` = ${state} |
| | | </if>
|
| | | |
| | | <if test="day != null and day == 1"> <!-- 今天 -->
|
| | | AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
|
| | | </if>
|
| | | <if test="day != null and day == 2"> <!-- 昨天 -->
|
| | | AND TO_DAYS(NOW()) - TO_DAYS(co.co_settle_time) = 1
|
| | | </if>
|
| | | <if test="day != null and day == 3"> <!-- 本月 -->
|
| | | AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
|
| | | DATE_FORMAT(CURDATE(),'%Y%m')
|
| | | </if>
|
| | | <if test="day != null and day == 4"> <!-- 上月 -->
|
| | | AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
|
| | | DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
|
| | | </if>
|
| | | GROUP BY co.`co_order_no`, co.`co_source_type`)YX
|
| | | |
| | | UNION ALL
|
| | | <!-- 分享订单 -->
|
| | | SELECT 0 AS self,IFNULL(COUNT(ho_id),0) AS shared,0 AS invite
|
| | | 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 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 and hb.hb_state!=4
|
| | | <if test="state != null"> |
| | | AND co.`co_state` = ${state} |
| | | </if>
|
| | | |
| | | <if test="day != null and day == 1"> <!-- 今天 -->
|
| | | AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
|
| | | </if>
|
| | | <if test="day != null and day == 2"> <!-- 昨天 -->
|
| | | AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
|
| | | </if>
|
| | | <if test="day != null and day == 3"> <!-- 本月 -->
|
| | | AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
|
| | | DATE_FORMAT(CURDATE(),'%Y%m')
|
| | | </if>
|
| | | <if test="day != null and day == 4"> <!-- 上月 -->
|
| | | AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
|
| | | DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
|
| | | </if>
|
| | | GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
|
| | | |
| | | UNION ALL
|
| | | <!-- 邀请订单 -->
|
| | | SELECT 0 AS self,0 AS shared,IFNULL(COUNT(ho_id),0) AS invite |
| | | 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` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7
|
| | | 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 and hbp.hb_state!=4
|
| | | <if test="state != null"> |
| | | AND co.`co_state` = ${state} |
| | | </if>
|
| | | <if test="day != null and day == 1"> <!-- 今天 -->
|
| | | AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW())
|
| | | </if>
|
| | | <if test="day != null and day == 2"> <!-- 昨天 -->
|
| | | AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1
|
| | | </if>
|
| | | <if test="day != null and day == 3"> <!-- 本月 -->
|
| | | AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') =
|
| | | DATE_FORMAT(CURDATE(),'%Y%m')
|
| | | </if>
|
| | | <if test="day != null and day == 4"> <!-- 上月 -->
|
| | | AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
|
| | | DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
|
| | | </if>
|
| | | GROUP BY co.`co_order_no`, co.`co_source_type`)SX
|
| | | )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_order_no),0) FROM
|
| | | (SELECT DISTINCT co.co_order_no 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 AND co.`co_third_create_time` <![CDATA[>]]> #{dateTime})A
|
| | | </select>
|
| | | |
| | | <select id="countSameShopOrderByUidAndHongBaoType" resultType="Long">
|
| | | SELECT COUNT(*) FROM
|
| | | (
|
| | | SELECT a.*,COUNT(*) AS num FROM |
| | | (
|
| | | SELECT co.*,COUNT(*) AS c,g.`cog_shop_id` AS shopId 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 -->
|
| | | <if test="typeList!=null">
|
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")">
|
| | | v.`hb_type`=#{type}
|
| | | </foreach>
|
| | | </if>
|
| | | AND v.`hb_id` IS NOT NULL |
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | AND g.`cog_shop_id`>0 GROUP BY co.`co_order_no`,co.`co_source_type`
|
| | | ) a GROUP BY a.shopId
|
| | | ) b WHERE b.num>=#{minSameShopGoodsCount};
|
| | | </select>
|
| | | |
| | | |
| | | <select id="countSameGoodsOrderByUidAndHongBaoType" resultType="Long">
|
| | | SELECT COUNT(*) FROM
|
| | | (
|
| | | SELECT a.goodsId,COUNT(*) AS c FROM
|
| | | (
|
| | | SELECT co.`co_order_goods_id` AS goodsId,co.`co_order_no` 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 -->
|
| | | <if test="typeList!=null">
|
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")">
|
| | | v.`hb_type`=#{type}
|
| | | </foreach>
|
| | | </if>
|
| | | AND v.`hb_id` IS NOT NULL
|
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | GROUP BY co.`co_order_no`,co.`co_order_goods_id`
|
| | | ) a GROUP BY goodsId |
| | | ) b WHERE b.c>=#{minSameGoodsOrderCount}
|
| | | </select>
|
| | | |
| | | |
| | | |
| | | <select id="getSameShopOrderByUidAndHongBaoType" resultType="Long">
|
| | | SELECT b.shopId FROM
|
| | | (
|
| | | SELECT a.*,COUNT(*) AS num FROM |
| | | (
|
| | | SELECT co.*,COUNT(*) AS c,g.`cog_shop_id` AS shopId 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 -->
|
| | | <if test="typeList!=null">
|
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")">
|
| | | v.`hb_type`=#{type}
|
| | | </foreach>
|
| | | </if>
|
| | | AND v.`hb_id` IS NOT NULL |
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | AND g.`cog_shop_id`>0 GROUP BY co.`co_order_no`,co.`co_source_type`
|
| | | ) a GROUP BY a.shopId
|
| | | ) b WHERE b.num>=#{minSameShopGoodsCount};
|
| | | </select>
|
| | | |
| | | |
| | | <select id="getSameGoodsOrderByUidAndHongBaoType" resultType="Long">
|
| | | SELECT b.goodsId FROM
|
| | | (
|
| | | SELECT a.goodsId,COUNT(*) AS c FROM
|
| | | (
|
| | | SELECT co.`co_order_goods_id` AS goodsId,co.`co_order_no` 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 -->
|
| | | <if test="typeList!=null">
|
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")">
|
| | | v.`hb_type`=#{type}
|
| | | </foreach>
|
| | | </if>
|
| | | AND v.`hb_id` IS NOT NULL
|
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | GROUP BY co.`co_order_no`,co.`co_order_goods_id`
|
| | | ) a GROUP BY goodsId |
| | | ) 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>
|
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | |
| | | <mapper namespace="com.yeshi.fanli.dao.mybatis.order.CommonOrderCountMapper"> |
| | | <resultMap id="ChartMap" type="com.yeshi.fanli.dto.ChartTDO"> |
| | | <result column="showDate" property="showDate" jdbcType="VARCHAR" /> |
| | | <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' |
| | | </if> |
| | | <if test="dateType == 2"> |
| | | DATE_FORMAT(t.`co_third_create_time`,'%m') AS 'showDate' |
| | | </if> |
| | | <if test="dateType == 3"> |
| | | 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_third_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}' |
| | | </if> |
| | | <if test="endTime != null and 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_third_create_time`,'%Y') = '${year}' |
| | | </if> |
| | | </sql> |
| | | |
| | | <sql id="Count_Group_DateType"> |
| | | <if test="dateType == 1"> |
| | | GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') |
| | | </if> |
| | | <if test="dateType == 2"> |
| | | GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m') |
| | | </if> |
| | | <if test="dateType == 3"> |
| | | GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y') |
| | | </if> |
| | | </sql> |
| | | |
| | | <select id="countByState" resultType="java.lang.Long"> |
| | | SELECT IFNULL(COUNT(t.`co_id`),0) FROM `yeshi_ec_common_order` t |
| | | WHERE 1=1 |
| | | <if test="type != null"> |
| | | AND t.`co_state` = #{state} |
| | | </if> |
| | | </select> |
| | | |
| | | <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> |
| | | |
| | | |
| | | <select id="countOrderNumberBySettleTime" resultType="java.util.HashMap"> |
| | | <!-- 统计历史订单数量 根据结算时间 --> |
| | | SELECT SUM(A.self)AS totalSelf,SUM(A.shared)AS totalShared,SUM(A.invite)AS totalInvite |
| | | FROM ( |
| | | <!-- 返利订单 --> |
| | | SELECT IFNULL(COUNT(ho_id),0) AS self,0 AS shared,0 AS invite |
| | | 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_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 |
| | | <if test="state != null"> |
| | | AND co.`co_state` = ${state} |
| | | </if> |
| | | |
| | | <if test="day != null and day == 1"> <!-- 今天 --> |
| | | AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) |
| | | </if> |
| | | <if test="day != null and day == 2"> <!-- 昨天 --> |
| | | AND TO_DAYS(NOW()) - TO_DAYS(co.co_settle_time) = 1 |
| | | </if> |
| | | <if test="day != null and day == 3"> <!-- 本月 --> |
| | | AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = |
| | | DATE_FORMAT(CURDATE(),'%Y%m') |
| | | </if> |
| | | <if test="day != null and day == 4"> <!-- 上月 --> |
| | | AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), |
| | | DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 |
| | | </if> |
| | | GROUP BY co.`co_order_no`, co.`co_source_type`)YX |
| | | |
| | | UNION ALL |
| | | <!-- 分享订单 --> |
| | | SELECT 0 AS self,IFNULL(COUNT(ho_id),0) AS shared,0 AS invite |
| | | 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 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 and hb.hb_state!=4 |
| | | <if test="state != null"> |
| | | AND co.`co_state` = ${state} |
| | | </if> |
| | | |
| | | <if test="day != null and day == 1"> <!-- 今天 --> |
| | | AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) |
| | | </if> |
| | | <if test="day != null and day == 2"> <!-- 昨天 --> |
| | | AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1 |
| | | </if> |
| | | <if test="day != null and day == 3"> <!-- 本月 --> |
| | | AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = |
| | | DATE_FORMAT(CURDATE(),'%Y%m') |
| | | </if> |
| | | <if test="day != null and day == 4"> <!-- 上月 --> |
| | | AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), |
| | | DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 |
| | | </if> |
| | | GROUP BY co.`co_order_no`, co.`co_source_type`)WQ |
| | | |
| | | UNION ALL |
| | | <!-- 邀请订单 --> |
| | | SELECT 0 AS self,0 AS shared,IFNULL(COUNT(ho_id),0) AS invite |
| | | 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` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7 |
| | | 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 and hbp.hb_state!=4 |
| | | <if test="state != null"> |
| | | AND co.`co_state` = ${state} |
| | | </if> |
| | | <if test="day != null and day == 1"> <!-- 今天 --> |
| | | AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) |
| | | </if> |
| | | <if test="day != null and day == 2"> <!-- 昨天 --> |
| | | AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1 |
| | | </if> |
| | | <if test="day != null and day == 3"> <!-- 本月 --> |
| | | AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = |
| | | DATE_FORMAT(CURDATE(),'%Y%m') |
| | | </if> |
| | | <if test="day != null and day == 4"> <!-- 上月 --> |
| | | AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), |
| | | DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 |
| | | </if> |
| | | GROUP BY co.`co_order_no`, co.`co_source_type`)SX |
| | | )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_order_no),0) FROM |
| | | (SELECT DISTINCT co.co_order_no 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 AND co.`co_third_create_time` <![CDATA[>]]> #{dateTime})A |
| | | </select> |
| | | |
| | | <select id="countSameShopOrderByUidAndHongBaoType" resultType="Long"> |
| | | SELECT COUNT(*) FROM |
| | | ( |
| | | SELECT a.*,COUNT(*) AS num FROM |
| | | ( |
| | | SELECT co.*,COUNT(*) AS c,g.`cog_shop_id` AS shopId 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 --> |
| | | <if test="typeList!=null"> |
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")"> |
| | | v.`hb_type`=#{type} |
| | | </foreach> |
| | | </if> |
| | | AND v.`hb_id` IS NOT NULL |
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | AND g.`cog_shop_id`>0 GROUP BY co.`co_order_no`,co.`co_source_type` |
| | | ) a GROUP BY a.shopId |
| | | ) b WHERE b.num>=#{minSameShopGoodsCount}; |
| | | </select> |
| | | |
| | | |
| | | <select id="countSameGoodsOrderByUidAndHongBaoType" resultType="Long"> |
| | | SELECT COUNT(*) FROM |
| | | ( |
| | | SELECT a.goodsId,COUNT(*) AS c FROM |
| | | ( |
| | | SELECT co.`co_order_goods_id` AS goodsId,co.`co_order_no` 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 --> |
| | | <if test="typeList!=null"> |
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")"> |
| | | v.`hb_type`=#{type} |
| | | </foreach> |
| | | </if> |
| | | AND v.`hb_id` IS NOT NULL |
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | GROUP BY co.`co_order_no`,co.`co_order_goods_id` |
| | | ) a GROUP BY goodsId |
| | | ) b WHERE b.c>=#{minSameGoodsOrderCount} |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="getSameShopOrderByUidAndHongBaoType" resultType="Long"> |
| | | SELECT b.shopId FROM |
| | | ( |
| | | SELECT a.*,COUNT(*) AS num FROM |
| | | ( |
| | | SELECT co.*,COUNT(*) AS c,g.`cog_shop_id` AS shopId 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 --> |
| | | <if test="typeList!=null"> |
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")"> |
| | | v.`hb_type`=#{type} |
| | | </foreach> |
| | | </if> |
| | | AND v.`hb_id` IS NOT NULL |
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | AND g.`cog_shop_id`>0 GROUP BY co.`co_order_no`,co.`co_source_type` |
| | | ) a GROUP BY a.shopId |
| | | ) b WHERE b.num>=#{minSameShopGoodsCount}; |
| | | </select> |
| | | |
| | | |
| | | <select id="getSameGoodsOrderByUidAndHongBaoType" resultType="Long"> |
| | | SELECT b.goodsId FROM |
| | | ( |
| | | SELECT a.goodsId,COUNT(*) AS c FROM |
| | | ( |
| | | SELECT co.`co_order_goods_id` AS goodsId,co.`co_order_no` 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 v ON v.`hb_id`=ho.`ho_hongbao_id` |
| | | LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` |
| | | WHERE co.`co_uid`=#{uid} AND g.`cog_shop_id` <![CDATA[<>]]> 725677994 <!-- 天猫超市 --> |
| | | <if test="typeList!=null"> |
| | | <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")"> |
| | | v.`hb_type`=#{type} |
| | | </foreach> |
| | | </if> |
| | | AND v.`hb_id` IS NOT NULL |
| | | AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) |
| | | GROUP BY co.`co_order_no`,co.`co_order_goods_id` |
| | | ) a GROUP BY goodsId |
| | | ) 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> |
| | | |
| | | <select id="countOderByUidAndLess10" resultType="Integer"> |
| | | SELECT count(1) from (SELECT SUM(d.co_payment) as payment FROM `yeshi_ec_common_order` d |
| | | where d.co_uid = #{uid} and d.co_source_type = 1 and d.co_state <![CDATA[<>]]> 4 |
| | | GROUP BY d.`co_order_no` |
| | | ORDER BY d.co_third_create_time desc |
| | | limit 50)A where A.payment<![CDATA[<]]> 10 |
| | | </select> |
| | | |
| | | </mapper> |