145 lines
No EOL
5.8 KiB
XML
145 lines
No EOL
5.8 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="ru.nbch.credit_tracker.mapper.signal.PhoneFidMapMapper">
|
|
|
|
<resultMap id="PhoneFidMapResultMap" type="ru.nbch.credit_tracker.entities.app.PhoneFidMap">
|
|
<result property="id" column="id"/>
|
|
<result property="packageId" column="package_id"/>
|
|
<result property="subjectId" column="subject_id"/>
|
|
<result property="phone" column="phone"/>
|
|
<result property="fid" column="fid"/>
|
|
<result property="flagDebt5000" column="flag_debt5000"/>
|
|
<result property="flag90days" column="flag_90_12"/>
|
|
<result property="calculatedAt" column="calculated_at"/>
|
|
<result property="errorText" column="error_text"/>
|
|
</resultMap>
|
|
|
|
<insert id="registerSubjects" parameterType="java.util.List">
|
|
INSERT INTO signals_phone_fid_map (subject_id, phone, fid, package_id)
|
|
values
|
|
<foreach collection="subjects" item="subject" separator=",">
|
|
(#{subject.id}, #{subject.clientId}, NULL, #{packageId})
|
|
</foreach>
|
|
</insert>
|
|
|
|
<insert id="register" parameterType="java.util.List">
|
|
INSERT INTO signals_phone_fid_map (subject_id, fid, phone, package_id, flag_debt5000, flag_90_12, calculated_at)
|
|
values
|
|
<foreach collection="phoneFidMap" item="phoneFid" separator=",">
|
|
(#{phoneFid.subjectId}, #{phoneFid.fid}, #{phoneFid.phone}, #{phoneFid.packageId}, #{phoneFid.flagDebt5000}, #{phoneFid.flag90days}, #{phoneFid.calculatedAt})
|
|
</foreach>
|
|
</insert>
|
|
|
|
<insert id="registerJson" parameterType="string">
|
|
INSERT INTO signals_phone_fid_map
|
|
(subject_id, fid, phone, package_id, flag_debt5000, flag_90_12, calculated_at)
|
|
SELECT subject_id, fid, phone, package_id, flag_debt5000, flag_90_12, calculated_at
|
|
FROM json_to_recordset(#{json}::json) AS t(
|
|
subject_id varchar(255),
|
|
fid int,
|
|
phone text,
|
|
package_id bigint,
|
|
flag_debt5000 smallint,
|
|
flag_90_12 smallint,
|
|
calculated_at timestamp)
|
|
</insert>
|
|
|
|
<insert id="registerWithId" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
|
INSERT INTO signals_phone_fid_map (subject_id, phone, package_id)
|
|
values
|
|
<foreach collection="phoneFidMap" item="phoneFid" separator=",">
|
|
(#{phoneFid.subjectId}, #{phoneFid.phone}, #{phoneFid.packageId})
|
|
</foreach>
|
|
</insert>
|
|
|
|
|
|
<update id="updatePhoneFidMaps" parameterType="java.util.List">
|
|
<foreach collection="subjects" item="subject" separator=";">
|
|
UPDATE signals_phone_fid_map
|
|
SET
|
|
package_id = #{subject.packageId},
|
|
subject_id = #{subject.subjectId},
|
|
phone = #{subject.phone},
|
|
fid = #{subject.fid},
|
|
flag_debt5000 = #{subject.flagDebt5000},
|
|
flag_90_12 = #{subject.flag90days},
|
|
calculated_at = #{subject.calculatedAt},
|
|
error_text = #{subject.errorText}
|
|
WHERE id = #{subject.id}
|
|
</foreach>
|
|
</update>
|
|
|
|
<update id="updateOne" parameterType="ru.nbch.credit_tracker.entities.app.PhoneFidMap">
|
|
UPDATE signals_phone_fid_map
|
|
SET
|
|
package_id = #{subject.packageId},
|
|
subject_id = #{subject.subjectId},
|
|
phone = #{subject.phone},
|
|
fid = #{subject.fid2},
|
|
flag_debt5000 = #{subject.flagDebt5000},
|
|
flag_90_12 = #{subject.flag90days},
|
|
calculated_at = #{subject.calculatedAt},
|
|
error_text = #{subject.errorText}
|
|
WHERE id = #{subject.id}
|
|
</update>
|
|
|
|
<update id="updateFid" parameterType="java.util.List">
|
|
<foreach collection="subjects" item="subject" separator=";">
|
|
UPDATE signals_phone_fid_map
|
|
SET
|
|
fid = #{subject.fid}
|
|
WHERE rec_uuid = #{subject.id}
|
|
</foreach>
|
|
</update>
|
|
|
|
<update id="updatePhoneFidMapsErrors" parameterType="java.util.List">
|
|
<foreach collection="subjects" item="subject" separator=";">
|
|
UPDATE signals_phone_fid_map
|
|
SET
|
|
error_text = #{subject.errorText}
|
|
WHERE id = #{subject.recUuid}
|
|
</foreach>
|
|
</update>
|
|
|
|
<select id="findFullPhoneFidMap" resultMap="PhoneFidMapResultMap" resultType="java.util.List">
|
|
SELECT id,
|
|
package_id,
|
|
subject_id,
|
|
phone,
|
|
fid,
|
|
flag_90_12,
|
|
flag_debt5000,
|
|
calculated_at,
|
|
error_text
|
|
FROM signals_phone_fid_map
|
|
WHERE package_id = #{packageId}
|
|
ORDER BY id
|
|
LIMIT #{limit} OFFSET #{offset}
|
|
</select>
|
|
|
|
<select id="findPhoneFidMapById" resultMap="PhoneFidMapResultMap" resultType="ru.nbch.credit_tracker.entities.app.PhoneFidMap">
|
|
SELECT id,
|
|
package_id,
|
|
subject_id,
|
|
phone,
|
|
fid,
|
|
flag_90_12,
|
|
flag_debt5000,
|
|
calculated_at,
|
|
error_text
|
|
FROM signals_phone_fid_map
|
|
WHERE id = #{id}
|
|
LIMIT 1
|
|
</select>
|
|
|
|
<select id="hasNonNullFids" resultType="java.lang.Boolean">
|
|
select count(*) > 0
|
|
from signals_phone_fid_map
|
|
where package_id = #{packageId} AND fid is not null
|
|
</select>
|
|
|
|
|
|
</mapper> |