From fb6eb1e6b9df772d243b5ade8b9e3dd08028e935 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@MS-20170306HGUF> Date: 星期二, 25 二月 2020 20:05:56 +0800 Subject: [PATCH] 刷单标识 --- fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml | 654 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 331 insertions(+), 323 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml index 5e9a09d..0773862 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml @@ -1,323 +1,331 @@ -<?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> -- Gitblit v1.8.0