| | |
| | | <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> |
| | |
| | | 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> |