File manager - Edit - /home/webapp69.cm.in.th/u69319090039/Shop39/public/app/Models/SellerProfile.php
Back
<?php class SellerProfile extends Model { protected string $table = 'seller_profiles'; public function findByUserId(int $userId): ?array { return $this->findOneWhere(['user_id' => $userId]); } /** * Suspend a seller store */ public function suspend(int $id, string $reason): bool { $stmt = $this->db->prepare("UPDATE {$this->table} SET status = 'suspended', suspended_reason = :reason, suspended_at = NOW() WHERE id = :id"); return $stmt->execute(['id' => $id, 'reason' => $reason]); } /** * Unsuspend (restore to approved) */ public function unsuspend(int $id): bool { $stmt = $this->db->prepare("UPDATE {$this->table} SET status = 'approved', suspended_reason = NULL, suspended_at = NULL WHERE id = :id"); return $stmt->execute(['id' => $id]); } /** * Ban a seller store */ public function ban(int $id): bool { $stmt = $this->db->prepare("UPDATE {$this->table} SET status = 'banned' WHERE id = :id"); return $stmt->execute(['id' => $id]); } /** * Unban (restore to approved) */ public function unban(int $id): bool { $stmt = $this->db->prepare("UPDATE {$this->table} SET status = 'approved', suspended_reason = NULL, suspended_at = NULL WHERE id = :id"); return $stmt->execute(['id' => $id]); } /** * Soft delete a seller store */ public function softDelete(int $id): bool { $stmt = $this->db->prepare("UPDATE {$this->table} SET deleted_at = NOW() WHERE id = :id"); return $stmt->execute(['id' => $id]); } /** * Restore a soft-deleted seller store */ public function restore(int $id): bool { $stmt = $this->db->prepare("UPDATE {$this->table} SET deleted_at = NULL, status = 'approved' WHERE id = :id"); return $stmt->execute(['id' => $id]); } /** * Check if a seller has any orders */ public function hasOrders(int $id): bool { $stmt = $this->db->prepare("SELECT COUNT(*) FROM orders WHERE seller_id = :id"); $stmt->execute(['id' => $id]); return (int)$stmt->fetchColumn() > 0; } /** * Get average review rating for a seller (across all their products) */ public function getAvgRating(int $sellerId): float { $stmt = $this->db->prepare(" SELECT COALESCE(AVG(r.rating), 0) FROM reviews r JOIN products p ON r.product_id = p.id WHERE p.seller_id = :sid "); $stmt->execute(['sid' => $sellerId]); return (float)$stmt->fetchColumn(); } /** * Get total review count for a seller */ public function getReviewCount(int $sellerId): int { $stmt = $this->db->prepare(" SELECT COUNT(*) FROM reviews r JOIN products p ON r.product_id = p.id WHERE p.seller_id = :sid "); $stmt->execute(['sid' => $sellerId]); return (int)$stmt->fetchColumn(); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.22 |
proxy
|
phpinfo
|
Settings