From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml | 718 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 586 insertions(+), 132 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 3f047b7..128a60f 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 @@ -23,6 +23,10 @@ <result column="co_create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="co_update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="co_trade_id" property="tradeId" jdbcType="VARCHAR" /> + <result column="co_state_desc" property="stateDesc" jdbcType="VARCHAR" /> + <result column="co_urank" property="urank" jdbcType="INTEGER" /> + <result column="co_child_source_type" property="childSourceType" + jdbcType="VARCHAR" /> <association property="userInfo" column="co_uid" javaType="com.yeshi.fanli.entity.bus.user.UserInfo"> <id column="co_uid" property="id" jdbcType="BIGINT" /> @@ -54,6 +58,10 @@ <result column="co_create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="co_update_time" property="updateTime" jdbcType="TIMESTAMP" /> <result column="co_trade_id" property="tradeId" jdbcType="VARCHAR" /> + <result column="co_state_desc" property="stateDesc" jdbcType="VARCHAR" /> + <result column="co_urank" property="urank" jdbcType="INTEGER" /> + <result column="co_child_source_type" property="childSourceType" + jdbcType="VARCHAR" /> <association property="userInfo" column="co_uid" javaType="com.yeshi.fanli.entity.bus.user.UserInfo"> <id column="co_uid" property="id" jdbcType="BIGINT" /> @@ -95,18 +103,75 @@ <result column="userId" property="userId" jdbcType="VARCHAR" /> <result column="userName" property="userName" jdbcType="VARCHAR" /> <result column="userPortrait" property="userPortrait" jdbcType="VARCHAR" /> - <result column="hb_id" property="hongbaoId" jdbcType="BIGINT" /> - <result column="co_trade_id" property="tradeId" jdbcType="VARCHAR" /> + <result column="co_state_desc" property="stateDesc" jdbcType="VARCHAR" /> + <result column="co_uid" property="userId" jdbcType="VARCHAR" /> + <result column="co_urank" property="urank" jdbcType="INTEGER" /> + <result column="co_child_source_type" property="childSourceType" + jdbcType="VARCHAR" /> <association property="userInfo" column="co_uid" resultMap="com.yeshi.fanli.dao.mybatis.UserInfoMapper.BaseResultMap" /> - <association property="commonOrderGoods" column="co_order_goods_id" resultMap="com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper.BaseResultMap" /> - </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_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,co_trade_id + <resultMap id="ThreeResultMap" 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="couponMoney" property="couponMoney" 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" /> + <result column="userId" property="userId" jdbcType="VARCHAR" /> + <result column="userName" property="userName" jdbcType="VARCHAR" /> + <result column="userPortrait" property="userPortrait" jdbcType="VARCHAR" /> + <result column="hb_id" property="hongbaoId" jdbcType="BIGINT" /> + <result column="co_trade_id" property="tradeId" jdbcType="VARCHAR" /> + <result column="co_state_desc" property="stateDesc" jdbcType="VARCHAR" /> + <result column="co_urank" property="urank" jdbcType="INTEGER" /> + <result column="co_child_source_type" property="childSourceType" + jdbcType="VARCHAR" /> + <association property="userInfo" column="co_uid" + select="com.yeshi.fanli.dao.mybatis.UserInfoMapper.selectByPrimaryKey" /> + <association property="commonOrderGoods" column="co_order_goods_id" + select="com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper.selectByPrimaryKey" /> + </resultMap> + <resultMap id="OrderCountMap" type="com.yeshi.fanli.vo.order.OrderCountVO"> + <result column="self" property="self" jdbcType="BIGINT" /> + <result column="shared" property="shared" jdbcType="BIGINT" /> + <result column="invite" property="invite" jdbcType="BIGINT" /> + </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_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,co_trade_id,co_state_desc,co_urank,co_child_source_type + </sql> + <sql id="Order_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, + MAX(co_settle_time) AS co_settle_time, co_order_by, co_create_time, + co_update_time,co_state_desc,co_urank,co_child_source_type </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long"> @@ -131,52 +196,42 @@ yeshi_ec_common_order co WHERE co.co_source_type=#{sourceType} and co_order_no=#{orderNo} </select> - - <select id="selectBySourceTypeAndTradeId" resultMap="BaseResultMap">SELECT * - FROM - yeshi_ec_common_order co WHERE co.co_source_type=#{sourceType} and - co_trade_id=#{tradeId} limit 1 + FROM yeshi_ec_common_order co WHERE co.co_source_type=#{sourceType} + and co_trade_id=#{tradeId} limit 1 </select> - - <select id="listBySourceTypeAndTradeId" resultMap="BaseResultMap">SELECT * - FROM + <select id="listBySourceTypeAndTradeId" resultMap="BaseResultMap">SELECT * FROM yeshi_ec_common_order co WHERE co.co_source_type=#{sourceType} and co_trade_id=#{tradeId} </select> - - - - <select id="listBySourceTypeAndStateAndThirdCrateTime" resultMap="BaseResultMap">SELECT * - FROM - yeshi_ec_common_order co WHERE co.co_source_type=#{sourceType} - - <if test="state!=null"> - and co_state=#{state} + <select id="listBySourceTypeAndTradeIdList" resultMap="BaseResultMap"> + SELECT * FROM yeshi_ec_common_order co WHERE + co.co_source_type=#{sourceType} + <if test="tradeIdList!=null"> + <foreach collection="tradeIdList" item="tradeId" open=" and (" + close=")" separator=" or ">co.co_trade_id=#{tradeId}</foreach> </if> - - <if test="minTime!=null"> - and UNIX_TIMESTAMP(co_third_create_time)*1000>=#{minTime} - </if> - - - <if test="maxTime!=null"> - and #{maxTime}> UNIX_TIMESTAMP(co_third_create_time)*1000 - </if> - - order by co_id desc - limit #{start},#{count} </select> - - + <select id="listBySourceTypeAndStateAndThirdCrateTime" + resultMap="BaseResultMap"> + SELECT * FROM yeshi_ec_common_order co WHERE + co.co_source_type=#{sourceType} + <if test="state!=null">and co_state=#{state}</if> + <if test="minTime!=null">and + UNIX_TIMESTAMP(co_third_create_time)*1000>=#{minTime}</if> + <if test="maxTime!=null">and #{maxTime}> + UNIX_TIMESTAMP(co_third_create_time)*1000 + </if> + order by co_id desc limit #{start},#{count} + </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,co_state_whole_order,co_order_by,co_trade_id) + (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,co_state_whole_order,co_order_by,co_trade_id,co_state_desc,co_urank,co_child_source_type) 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},#{stateWholeOrder,jdbcType=INTEGER},#{orderBy,jdbcType=INTEGER},#{tradeId,jdbcType=VARCHAR}) + (#{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},#{stateWholeOrder,jdbcType=INTEGER},#{orderBy,jdbcType=INTEGER},#{tradeId,jdbcType=VARCHAR},#{stateDesc,jdbcType=VARCHAR},#{urank,jdbcType=INTEGER},#{childSourceType,jdbcType=VARCHAR}) </insert> <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.order.CommonOrder" useGeneratedKeys="true" keyProperty="id"> @@ -201,6 +256,9 @@ <if test="createTime != null">co_create_time,</if> <if test="updateTime != null">co_update_time,</if> <if test="tradeId != null">co_trade_id,</if> + <if test="stateDesc != null">co_state_desc,</if> + <if test="urank != null">co_urank,</if> + <if test="childSourceType != null">co_child_source_type,</if> </trim> values <trim prefix="(" suffix=")" suffixOverrides=","> @@ -222,7 +280,10 @@ <if test="orderBy != null">#{orderBy,jdbcType=INTEGER},</if> <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if> <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if> - <if test="tradeId != null">#{tradeId,jdbcType=VARCHAR}</if> + <if test="tradeId != null">#{tradeId,jdbcType=VARCHAR},</if> + <if test="stateDesc != null">#{stateDesc,jdbcType=VARCHAR},</if> + <if test="urank != null">#{urank,jdbcType=INTEGER},</if> + <if test="childSourceType != null">#{childSourceType,jdbcType=VARCHAR},</if> </trim> </insert> <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.order.CommonOrder">update @@ -244,7 +305,10 @@ #{orderBy,jdbcType=INTEGER},co_create_time = #{createTime,jdbcType=TIMESTAMP},co_update_time = #{updateTime,jdbcType=TIMESTAMP} ,co_trade_id - =#{tradeId,jdbcType=VARCHAR} where co_id = #{id,jdbcType=BIGINT} + =#{tradeId,jdbcType=VARCHAR},co_state_desc + =#{stateDesc,jdbcType=VARCHAR} ,co_urank =#{urank,jdbcType=INTEGER} + ,co_child_source_type =#{childSourceType,jdbcType=VARCHAR} where co_id + = #{id,jdbcType=BIGINT} </update> <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.order.CommonOrder"> update yeshi_ec_common_order @@ -270,8 +334,11 @@ <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> - <if test="id !=null">co_id =#{id,jdbcType=BIGINT},</if> <if test="tradeId !=null">co_trade_id =#{tradeId,jdbcType=VARCHAR},</if> + <if test="stateDesc !=null">co_state_desc =#{stateDesc,jdbcType=VARCHAR},</if> + <if test="urank !=null">co_urank =#{urank,jdbcType=INTEGER},</if> + <if test="childSourceType !=null">co_child_source_type=#{childSourceType,jdbcType=VARCHAR}, + </if> </set> where co_id = #{id,jdbcType=BIGINT} </update> @@ -299,23 +366,38 @@ </if> <if test="endTime != null and endTime != '' ">AND <![CDATA[co.co_third_create_time <= #{endTime}]]> </if> - <if test="day != null and day == 1"> + <if test="day == 1"> <!-- 浠婂ぉ --> AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) </if> - <if test="day != null and day == 2"> + <if test="day == 2"> <!-- 鏄ㄥぉ --> AND TO_DAYS(NOW()) - TO_DAYS(co.`co_third_create_time`) = 1 </if> - <if test="day != null and day == 3"> + <if test="day == 3 or day == 10"> <!-- 鏈湀 --> AND DATE_FORMAT(co.`co_third_create_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') </if> - <if test="day != null and day == 4"> + <if test="day == 4"> <!-- 涓婃湀 --> AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 + </if> + <if test="day == 6"> + <!-- 涓婃湀 --> + AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), + DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1 + </if> + <if test="day == 11"> + <!-- 杩�3涓湀浜х敓 --> + AND co.`co_third_create_time` BETWEEN DATE_SUB(NOW(),INTERVAL 3 + MONTH) AND NOW() + </if> + <if test="day == 12"> + <!-- 杩戝崐骞翠骇鐢� --> + AND co.`co_third_create_time` BETWEEN DATE_SUB(NOW(),INTERVAL 6 + MONTH) AND NOW() </if> </sql> <sql id="SELECT_PARAM_HONGBAO_TYPE"> @@ -350,13 +432,6 @@ <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> - <sql id="Order_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, - MAX(co_settle_time) AS co_settle_time, co_order_by, co_create_time, - co_update_time - </sql> - <select id="listUserOrder" resultMap="ResultMap"> <!-- 鏌ヨ鐢ㄦ埛璁㈠崟 --> SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalMoney, hb.hb_state AS @@ -367,6 +442,16 @@ <include refid="Hongbao_Column_List" /> FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= #{uid} AND <![CDATA[v2.`hb_type`<> 10 ]]> <include refid="SELECT_PARAM_HONGBAO_TYPE" /> + <if test="type == 2 and day == 5"> + <!-- 鏈湀鏈堝皢瑕佸埌璐﹀垎浜鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + <if test="type == 3 and day == 5"> + <!-- 鏈湀灏嗚鍒拌处閭�璇疯鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> <!-- 绾㈠寘绫诲瀷 --> )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` @@ -379,12 +464,14 @@ <!-- 璁㈠崟鍙锋煡璇� --> <if test="orderNo != null and orderNo !='' ">AND co.co_order_no = #{orderNo}</if> <!-- 璁㈠崟鏉ユ簮 --> - <if test="source != null">AND co.co_source_type = #{source}</if> - + <if test="listSource != null and listSource.size() > 0"> + <foreach collection="listSource" item="item" open="AND (" + close=")" separator="or">co.co_source_type = #{item}</foreach> + </if> + <![CDATA[AND co.co_source_type <> 4 AND co.co_source_type <> 5]]> 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 @@ -393,6 +480,16 @@ FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= #{uid} AND <![CDATA[v2.`hb_type`<> 10 ]]> <include refid="SELECT_PARAM_HONGBAO_TYPE" /> <!-- 绾㈠寘绫诲瀷 --> + <if test="type == 2 and day == 5"> + <!-- 鏈湀鏈堝皢瑕佸埌璐﹀垎浜鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + <if test="type == 3 and day == 5"> + <!-- 鏈湀灏嗚鍒拌处閭�璇疯鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> )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 @@ -404,8 +501,11 @@ <!-- 璁㈠崟鍙锋煡璇� --> <if test="orderNo != null and orderNo !='' ">AND co.co_order_no = #{orderNo}</if> <!-- 璁㈠崟鏉ユ簮 --> - <if test="source != null">AND co.co_source_type = #{source}</if> - + <if test="listSource != null and listSource.size() > 0"> + <foreach collection="listSource" item="item" open="AND (" + close=")" separator="or">co.co_source_type = #{item}</foreach> + </if> + <![CDATA[AND co.co_source_type <> 4 AND co.co_source_type <> 5]]> GROUP BY co.`co_order_no`, co.`co_source_type` )A </select> <select id="listOrderGoodsInfo" resultMap="ResultMap" @@ -423,8 +523,6 @@ </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 @@ -437,7 +535,7 @@ 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 + WHERE hb.hb_id IS NOT NULL and hb.hb_state!=4 <if test="day != null and day == 1"> <!-- 浠婂ぉ --> AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) @@ -458,11 +556,7 @@ </if> <!-- 璁㈠崟鏉ユ簮 --> <if test="source != null">AND co.co_source_type = #{source}</if> - - GROUP BY co.`co_order_no`, co.`co_source_type`)YX - - UNION ALL - + 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 * @@ -470,7 +564,7 @@ = 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 + WHERE hb.hb_id IS NOT NULL and hb.hb_state!=4 <if test="day != null and day == 1"> <!-- 浠婂ぉ --> AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) @@ -491,11 +585,7 @@ </if> <!-- 璁㈠崟鏉ユ簮 --> <if test="source != null">AND co.co_source_type = #{source}</if> - - GROUP BY co.`co_order_no`, co.`co_source_type`)WQ - - UNION ALL - + 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 * @@ -503,7 +593,8 @@ (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 + co.`co_id`=ho.`ho_order_id` WHERE hbp.hb_id IS NOT NULL and + hbp.hb_state!=4 <if test="day != null and day == 1"> <!-- 浠婂ぉ --> AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) @@ -524,58 +615,128 @@ </if> <!-- 璁㈠崟鏉ユ簮 --> <if test="source != null">AND co.co_source_type = #{source}</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 ( + <sql id="OrderCountQuery">WHERE + co.`co_state_whole_order`<![CDATA[<>]]>3 + <if test="day == 1"> + <!-- 浠婂ぉ --> + AND TO_DAYS(co.`co_third_create_time`) = TO_DAYS(NOW()) + </if> + <if test="day == 2"> + <!-- 鏄ㄥぉ --> + AND TO_DAYS(NOW()) - TO_DAYS(co.`co_third_create_time`) = 1 + </if> + <if test="day == 3"> + <!-- 鏈湀 --> + AND DATE_FORMAT(co.`co_third_create_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + <if test="day == 4"> + <!-- 涓婃湀 --> + AND PERIOD_DIFF(DATE_FORMAT(NOW(), + '%Y%m'),DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 + </if> + <!-- 璁㈠崟鏉ユ簮 --> + <if test="listSource != null and listSource.size() > 0"> + <foreach collection="listSource" item="item" open="AND (" + close=")" separator="or">co.co_source_type = #{item}</foreach> + </if> + </sql> + <select id="getOrderCount" resultMap="OrderCountMap"> + SELECT sum(self) as self,sum(shared) as shared,sum(invite) as invite + from ( SELECT IFNULL(COUNT(co_order_no),0)AS self,0 AS shared,0 AS + invite FROM (SELECT co.`co_order_no` FROM (SELECT * FROM + yeshi_ec_hongbao_v2 v WHERE v.`hb_uid`= ${uid} AND v.`hb_type` = 1)v2 + LEFT JOIN yeshi_ec_hongbao_order ho ON ho.`ho_hongbao_id` = + IF(v2.hb_pid IS NULL,v2.hb_id,v2.hb_pid) LEFT JOIN + yeshi_ec_common_order co ON co.`co_id` = ho.`ho_order_id` + <include refid="OrderCountQuery" /> + GROUP BY co.`co_order_no`,co.`co_source_type`)A UNION ALL SELECT 0 AS + self,IFNULL(COUNT(co_order_no),0)AS shared,0 AS invite FROM (SELECT + co.`co_order_no` FROM (SELECT * FROM yeshi_ec_hongbao_v2 v WHERE + v.`hb_uid`= ${uid} AND v.`hb_type` = 20)v2 LEFT JOIN + yeshi_ec_hongbao_order ho ON ho.`ho_hongbao_id` = IF(v2.hb_pid IS + NULL,v2.hb_id,v2.hb_pid) LEFT JOIN yeshi_ec_common_order co ON + co.`co_id` = ho.`ho_order_id` + <include refid="OrderCountQuery" /> + GROUP BY co.`co_order_no`,co.`co_source_type`)A UNION ALL SELECT 0 AS + self,0 AS shared,IFNULL(COUNT(co_order_no),0)AS invite FROM (SELECT + co.`co_order_no` FROM (SELECT * FROM yeshi_ec_hongbao_v2 v WHERE + v.`hb_uid`= ${uid} AND (v.`hb_type` = 5 OR v.`hb_type` = 6 OR + v.`hb_type` = 7 OR v.`hb_type` = 21 OR v.`hb_type` = 22))v2 LEFT JOIN + yeshi_ec_hongbao_order ho ON ho.`ho_hongbao_id` = IF(v2.hb_pid IS + NULL,v2.hb_id,v2.hb_pid) LEFT JOIN yeshi_ec_common_order co ON + co.`co_id` = ho.`ho_order_id` + <include refid="OrderCountQuery" /> + GROUP BY co.`co_order_no`,co.`co_source_type`)A )B + </select> + <select id="countUserOrderToApp" resultType="Long"> <!-- 鏈夋晥璁㈠崟 --> - 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} + 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" /> + <if test="state != null and state == 1"> + <!-- 鏈埌璐� --> + AND (v2.hb_state = 1 or v2.hb_state = 2) + </if> + <if test="state != null and state == 2"> + <!-- 宸插埌璐� --> + AND v2.hb_state = 3 + </if> + <if test="state != null and state == 3"> + <!-- 绾㈠寘宸插け鏁� --> + AND v2.hb_state =4 + </if> ) 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" /> - <!-- 璁㈠崟鏉ユ簮 --> - <if test="source != null">AND co.co_source_type = #{source}</if> - 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 + WHERE hb.hb_id IS NOT NULL<![CDATA[AND co.`co_state` <> 3]]> + <if test="stateOrder == 1"> + <!-- 鏈夋晥璁㈠崟 --> + AND (co.`co_state_whole_order` =1 OR co.`co_state_whole_order` = 2) + </if> + <if test="stateOrder == 2"> + <!-- 缁存潈璁㈠崟 --> + AND co.`co_state` = 3 + </if> + <if test="stateOrder == 3"> + <!-- 澶辨晥璁㈠崟 --> + AND co.`co_state_whole_order` = 3 + </if> + <!-- 璁㈠崟鏃堕棿 --> <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> - <!-- 璁㈠崟鏉ユ簮 --> - <if test="source != null">AND co.co_source_type = #{source}</if> - 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" /> - <!-- 璁㈠崟鏉ユ簮 --> - <if test="source != null">AND co.co_source_type = #{source}</if> - GROUP BY co.`co_order_no`, co.`co_source_type`)SX )A + <!-- 璁㈠崟鏉ユ簮 --> + <if test="source != null">AND co.co_source_type = #{source}</if> + GROUP BY co.`co_order_no`, co.`co_source_type` )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" + /> 璁㈠崟鏉ユ簮 <if test="source != null">AND co.co_source_type = #{source}</if> + 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" + /> 璁㈠崟鏉ユ簮 <if test="source != null">AND co.co_source_type = #{source}</if> + 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" + /> 璁㈠崟鏉ユ簮 <if test="source != null">AND co.co_source_type = #{source}</if> + 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 @@ -621,10 +782,9 @@ 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="day != null and day == 4">AND co.`co_state` = 2</if> + <!-- 涓婃湀 :缁熻宸叉敹璐� --> + <if test="source != null">AND co.co_source_type = #{source}</if> GROUP BY co.`co_order_no`, co.`co_source_type` )A </select> <sql id="SELECT_HONGBAO_STATE"> @@ -661,6 +821,10 @@ <include refid="SELECT_PARAM_ORDER_CREATE_TIME" /> <!-- 璁㈠崟鏃堕棿 --> <if test="orderNo != null and orderNo !='' ">AND co.co_order_no = #{orderNo}</if> + <if test="payment != null">AND + co.co_payment <![CDATA[<]]> + #{payment} + </if> ORDER BY co.co_third_create_time DESC LIMIT ${start},${count} </select> <select id="countQueryByUid" resultType="java.lang.Long"> @@ -690,21 +854,23 @@ #{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 id="listQuery" resultMap="ThreeResultMap"> SELECT A.*,u.id AS userId,u.`nick_name` AS userName,u.`portrait` AS userPortrait 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 + preAccountTime, co.* 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_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 + LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` + <if test="listShopId != null">LEFT JOIN yeshi_ec_common_order_goods g ON + co.`co_order_goods_id`=g.`cog_id` + </if> + 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}]]> @@ -712,11 +878,55 @@ <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 == 1 ">AND co.co_order_no = '${key}'</if> <if test="keyType == 2 ">AND hb.hb_uid = ${key}</if> </if> <!-- 璁㈠崟鏉ユ簮 --> <if test="source != null">AND co.co_source_type = #{source}</if> + <if test="listGoodsId != null"> + <foreach collection="listGoodsId" item="goodsId" open=" and (" + separator=" or " close=")">co.`co_order_goods_id` =#{goodsId}</foreach> + </if> + <if test="listShopId != null"> + <foreach collection="listShopId" item="shopId" open=" and (" + separator=" or " close=")">g.`cog_shop_id` =#{shopId}</foreach> + </if> + <if test="minTime != null"> + <!-- 楂橀闄╄鍗� --> + AND co.`co_third_create_time`>#{minTime} AND<![CDATA[ (co.`co_estimate`>= ${money} OR co.`co_eIncome`> ${money})]]> + </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 + </select> + <select id="listQueryWithNoChild" resultMap="ThreeResultMap"> + SELECT A.*,u.id AS userId,u.`nick_name` AS userName,u.`portrait` AS + userPortrait 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.* 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_HONGBAO_STATE" /> + <!-- 绾㈠寘鐘舵�� --> + )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 + <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 = ${key}</if> + </if> + <!-- 璁㈠崟鏉ユ簮 --> + <if test="source != null">AND co.co_source_type = #{source}</if> + <if test="payment != null">AND + co.co_payment <![CDATA[<]]> + #{payment} + </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 </select> @@ -728,9 +938,11 @@ <include refid="SELECT_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 + LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` + <if test="listShopId != null">LEFT JOIN yeshi_ec_common_order_goods g ON + co.`co_order_goods_id`=g.`cog_id` + </if> + 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}]]> @@ -738,8 +950,50 @@ <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 == 1 ">AND co.co_order_no = '${key}'</if> <if test="keyType == 2 ">AND hb.hb_uid = ${key}</if> + </if> + <!-- 璁㈠崟鏉ユ簮 --> + <if test="source != null">AND co.co_source_type = #{source}</if> + <if test="listGoodsId != null"> + <foreach collection="listGoodsId" item="goodsId" open=" and (" + separator=" or " close=")">co.`co_order_goods_id` =#{goodsId}</foreach> + </if> + <if test="listShopId != null"> + <foreach collection="listShopId" item="shopId" open=" and (" + separator=" or " close=")">g.`cog_shop_id` =#{shopId}</foreach> + </if> + <if test="payment != null">AND + co.co_payment <![CDATA[<]]> + #{payment} + </if> + <if test="minTime != null"> + <!-- 楂橀闄╄鍗� --> + AND co.`co_third_create_time`>#{minTime} AND<![CDATA[ (co.`co_estimate`>= ${money} OR co.`co_eIncome`> ${money})]]> + </if> + </select> + <select id="countQueryWithNoChild" 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_HONGBAO_STATE" /> + <!-- 绾㈠寘鐘舵�� --> + )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 + <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 = ${key}</if> + </if> + <if test="payment != null">AND + co.co_payment <![CDATA[<]]> + #{payment} </if> <!-- 璁㈠崟鏉ユ簮 --> <if test="source != null">AND co.co_source_type = #{source}</if> @@ -769,11 +1023,211 @@ FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= #{uid} AND <![CDATA[v2.`hb_type`<> 10 ]]> )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_order_no = #{orderNo} AND co.`co_source_type` = #{sourceType} + WHERE hb.hb_id IS NOT NULL AND co.co_order_no = #{orderNo} AND + co.`co_source_type` = #{sourceType} <if test="orderState != null"> AND co.co_state = #{orderState} <!-- 宸叉敹璐� --> </if> GROUP BY co.`co_order_no`, co.`co_source_type` </select> + <select id="getByOrderNo" resultMap="BaseResultMap">SELECT * FROM + yeshi_ec_common_order co WHERE co_uid = #{uid} AND + co_order_no=#{orderNo} + </select> + <select id="listByUid" resultMap="BaseResultMap"> + SELECT * FROM yeshi_ec_common_order co WHERE co_uid = #{uid} + <if test="stateList!=null"> + <foreach collection="stateList" separator=" or " open="and (" + item="state" close=")">co_state=#{state}</foreach> + </if> + limit #{start},#{count} + </select> + <select id="firstValidOrderByUid" resultMap="ResultMap"> + SELECT co.*,v2.`hb_get_time` AS accountTime FROM + yeshi_ec_hongbao_order ho LEFT JOIN yeshi_ec_hongbao_v2 v2 ON + IF(v2.hb_pid IS NULL,v2.hb_id,v2.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN + yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE v2.hb_id + IS NOT NULL AND v2.`hb_uid` = #{uid} AND v2.`hb_state` = 3 + <if test="typeHB == 1"> + <!-- 鑷喘璁㈠崟 --> + AND (v2.hb_type =1 or v2.hb_type =2) + </if> + <if test="typeHB == 2"> + <!-- 鍒嗕韩璁㈠崟 --> + AND v2.`hb_type` = 20 + </if> + <if test="typeHB == 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> + <if test="typeDate == 3"> + <!-- 鏈湀 --> + AND DATE_FORMAT(co.`co_create_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + <if test="typeDate == 4"> + <!-- 涓婃湀 --> + AND PERIOD_DIFF(DATE_FORMAT(NOW(), + '%Y%m'),DATE_FORMAT(co.`co_create_time`, '%Y%m')) = 1 + </if> + ORDER BY co.`co_id` LIMIT 1 + </select> + <select id="getFirstShareOrderByUid" resultMap="BaseResultMap">SELECT co.* FROM + yeshi_ec_hongbao_order ho LEFT JOIN yeshi_ec_hongbao_v2 v2 ON v2.hb_id + = ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON + co.`co_id`=ho.`ho_order_id` WHERE v2.`hb_uid` = #{uid} AND + v2.`hb_type` = 20 ORDER BY co.`co_third_create_time` LIMIT 1 + </select> + <select id="getTotalRewardMoneyByOrderNoAndSourceType" + resultType="BigDecimal">SELECT SUM(hb_money) FROM(SELECT v2.`hb_money` FROM + yeshi_ec_hongbao_order ho LEFT JOIN yeshi_ec_hongbao_v2 v2 ON v2.hb_id + = ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON + co.`co_id`=ho.`ho_order_id` WHERE v2.`hb_type` = 20 AND v2.`hb_state` + = 3 AND co.`co_order_no` = #{orderNo} AND co.`co_source_type`= + #{sourceType})A + </select> + <select id="count24HValidOrderByUid" resultType="Long">SELECT + IFNULL(COUNT(A.co_order_no),0) FROM (SELECT co.`co_order_no` FROM + yeshi_ec_hongbao_order ho LEFT JOIN yeshi_ec_hongbao_v2 v2 ON v2.hb_id + = ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON + co.`co_id`=ho.`ho_order_id` WHERE v2.`hb_type` = 1 AND + co.`co_state_whole_order`<![CDATA[<>]]> + 3 AND co.`co_uid` = #{uid} AND co.co_third_create_time <![CDATA[>]]> + #{minTime} AND co.`co_third_create_time` <![CDATA[<=]]> + DATE_SUB(NOW(), INTERVAL 1 DAY) GROUP BY + co.`co_order_no`,co.`co_source_type`)A + </select> + <select id="searchOrderByUid" resultMap="ResultMap"> + SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalMoney, hb.hb_state AS + hongBaoState, hb.`hb_type` AS hongBaoType, MAX(hb.`hb_get_time`) AS + accountTime, MAX(hb.`hb_pre_get_time`) AS preAccountTime, + <include refid="Order_Column_List" /> + 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} AND <![CDATA[v2.`hb_type`<>10]]>)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 + <foreach collection="list" item="esOrder" open=" and (" close=")" + separator=" or ">(co.co_trade_id=#{esOrder.tradeId} AND co.co_source_type = + #{esOrder.platform}) + </foreach> + GROUP BY co.`co_order_no`, co.`co_source_type` ORDER BY + co.co_third_create_time DESC LIMIT ${start},${count} + </select> + <select id="countSearchOrderByUid" 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} AND <![CDATA[v2.`hb_type`<> 10 ]]> + )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 + <foreach collection="list" item="esOrder" open=" and (" close=")" + separator=" or ">(co.co_trade_id=#{esOrder.tradeId} AND co.co_source_type = + #{esOrder.platform}) + </foreach> + GROUP BY co.`co_order_no`, co.`co_source_type` )A + </select> + <select id="getMinSettleTimeAndUid" resultMap="BaseResultMap">SELECT + d.`co_uid`,MAX(d.`co_settle_time`) AS co_settle_time FROM + `yeshi_ec_common_order` d WHERE d.`co_settle_time` IS NOT NULL AND + d.`co_payment` > 1 GROUP BY d.`co_uid`</select> + <select id="getOrderList" resultMap="ResultMap"> + SELECT hb.`hb_type` AS hongBaoType, MAX(hb.`hb_get_time`) AS + accountTime, MAX(hb.`hb_pre_get_time`) AS preAccountTime, + <include refid="Order_Column_List" /> + 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} AND <![CDATA[v2.`hb_type`<> 10 ]]> + <include refid="SELECT_PARAM_HONGBAO_TYPE" /> + <if test="type == 2 and day == 5"> + <!-- 鏈湀鏈堝皢瑕佸埌璐﹀垎浜鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + <if test="type == 3 and day == 5"> + <!-- 鏈湀灏嗚鍒拌处閭�璇疯鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + <!-- 绾㈠寘绫诲瀷 --> + )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> + <!-- 璁㈠崟鏉ユ簮 --> + <if test="listSource != null and listSource.size() > 0"> + <foreach collection="listSource" item="item" open="AND (" + close=")" separator="or">co.co_source_type = #{item}</foreach> + </if> + <if test="notBackSuVip == true"> + <![CDATA[AND co.co_source_type <> 4 AND co.co_source_type <> 5]]> + </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="countOrderList" 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} AND <![CDATA[v2.`hb_type`<> 10 ]]> + <include refid="SELECT_PARAM_HONGBAO_TYPE" /> + <!-- 绾㈠寘绫诲瀷 --> + <if test="type == 2 and day == 5"> + <!-- 鏈湀鏈堝皢瑕佸埌璐﹀垎浜鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + <if test="type == 3 and day == 5"> + <!-- 鏈湀灏嗚鍒拌处閭�璇疯鍗� --> + AND DATE_FORMAT(v2.`hb_pre_get_time`,'%Y%m') = + DATE_FORMAT(CURDATE(),'%Y%m') + </if> + )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> + <!-- 璁㈠崟鏉ユ簮 --> + <if test="listSource != null and listSource.size() > 0"> + <foreach collection="listSource" item="item" open="AND (" + close=")" separator="or">co.co_source_type = #{item}</foreach> + </if> + <if test="notBackSuVip == true"> + <![CDATA[AND co.co_source_type <> 4 AND co.co_source_type <> 5]]> + </if> + GROUP BY co.`co_order_no`, co.`co_source_type` )A + </select> + <select id="countOrderByUidAndSettled" resultType="Long">SELECT + COUNT(d.`co_id`) FROM `yeshi_ec_common_order` d WHERE d.`co_uid` = + #{uid} AND d.`co_settle_time` IS NOT NULL AND d.`co_payment` >= + #{payment} + </select> + + <select id="getNewestOrderNoByTaoBao" resultType="String"> + SELECT d.`co_order_no` FROM `yeshi_ec_common_order` d + WHERE d.`co_source_type` = 1 + ORDER BY d.`co_id` DESC + LIMIT 1 + </select> + + <select id="listByOrderNo" resultMap="BaseResultMap"> + SELECT * FROM `yeshi_ec_common_order` d + WHERE d.`co_order_no` = #{orderNo} + GROUP BY d.`co_order_no`,d.`co_source_type` + </select> </mapper> -- Gitblit v1.8.0