feat(Core): add optimize and complete code
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user