From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 四月 2020 10:04:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml index dff42ff..4515f27 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml @@ -8,6 +8,19 @@ <result column="rpb_create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="rpb_update_time" property="updateTime" jdbcType="TIMESTAMP"/> </resultMap> + + <resultMap id="VOResultMap" type="com.yeshi.fanli.vo.redpack.RedPackBalanceVO"> + <id column="rpb_uid" property="id" jdbcType="BIGINT"/> + <result column="rpb_money" property="money" jdbcType="DECIMAL"/> + <result column="rpb_create_time" property="createTime" jdbcType="TIMESTAMP"/> + <result column="rpb_update_time" property="updateTime" jdbcType="TIMESTAMP"/> + + <result column="giveMoney" property="giveMoney" jdbcType="DECIMAL"/> + <result column="useMoney" property="useMoney" jdbcType="DECIMAL"/> + <result column="exchangeMoney" property="exchangeMoney" jdbcType="DECIMAL"/> + <result column="totalWin" property="totalWin" jdbcType="DECIMAL"/> + </resultMap> + <sql id="Base_Column_List">rpb_uid,rpb_money,rpb_create_time,rpb_update_time</sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long">select <include refid="Base_Column_List"/>from yeshi_ec_red_pack_balance where rpb_uid = #{id,jdbcType=BIGINT} @@ -37,7 +50,7 @@ </set> where rpb_uid = #{id,jdbcType=BIGINT} </update> - <update id="subRedPack"> + <update id="subRedPack"> update yeshi_ec_red_pack_balance SET rpb_money = rpb_money - #{money,jdbcType=DECIMAL},rpb_update_time = NOW() WHERE rpb_uid = #{id,jdbcType=BIGINT} </update> @@ -47,9 +60,65 @@ WHERE rpb_uid = #{id,jdbcType=BIGINT} </update> + <update id="resetRedPack"> + UPDATE yeshi_ec_red_pack_balance SET rpb_money = 0,rpb_update_time = NOW() + WHERE rpb_uid = #{id,jdbcType=BIGINT} + </update> + <select id="selectForUpdate" resultMap="BaseResultMap" parameterType="java.lang.Long"> SELECT <include refid="Base_Column_List"/> FROM yeshi_ec_red_pack_balance WHERE rpb_uid = #{id,jdbcType=BIGINT} FOR UPDATE </select> + + <select id="query" resultMap="VOResultMap"> + SELECT b.*,IFNULL(dd.giveMoney,0)AS giveMoney,IFNULL(dd2.useMoney,0)AS useMoney ,IFNULL(dd3.exchangeMoney,0)AS exchangeMoney ,IFNULL(dd4.totalWin,0)AS totalWin FROM `yeshi_ec_red_pack_balance` b + LEFT JOIN (SELECT ABS(SUM(d.`rpd_money`)) AS giveMoney,d.`rpd_uid` FROM `yeshi_ec_red_pack_detail` d + WHERE d.`rpd_type` = 'giveOthersSucceed' AND d.`rpd_uid` LIKE '${key}%' + GROUP BY d.`rpd_uid` )dd ON dd.rpd_uid = b.`rpb_uid` + LEFT JOIN (SELECT ABS(SUM(d.`rpd_money`)) AS useMoney,d.`rpd_uid` FROM `yeshi_ec_red_pack_detail` d + WHERE d.`rpd_type` = 'useByShopOrder' AND d.`rpd_uid` LIKE '${key}%' + GROUP BY d.`rpd_uid` )dd2 ON dd2.rpd_uid = b.`rpb_uid` + LEFT JOIN (SELECT ABS(SUM(d.`rpd_money`)) AS exchangeMoney,d.`rpd_uid` FROM `yeshi_ec_red_pack_detail` d + WHERE d.`rpd_type` = 'redExchangePass' AND d.`rpd_uid` LIKE '${key}%' + GROUP BY d.`rpd_uid` )dd3 ON dd3.rpd_uid = b.`rpb_uid` + LEFT JOIN (SELECT ABS(SUM(d.`rpd_money`)) AS totalWin,d.`rpd_uid` FROM `yeshi_ec_red_pack_detail` d + WHERE d.`rpd_type` IN('newUserReward','invite','increaseReward','seriesReward','giveOthersReceive') AND d.`rpd_uid` LIKE '${key}%' + GROUP BY d.`rpd_uid` )dd4 ON dd4.rpd_uid = b.`rpb_uid` + WHERE b.`rpb_uid` LIKE '${key}%' + <if test="state != null"> + AND b.rpb_state = #{state} + </if> + <if test="order == 0"> + ORDER BY b.rpb_money DESC + </if> + <if test="order == 1"> + ORDER BY dd.giveMoney DESC + </if> + <if test="order == 2"> + ORDER BY dd2.useMoney DESC + </if> + <if test="order == 3"> + ORDER BY dd3.exchangeMoney DESC + </if> + <if test="order == 4"> + ORDER BY dd4.totalWin DESC + </if> + <if test="order == 5"> + ORDER BY b.rpb_create_time + </if> + <if test="order == 6"> + ORDER BY b.rpb_create_time DESC + </if> + LIMIT #{start},#{count} + </select> + + <select id="count" resultType="Long"> + SELECT IFNULL(COUNT(rpb_uid),0) FROM yeshi_ec_red_pack_balance + WHERE rpb_uid LIKE '${key}%' + <if test="state != null"> + AND rpb_state = #{state} + </if> + </select> + </mapper> -- Gitblit v1.8.0