feat(Core): add optimize and complete code

This commit is contained in:
2026-05-17 20:05:15 +03:30
parent aa944bf339
commit 4e60b7efdd
25 changed files with 858 additions and 54 deletions

View File

@@ -73,14 +73,12 @@ class BannerRepository {
public function incrementImpression($id) {
global $wpdb;
$wpdb->query($wpdb->prepare("UPDATE {$this->table_name} SET impressions = impressions + 1 WHERE id = %d", $id));
$this->clearCache();
return $wpdb->query($wpdb->prepare("UPDATE {$this->table_name} SET impressions = impressions + 1 WHERE id = %d", $id));
}
public function incrementClick($id) {
global $wpdb;
$wpdb->query($wpdb->prepare("UPDATE {$this->table_name} SET clicks = clicks + 1 WHERE id = %d", $id));
$this->clearCache();
return $wpdb->query($wpdb->prepare("UPDATE {$this->table_name} SET clicks = clicks + 1 WHERE id = %d", $id));
}
public function clearCache() {

View File

@@ -23,7 +23,7 @@ class EventRepository {
$where = $this->buildWhereClauses($filters, $params);
$sql = "SELECT * FROM {$this->table_name} WHERE " . implode(' AND ', $where) . " ORDER BY created_at ASC";
return $wpdb->get_results($wpdb->prepare($sql, $params), ARRAY_A);
return $wpdb->get_results($this->prepareSql($sql, $params), ARRAY_A);
}
public function getCount(array $filters = []) {
@@ -32,7 +32,7 @@ class EventRepository {
$where = $this->buildWhereClauses($filters, $params);
$sql = "SELECT COUNT(*) FROM {$this->table_name} WHERE " . implode(' AND ', $where);
return (int) $wpdb->get_var($wpdb->prepare($sql, $params));
return (int) $wpdb->get_var($this->prepareSql($sql, $params));
}
public function getSum($field, array $filters = []) {
@@ -45,7 +45,7 @@ class EventRepository {
$where = $this->buildWhereClauses($filters, $params);
$sql = "SELECT SUM({$field}) FROM {$this->table_name} WHERE " . implode(' AND ', $where);
return floatval($wpdb->get_var($wpdb->prepare($sql, $params)));
return floatval($wpdb->get_var($this->prepareSql($sql, $params)));
}
public function getRuleUsageCount($rule_id) {
@@ -95,4 +95,14 @@ class EventRepository {
return $where;
}
private function prepareSql($sql, array $params) {
global $wpdb;
if (empty($params)) {
return $sql;
}
return $wpdb->prepare($sql, $params);
}
}

View File

@@ -126,12 +126,18 @@ class RuleRepository {
*/
public function incrementUsage($id) {
global $wpdb;
return $wpdb->query(
$result = $wpdb->query(
$wpdb->prepare(
"UPDATE {$this->table_name} SET usage_count = usage_count + 1 WHERE id = %d",
$id
)
);
if ($result !== false) {
$this->clearCache();
}
return $result;
}
/**