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.flag_debt5000,
|
||||
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
|
||||
where spr.package_id = #{packageId}
|
||||
and sup.fid is not null
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
subject_id,
|
||||
phone,
|
||||
error_text
|
||||
FROM signals_packages_records
|
||||
FROM signals_phone_fid_map
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
phone bigint
|
||||
))
|
||||
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
|
||||
where spr.phone_l in (select * from src) and sup.status = 'ON_MONITORING'
|
||||
</select>
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
package_id bigint
|
||||
))
|
||||
INSERT
|
||||
INTO signals_packages_records
|
||||
INTO signals_phone_fid_map
|
||||
(subject_id, phone, phone_l, package_id)
|
||||
SELECT subject_id,
|
||||
phone,
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
</select>
|
||||
|
||||
<update id="setErrorJson" parameterType="string">
|
||||
update signals_packages_records dst
|
||||
update signals_phone_fid_map dst
|
||||
set error_text = src.error_text
|
||||
FROM json_to_recordset(#{json}::json) AS src(
|
||||
id bigint,
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
|
||||
<delete id="deleteByPackageId" parameterType="long">
|
||||
DELETE
|
||||
FROM signals_packages_records
|
||||
FROM signals_phone_fid_map
|
||||
WHERE package_id = #{packageId}
|
||||
</delete>
|
||||
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
subject_id,
|
||||
phone,
|
||||
error_text
|
||||
FROM signals_packages_records
|
||||
FROM signals_phone_fid_map
|
||||
WHERE package_id = #{packageId}
|
||||
ORDER BY id
|
||||
LIMIT #{limit} OFFSET #{offset}
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@
|
|||
DELETE
|
||||
FROM signals_phones_map spm
|
||||
WHERE NOT EXISTS (SELECT 1
|
||||
FROM signals_packages_records spr
|
||||
FROM signals_phone_fid_map spr
|
||||
JOIN signals_user_packages sup
|
||||
ON sup.id = spr.package_id
|
||||
WHERE spr.phone_l = spm.phone
|
||||
|
|
|
|||
|
|
@ -1,43 +1,94 @@
|
|||
-- Create signals_user_packages
|
||||
-- Хранит основную информацию о каждом пакете мониторинга, установленном клиентом
|
||||
CREATE TABLE signals_user_packages (
|
||||
id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице
|
||||
membercode VARCHAR(255), -- логин клиента
|
||||
package_name VARCHAR(255), -- имя пакета
|
||||
created_at TIMESTAMP, -- дата и время первичной регистрации пакета
|
||||
status VARCHAR(255), -- статус пакета: ON_MONITORING, REJECTED, PROCESSING, DELETED, ERROR
|
||||
deactivated_at TIMESTAMP, -- дата и время удаления пакета
|
||||
last_downloaded_report VARCHAR(255) -- имя последнего успешно загруженного отчёта из оф. сервиса по пакету
|
||||
create table signals_user_packages
|
||||
(
|
||||
id bigserial
|
||||
primary key,
|
||||
membercode varchar(255),
|
||||
package_name varchar(255),
|
||||
created_at timestamp,
|
||||
status varchar(255),
|
||||
deactivated_at timestamp,
|
||||
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
|
||||
CREATE TABLE signals_phone_fid_map (
|
||||
id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице
|
||||
package_id INTEGER NOT NULL, -- идентификатор пакета
|
||||
subject_id VARCHAR(255), -- идентификатор субъекта из XML
|
||||
phone VARCHAR(255), -- номер телефона
|
||||
fid VARCHAR(255), -- найденный FID или NULL
|
||||
flag_debt5000 SMALLINT, -- 1, если есть активная просрочка > 5000 руб., иначе 0
|
||||
flag_90_12 SMALLINT, -- 1, если по субъекту когда-либо была просрочка 90+ дней за последний год, иначе – 0
|
||||
calculated_at TIMESTAMP, -- дата последнего расчёта флагов
|
||||
error_text TEXT,
|
||||
CONSTRAINT fk_signals_user_packages
|
||||
FOREIGN KEY (package_id)
|
||||
REFERENCES signals_user_packages(id)
|
||||
alter table signals_user_packages
|
||||
owner to credit_tracker_user;
|
||||
|
||||
create table signals_hits
|
||||
(
|
||||
id bigserial
|
||||
primary key,
|
||||
package_id bigint not null
|
||||
constraint fk_signals_user_packages
|
||||
references signals_user_packages,
|
||||
subject_id varchar(255),
|
||||
signal_type integer,
|
||||
response_sent_at timestamp,
|
||||
report_file_name varchar(255),
|
||||
phone bigint
|
||||
);
|
||||
|
||||
-- Create signals_hits
|
||||
CREATE TABLE signals_hits (
|
||||
id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице
|
||||
package_id INTEGER NOT NULL, -- идентификатор пакета
|
||||
subject_id VARCHAR(255), -- идентификатор субъекта, по которому сработал сигнал
|
||||
signal_type INTEGER, -- тип сигнала
|
||||
response_sent_at TIMESTAMP, -- дата и время формирования отчета с данным сигналом
|
||||
report_file_name VARCHAR(255), -- имя XML-файла отчёта, в который вошел данный сигнал
|
||||
CONSTRAINT fk_signals_user_packages
|
||||
FOREIGN KEY (package_id)
|
||||
REFERENCES signals_user_packages(id)
|
||||
alter table signals_hits
|
||||
owner to credit_tracker_user;
|
||||
|
||||
create index idx_signals_hits_response_sent_at
|
||||
on signals_hits (response_sent_at);
|
||||
|
||||
create table signals_phone_fid_map
|
||||
(
|
||||
id bigserial
|
||||
primary key,
|
||||
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
|
||||
CREATE INDEX idx_signals_hits_response_sent_at ON signals_hits(response_sent_at);
|
||||
alter table signals_phone_fid_map
|
||||
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
|
||||
add LAST_SEARCHED_AT timestamp;
|
||||
alter table signals_user_packages
|
||||
|
|
@ -13,13 +8,17 @@ alter table signals_user_packages
|
|||
add EXTERNAL_PACKAGE_NAME varchar(255);
|
||||
alter table signals_user_packages
|
||||
add FID_CHANGED smallint;
|
||||
alter table signals_packages_records
|
||||
add phone_l bigint;
|
||||
|
||||
|
||||
alter table signals_hits
|
||||
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
|
||||
(
|
||||
|
|
@ -41,13 +40,4 @@ CREATE TABLE signals_phones_map
|
|||
ALTER TABLE signals_phones_map
|
||||
ADD CONSTRAINT signals_phones_map_phone_key UNIQUE (PHONE);
|
||||
|
||||
|
||||
|
||||
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
|
||||
update signals_phone_fid_map set phone_l = phone::BIGINT where phone is not null;
|
||||
Loading…
Add table
Reference in a new issue