168 lines
7.6 KiB
XML
168 lines
7.6 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.bonus.canteen.core.account.mapper.AccWalletInfoMapper">
|
|
<resultMap type="com.bonus.canteen.core.account.domain.AccWalletInfo" id="AccWalletInfoResult">
|
|
<result property="walletId" column="wallet_id" />
|
|
<result property="userId" column="user_id" />
|
|
<result property="accountId" column="account_id" />
|
|
<result property="walletType" column="wallet_type" />
|
|
<result property="walletBal" column="wallet_bal" />
|
|
<result property="limitBalance" column="limit_balance" />
|
|
<result property="frozenBalance" column="frozen_balance" />
|
|
<result property="expiredTime" column="expired_time" />
|
|
<result property="lastSubsidyAmount" column="last_subsidy_amount" />
|
|
<result property="lastSubsidyTime" column="last_subsidy_time" />
|
|
<result property="delFlag" column="del_flag" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
</resultMap>
|
|
|
|
<sql id="selectAccWalletInfoVo">
|
|
select wallet_id, user_id, account_id, wallet_type, wallet_bal, limit_balance, frozen_balance,
|
|
expired_time, last_subsidy_amount, last_subsidy_time, create_by, create_time,
|
|
update_by, update_time, del_flag
|
|
from account_wallet_info
|
|
</sql>
|
|
|
|
<select id="selectAccWalletInfoList" parameterType="com.bonus.canteen.core.account.domain.AccWalletInfo" resultMap="AccWalletInfoResult">
|
|
<include refid="selectAccWalletInfoVo"/>
|
|
<where>
|
|
<if test="accountId != null "> and account_id = #{accountId}</if>
|
|
<if test="walletBal != null "> and wallet_bal = #{walletBal}</if>
|
|
<if test="limitBalance != null "> and limit_balance = #{limitBalance}</if>
|
|
<if test="frozenBalance != null "> and frozen_balance = #{frozenBalance}</if>
|
|
<if test="expiredTime != null "> and expired_time = #{expiredTime}</if>
|
|
<if test="lastSubsidyAmount != null "> and last_subsidy_amount = #{lastSubsidyAmount}</if>
|
|
<if test="lastSubsidyTime != null "> and last_subsidy_time = #{lastSubsidyTime}</if>
|
|
<if test="delFlag != null "> and del_flag = #{delFlag}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectAccWalletInfoByUserId" parameterType="Long" resultMap="AccWalletInfoResult">
|
|
<include refid="selectAccWalletInfoVo"/>
|
|
where user_id = #{userId}
|
|
</select>
|
|
|
|
<select id="selectAccWalletInfoByUserIdAndWalletType" resultMap="AccWalletInfoResult">
|
|
<include refid="selectAccWalletInfoVo"/>
|
|
where user_id = #{userId} and wallet_type = #{walletType}
|
|
</select>
|
|
|
|
<select id="selectAccWalletInfoByUserIds" resultType="com.bonus.canteen.core.account.domain.vo.AccWalletInfoVO">
|
|
SELECT
|
|
user_id,
|
|
account_id,
|
|
wallet_type,
|
|
wallet_bal,
|
|
limit_balance,
|
|
frozen_balance,
|
|
last_subsidy_amount,
|
|
last_subsidy_time
|
|
FROM account_wallet_info
|
|
WHERE user_id IN
|
|
<foreach collection="userIds" item="userId" separator="," open="(" close=")">
|
|
#{userId}
|
|
</foreach>
|
|
</select>
|
|
|
|
<insert id="insertAccWalletInfo" parameterType="com.bonus.canteen.core.account.domain.AccWalletInfo">
|
|
insert into account_wallet_info
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="userId != null">user_id,</if>
|
|
<if test="accountId != null">account_id,</if>
|
|
<if test="walletType != null">wallet_type,</if>
|
|
<if test="walletBal != null">wallet_bal,</if>
|
|
<if test="limitBalance != null">limit_balance,</if>
|
|
<if test="frozenBalance != null">frozen_balance,</if>
|
|
<if test="expiredTime != null">expired_time,</if>
|
|
<if test="lastSubsidyAmount != null">last_subsidy_amount,</if>
|
|
<if test="lastSubsidyTime != null">last_subsidy_time,</if>
|
|
<if test="createBy != null">create_by,</if>
|
|
<if test="createTime != null">create_time,</if>
|
|
<if test="updateBy != null">update_by,</if>
|
|
<if test="updateTime != null">update_time,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="userId != null">#{userId},</if>
|
|
<if test="accountId != null">#{accountId},</if>
|
|
<if test="walletType != null">#{walletType},</if>
|
|
<if test="walletBal != null">#{walletBal},</if>
|
|
<if test="limitBalance != null">#{limitBalance},</if>
|
|
<if test="frozenBalance != null">#{frozenBalance},</if>
|
|
<if test="expiredTime != null">#{expiredTime},</if>
|
|
<if test="lastSubsidyAmount != null">#{lastSubsidyAmount},</if>
|
|
<if test="lastSubsidyTime != null">#{lastSubsidyTime},</if>
|
|
<if test="createBy != null">#{createBy},</if>
|
|
<if test="createTime != null">#{createTime},</if>
|
|
<if test="updateBy != null">#{updateBy},</if>
|
|
<if test="updateTime != null">#{updateTime},</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<insert id="batchInsertAccWalletInfo" parameterType="com.bonus.canteen.core.account.domain.AccWalletInfo">
|
|
insert into account_wallet_info(user_id,account_id,wallet_type,create_by,create_time) values
|
|
<foreach item="item" index="index" collection="list" separator=",">
|
|
(#{item.userId},#{item.accountId},#{item.walletType},#{item.createBy},NOW())
|
|
</foreach>
|
|
</insert>
|
|
|
|
<delete id="deleteAccWalletInfoByUserId" parameterType="Long">
|
|
update account_wallet_info set del_flag = '2' where user_id = #{userId}
|
|
</delete>
|
|
|
|
<delete id="deleteAccWalletInfoByUserIds" parameterType="String">
|
|
update account_wallet_info set del_flag = '2' where user_id in
|
|
<foreach item="userId" collection="array" open="(" separator="," close=")">
|
|
#{userId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<update id="updateMinBalanceByUserId">
|
|
UPDATE
|
|
account_wallet_info
|
|
SET limit_balance = #{minBalance},
|
|
update_by = #{updateBy},
|
|
update_time = #{updateTime}
|
|
<where>
|
|
<if test="userIds != null and userIds.size() != 0">
|
|
AND user_id IN
|
|
<foreach collection="userIds" item="userId" separator="," open="(" close=")">
|
|
#{userId}
|
|
</foreach>
|
|
</if>
|
|
AND wallet_type = #{walletType}
|
|
</where>
|
|
</update>
|
|
|
|
<update id="addAccWalletInfo">
|
|
UPDATE account_wallet_info
|
|
SET wallet_bal = wallet_bal + #{amount},
|
|
update_by = #{updateBy},
|
|
update_time = #{updateTime}
|
|
WHERE user_id = #{userId}
|
|
AND wallet_type = #{walletType}
|
|
</update>
|
|
|
|
<update id="reduceAccWalletInfo">
|
|
UPDATE account_wallet_info
|
|
SET wallet_bal = wallet_bal - #{amount},
|
|
update_by = #{updateBy},
|
|
update_time = #{updateTime}
|
|
WHERE user_id = #{userId}
|
|
AND wallet_type = #{walletType}
|
|
</update>
|
|
|
|
<update id="clearAccWalletInfo">
|
|
UPDATE account_wallet_info
|
|
SET wallet_bal = 0,
|
|
update_by = #{updateBy},
|
|
update_time = #{updateTime}
|
|
WHERE user_id = #{userId}
|
|
AND wallet_type = #{walletType}
|
|
</update>
|
|
</mapper>
|