265 lines
No EOL
8.7 KiB
XML
265 lines
No EOL
8.7 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.UserPackageMapper">
|
|
|
|
<resultMap id="packageDataResultMap" type="ru.nbch.credit_tracker.entities.app.UserPackage">
|
|
<result property="id" column="id"/>
|
|
<result property="userId" column="membercode"/>
|
|
<result property="packageName" column="package_name"/>
|
|
<result property="createdAt" column="created_at"/>
|
|
<result property="status" column="status"/>
|
|
<result property="deactivatedAt" column="deactivated_at"/>
|
|
<result property="lastDownloadedReport" column="last_downloaded_report"/>
|
|
<result property="monitoringAt" column="monitoring_at"/>
|
|
<result property="rejectStatus" column="reject_status"/>
|
|
<result property="signalTypes" column="signal_types"/>
|
|
<result property="externalPackageName" column="external_package_name"/>
|
|
</resultMap>
|
|
|
|
<select id="isPackageNotUnique" resultType="boolean">
|
|
SELECT COUNT(*) > 0
|
|
FROM signals_user_packages
|
|
WHERE membercode IS NOT NULL
|
|
AND LEFT(membercode, 6) = #{userId}
|
|
AND package_name = #{packageName}
|
|
</select>
|
|
|
|
<select id="isPackageExists" resultType="boolean">
|
|
SELECT COUNT(*) > 0
|
|
FROM signals_user_packages
|
|
WHERE membercode IS NOT NULL
|
|
AND LEFT(membercode, 6) = #{userId}
|
|
AND package_name = #{packageName}
|
|
AND status = #{status}
|
|
</select>
|
|
|
|
<select id="hasActivePackages" resultType="boolean">
|
|
SELECT COUNT(*) > 0
|
|
FROM signals_user_packages
|
|
WHERE membercode IS NOT NULL
|
|
AND LEFT(membercode, 6) = #{userId}
|
|
AND package_name = #{packageName}
|
|
AND status IN
|
|
<foreach item="status" collection="statuses" open="(" separator="," close=")">
|
|
#{status}
|
|
</foreach>
|
|
</select>
|
|
|
|
<update id="deletePackage">
|
|
UPDATE signals_user_packages
|
|
SET status = #{status}, deactivated_at = #{deactivatedAt}
|
|
WHERE membercode IS NOT NULL AND LEFT(membercode, 6) = #{userId} AND package_name = #{packageName} AND status =
|
|
#{previousStatus}
|
|
</update>
|
|
|
|
<update id="deletePackageById">
|
|
UPDATE signals_user_packages
|
|
SET status = #{status}, deactivated_at = #{deactivatedAt}
|
|
WHERE id =#{id}
|
|
</update>
|
|
|
|
<select id="insertPackage" resultType="java.lang.Long"
|
|
parameterType="ru.nbch.credit_tracker.entities.app.UserPackage">
|
|
INSERT INTO signals_user_packages (membercode, package_name, signal_types, created_at, status, external_package_name)
|
|
values (#{userPackage.userId}, #{userPackage.packageName}, #{userPackage.signalTypes}, #{userPackage.createdAt}, #{userPackage.status}, concat(substring(#{userPackage.userId}, 1, 6), '_', #{userPackage.packageName})) RETURNING id
|
|
</select>
|
|
|
|
<update id="updatePackageStatus">
|
|
UPDATE signals_user_packages
|
|
SET status = #{status}
|
|
WHERE id = #{packageId}
|
|
</update>
|
|
|
|
<update id="setFidChanged">
|
|
UPDATE signals_user_packages
|
|
SET fid_changed = 1,
|
|
status = 'PROCESSING_REPEATED'
|
|
WHERE id in
|
|
<foreach item="packageId" collection="packageIds" open="(" separator="," close=")">
|
|
#{packageId}
|
|
</foreach>
|
|
</update>
|
|
|
|
<update id="updatePackageLastDownloadedReport">
|
|
UPDATE signals_user_packages
|
|
SET last_downloaded_report = #{fileName}
|
|
WHERE id = #{id}
|
|
</update>
|
|
|
|
<update id="updatePackageOnMonitoringSuccess">
|
|
UPDATE signals_user_packages
|
|
SET
|
|
<if test="monitoringAt != null">
|
|
monitoring_at = #{monitoringAt},
|
|
</if>
|
|
status = 'ON_MONITORING',
|
|
fid_changed = null
|
|
WHERE id = #{id}
|
|
</update>
|
|
|
|
<update id="updateNoFidMonitoring">
|
|
UPDATE signals_user_packages
|
|
SET monitoring_at = created_at, status = 'NO_FID', fid_changed = null
|
|
WHERE id = #{id}
|
|
</update>
|
|
|
|
<update id="setRejectedStatus">
|
|
UPDATE signals_user_packages
|
|
SET reject_status = #{status}
|
|
WHERE id = #{id}
|
|
</update>
|
|
|
|
<select id="findPackage" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE id = #{id}
|
|
LIMIT 1
|
|
</select>
|
|
|
|
<select id="findByPackageName" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE package_name = #{packageName}
|
|
LIMIT 1
|
|
</select>
|
|
|
|
<select id="findForRepeatedPackages" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE fid_changed = 1 and status = 'PROCESSING_REPEATED'
|
|
</select>
|
|
|
|
<select id="findOnMonitoringPackages" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE status = 'ON_MONITORING' and reject_status is null
|
|
</select>
|
|
|
|
|
|
<select id="findUserPackages" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE membercode IS NOT NULL
|
|
AND LEFT(membercode, 6) = #{userId}
|
|
AND status IN
|
|
<foreach item="status" collection="statuses" open="(" separator="," close=")">
|
|
#{status}
|
|
</foreach>
|
|
</select>
|
|
|
|
<select id="findAllPackagesByUserId" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE membercode IS NOT NULL
|
|
AND LEFT(membercode, 6) = #{userId}
|
|
</select>
|
|
|
|
<select id="findAllPackagesByStatus" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE status in
|
|
<foreach collection="statuses" item="status" separator="," open="(" close=")">
|
|
#{status}
|
|
</foreach>
|
|
</select>
|
|
|
|
<select id="findOnMonitoringByMemberCode" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE status in ('ON_MONITORING', 'PROCESSING_REPEATED') and LEFT(membercode, 6) in
|
|
<foreach collection="membercodes" item="membercode" separator="," open="(" close=")">
|
|
#{membercode}
|
|
</foreach>
|
|
</select>
|
|
|
|
<select id="findByMemberCodeAndPackageName" resultMap="packageDataResultMap">
|
|
SELECT id,
|
|
membercode,
|
|
package_name,
|
|
created_at,
|
|
status,
|
|
deactivated_at,
|
|
last_downloaded_report,
|
|
monitoring_at,
|
|
reject_status,
|
|
signal_types
|
|
FROM signals_user_packages
|
|
WHERE LEFT(membercode, 6) = #{memberCode} AND package_name = #{packageName}
|
|
</select>
|
|
|
|
</mapper> |