后台会员管理
This commit is contained in:
parent
d0b2ccfa20
commit
3dd229f919
|
|
@ -26,7 +26,7 @@ class CustomerController extends Controller
|
||||||
protected string $defaultRoute = 'customers.index';
|
protected string $defaultRoute = 'customers.index';
|
||||||
public function index(Request $request)
|
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 = [
|
$data = [
|
||||||
'customers' => CustomerResource::collection($customers),
|
'customers' => CustomerResource::collection($customers),
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ class CustomerResource extends JsonResource
|
||||||
'status' => $this->status ? '启用' : '禁用',
|
'status' => $this->status ? '启用' : '禁用',
|
||||||
'avatar' => image_resize($this->avatar),
|
'avatar' => image_resize($this->avatar),
|
||||||
'from' => $this->from,
|
'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),
|
'edit' => admin_route('customers.edit', $this->id),
|
||||||
'delete' => admin_route('customers.destroy', $this->id),
|
'delete' => admin_route('customers.destroy', $this->id),
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -64,14 +64,7 @@ class CustomerRepo
|
||||||
*/
|
*/
|
||||||
public static function list($data)
|
public static function list($data)
|
||||||
{
|
{
|
||||||
$builder = Customer::query()
|
$builder = Customer::query()->with("customerGroup.description");
|
||||||
->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']);
|
|
||||||
|
|
||||||
|
|
||||||
if (isset($data['name'])) {
|
if (isset($data['name'])) {
|
||||||
$builder->where('customers.name', 'like', "%{$data['name']}%");
|
$builder->where('customers.name', 'like', "%{$data['name']}%");
|
||||||
|
|
@ -85,8 +78,8 @@ class CustomerRepo
|
||||||
if (isset($data['from'])) {
|
if (isset($data['from'])) {
|
||||||
$builder->where('customers.from', $data['from']);
|
$builder->where('customers.from', $data['from']);
|
||||||
}
|
}
|
||||||
if (isset($data['customer_group_name'])) {
|
if (isset($data['customer_group_id'])) {
|
||||||
$builder->where('cgd.name', 'like', "%{$data['name']}%");
|
$builder->where('customers.customer_group_id', $data['customer_group_id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $builder->paginate(20)->withQueryString();
|
return $builder->paginate(20)->withQueryString();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue