v0.0.6
+ Запросы объеденины в соответствующие модули + Оптимизация кода
This commit is contained in:
parent
ab4b8c6bad
commit
2ba510adac
23 changed files with 462 additions and 530 deletions
295
source/data.d
295
source/data.d
|
@ -1,295 +0,0 @@
|
|||
module data;
|
||||
|
||||
import pgdb;
|
||||
import singlog;
|
||||
import structures;
|
||||
|
||||
import std.conv;
|
||||
|
||||
GroupDB[] sqlGetListGroups() {
|
||||
GroupDB[] groups;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select distinct
|
||||
dan.da_group,
|
||||
dag.da_comment
|
||||
from da_numbers dan
|
||||
left join da_groups dag ON dag.da_name = dan.da_group"
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
GroupDB data;
|
||||
|
||||
data.name = row["da_group"];
|
||||
data.comment = row["da_comment"];
|
||||
|
||||
groups ~= data;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return groups;
|
||||
}
|
||||
|
||||
NumberDB[] sqlGetListNumbers(string group) {
|
||||
NumberDB[] numbers;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select
|
||||
dan.da_number,
|
||||
dal.da_comment da_list,
|
||||
dan.da_all_cc,
|
||||
dan.da_white_cc,
|
||||
dan.da_black_cc,
|
||||
dan.da_comment
|
||||
from da_numbers dan
|
||||
left join da_lists dal on dal.da_name = dan.da_list
|
||||
where dan.da_group = ?
|
||||
order by dan.da_number",
|
||||
group
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
NumberDB data;
|
||||
|
||||
data.number = row["da_number"];
|
||||
data.list = row["da_list"];
|
||||
data.all_cc = row["da_all_cc"].to!int;
|
||||
data.white_cc = row["da_white_cc"].to!int;
|
||||
data.black_cc = row["da_black_cc"].to!int;
|
||||
data.comment = row["da_comment"];
|
||||
|
||||
numbers ~= data;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return numbers;
|
||||
}
|
||||
|
||||
NumberDB sqlGetDataNumber(string number) {
|
||||
NumberDB data;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select
|
||||
da_number,
|
||||
da_group,
|
||||
da_list,
|
||||
da_all_cc,
|
||||
da_white_cc,
|
||||
da_black_cc,
|
||||
da_comment
|
||||
from da_numbers
|
||||
where da_number = ?",
|
||||
number
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
data.number = row["da_number"];
|
||||
data.group = row["da_group"];
|
||||
data.list = row["da_list"];
|
||||
data.all_cc = row["da_all_cc"].to!int;
|
||||
data.white_cc = row["da_white_cc"].to!int;
|
||||
data.black_cc = row["da_black_cc"].to!int;
|
||||
data.comment = row["da_comment"];
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
GroupDB[] sqlGetGroups() {
|
||||
GroupDB[] groups;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select da_name, da_comment from da_groups"
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
GroupDB data;
|
||||
|
||||
data.name = row["da_name"];
|
||||
data.comment = row["da_comment"];
|
||||
|
||||
groups ~= data;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return groups;
|
||||
}
|
||||
|
||||
ListDB[] sqlGetLists() {
|
||||
ListDB[] lists;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select da_name, da_comment from da_lists"
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
ListDB data;
|
||||
|
||||
data.name = row["da_name"];
|
||||
data.comment = row["da_comment"];
|
||||
|
||||
lists ~= data;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return lists;
|
||||
}
|
||||
|
||||
bool sqlUpdateNumber(NumberDB number) {
|
||||
try {
|
||||
pgsql.sql(
|
||||
"update da_numbers set
|
||||
da_group = ?,
|
||||
da_list = ?,
|
||||
da_all_cc = ?,
|
||||
da_white_cc = ?,
|
||||
da_black_cc = ?,
|
||||
da_comment = ?
|
||||
where da_number = ?",
|
||||
number.group,
|
||||
number.list,
|
||||
number.all_cc,
|
||||
number.white_cc,
|
||||
number.black_cc,
|
||||
number.comment,
|
||||
number.number
|
||||
);
|
||||
} catch (Exception e) {
|
||||
log.e("Ошибка обновления номера в БД. " ~ e.msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool sqlDeleteNumber(string number) {
|
||||
try {
|
||||
pgsql.sql(
|
||||
"delete from da_numbers where da_number = ?", number
|
||||
);
|
||||
} catch (Exception e) {
|
||||
log.e("Ошибка удаления номера в БД. " ~ e.msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool sqlInsertNumber(NumberDB number) {
|
||||
try {
|
||||
pgsql.sql(
|
||||
"insert into da_numbers
|
||||
(da_number, da_group, da_list, da_all_cc, da_white_cc, da_black_cc, da_comment)
|
||||
values
|
||||
(?, ?, ?, ?, ?, ?, ?)",
|
||||
number.number,
|
||||
number.group,
|
||||
number.list,
|
||||
number.all_cc,
|
||||
number.white_cc,
|
||||
number.black_cc,
|
||||
number.comment
|
||||
);
|
||||
} catch (Exception e) {
|
||||
log.error("Ошибка добавления номера телефона в БД. " ~ e.msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
SMSDB[] sqlGetSMSNumbers() {
|
||||
SMSDB[] numbers;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select distinct da_to from da_sms"
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
SMSDB data;
|
||||
|
||||
data.to = row["da_to"];
|
||||
|
||||
numbers ~= data;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return numbers;
|
||||
}
|
||||
|
||||
SMSDB[] sqlGetListSMS(string to) {
|
||||
SMSDB[] sms;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select
|
||||
da_id,
|
||||
to_char(da_date, 'YYYY.MM.DD HH24:MI:SS') da_date,
|
||||
da_to,
|
||||
da_from,
|
||||
da_text
|
||||
from da_sms
|
||||
where da_to = ?
|
||||
order by da_date desc",
|
||||
to
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
SMSDB data;
|
||||
|
||||
data.id = row["da_id"].to!int;
|
||||
data.date = row["da_date"];
|
||||
data.to = row["da_to"];
|
||||
data.from = row["da_from"];
|
||||
data.text = row["da_text"];
|
||||
|
||||
sms ~= data;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return sms;
|
||||
}
|
||||
|
||||
SMSDB sqlGetSMS(int idsms) {
|
||||
SMSDB data;
|
||||
try {
|
||||
auto queryResult = pgsql.sql(
|
||||
"select
|
||||
da_id,
|
||||
to_char(da_date, 'YYYY.MM.DD HH24:MI:SS') da_date,
|
||||
da_to,
|
||||
da_from,
|
||||
da_text
|
||||
from da_sms
|
||||
where da_id = ?",
|
||||
idsms
|
||||
);
|
||||
foreach (row; queryResult) {
|
||||
data.id = row["da_id"].to!int;
|
||||
data.date = row["da_date"];
|
||||
data.to = row["da_to"];
|
||||
data.from = row["da_from"];
|
||||
data.text = row["da_text"];
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.e("Не удалось выполнить запрос к БД. " ~ e.msg);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
bool sqlDeleteSMS(int idsms) {
|
||||
try {
|
||||
pgsql.sql(
|
||||
"delete from da_sms where da_id = ?", idsms
|
||||
);
|
||||
} catch (Exception e) {
|
||||
log.e("Ошибка удаления SMS в БД. " ~ e.msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue