This commit is contained in:
parent
abfb805e4f
commit
e6b3bdfb16
5 changed files with 104 additions and 63 deletions
|
|
@ -34,7 +34,7 @@
|
||||||
sup.id_type,
|
sup.id_type,
|
||||||
sup.flag_debt5000,
|
sup.flag_debt5000,
|
||||||
sup.flag_90_12
|
sup.flag_90_12
|
||||||
from signals_packages_records spr
|
from signals_phone_fid_map spr
|
||||||
join signals_phones_map sup on cast(spr.phone as bigint) = sup.phone
|
join signals_phones_map sup on cast(spr.phone as bigint) = sup.phone
|
||||||
where spr.package_id = #{packageId}
|
where spr.package_id = #{packageId}
|
||||||
and sup.fid is not null
|
and sup.fid is not null
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
subject_id,
|
subject_id,
|
||||||
phone,
|
phone,
|
||||||
error_text
|
error_text
|
||||||
FROM signals_packages_records
|
FROM signals_phone_fid_map
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
phone bigint
|
phone bigint
|
||||||
))
|
))
|
||||||
select distinct (package_id)
|
select distinct (package_id)
|
||||||
from signals_packages_records spr
|
FROM signals_phone_fid_map spr
|
||||||
join signals_user_packages sup on sup.id = spr.package_id
|
join signals_user_packages sup on sup.id = spr.package_id
|
||||||
where spr.phone_l in (select * from src) and sup.status = 'ON_MONITORING'
|
where spr.phone_l in (select * from src) and sup.status = 'ON_MONITORING'
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
package_id bigint
|
package_id bigint
|
||||||
))
|
))
|
||||||
INSERT
|
INSERT
|
||||||
INTO signals_packages_records
|
INTO signals_phone_fid_map
|
||||||
(subject_id, phone, phone_l, package_id)
|
(subject_id, phone, phone_l, package_id)
|
||||||
SELECT subject_id,
|
SELECT subject_id,
|
||||||
phone,
|
phone,
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="setErrorJson" parameterType="string">
|
<update id="setErrorJson" parameterType="string">
|
||||||
update signals_packages_records dst
|
update signals_phone_fid_map dst
|
||||||
set error_text = src.error_text
|
set error_text = src.error_text
|
||||||
FROM json_to_recordset(#{json}::json) AS src(
|
FROM json_to_recordset(#{json}::json) AS src(
|
||||||
id bigint,
|
id bigint,
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
|
|
||||||
<delete id="deleteByPackageId" parameterType="long">
|
<delete id="deleteByPackageId" parameterType="long">
|
||||||
DELETE
|
DELETE
|
||||||
FROM signals_packages_records
|
FROM signals_phone_fid_map
|
||||||
WHERE package_id = #{packageId}
|
WHERE package_id = #{packageId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
|
@ -78,7 +78,7 @@
|
||||||
subject_id,
|
subject_id,
|
||||||
phone,
|
phone,
|
||||||
error_text
|
error_text
|
||||||
FROM signals_packages_records
|
FROM signals_phone_fid_map
|
||||||
WHERE package_id = #{packageId}
|
WHERE package_id = #{packageId}
|
||||||
ORDER BY id
|
ORDER BY id
|
||||||
LIMIT #{limit} OFFSET #{offset}
|
LIMIT #{limit} OFFSET #{offset}
|
||||||
|
|
|
||||||
|
|
@ -213,7 +213,7 @@
|
||||||
DELETE
|
DELETE
|
||||||
FROM signals_phones_map spm
|
FROM signals_phones_map spm
|
||||||
WHERE NOT EXISTS (SELECT 1
|
WHERE NOT EXISTS (SELECT 1
|
||||||
FROM signals_packages_records spr
|
FROM signals_phone_fid_map spr
|
||||||
JOIN signals_user_packages sup
|
JOIN signals_user_packages sup
|
||||||
ON sup.id = spr.package_id
|
ON sup.id = spr.package_id
|
||||||
WHERE spr.phone_l = spm.phone
|
WHERE spr.phone_l = spm.phone
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,94 @@
|
||||||
-- Create signals_user_packages
|
create table signals_user_packages
|
||||||
-- Хранит основную информацию о каждом пакете мониторинга, установленном клиентом
|
(
|
||||||
CREATE TABLE signals_user_packages (
|
id bigserial
|
||||||
id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице
|
primary key,
|
||||||
membercode VARCHAR(255), -- логин клиента
|
membercode varchar(255),
|
||||||
package_name VARCHAR(255), -- имя пакета
|
package_name varchar(255),
|
||||||
created_at TIMESTAMP, -- дата и время первичной регистрации пакета
|
created_at timestamp,
|
||||||
status VARCHAR(255), -- статус пакета: ON_MONITORING, REJECTED, PROCESSING, DELETED, ERROR
|
status varchar(255),
|
||||||
deactivated_at TIMESTAMP, -- дата и время удаления пакета
|
deactivated_at timestamp,
|
||||||
last_downloaded_report VARCHAR(255) -- имя последнего успешно загруженного отчёта из оф. сервиса по пакету
|
last_downloaded_report varchar(255),
|
||||||
|
monitoring_at timestamp,
|
||||||
|
last_searched_at timestamp,
|
||||||
|
signal_types varchar(255),
|
||||||
|
reject_status varchar(255),
|
||||||
|
external_package_name varchar(255),
|
||||||
|
fid_changed smallint
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Create signals_phone_fid_map
|
alter table signals_user_packages
|
||||||
CREATE TABLE signals_phone_fid_map (
|
owner to credit_tracker_user;
|
||||||
id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице
|
|
||||||
package_id INTEGER NOT NULL, -- идентификатор пакета
|
create table signals_hits
|
||||||
subject_id VARCHAR(255), -- идентификатор субъекта из XML
|
(
|
||||||
phone VARCHAR(255), -- номер телефона
|
id bigserial
|
||||||
fid VARCHAR(255), -- найденный FID или NULL
|
primary key,
|
||||||
flag_debt5000 SMALLINT, -- 1, если есть активная просрочка > 5000 руб., иначе 0
|
package_id bigint not null
|
||||||
flag_90_12 SMALLINT, -- 1, если по субъекту когда-либо была просрочка 90+ дней за последний год, иначе – 0
|
constraint fk_signals_user_packages
|
||||||
calculated_at TIMESTAMP, -- дата последнего расчёта флагов
|
references signals_user_packages,
|
||||||
error_text TEXT,
|
subject_id varchar(255),
|
||||||
CONSTRAINT fk_signals_user_packages
|
signal_type integer,
|
||||||
FOREIGN KEY (package_id)
|
response_sent_at timestamp,
|
||||||
REFERENCES signals_user_packages(id)
|
report_file_name varchar(255),
|
||||||
|
phone bigint
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Create signals_hits
|
alter table signals_hits
|
||||||
CREATE TABLE signals_hits (
|
owner to credit_tracker_user;
|
||||||
id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице
|
|
||||||
package_id INTEGER NOT NULL, -- идентификатор пакета
|
create index idx_signals_hits_response_sent_at
|
||||||
subject_id VARCHAR(255), -- идентификатор субъекта, по которому сработал сигнал
|
on signals_hits (response_sent_at);
|
||||||
signal_type INTEGER, -- тип сигнала
|
|
||||||
response_sent_at TIMESTAMP, -- дата и время формирования отчета с данным сигналом
|
create table signals_phone_fid_map
|
||||||
report_file_name VARCHAR(255), -- имя XML-файла отчёта, в который вошел данный сигнал
|
(
|
||||||
CONSTRAINT fk_signals_user_packages
|
id bigserial
|
||||||
FOREIGN KEY (package_id)
|
primary key,
|
||||||
REFERENCES signals_user_packages(id)
|
package_id bigint not null
|
||||||
|
constraint fk_signals_user_packages
|
||||||
|
references signals_user_packages,
|
||||||
|
subject_id varchar(255),
|
||||||
|
phone varchar(255),
|
||||||
|
fid varchar(255),
|
||||||
|
flag_debt5000 smallint,
|
||||||
|
flag_90_12 smallint,
|
||||||
|
calculated_at timestamp,
|
||||||
|
error_text text,
|
||||||
|
phone_l bigint
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Create index on response_sent_at
|
alter table signals_phone_fid_map
|
||||||
CREATE INDEX idx_signals_hits_response_sent_at ON signals_hits(response_sent_at);
|
owner to credit_tracker_user;
|
||||||
|
|
||||||
|
create index idx_signals_phone_fid_map_calculated_at
|
||||||
|
on signals_phone_fid_map (calculated_at);
|
||||||
|
|
||||||
|
create table app_version
|
||||||
|
(
|
||||||
|
db_version varchar(12)
|
||||||
|
);
|
||||||
|
|
||||||
|
alter table app_version
|
||||||
|
owner to credit_tracker_user;
|
||||||
|
|
||||||
|
create table signals_phones_map
|
||||||
|
(
|
||||||
|
id bigserial
|
||||||
|
primary key,
|
||||||
|
fid integer,
|
||||||
|
phone bigint
|
||||||
|
unique,
|
||||||
|
name_1 varchar(255),
|
||||||
|
first varchar(255),
|
||||||
|
middle varchar(255),
|
||||||
|
birth_dt timestamp,
|
||||||
|
ser_num varchar(255),
|
||||||
|
id_type varchar(255),
|
||||||
|
flag_debt5000 smallint,
|
||||||
|
flag_90_12 smallint,
|
||||||
|
searched_at timestamp,
|
||||||
|
calculated_at timestamp
|
||||||
|
);
|
||||||
|
|
||||||
|
alter table signals_phones_map
|
||||||
|
owner to credit_tracker_user;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,3 @@
|
||||||
CREATE TABLE app_version
|
|
||||||
(
|
|
||||||
DB_VERSION varchar(12)
|
|
||||||
);
|
|
||||||
|
|
||||||
alter table signals_user_packages
|
alter table signals_user_packages
|
||||||
add LAST_SEARCHED_AT timestamp;
|
add LAST_SEARCHED_AT timestamp;
|
||||||
alter table signals_user_packages
|
alter table signals_user_packages
|
||||||
|
|
@ -13,13 +8,17 @@ alter table signals_user_packages
|
||||||
add EXTERNAL_PACKAGE_NAME varchar(255);
|
add EXTERNAL_PACKAGE_NAME varchar(255);
|
||||||
alter table signals_user_packages
|
alter table signals_user_packages
|
||||||
add FID_CHANGED smallint;
|
add FID_CHANGED smallint;
|
||||||
alter table signals_packages_records
|
|
||||||
add phone_l bigint;
|
|
||||||
|
|
||||||
|
|
||||||
alter table signals_hits
|
alter table signals_hits
|
||||||
add PHONE bigint;
|
add PHONE bigint;
|
||||||
|
|
||||||
|
alter table signals_phone_fid_map
|
||||||
|
add phone_l bigint;
|
||||||
|
|
||||||
|
CREATE TABLE app_version
|
||||||
|
(
|
||||||
|
DB_VERSION varchar(12)
|
||||||
|
);
|
||||||
|
|
||||||
CREATE TABLE signals_phones_map
|
CREATE TABLE signals_phones_map
|
||||||
(
|
(
|
||||||
|
|
@ -41,13 +40,4 @@ CREATE TABLE signals_phones_map
|
||||||
ALTER TABLE signals_phones_map
|
ALTER TABLE signals_phones_map
|
||||||
ADD CONSTRAINT signals_phones_map_phone_key UNIQUE (PHONE);
|
ADD CONSTRAINT signals_phones_map_phone_key UNIQUE (PHONE);
|
||||||
|
|
||||||
|
update signals_phone_fid_map set phone_l = phone::BIGINT where phone is not null;
|
||||||
|
|
||||||
alter table signals_phone_fid_map rename to signals_packages_records;
|
|
||||||
alter table signals_packages_records drop column fid;
|
|
||||||
alter table signals_packages_records drop column flag_debt5000;
|
|
||||||
alter table signals_packages_records drop column flag_90_12;
|
|
||||||
alter table signals_packages_records drop column calculated_at;
|
|
||||||
alter table signals_packages_records drop column rec_uuid;
|
|
||||||
alter table signals_packages_records drop column searched_at;
|
|
||||||
-- todo alter indexes and other constrains
|
|
||||||
Loading…
Add table
Reference in a new issue