50 lines
2.2 KiB
XML
50 lines
2.2 KiB
XML
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||
|
|
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||
|
|
<mapper namespace="com.sb.web.account.mapper.QuickEntryMapper">
|
||
|
|
|
||
|
|
<resultMap id="quickResultMap" type="com.sb.web.account.domain.QuickEntry">
|
||
|
|
<id property="id" column="id"/>
|
||
|
|
<result property="memberId" column="member_id"/>
|
||
|
|
<result property="label" column="label"/>
|
||
|
|
<result property="type" column="type"/>
|
||
|
|
<result property="category" column="category"/>
|
||
|
|
<result property="amount" column="amount"/>
|
||
|
|
<result property="memo" column="memo"/>
|
||
|
|
<result property="walletId" column="wallet_id"/>
|
||
|
|
<result property="sortOrder" column="sort_order"/>
|
||
|
|
<result property="createdAt" column="created_at"/>
|
||
|
|
<result property="walletName" column="wallet_name"/>
|
||
|
|
</resultMap>
|
||
|
|
|
||
|
|
<select id="findByMember" parameterType="long" resultMap="quickResultMap">
|
||
|
|
SELECT q.id, q.member_id, q.label, q.type, q.category, q.amount, q.memo,
|
||
|
|
q.wallet_id, q.sort_order, q.created_at, w.name AS wallet_name
|
||
|
|
FROM quick_entry q
|
||
|
|
LEFT JOIN wallet w ON w.id = q.wallet_id AND w.member_id = q.member_id
|
||
|
|
WHERE q.member_id = #{memberId}
|
||
|
|
ORDER BY q.sort_order, q.id
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="findByIdAndMember" resultMap="quickResultMap">
|
||
|
|
SELECT id, member_id, label, type, category, amount, memo, wallet_id, sort_order, created_at
|
||
|
|
FROM quick_entry
|
||
|
|
WHERE id = #{id} AND member_id = #{memberId}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<insert id="insert" parameterType="com.sb.web.account.domain.QuickEntry"
|
||
|
|
useGeneratedKeys="true" keyProperty="id">
|
||
|
|
INSERT INTO quick_entry (member_id, label, type, category, amount, memo, wallet_id, sort_order, created_at)
|
||
|
|
VALUES (#{memberId}, #{label}, #{type}, #{category}, #{amount}, #{memo}, #{walletId}, #{sortOrder}, NOW())
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<delete id="delete">
|
||
|
|
DELETE FROM quick_entry WHERE id = #{id} AND member_id = #{memberId}
|
||
|
|
</delete>
|
||
|
|
|
||
|
|
<select id="maxSortOrder" resultType="java.lang.Integer">
|
||
|
|
SELECT MAX(sort_order) FROM quick_entry WHERE member_id = #{memberId}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
</mapper>
|