From e65037e672ecab852e2a6c5b242cdadfd1a58b33 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 25 十一月 2019 09:30:24 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/mapping/redpack/RedPackBalanceMapper.xml | 73 ++++++++++++++++++++++++++++++++---- 1 files changed, 64 insertions(+), 9 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 72ddb80..57962e6 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 @@ -5,43 +5,52 @@ <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.redpack.RedPackBalance"> <id column="rpb_uid" property="id" jdbcType="BIGINT"/> <result column="rpb_money" property="money" jdbcType="DECIMAL"/> - <result column="rpb_state" property="state" jdbcType="INTEGER"/> <result column="rpb_create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="rpb_update_time" property="updateTime" jdbcType="TIMESTAMP"/> </resultMap> - <sql id="Base_Column_List">rpb_uid,rpb_money,rpb_state,rpb_create_time,rpb_update_time</sql> + + <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} </select> -<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_red_pack_balance where rpb_uid = #{id,jdbcType=BIGINT}</delete> - <insert id="insert" parameterType="com.yeshi.fanli.entity.redpack.RedPackBalance" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_red_pack_balance (rpb_uid,rpb_money,rpb_state,rpb_create_time,rpb_update_time) values (#{id,jdbcType=BIGINT},#{money,jdbcType=DECIMAL},#{state,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})</insert> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_red_pack_balance where rpb_uid = #{id,jdbcType=BIGINT}</delete> + <insert id="insert" parameterType="com.yeshi.fanli.entity.redpack.RedPackBalance" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_red_pack_balance (rpb_uid,rpb_money,rpb_create_time,rpb_update_time) values (#{id,jdbcType=BIGINT},#{money,jdbcType=DECIMAL},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP})</insert> <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.redpack.RedPackBalance" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_red_pack_balance <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">rpb_uid,</if> <if test="money != null">rpb_money,</if> - <if test="state != null">rpb_state,</if> <if test="createTime != null">rpb_create_time,</if> <if test="updateTime != null">rpb_update_time,</if> </trim>values <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">#{id,jdbcType=BIGINT},</if> <if test="money != null">#{money,jdbcType=DECIMAL},</if> - <if test="state != null">#{state,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.redpack.RedPackBalance">update yeshi_ec_red_pack_balance set rpb_money = #{money,jdbcType=DECIMAL},rpb_state = #{state,jdbcType=INTEGER},rpb_create_time = #{createTime,jdbcType=TIMESTAMP},rpb_update_time = #{updateTime,jdbcType=TIMESTAMP} where rpb_uid = #{id,jdbcType=BIGINT}</update> + <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.redpack.RedPackBalance">update yeshi_ec_red_pack_balance set rpb_money = #{money,jdbcType=DECIMAL},rpb_create_time = #{createTime,jdbcType=TIMESTAMP},rpb_update_time = #{updateTime,jdbcType=TIMESTAMP} where rpb_uid = #{id,jdbcType=BIGINT}</update> <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.redpack.RedPackBalance">update yeshi_ec_red_pack_balance <set> <if test="money != null">rpb_money=#{money,jdbcType=DECIMAL},</if> - <if test="state != null">rpb_state=#{state,jdbcType=INTEGER},</if> <if test="createTime != null">rpb_create_time=#{createTime,jdbcType=TIMESTAMP},</if> <if test="updateTime != null">rpb_update_time=#{updateTime,jdbcType=TIMESTAMP},</if> </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> @@ -51,9 +60,55 @@ 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}%')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}%')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}%')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}%')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> + 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