140 lines
7.5 KiB
XML
140 lines
7.5 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.ruoyi.baseUser.mapper.ZcBaseWalletMapper">
|
|
|
|
<resultMap type="ZcBaseWallet" id="ZcBaseWalletResult">
|
|
<result property="userId" column="user_id" />
|
|
<result property="userName" column="user_name" />
|
|
<result property="phoneNumber" column="phone_number" />
|
|
<result property="balance" column="balance" />
|
|
<result property="availableAmount" column="available_amount" />
|
|
<result property="freezeAmount" column="freeze_amount" />
|
|
<result property="delFlag" column="del_flag" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateTime" column="update_time" />
|
|
</resultMap>
|
|
|
|
<resultMap id="ZcBaseWalletZcBaseWalletChangeResult" type="ZcBaseWallet" extends="ZcBaseWalletResult">
|
|
<collection property="zcBaseWalletChangeList" notNullColumn="sub_id" javaType="java.util.List" resultMap="ZcBaseWalletChangeResult" />
|
|
</resultMap>
|
|
|
|
<resultMap type="ZcBaseWalletChange" id="ZcBaseWalletChangeResult">
|
|
<result property="id" column="sub_id" />
|
|
<result property="userId" column="sub_user_id" />
|
|
<result property="changeType" column="sub_change_type" />
|
|
<result property="changeStatus" column="sub_change_status" />
|
|
<result property="payType" column="sub_pay_type" />
|
|
<result property="changeTime" column="sub_change_time" />
|
|
<result property="changeAmount" column="sub_change_amount" />
|
|
<result property="referralOrderNo" column="sub_referral_order_no" />
|
|
<result property="delFlag" column="sub_del_flag" />
|
|
<result property="createTime" column="sub_create_time" />
|
|
<result property="updateTime" column="sub_update_time" />
|
|
</resultMap>
|
|
|
|
<sql id="selectZcBaseWalletVo">
|
|
select user_id, user_name, phone_number, balance, available_amount, freeze_amount, del_flag, create_time, update_time from zc_base_wallet
|
|
</sql>
|
|
|
|
<select id="selectZcBaseWalletList" parameterType="ZcBaseWallet" resultMap="ZcBaseWalletResult">
|
|
<include refid="selectZcBaseWalletVo"/>
|
|
<where>
|
|
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
|
<if test="phoneNumber != null and phoneNumber != ''"> and phone_number = #{phoneNumber}</if>
|
|
<if test="balance != null "> and balance = #{balance}</if>
|
|
<if test="availableAmount != null "> and available_amount = #{availableAmount}</if>
|
|
<if test="freezeAmount != null "> and freeze_amount = #{freezeAmount}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectZcBaseWalletByUserId" parameterType="Long" resultMap="ZcBaseWalletZcBaseWalletChangeResult">
|
|
select a.user_id, a.user_name, a.phone_number, a.balance, a.available_amount, a.freeze_amount, a.del_flag, a.create_time, a.update_time,
|
|
b.id as sub_id, b.user_id as sub_user_id, b.change_type as sub_change_type, b.change_status as sub_change_status, b.pay_type as sub_pay_type, b.change_time as sub_change_time, b.change_amount as sub_change_amount, b.referral_order_no as sub_referral_order_no, b.del_flag as sub_del_flag, b.create_time as sub_create_time, b.update_time as sub_update_time
|
|
from zc_base_wallet a
|
|
left join zc_base_wallet_change b on b.user_id = a.user_id
|
|
where a.user_id = #{userId}
|
|
</select>
|
|
|
|
<insert id="insertZcBaseWallet" parameterType="ZcBaseWallet" useGeneratedKeys="true" keyProperty="userId">
|
|
insert into zc_base_wallet
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="userName != null and userName != ''">user_name,</if>
|
|
<if test="phoneNumber != null and phoneNumber != ''">phone_number,</if>
|
|
<if test="balance != null">balance,</if>
|
|
<if test="availableAmount != null">available_amount,</if>
|
|
<if test="freezeAmount != null">freeze_amount,</if>
|
|
<if test="delFlag != null">del_flag,</if>
|
|
<if test="createTime != null">create_time,</if>
|
|
<if test="updateTime != null">update_time,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="userName != null and userName != ''">#{userName},</if>
|
|
<if test="phoneNumber != null and phoneNumber != ''">#{phoneNumber},</if>
|
|
<if test="balance != null">#{balance},</if>
|
|
<if test="availableAmount != null">#{availableAmount},</if>
|
|
<if test="freezeAmount != null">#{freezeAmount},</if>
|
|
<if test="delFlag != null">#{delFlag},</if>
|
|
<if test="createTime != null">#{createTime},</if>
|
|
<if test="updateTime != null">#{updateTime},</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateZcBaseWallet" parameterType="ZcBaseWallet">
|
|
update zc_base_wallet
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
|
<if test="phoneNumber != null and phoneNumber != ''">phone_number = #{phoneNumber},</if>
|
|
<if test="balance != null">balance = #{balance},</if>
|
|
<if test="availableAmount != null">available_amount = #{availableAmount},</if>
|
|
<if test="freezeAmount != null">freeze_amount = #{freezeAmount},</if>
|
|
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
|
<if test="createTime != null">create_time = #{createTime},</if>
|
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
|
</trim>
|
|
where user_id = #{userId}
|
|
</update>
|
|
|
|
<delete id="deleteZcBaseWalletByUserId" parameterType="Long">
|
|
delete from zc_base_wallet where user_id = #{userId}
|
|
</delete>
|
|
|
|
<delete id="deleteZcBaseWalletByUserIds" parameterType="String">
|
|
delete from zc_base_wallet where user_id in
|
|
<foreach item="userId" collection="array" open="(" separator="," close=")">
|
|
#{userId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<delete id="deleteZcBaseWalletChangeByUserIds" parameterType="String">
|
|
delete from zc_base_wallet_change where user_id in
|
|
<foreach item="userId" collection="array" open="(" separator="," close=")">
|
|
#{userId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<delete id="deleteZcBaseWalletChangeByUserId" parameterType="Long">
|
|
delete from zc_base_wallet_change where user_id = #{userId}
|
|
</delete>
|
|
|
|
<insert id="batchZcBaseWalletChange">
|
|
insert into zc_base_wallet_change( id, user_id, change_type, pay_type, change_time, change_amount, referral_order_no, del_flag, create_time, update_time) values
|
|
<foreach item="item" index="index" collection="list" separator=",">
|
|
( #{item.id}, #{item.userId}, #{item.changeType}, #{item.payType}, #{item.changeTime}, #{item.changeAmount}, #{item.referralOrderNo}, #{item.delFlag}, #{item.createTime}, #{item.updateTime})
|
|
</foreach>
|
|
</insert>
|
|
|
|
<!-- 减少钱包金额 -->
|
|
<update id="reduceWalletAmount">
|
|
UPDATE zc_base_wallet
|
|
SET
|
|
available_amount = available_amount - #{amount},
|
|
balance = balance - #{amount},
|
|
update_time = NOW()
|
|
WHERE user_id = #{userId}
|
|
AND available_amount >= #{amount}
|
|
AND balance >= #{amount}
|
|
</update>
|
|
|
|
</mapper> |