后台会员管理

This commit is contained in:
TL 2022-07-01 16:01:24 +08:00
parent d0b2ccfa20
commit 3dd229f919
3 changed files with 5 additions and 12 deletions

View File

@ -26,7 +26,7 @@ class CustomerController extends Controller
protected string $defaultRoute = 'customers.index';
public function index(Request $request)
{
$customers = CustomerRepo::list($request->only(['name', 'email', 'status', 'from', 'customer_group_name']));
$customers = CustomerRepo::list($request->only(['name', 'email', 'status', 'from', 'customer_group_id']));
$data = [
'customers' => CustomerResource::collection($customers),

View File

@ -21,7 +21,7 @@ class CustomerResource extends JsonResource
'status' => $this->status ? '启用' : '禁用',
'avatar' => image_resize($this->avatar),
'from' => $this->from,
'customer_group_name' => $this->customer_group_name ?? $this->customerGroup->description->name,
'customer_group_name' => $this->customerGroup->description->name,
'edit' => admin_route('customers.edit', $this->id),
'delete' => admin_route('customers.destroy', $this->id),
];

View File

@ -64,14 +64,7 @@ class CustomerRepo
*/
public static function list($data)
{
$builder = Customer::query()
->leftJoin('customer_groups AS cg', 'customers.customer_group_id', 'cg.id')
->leftJoin('customer_group_descriptions AS cgd', function ($join) {
$join->on('cgd.customer_group_id', 'cg.id')
->where('cgd.locale', locale());
})
->select(['customers.id', 'customers.email', 'customers.name', 'customers.avatar', 'customers.status', 'customers.from', 'cgd.name AS customer_group_name']);
$builder = Customer::query()->with("customerGroup.description");
if (isset($data['name'])) {
$builder->where('customers.name', 'like', "%{$data['name']}%");
@ -85,8 +78,8 @@ class CustomerRepo
if (isset($data['from'])) {
$builder->where('customers.from', $data['from']);
}
if (isset($data['customer_group_name'])) {
$builder->where('cgd.name', 'like', "%{$data['name']}%");
if (isset($data['customer_group_id'])) {
$builder->where('customers.customer_group_id', $data['customer_group_id']);
}
return $builder->paginate(20)->withQueryString();