From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 22 一月 2019 15:58:24 +0800
Subject: [PATCH] 邀请码添加返回状态

---
 fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml | 1176 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 692 insertions(+), 484 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
index a6c58c8..9efebd0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
+++ b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -2,498 +2,706 @@
 <!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.CommonOrderMapper">
-  <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.order.CommonOrder">
-    <id column="co_id" property="id" jdbcType="BIGINT"/>
-    <result column="co_order_no" property="orderNo" jdbcType="VARCHAR"/>
-    <result column="co_source_type" property="sourceType" jdbcType="INTEGER"/>
-    <result column="co_source_position" property="sourcePosition" jdbcType="VARCHAR"/>
-    <result column="co_count" property="count" jdbcType="INTEGER"/>
-    <result column="co_state" property="state" jdbcType="INTEGER"/>
-    <result column="co_estimate" property="estimate" jdbcType="DECIMAL"/>
-    <result column="co_eIncome" property="eIncome" jdbcType="DECIMAL"/>
-    <result column="co_payment" property="payment" jdbcType="DECIMAL"/>
-    <result column="co_settlement" property="settlement" jdbcType="DECIMAL"/>
-    <result column="co_third_create_time" property="thirdCreateTime" jdbcType="TIMESTAMP"/>
-    <result column="co_settle_time" property="settleTime" jdbcType="TIMESTAMP"/>
-    <result column="co_create_time" property="createTime" jdbcType="TIMESTAMP"/>
-    <result column="co_update_time" property="updateTime" jdbcType="TIMESTAMP"/>
-    
-    <association property="userInfo" column="co_uid" 
-		javaType="com.yeshi.fanli.entity.bus.user.UserInfo">
-		<id column="co_uid" property="id" jdbcType="BIGINT" />
-	</association>	
-	
-	<association property="commonOrderGoods" column="co_order_goods_id" 
-		javaType="com.yeshi.fanli.entity.order.CommonOrderGoods">
-		<id column="co_order_goods_id" property="id" jdbcType="BIGINT" />
-	</association>	
-  </resultMap>
-  
-  <resultMap id="ResultMap" type="com.yeshi.fanli.vo.order.CommonOrderVO">
-    <id column="co_id" property="id" jdbcType="BIGINT"/>
-    <result column="co_order_no" property="orderNo" jdbcType="VARCHAR"/>
-    <result column="co_source_type" property="sourceType" jdbcType="INTEGER"/>
-    <result column="co_source_position" property="sourcePosition" jdbcType="VARCHAR"/>
-    <result column="co_count" property="count" jdbcType="INTEGER"/>
-    <result column="co_state" property="state" jdbcType="INTEGER"/>
-    <result column="co_estimate" property="estimate" jdbcType="DECIMAL"/>
-    <result column="co_eIncome" property="eIncome" jdbcType="DECIMAL"/>
-    <result column="co_payment" property="payment" jdbcType="DECIMAL"/>
-    <result column="co_settlement" property="settlement" jdbcType="DECIMAL"/>
-    <result column="co_third_create_time" property="thirdCreateTime" jdbcType="TIMESTAMP"/>
-    <result column="co_settle_time" property="settleTime" jdbcType="TIMESTAMP"/>
-    <result column="co_create_time" property="createTime" jdbcType="TIMESTAMP"/>
-    <result column="co_update_time" property="updateTime" jdbcType="TIMESTAMP"/>
-    
-    <result column="totalMoney" property="hongBao" jdbcType="DECIMAL"/>
-    <result column="hongBaoState" property="hongBaoState" jdbcType="INTEGER"/>
-     <result column="hongBaoType" property="hongBaoType" jdbcType="INTEGER"/>
-    <result column="accountTime" property="accountTime" jdbcType="TIMESTAMP"/>
-    <result column="preAccountTime" property="preAccountTime" jdbcType="TIMESTAMP"/>
-    
-    <result column="totalCount" property="totalCount" jdbcType="INTEGER"/>
-    <result column="totalSettlement" property="totalSettlement" jdbcType="DECIMAL"/>
-     
-    <association property="userInfo" column="co_uid" 
-		resultMap="com.yeshi.fanli.dao.mybatis.UserInfoMapper.BaseResultMap">
-	</association>	
-	
-	<association property="commonOrderGoods" column="co_order_goods_id" 
-		resultMap="com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper.BaseResultMap">
-	</association>	
-	
-	
-  </resultMap>
-  
-  <sql id="Base_Column_List">co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,cog_create_time,cog_update_time</sql>
-  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select
-    <include refid="Base_Column_List"/>from yeshi_ec_common_order where co_id = #{id,jdbcType=BIGINT}
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_common_order where co_id = #{id,jdbcType=BIGINT}</delete>
-  <insert id="insert" parameterType="com.yeshi.fanli.entity.order.CommonOrder" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_common_order (co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,cog_create_time,cog_update_time) values (#{id,jdbcType=BIGINT},#{userInfo.id,jdbcType=BIGINT},#{orderNo,jdbcType=VARCHAR},#{sourceType,jdbcType=INTEGER},#{sourcePosition,jdbcType=VARCHAR},#{commonOrderGoods.id,jdbcType=BIGINT},#{count,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{estimate,jdbcType=DECIMAL},#{eIncome,jdbcType=DECIMAL},#{payment,jdbcType=DECIMAL},#{settlement,jdbcType=DECIMAL},#{thirdCreateTime,jdbcType=TIMESTAMP},#{settleTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})</insert>
-  <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.order.CommonOrder" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_common_order
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">co_id,</if>
-      <if test="userInfo != null">co_uid,</if>
-      <if test="orderNo != null">co_order_no,</if>
-      <if test="sourceType != null">co_source_type,</if>
-      <if test="sourcePosition != null">co_source_position,</if>
-      <if test="commonOrderGoods != null">co_order_goods_id,</if>
-      <if test="count != null">co_count,</if>
-      <if test="state != null">co_state,</if>
-      <if test="estimate != null">co_estimate,</if>
-      <if test="eIncome != null">co_eIncome,</if>
-      <if test="payment != null">co_payment,</if>
-      <if test="settlement != null">co_settlement,</if>
-      <if test="thirdCreateTime != null">co_third_create_time,</if>
-      <if test="settleTime != null">co_settle_time,</if>
-      <if test="createTime != null">cog_create_time,</if>
-      <if test="updateTime != null">cog_update_time,</if>
-    </trim>values
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">#{id,jdbcType=BIGINT},</if>
-      <if test="userInfo != null">#{userInfo.id,jdbcType=BIGINT},</if>
-      <if test="orderNo != null">#{orderNo,jdbcType=VARCHAR},</if>
-      <if test="sourceType != null">#{sourceType,jdbcType=INTEGER},</if>
-      <if test="sourcePosition != null">#{sourcePosition,jdbcType=VARCHAR},</if>
-      <if test="commonOrderGoods != null">#{commonOrderGoods.id,jdbcType=BIGINT},</if>
-      <if test="count != null">#{count,jdbcType=INTEGER},</if>
-      <if test="state != null">#{state,jdbcType=INTEGER},</if>
-      <if test="estimate != null">#{estimate,jdbcType=DECIMAL},</if>
-      <if test="eIncome != null">#{eIncome,jdbcType=DECIMAL},</if>
-      <if test="payment != null">#{payment,jdbcType=DECIMAL},</if>
-      <if test="settlement != null">#{settlement,jdbcType=DECIMAL},</if>
-      <if test="thirdCreateTime != null">#{thirdCreateTime,jdbcType=TIMESTAMP},</if>
-      <if test="settleTime != null">#{settleTime,jdbcType=TIMESTAMP},</if>
-      <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
-      <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.order.CommonOrder">update yeshi_ec_common_order set co_uid = #{userInfo.id,jdbcType=BIGINT},co_order_no = #{orderNo,jdbcType=VARCHAR},co_source_type = #{sourceType,jdbcType=INTEGER},co_source_position = #{sourcePosition,jdbcType=VARCHAR},co_order_goods_id = #{commonOrderGoods.id,jdbcType=BIGINT},co_count = #{count,jdbcType=INTEGER},co_state = #{state,jdbcType=INTEGER},co_estimate = #{estimate,jdbcType=DECIMAL},co_eIncome = #{eIncome,jdbcType=DECIMAL},co_payment = #{payment,jdbcType=DECIMAL},co_settlement = #{settlement,jdbcType=DECIMAL},co_third_create_time = #{thirdCreateTime,jdbcType=TIMESTAMP},co_settle_time = #{settleTime,jdbcType=TIMESTAMP},cog_create_time = #{createTime,jdbcType=TIMESTAMP},cog_update_time = #{updateTime,jdbcType=TIMESTAMP} where co_id = #{id,jdbcType=BIGINT}</update>
-  <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.order.CommonOrder">update yeshi_ec_common_order
-    <set>
-      <if test="userInfo != null">co_uid=#{userInfo.id,jdbcType=BIGINT},</if>
-      <if test="orderNo != null">co_order_no=#{orderNo,jdbcType=VARCHAR},</if>
-      <if test="sourceType != null">co_source_type=#{sourceType,jdbcType=INTEGER},</if>
-      <if test="sourcePosition != null">co_source_position=#{sourcePosition,jdbcType=VARCHAR},</if>
-      <if test="commonOrderGoods != null">co_order_goods_id=#{commonOrderGoods.id,jdbcType=BIGINT},</if>
-      <if test="count != null">co_count=#{count,jdbcType=INTEGER},</if>
-      <if test="state != null">co_state=#{state,jdbcType=INTEGER},</if>
-      <if test="estimate != null">co_estimate=#{estimate,jdbcType=DECIMAL},</if>
-      <if test="eIncome != null">co_eIncome=#{eIncome,jdbcType=DECIMAL},</if>
-      <if test="payment != null">co_payment=#{payment,jdbcType=DECIMAL},</if>
-      <if test="settlement != null">co_settlement=#{settlement,jdbcType=DECIMAL},</if>
-      <if test="thirdCreateTime != null">co_third_create_time=#{thirdCreateTime,jdbcType=TIMESTAMP},</if>
-      <if test="settleTime != null">co_settle_time=#{settleTime,jdbcType=TIMESTAMP},</if>
-      <if test="createTime != null">cog_create_time=#{createTime,jdbcType=TIMESTAMP},</if>
-      <if test="updateTime != null">cog_update_time=#{updateTime,jdbcType=TIMESTAMP},</if>
-    </set> where co_id = #{id,jdbcType=BIGINT}
-  </update>
-  
-  <select id="listGroupOrderNoByUid" resultMap="ResultMap" >
-  	SELECT COALESCE(SUM(th.`hb_money`),0)AS totalMoney,tc.*,th.hb_state AS hongBaoState, th.hb_type AS hongBaoType,
-  		th.hb_get_time AS accountTime,th.hb_get_time AS accountTime,th.hb_pre_get_time AS preAccountTime
-    FROM yeshi_ec_common_order tc
-    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-	WHERE th.`hb_uid` = #{uid}
-		<if test="state != null">
-			AND th.hb_state = #{state}
-		</if>
-		<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-			AND (th.hb_type =1 or th.hb_type =2)
-		</if>
-		<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-			AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-		</if>
-		<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-			AND  (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-		</if>
-		<if test="orderNo != null">
-			AND tc.co_order_no = #{orderNo}
-		</if>
-		<if test="startTime != null">
-			AND <![CDATA[tc.co_create_time >= #{startTime}]]>
-		</if>
-		<if test="endTime != null">
-			AND <![CDATA[tc.co_create_time < #{endTime}]]>
-		</if>
-	GROUP BY tc.`co_order_no`,tc.co_source_type
-	ORDER BY tc.co_create_time DESC
-	LIMIT ${start},${count}
-  </select>
-  
-   <select id="countGroupOrderNoByUid" resultType="java.lang.Long">
-  	SELECT IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) FROM yeshi_ec_common_order tc
-    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-	WHERE  th.`hb_uid` = #{uid}
-		<if test="state != null">
-			AND th.hb_state = #{state}
-		</if>
-		<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-			AND (th.hb_type =1 or th.hb_type =2)
-		</if>
-		<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-			AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-		</if>
-		<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-			AND  (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-		</if>
-		<if test="orderNo != null">
-			AND tc.co_order_no = #{orderNo}
-		</if>
-		<if test="startTime != null">
-			AND <![CDATA[tc.co_create_time >= #{startTime}]]>
-		</if>
-		<if test="endTime != null">
-			AND <![CDATA[tc.co_create_time < #{endTime}]]>
-		</if>
-  </select>
-  
-   <select id="listByOrderNoAndType" resultMap="ResultMap"  parameterType="java.util.List">
-  	SELECT COALESCE(SUM(tc.`co_settlement`),0)AS totalSettlement,COALESCE(SUM(tc.`co_count`),0)AS totalCount,tc.`co_source_type`,tc.`co_order_no`,tg.* 
-  	FROM  yeshi_ec_common_order_goods tg 
-  		LEFT JOIN yeshi_ec_common_order tc ON tc.`co_order_goods_id` = tg.`cog_id`
-	WHERE
-	<foreach collection="list" item="item" separator=" OR ">
-		(tc.`co_source_type` = #{item.sourceType,jdbcType=INTEGER} AND tc.`co_order_no` = #{item.orderNo,jdbcType=VARCHAR})
-	</foreach>
-	GROUP BY tc.`co_order_no`,tc.`co_order_goods_id`
-  </select>
-  
-   <select id="countOrderByHongBaoType" resultType="java.util.HashMap">
-	 SELECT SUM(self)AS totalSelf, SUM(shared)AS totalShared ,SUM(invite)AS totalInvite FROM (
-		SELECT IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS self,0 AS shared,0 AS invite FROM yeshi_ec_common_order tc 
-		LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-		LEFT JOIN yeshi_ec_hongbao_v2 th ON tr.`ho_hongbao_id` = th.`hb_id`
-		WHERE th.`hb_uid` = ${uid} 
-			  AND (th.`hb_type` = 1 OR th.`hb_type` = 2)
-		  <if test="day != null and day == 1">
-		  	 AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-		  </if>
-		  <if test="day != null and day == 2">
-		 	 AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-		  </if>
-	UNION 
-	
-		SELECT 0 AS self, IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS shared,0 AS invite  FROM yeshi_ec_common_order tc 
-		LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-		WHERE th.`hb_uid` = ${uid} 
-			  AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-		  <if test="day != null and day == 1">
-		  	 AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-		  </if>
-		  <if test="day != null and day == 2">
-		 	 AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-		  </if>
-	UNION 
-	SELECT 0 AS self,0 AS shared,IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS invite  FROM yeshi_ec_common_order tc 
-	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-	WHERE th.`hb_uid` = ${uid} 
-		  AND  (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-	  <if test="day != null and day == 1">
-		 AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-	  </if>
-	  <if test="day != null and day == 2">
-	 	 AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-	  </if>
-	)A
-  </select>
-  
-  <select id="countByUidAndOrderState" resultType="java.util.HashMap">
-  	SELECT SUM(valid)AS totalValid, SUM(proces)AS totalProces ,SUM(Invalid)AS totalInvite 
-  	FROM (SELECT IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS valid,0 AS proces,0 AS  Invalid
-	  	FROM yeshi_ec_common_order tc
-	    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-		WHERE th.`hb_uid` = #{uid} AND (tc.`co_state` = 1 OR tc.`co_state` = 2)
-			<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-			AND (th.hb_type =1 or th.hb_type =2)
-			</if>
-			<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-				AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-			</if>
-			<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-				AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-			</if>
-			<if test="startTime != null">
-				AND <![CDATA[tc.co_create_time >= #{startTime}]]>
-			</if>
-			<if test="endTime != null">
-				AND <![CDATA[tc.co_create_time < #{endTime}]]>
-			</if>
+	<resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.order.CommonOrder">
+		<id column="co_id" property="id" jdbcType="BIGINT" />
+		<result column="co_order_no" property="orderNo" jdbcType="VARCHAR" />
+		<result column="co_source_type" property="sourceType" jdbcType="INTEGER" />
+		<result column="co_source_position" property="sourcePosition"
+			jdbcType="VARCHAR" />
+		<result column="co_count" property="count" jdbcType="INTEGER" />
+		<result column="co_state" property="state" jdbcType="INTEGER" />
+		<result column="co_state_whole_order" property="stateWholeOrder" jdbcType="INTEGER" />
+		<result column="co_estimate" property="estimate" jdbcType="DECIMAL" />
+		<result column="co_eIncome" property="eIncome" jdbcType="DECIMAL" />
+		<result column="co_payment" property="payment" jdbcType="DECIMAL" />
+		<result column="co_settlement" property="settlement" jdbcType="DECIMAL" />
+		<result column="co_third_create_time" property="thirdCreateTime"
+			jdbcType="TIMESTAMP" />
+		<result column="co_settle_time" property="settleTime" jdbcType="TIMESTAMP" />
+		<result column="co_order_by" property="orderBy" jdbcType="INTEGER" />
+		<result column="co_create_time" property="createTime" jdbcType="TIMESTAMP" />
+		<result column="co_update_time" property="updateTime" jdbcType="TIMESTAMP" />
+
+		<association property="userInfo" column="co_uid"
+			javaType="com.yeshi.fanli.entity.bus.user.UserInfo">
+			<id column="co_uid" property="id" jdbcType="BIGINT" />
+		</association>
+
+		<association property="commonOrderGoods" column="co_order_goods_id"
+			javaType="com.yeshi.fanli.entity.order.CommonOrderGoods">
+			<id column="co_order_goods_id" property="id" jdbcType="BIGINT" />
+		</association>
+	</resultMap>
+
+
+	<resultMap id="BaseDetailResultMap" type="com.yeshi.fanli.entity.order.CommonOrder">
+		<id column="co_id" property="id" jdbcType="BIGINT" />
+		<result column="co_order_no" property="orderNo" jdbcType="VARCHAR" />
+		<result column="co_source_type" property="sourceType" jdbcType="INTEGER" />
+		<result column="co_source_position" property="sourcePosition"
+			jdbcType="VARCHAR" />
+		<result column="co_count" property="count" jdbcType="INTEGER" />
+		<result column="co_state" property="state" jdbcType="INTEGER" />
+		<result column="co_state_whole_order" property="stateWholeOrder" jdbcType="INTEGER" />
+		<result column="co_estimate" property="estimate" jdbcType="DECIMAL" />
+		<result column="co_eIncome" property="eIncome" jdbcType="DECIMAL" />
+		<result column="co_payment" property="payment" jdbcType="DECIMAL" />
+		<result column="co_settlement" property="settlement" jdbcType="DECIMAL" />
+		<result column="co_third_create_time" property="thirdCreateTime"
+			jdbcType="TIMESTAMP" />
+		<result column="co_settle_time" property="settleTime" jdbcType="TIMESTAMP" />
+		<result column="co_order_by" property="orderBy" jdbcType="INTEGER" />
+		<result column="co_create_time" property="createTime" jdbcType="TIMESTAMP" />
+		<result column="co_update_time" property="updateTime" jdbcType="TIMESTAMP" />
+
+		<association property="userInfo" column="co_uid"
+			javaType="com.yeshi.fanli.entity.bus.user.UserInfo">
+			<id column="co_uid" property="id" jdbcType="BIGINT" />
+		</association>
+
+		<association property="commonOrderGoods"
+			resultMap="com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper.BaseResultMap">
+
+		</association>
+	</resultMap>
+
+	<resultMap id="ResultMap" type="com.yeshi.fanli.vo.order.CommonOrderVO">
+		<id column="co_id" property="id" jdbcType="BIGINT" />
+		<result column="co_order_no" property="orderNo" jdbcType="VARCHAR" />
+		<result column="co_source_type" property="sourceType" jdbcType="INTEGER" />
+		<result column="co_source_position" property="sourcePosition"
+			jdbcType="VARCHAR" />
+		<result column="co_count" property="count" jdbcType="INTEGER" />
+		<result column="co_state" property="state" jdbcType="INTEGER" />
+		<result column="co_state_whole_order" property="stateWholeOrder" jdbcType="INTEGER" />
+		<result column="co_estimate" property="estimate" jdbcType="DECIMAL" />
+		<result column="co_eIncome" property="eIncome" jdbcType="DECIMAL" />
+		<result column="co_payment" property="payment" jdbcType="DECIMAL" />
+		<result column="co_settlement" property="settlement" jdbcType="DECIMAL" />
+		<result column="co_third_create_time" property="thirdCreateTime"
+			jdbcType="TIMESTAMP" />
+		<result column="co_settle_time" property="settleTime" jdbcType="TIMESTAMP" />
+		<result column="co_order_by" property="orderBy" jdbcType="INTEGER" />
+		<result column="co_create_time" property="createTime" jdbcType="TIMESTAMP" />
+		<result column="co_update_time" property="updateTime" jdbcType="TIMESTAMP" />
+
+		<result column="totalMoney" property="hongBao" jdbcType="DECIMAL" />
+		<result column="hongBaoState" property="hongBaoState" jdbcType="INTEGER" />
+		<result column="hongBaoType" property="hongBaoType" jdbcType="INTEGER" />
+		<result column="accountTime" property="accountTime" jdbcType="TIMESTAMP" />
+		<result column="preAccountTime" property="preAccountTime"
+			jdbcType="TIMESTAMP" />
+
+		<result column="totalCount" property="totalCount" jdbcType="INTEGER" />
+		<result column="totalSettlement" property="totalSettlement" jdbcType="DECIMAL" />
+		<result column="totalPayment" property="totalPayment" jdbcType="DECIMAL" />
 		
-		UNION 
+		
+		<result column="userId" property="userId" jdbcType="VARCHAR" />
+		<result column="userName" property="userName" jdbcType="VARCHAR" />
+		<result column="userPortrait" property="userPortrait" jdbcType="VARCHAR" />
+		
+		<result column="levelOneId" property="levelOneId" jdbcType="VARCHAR" />
+		<result column="levelOneMoney" property="levelOneMoney" jdbcType="VARCHAR" />
+		<result column="levelTwoId" property="levelTwoId" jdbcType="VARCHAR" />
+		<result column="levelTwoMoney" property="levelTwoMoney" jdbcType="VARCHAR" />
+
+		<association property="userInfo" column="co_uid"
+			resultMap="com.yeshi.fanli.dao.mybatis.UserInfoMapper.BaseResultMap">
+		</association>
+
+		<association property="commonOrderGoods" column="co_order_goods_id"
+			resultMap="com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper.BaseResultMap">
+		</association>
+
+	</resultMap>
 	
-		SELECT 0 AS valid,IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS proces,0 AS Invalid
-		FROM yeshi_ec_common_order tc
-	    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-		WHERE th.`hb_uid` = #{uid} AND  tc.`co_state` =3
-			<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-				AND (th.hb_type =1 or th.hb_type =2)
+
+	<sql id="Base_Column_List">co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_state_whole_order,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,co_order_by,co_create_time,co_update_time
+	</sql>
+	<select id="selectByPrimaryKey" resultMap="BaseResultMap"
+		parameterType="java.lang.Long">
+		select
+		<include refid="Base_Column_List" />
+		from yeshi_ec_common_order where co_id = #{id,jdbcType=BIGINT}
+	</select>
+	<select id="countByOrderNOAndOrderType" resultType="java.lang.Integer">
+		select
+		count(co_id) from yeshi_ec_common_order where co_order_no=#{orderNO}
+		and co_source_type=#{orderType}
+	</select>
+
+	<select id="selectByOrderNoAndOrderTypeAndOrderBy" resultMap="BaseResultMap">
+		select
+		* from yeshi_ec_common_order where co_order_no=#{orderNo}
+		and
+		co_source_type=#{orderType} and co_order_by=#{orderBy}
+	</select>
+
+	<select id="countByUidAndOrderStateWithOrderBalanceTime"
+		resultType="java.lang.Long">
+		SELECT COUNT(*) FROM yeshi_ec_common_order co WHERE
+		co.`co_state`=#{state} and co.`co_uid`=#{uid} and co.`co_settle_time`
+		is not null and co.`co_settle_time`>=#{minDate} and
+		#{maxDate}>co.`co_settle_time`
+	</select>
+
+
+	<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
+		yeshi_ec_common_order where co_id = #{id,jdbcType=BIGINT}
+	</delete>
+	<insert id="insert" parameterType="com.yeshi.fanli.entity.order.CommonOrder"
+		useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_common_order
+		(co_id,co_uid,co_order_no,co_source_type,co_source_position,co_order_goods_id,co_count,co_state,co_estimate,co_eIncome,co_payment,co_settlement,co_third_create_time,co_settle_time,co_create_time,co_update_time)
+		values
+		(#{id,jdbcType=BIGINT},#{userInfo.id,jdbcType=BIGINT},#{orderNo,jdbcType=VARCHAR},#{sourceType,jdbcType=INTEGER},#{sourcePosition,jdbcType=VARCHAR},#{commonOrderGoods.id,jdbcType=BIGINT},#{count,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{estimate,jdbcType=DECIMAL},#{eIncome,jdbcType=DECIMAL},#{payment,jdbcType=DECIMAL},#{settlement,jdbcType=DECIMAL},#{thirdCreateTime,jdbcType=TIMESTAMP},#{settleTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})
+	</insert>
+	<insert id="insertSelective" parameterType="com.yeshi.fanli.entity.order.CommonOrder"
+		useGeneratedKeys="true" keyProperty="id">
+		insert into yeshi_ec_common_order
+		<trim prefix="(" suffix=")" suffixOverrides=",">
+			<if test="id != null">co_id,</if>
+			<if test="userInfo != null">co_uid,</if>
+			<if test="orderNo != null">co_order_no,</if>
+			<if test="sourceType != null">co_source_type,</if>
+			<if test="sourcePosition != null">co_source_position,</if>
+			<if test="commonOrderGoods != null">co_order_goods_id,</if>
+			<if test="count != null">co_count,</if>
+			<if test="state != null">co_state,</if>
+			<if test="stateWholeOrder != null">co_state_whole_order,</if>
+			<if test="estimate != null">co_estimate,</if>
+			<if test="eIncome != null">co_eIncome,</if>
+			<if test="payment != null">co_payment,</if>
+			<if test="settlement != null">co_settlement,</if>
+			<if test="thirdCreateTime != null">co_third_create_time,</if>
+			<if test="settleTime != null">co_settle_time,</if>
+			<if test="orderBy != null">co_order_by,</if>
+			<if test="createTime != null">co_create_time,</if>
+			<if test="updateTime != null">co_update_time,</if>
+		</trim>
+		values
+		<trim prefix="(" suffix=")" suffixOverrides=",">
+			<if test="id != null">#{id,jdbcType=BIGINT},</if>
+			<if test="userInfo != null">#{userInfo.id,jdbcType=BIGINT},</if>
+			<if test="orderNo != null">#{orderNo,jdbcType=VARCHAR},</if>
+			<if test="sourceType != null">#{sourceType,jdbcType=INTEGER},</if>
+			<if test="sourcePosition != null">#{sourcePosition,jdbcType=VARCHAR},</if>
+			<if test="commonOrderGoods != null">#{commonOrderGoods.id,jdbcType=BIGINT},</if>
+			<if test="count != null">#{count,jdbcType=INTEGER},</if>
+			<if test="state != null">#{state,jdbcType=INTEGER},</if>
+			<if test="stateWholeOrder != null">#{stateWholeOrder,jdbcType=INTEGER},</if>
+			<if test="estimate != null">#{estimate,jdbcType=DECIMAL},</if>
+			<if test="eIncome != null">#{eIncome,jdbcType=DECIMAL},</if>
+			<if test="payment != null">#{payment,jdbcType=DECIMAL},</if>
+			<if test="settlement != null">#{settlement,jdbcType=DECIMAL},</if>
+			<if test="thirdCreateTime != null">#{thirdCreateTime,jdbcType=TIMESTAMP},</if>
+			<if test="settleTime != null">#{settleTime,jdbcType=TIMESTAMP},</if>
+			<if test="orderBy != null">#{orderBy,jdbcType=INTEGER},</if>
+			<if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
+			<if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
+		</trim>
+	</insert>
+	<update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.order.CommonOrder">update
+		yeshi_ec_common_order set co_uid =
+		#{userInfo.id,jdbcType=BIGINT},co_order_no =
+		#{orderNo,jdbcType=VARCHAR},co_source_type =
+		#{sourceType,jdbcType=INTEGER},co_source_position =
+		#{sourcePosition,jdbcType=VARCHAR},co_order_goods_id =
+		#{commonOrderGoods.id,jdbcType=BIGINT},co_count =
+		#{count,jdbcType=INTEGER},co_state =
+		#{state,jdbcType=INTEGER},co_state_whole_order =
+		#{stateWholeOrder,jdbcType=INTEGER},co_estimate =
+		#{estimate,jdbcType=DECIMAL},co_eIncome =
+		#{eIncome,jdbcType=DECIMAL},co_payment =
+		#{payment,jdbcType=DECIMAL},co_settlement =
+		#{settlement,jdbcType=DECIMAL},co_third_create_time =
+		#{thirdCreateTime,jdbcType=TIMESTAMP},co_settle_time =
+		#{settleTime,jdbcType=TIMESTAMP},co_order_by =
+		#{orderBy,jdbcType=INTEGER},co_create_time =
+		#{createTime,jdbcType=TIMESTAMP},co_update_time =
+		#{updateTime,jdbcType=TIMESTAMP} where co_id = #{id,jdbcType=BIGINT}
+	</update>
+	<update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.order.CommonOrder">
+		update yeshi_ec_common_order
+		<set>
+			<if test="userInfo != null">co_uid=#{userInfo.id,jdbcType=BIGINT},</if>
+			<if test="orderNo != null">co_order_no=#{orderNo,jdbcType=VARCHAR},</if>
+			<if test="sourceType != null">co_source_type=#{sourceType,jdbcType=INTEGER},</if>
+			<if test="sourcePosition != null">co_source_position=#{sourcePosition,jdbcType=VARCHAR},
 			</if>
-			<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-				AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
+			<if test="commonOrderGoods != null">co_order_goods_id=#{commonOrderGoods.id,jdbcType=BIGINT},
 			</if>
-			<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-				AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
+			<if test="count != null">co_count=#{count,jdbcType=INTEGER},</if>
+			<if test="state != null">co_state=#{state,jdbcType=INTEGER},</if>
+			<if test="stateWholeOrder != null">co_state_whole_order=#{stateWholeOrder,jdbcType=INTEGER},</if>
+			<if test="estimate != null">co_estimate=#{estimate,jdbcType=DECIMAL},</if>
+			<if test="eIncome != null">co_eIncome=#{eIncome,jdbcType=DECIMAL},</if>
+			<if test="payment != null">co_payment=#{payment,jdbcType=DECIMAL},</if>
+			<if test="settlement != null">co_settlement=#{settlement,jdbcType=DECIMAL},</if>
+			<if test="thirdCreateTime != null">co_third_create_time=#{thirdCreateTime,jdbcType=TIMESTAMP},
 			</if>
-			<if test="startTime != null">
-				AND <![CDATA[tc.co_create_time >= #{startTime}]]>
+			<if test="settleTime != null">co_settle_time=#{settleTime,jdbcType=TIMESTAMP},</if>
+			<if test="orderBy != null">co_order_by=#{orderBy,jdbcType=INTEGER},</if>
+			<if test="createTime != null">co_create_time=#{createTime,jdbcType=TIMESTAMP},</if>
+			<if test="updateTime != null">co_update_time=#{updateTime,jdbcType=TIMESTAMP},</if>
+		</set>
+		where co_id = #{id,jdbcType=BIGINT}
+	</update>
+
+
+	
+	<sql id="SELECT_PARAM_ORDER_STATE">
+		<if test="orderState != null and 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 != null and orderState ==  2">
+			AND co.co_state = 3 <!-- 缁存潈璁㈠崟 -->
+		</if>
+		<if test="orderState != null and orderState ==  3">
+			<!-- 鏁翠釜璁㈠崟澶辨晥 -->
+			AND co.co_state_whole_order = 3 
+		</if>
+	</sql>
+
+	<sql id="SELECT_PARAM_ORDER_CREATE_TIME">
+		<if test="startTime != null and startTime != '' ">
+			AND <![CDATA[co.co_third_create_time >= #{startTime}]]>
+		</if>
+		<if test="endTime != null and endTime != '' ">
+			AND <![CDATA[co.co_third_create_time <= #{endTime}]]>
+		</if>
+		<if test="day != null and day == 1"> <!-- 浠婂ぉ -->
+			AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
+		</if>
+		<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
+			AND TO_DAYS(NOW()) - TO_DAYS(co.`co_third_create_time`) = 1
+		</if>
+		<if test="day != null and day == 3">  <!-- 鏈湀 -->
+			AND DATE_FORMAT(co.`co_third_create_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>
+	</sql>
+	
+	<sql id="SELECT_PARAM_HONGBAO_TYPE">
+		<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
+			AND (v2.hb_type =1 or v2.hb_type =2)
+		</if>
+		<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
+			AND v2.`hb_type` = 20
+		</if>
+		<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
+			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)
+		</if>
+	</sql>
+	
+	<sql id="SELECT_PARAM_HONGBAO_STATE">
+		<if test="state != null and state == 1">  <!-- 鏈埌璐� -->
+			AND (hb.hb_state = 1 or hb.hb_state = 2)
+		</if>
+		<if test="state != null and state == 2"> <!-- 宸插埌璐� -->
+			AND hb.hb_state = 3
+		</if>
+		<if test="state != null and state == 3">  <!-- 绾㈠寘宸插け鏁堛�佹暣涓鍗曞け鏁� -->
+			AND hb.hb_state =4 AND co.co_state_whole_order = 3 
+		</if>
+	</sql>
+	
+	<sql id="Hongbao_Column_List">
+		hb_id,hb_uid,hb_urank,hb_pid,hb_type,hb_state,hb_pre_get_time,hb_get_time,hb_version,
+		IF(v2.`hb_state` = 4, 0, v2.hb_money)AS hb_money
+	</sql>
+
+	<select id="listUserOrder" resultMap="ResultMap">   
+	    <!-- 鏌ヨ鐢ㄦ埛璁㈠崟 -->
+		SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalMoney,
+				hb.hb_state AS hongBaoState,
+				hb.`hb_type` AS hongBaoType,
+				hb.`hb_get_time` AS accountTime,
+				hb.`hb_pre_get_time`AS preAccountTime,
+				co.*
+		FROM yeshi_ec_hongbao_order ho 
+		
+		LEFT JOIN (SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2 
+					WHERE v2.`hb_uid`= #{uid} 
+						<include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 绾㈠寘绫诲瀷 -->
+				)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
+			  <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 璁㈠崟鐘舵�� -->
+			  <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 璁㈠崟鏃堕棿 -->
+			  <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� -->
+			  <if test="orderNo != null and orderNo !='' ">
+				AND co.co_order_no = #{orderNo}
+			  </if>
+		GROUP BY co.`co_order_no`, co.`co_source_type`
+		ORDER BY co.co_third_create_time DESC
+		LIMIT ${start},${count}
+	</select>
+
+	<select id="countUserOrder" resultType="java.lang.Long">   
+	    <!-- 缁熻鐢ㄦ埛璁㈠崟鏁伴噺 -->
+		SELECT IFNULL(COUNT(ho_id),0) FROM 
+			(SELECT ho.ho_id FROM yeshi_ec_hongbao_order ho 
+			 LEFT JOIN (SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2 
+					WHERE v2.`hb_uid`= #{uid} 
+						<include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 绾㈠寘绫诲瀷 -->
+				)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
+			  	   <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 璁㈠崟鐘舵�� -->
+			       <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 璁㈠崟鏃堕棿 -->
+			       <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� -->
+				   <if test="orderNo != null and orderNo !='' ">
+						AND co.co_order_no = #{orderNo}
+				   </if>
+			 GROUP BY co.`co_order_no`, co.`co_source_type`
+		)A
+	</select>
+
+	<select id="listOrderGoodsInfo" resultMap="ResultMap"	parameterType="java.util.List">
+		 <!-- 鏌ヨ鐢ㄦ埛璁㈠崟鍟嗗搧淇℃伅 -->
+		SELECT COALESCE(SUM(tc.`co_payment`),0)AS totalPayment,COALESCE(SUM(tc.`co_settlement`),0)AS totalSettlement,
+			COALESCE(SUM(tc.`co_count`),0)AS totalCount,tc.`co_source_type`,tc.`co_order_no`,tg.*,tc.co_id
+		FROM
+		yeshi_ec_common_order_goods tg
+		LEFT JOIN yeshi_ec_common_order tc ON tc.`co_order_goods_id` = tg.`cog_id`
+		WHERE
+		<foreach collection="list" item="item" separator=" OR ">
+			(tc.`co_source_type` = #{item.sourceType,jdbcType=INTEGER} AND
+			tc.`co_order_no` = #{item.orderNo,jdbcType=VARCHAR})
+		</foreach>
+		GROUP BY tc.`co_order_no`,tc.`co_order_goods_id`
+	</select>
+
+
+	<select id="countHistoryOrder" 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_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="day != null and day == 1"> <!-- 浠婂ぉ -->
+					AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
+				</if>
+				<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
+					AND TO_DAYS(NOW()) - TO_DAYS(co.co_third_create_time) = 1
+				</if>
+				<if test="day != null and day == 3">  <!-- 鏈湀 -->
+					AND DATE_FORMAT(co.`co_third_create_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
+					) 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="day != null and day == 1"> <!-- 浠婂ぉ -->
+						AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
+					</if>
+					<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
+						AND TO_DAYS(NOW()) - TO_DAYS(co.`co_third_create_time`) = 1
+					</if>
+					<if test="day != null and day == 3">  <!-- 鏈湀 -->
+						AND DATE_FORMAT(co.`co_third_create_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 )
+					) 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 
+					<if test="day != null and day == 1"> <!-- 浠婂ぉ -->
+						AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW())
+					</if>
+					<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
+						AND TO_DAYS(NOW()) - TO_DAYS(co.`co_third_create_time`) = 1
+					</if>
+					<if test="day != null and day == 3">  <!-- 鏈湀 -->
+						AND DATE_FORMAT(co.`co_third_create_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="countByUidAndOrderState" resultType="java.util.HashMap">
+		SELECT SUM(A.valid)AS totalValid, SUM(A.proces)AS totalProces,SUM(A.Invalid)AS totalInvite
+		FROM ( 
+			<!-- 鏈夋晥璁㈠崟 -->
+			SELECT IFNULL(COUNT(ho_id),0) AS valid,0 AS proces,0 AS Invalid
+			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} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
+			) 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
+				  <![CDATA[AND co.`co_state` <> 3]]>
+				  AND (co.`co_state_whole_order` =1 OR co.`co_state_whole_order` = 2) 
+				<include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
+			GROUP BY co.`co_order_no`, co.`co_source_type`)YX
+			
+			UNION ALL
+			<!-- 缁存潈璁㈠崟 -->
+			SELECT 0 AS valid,IFNULL(COUNT(ho_id),0) AS proces,0 AS Invalid
+			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} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
+				) 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 co.`co_state` = 3 
+					<include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
+				GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
+				
+			UNION ALL
+			<!-- 澶辨晥璁㈠崟 -->
+			SELECT 0 AS valid,0 AS proces,IFNULL(COUNT(ho_id),0) AS Invalid 
+			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} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
+				) 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 co.`co_state_whole_order` = 3 
+					<include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
+				GROUP BY co.`co_order_no`, co.`co_source_type`)SX
+		)A
+		
+	</select>
+
+
+	<select id="countBonusOrderNumber" resultType="java.lang.Long">
+		<!-- 濂栭噾缁熻锛氳鍗曟暟閲� -->
+		SELECT IFNULL(COUNT(ho_id),0)
+		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} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
+				) 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 
+					<include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
+				GROUP BY co.`co_order_no`, co.`co_source_type`
+		)A
+	</select>
+
+	<select id="countBonusOrderMoney" resultType="java.math.BigDecimal">
+		<!-- 濂栭噾缁熻锛氳鍗曟�昏繑鍒╅噾棰� 鍘绘帀宸插け鏁� -->
+		SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalmoney
+		FROM yeshi_ec_hongbao_order ho 	
+		LEFT JOIN ( 
+			SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2 
+			WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
+				  AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3)
+		) 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
+			<include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
+			<if test="day != null and day == 4"> 
+				AND co.`co_state` = 2  <!-- 涓婃湀 :缁熻宸叉敹璐� -->
 			</if>
-			<if test="endTime != null">
-				AND <![CDATA[tc.co_create_time < #{endTime}]]>
+	</select>
+	
+	<select id="countBonusOrderMoneyAndNumber" resultType="java.util.HashMap">
+		SELECT COUNT(*) AS totalNum, CAST(SUM(moneys) AS DECIMAL(19,2)) AS totalmoney FROM 
+			(SELECT CAST(SUM(hb.`hb_money`) AS DECIMAL(19,2))AS moneys	
+			FROM yeshi_ec_hongbao_order ho 	
+			LEFT JOIN ( 
+				SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2 
+				WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
+					  AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3)
+			) 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 
+				<include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
+				<if test="day != null and day == 4"> 
+					AND co.`co_state` = 2 <!-- 涓婃湀 :缁熻宸叉敹璐� -->
+				</if>
+				GROUP BY co.`co_order_no`, co.`co_source_type`
+			)A
+	</select>
+	
+	<select id="listQueryByUid" resultMap="ResultMap">   
+	    <!-- 鏌ヨ鐢ㄦ埛璁㈠崟 -->
+		SELECT  hb.`hb_money` AS totalMoney,
+				hb.hb_state AS hongBaoState,
+				hb.`hb_type` AS hongBaoType,
+				hb.`hb_get_time`  AS accountTime,
+				hb.`hb_pre_get_time` AS preAccountTime,
+				co.*,cog.*
+		FROM yeshi_ec_hongbao_order ho 
+		
+		LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 
+					WHERE v2.`hb_uid`= #{uid} 
+						<include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 绾㈠寘绫诲瀷 -->
+						<include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� -->
+				)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`
+		LEFT JOIN yeshi_ec_common_order_goods cog ON cog.`cog_id`= co.`co_order_goods_id`
+		WHERE hb.hb_id IS NOT NULL
+			  <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 璁㈠崟鐘舵�� -->
+			  <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 璁㈠崟鏃堕棿 -->
+			  <if test="orderNo != null and orderNo !='' ">
+				AND co.co_order_no = #{orderNo}
+			  </if>
+		ORDER BY co.co_third_create_time DESC
+		LIMIT ${start},${count}
+	</select>
+
+	<select id="countQueryByUid" resultType="java.lang.Long">   
+	    <!-- 缁熻鐢ㄦ埛璁㈠崟鏁伴噺 -->
+		SELECT IFNULL(COUNT(ho_id),0) 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} 
+						<include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 绾㈠寘绫诲瀷 -->
+						<include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� -->
+				)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
+			  	   <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 璁㈠崟鐘舵�� -->
+			       <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 璁㈠崟鏃堕棿 -->
+				   <if test="orderNo != null and orderNo !='' ">
+						AND co.co_order_no = #{orderNo}
+				   </if>
+		)A
+	</select>
+
+	<select id="getBuFenOrderState" resultMap="ResultMap">
+		SELECT co.co_state,v2.`hb_state` AS hongBaoState  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 IF(v2.hb_pid IS NULL,v2.hb_id,v2.hb_pid)=ho.`ho_hongbao_id`
+		WHERE co.`co_order_no` = #{orderNo} AND co.co_state<![CDATA[<>]]> 4 AND v2.hb_uid = #{uid}
+		ORDER BY co.`co_state` DESC 
+		LIMIT 1
+	</select>
+
+	<select id="listQuery" resultMap="ResultMap">   
+	   
+	    SELECT A.*,u.id AS userId,u.`nick_name` AS userName,u.`portrait` AS userPortrait,
+	       pv2.`hb_uid` AS levelOneId,pv2.`hb_money` AS levelOneMoney,
+	       ppv2.`hb_uid` AS levelTwoId,ppv2.`hb_money` AS levelTwoMoney
+	       
+	    FROM  (SELECT  hb.hb_id,hb.hb_uid,hb.`hb_money` AS totalMoney,
+				hb.hb_state AS hongBaoState,
+				hb.`hb_type` AS hongBaoType,
+				hb.`hb_get_time`  AS accountTime,
+				hb.`hb_pre_get_time` AS preAccountTime,
+				co.*,cog.*
+			FROM yeshi_ec_hongbao_order ho 
+			
+			LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 
+					   WHERE 1=1
+							<include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 绾㈠寘绫诲瀷 -->
+							<include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� -->
+					)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`
+			LEFT JOIN yeshi_ec_common_order_goods cog ON cog.`cog_id`= co.`co_order_goods_id`
+			WHERE hb.hb_id IS NOT NULL
+				<include refid="SELECT_PARAM_ORDER_STATE"/>   <!-- 璁㈠崟鐘舵�� -->
+				<if test="startTime != null and startTime != '' ">
+					AND <![CDATA[co.co_third_create_time >= #{startTime}]]>
+				</if>
+				<if test="endTime != null and endTime != '' ">
+					AND <![CDATA[co.co_third_create_time <= #{endTime}]]>
+				</if>
+				
+				<if test="key != null and key != '' ">
+					<if test="keyType == 1 ">
+						AND co.co_order_no = ${key}
+					</if>
+					<if test="keyType == 2 ">
+						AND hb.hb_uid like = ${key}
+					</if>
+				</if>
+				
+			ORDER BY co.co_third_create_time DESC
+			LIMIT ${start},${count}
+		) A
+		LEFT JOIN  yeshi_ec_user u ON  u.id = A.hb_uid
+		LEFT JOIN  yeshi_ec_hongbao_v2 pv2 ON pv2.`hb_pid` = A.hb_id 
+		LEFT JOIN  yeshi_ec_hongbao_v2 ppv2 ON ppv2.`hb_pid` = A.hb_id 
+		
+	</select>
+
+	<select id="countQuery" resultType="java.lang.Long">   
+	    SELECT  count(ho.ho_id)
+	    FROM yeshi_ec_hongbao_order ho 
+		
+		LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 
+				   WHERE 1=1
+						<include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 绾㈠寘绫诲瀷 -->
+						<include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 绾㈠寘鐘舵�� -->
+				)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`
+		LEFT JOIN yeshi_ec_common_order_goods cog ON cog.`cog_id`= co.`co_order_goods_id`
+		WHERE hb.hb_id IS NOT NULL
+			<include refid="SELECT_PARAM_ORDER_STATE"/>   <!-- 璁㈠崟鐘舵�� -->
+			
+			<if test="startTime != null and startTime != '' ">
+				AND <![CDATA[co.co_third_create_time >= #{startTime}]]>
+			</if>
+			<if test="endTime != null and endTime != '' ">
+				AND <![CDATA[co.co_third_create_time <= #{endTime}]]>
 			</if>
 			
-		UNION 
-		
-		SELECT 0 AS valid,0 AS proces,IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS Invalid
-		FROM yeshi_ec_common_order tc
-	    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-		WHERE th.`hb_uid`= #{uid} AND tc.`co_state` = 4 
-			<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-				AND (th.hb_type =1 or th.hb_type =2)
+			<if test="key != null and key != '' ">
+				<if test="keyType == 1 ">
+					AND co.co_order_no = ${key}
+				</if>
+				<if test="keyType == 2 ">
+					AND hb.hb_uid like = ${key}
+				</if>
 			</if>
-			<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-				AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-			</if>
-			<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-				AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-			</if>
-			<if test="startTime != null">
-				AND <![CDATA[tc.co_create_time >= #{startTime}]]>
-			</if>
-			<if test="endTime != null">
-				AND <![CDATA[tc.co_create_time < #{endTime}]]>
-			</if>
-		)A
-  </select>
-  
-  
-  <select id="countBonusOrder" resultType="java.lang.Long">
-	SELECT COALESCE(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) FROM yeshi_ec_common_order tc 
-	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-	WHERE 1=1
-		<if test="uid != null">
-		   AND th.`hb_uid` = ${uid}
-		</if> 
-		<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-			AND (th.hb_type =1 or th.hb_type =2)
-		</if>
-		<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-			AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-		</if>
-		<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-			AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-		</if>
-		<if test ="day != null and day == 1"> <!-- 浠婂ぉ -->
-		    AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-		</if>
-		<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
-	 	    AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-	    </if>
-	    <if test="day != null and day == 3">  <!-- 鏈湀 -->
-	 	    AND DATE_FORMAT(tc.`co_create_time`,'%Y%m') = DATE_FORMAT(CURDATE( ),'%Y%m')
-	    </if>
-	    <if test="day != null and day == 4">  <!-- 涓婃湀 -->
-	 	    AND ERIOD_DIFF( DATE_FORMAT( now( ), '%Y%m'), DATE_FORMAT(tc.`co_create_time`, '%Y%m')) = 1
-	    </if>
-  </select>
+	</select>
 
-  <select id="countBonusOrderMoney" resultType="java.math.BigDecimal">
-	SELECT  COALESCE(SUM(th.`hb_money`),0)AS totalmoney FROM yeshi_ec_common_order tc
-  	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-  	LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-	WHERE <![CDATA[tc.`co_state` <> 4]]>
-	 	 <if test="uid != null">
-		   AND th.`hb_uid` = ${uid}
-		 </if> 
-		<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-			AND (th.hb_type =1 or th.hb_type =2)
-		</if>
-		<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-			AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-		</if>
-		<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-			AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-		</if>
-		<if test ="day != null and day == 1"> <!-- 浠婂ぉ -->
-		    AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-		</if>
-		<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
-	 	    AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-	    </if>
-	    <if test="day != null and day == 3">  <!-- 鏈湀 -->
-	 	    AND DATE_FORMAT(tc.`co_create_time`,'%Y%m') = DATE_FORMAT(CURDATE( ),'%Y%m')
-	    </if>
-	    <if test="day != null and day == 4">  <!-- 涓婃湀 -->
-	 	    AND ERIOD_DIFF( DATE_FORMAT( now( ), '%Y%m'), DATE_FORMAT(tc.`co_create_time`, '%Y%m')) = 1
-	    </if>
-  </select>
-  
-   <select id="listBonusOrder" resultMap="ResultMap" >
-  	SELECT COALESCE(SUM(th.`hb_money`),0)AS totalMoney,tc.*,th.hb_state AS hongBaoState, th.hb_type AS hongBaoType,
-  		th.hb_get_time AS accountTime,th.hb_get_time AS accountTime,th.hb_pre_get_time AS preAccountTime
-    FROM yeshi_ec_common_order tc
-    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-	WHERE th.`hb_uid` = #{uid}
-		<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-			AND (th.hb_type =1 or th.hb_type =2)
-		</if>
-		<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-			AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-		</if>
-		<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-			AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-		</if>
-		<if test ="day != null and day == 1"> <!-- 浠婂ぉ -->
-		    AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-		</if>
-		<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
-	 	    AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-	    </if>
-	    <if test="day != null and day == 3">  <!-- 鏈湀 -->
-	 	    AND DATE_FORMAT(tc.`co_create_time`,'%Y%m') = DATE_FORMAT(CURDATE( ),'%Y%m')
-	    </if>
-	    <if test="day != null and day == 4">  <!-- 涓婃湀 -->
-	 	    AND ERIOD_DIFF( DATE_FORMAT( now( ), '%Y%m'), DATE_FORMAT(tc.`co_create_time`, '%Y%m')) = 1
-	    </if>
-	GROUP BY tc.`co_order_no`,tc.co_source_type
-	ORDER BY tc.co_create_time DESC
-	LIMIT ${start},${count}
-  </select>
-  
-  <select id="countBonusOrderByState" resultType="java.util.HashMap">
-  	SELECT SUM(valid)AS totalValid, SUM(proces)AS totalProces ,SUM(Invalid)AS totalInvite 
-  	FROM (SELECT IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS valid,0 AS proces,0 AS  Invalid
-	  	FROM yeshi_ec_common_order tc
-	    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-		WHERE th.`hb_uid` = #{uid} AND (tc.`co_state` = 1 OR tc.`co_state` = 2)
-			<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-				AND (th.hb_type =1 or th.hb_type =2)
-			</if>
-			<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-				AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-			</if>
-			<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-				AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-			</if>
-			<if test ="day != null and day == 1"> <!-- 浠婂ぉ -->
-			    AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-			</if>
-			<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
-		 	    AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-		    </if>
-		    <if test="day != null and day == 3">  <!-- 鏈湀 -->
-		 	    AND DATE_FORMAT(tc.`co_create_time`,'%Y%m') = DATE_FORMAT(CURDATE( ),'%Y%m')
-		    </if>
-		    <if test="day != null and day == 4">  <!-- 涓婃湀 -->
-		 	    AND ERIOD_DIFF( DATE_FORMAT( now( ), '%Y%m'), DATE_FORMAT(tc.`co_create_time`, '%Y%m')) = 1
-		    </if>
-		UNION 
-	
-		SELECT 0 AS valid,IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS proces,0 AS Invalid
-		FROM yeshi_ec_common_order tc
-	    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-		WHERE th.`hb_uid` = #{uid} AND  tc.`co_state` =3
-			<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-				AND (th.hb_type =1 or th.hb_type =2)
-			</if>
-			<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-				AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-			</if>
-			<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-				AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-			</if>
-			<if test ="day != null and day == 1"> <!-- 浠婂ぉ -->
-			    AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-			</if>
-			<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
-		 	    AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-		    </if>
-		    <if test="day != null and day == 3">  <!-- 鏈湀 -->
-		 	    AND DATE_FORMAT(tc.`co_create_time`,'%Y%m') = DATE_FORMAT(CURDATE( ),'%Y%m')
-		    </if>
-		    <if test="day != null and day == 4">  <!-- 涓婃湀 -->
-		 	    AND ERIOD_DIFF( DATE_FORMAT( now( ), '%Y%m'), DATE_FORMAT(tc.`co_create_time`, '%Y%m')) = 1
-		    </if>
-		UNION 
-		
-		SELECT 0 AS valid,0 AS proces,IFNULL(COUNT(DISTINCT tc.`co_order_no`,tc.`co_source_type`),0) AS Invalid
-		FROM yeshi_ec_common_order tc
-	    	LEFT JOIN  yeshi_ec_hongbao_order tr ON tr.`ho_order_id` = tc.`co_id`
-	   		LEFT JOIN yeshi_ec_hongbao_v2 th ON (tr.`ho_hongbao_id` = th.`hb_id` OR  th.`hb_pid` = tr.`ho_hongbao_id` )
-		WHERE th.`hb_uid`= #{uid} AND tc.`co_state` = 4 
-			<if test="type != null and type == 1"> <!-- 鑷喘璁㈠崟 -->
-				AND (th.hb_type =1 or th.hb_type =2)
-			</if>
-			<if test="type != null and type == 2"> <!-- 鍒嗕韩璁㈠崟 -->
-				AND (th.`hb_type` = 20 OR th.`hb_type` = 21 OR th.`hb_type` = 22)
-			</if>
-			<if test="type != null and type == 3"> <!-- 閭�璇疯鍗� -->
-				AND (th.`hb_type` = 5 OR th.`hb_type` = 6 OR th.`hb_type` = 7)
-			</if>
-			<if test ="day != null and day == 1"> <!-- 浠婂ぉ -->
-			    AND TO_DAYS(tc.`co_create_time`) = TO_DAYS(NOW())
-			</if>
-			<if test="day != null and day == 2">  <!-- 鏄ㄥぉ -->
-		 	    AND TO_DAYS(NOW()) - TO_DAYS(tc.`co_create_time`) = 1
-		    </if>
-		    <if test="day != null and day == 3">  <!-- 鏈湀 -->
-		 	    AND DATE_FORMAT(tc.`co_create_time`,'%Y%m') = DATE_FORMAT(CURDATE( ),'%Y%m')
-		    </if>
-		    <if test="day != null and day == 4">  <!-- 涓婃湀 -->
-		 	    AND ERIOD_DIFF( DATE_FORMAT( now( ), '%Y%m'), DATE_FORMAT(tc.`co_create_time`, '%Y%m')) = 1
-		    </if>
-		)A
-  </select>
 </mapper>

--
Gitblit v1.8.0