| xqd
@@ -119,9 +119,40 @@ class OrderController extends AuthController
|
|
|
{
|
|
|
$req = request()->post();
|
|
|
$this->validate(request(), [
|
|
|
- 'product_type' => 'require|integer',
|
|
|
- 'order_status' => 'require|integer',
|
|
|
- ''
|
|
|
+ 'list_type' => 'required|in:1,2,3',
|
|
|
+ 'product_type' => 'integer',
|
|
|
+ 'order_status' => 'integer',
|
|
|
+ 'time_sort' => 'in:0,1'
|
|
|
]);
|
|
|
+ $user = $this->user;
|
|
|
+
|
|
|
+ $builder = Order::with(['docter' => ['office', 'qualification'], 'orderPatient', 'orderPack', 'orderNurse', 'orderVaccine'])->where('user_id', $user['id']);
|
|
|
+ if (!empty($req['product_type'])) {
|
|
|
+ $builder->where('product_type', $req['product_type']);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if ($req['list_type'] == 1) {
|
|
|
+ $builder->whereIn('product_type', [1,2]);
|
|
|
+ }
|
|
|
+ elseif ($req['list_type'] == 2) {
|
|
|
+ $builder->whereIn('product_type', [3,4,5]);
|
|
|
+ }
|
|
|
+ elseif ($req['list_type'] == 3) {
|
|
|
+ $builder->where('product_type', 6);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!empty($req['order_status'])) {
|
|
|
+ $builder->where('order_status', $req['order_status']);
|
|
|
+ }
|
|
|
+ if (!empty($req['time_sort'])) {
|
|
|
+ $builder->orderBy('id', 'desc');
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $builder->orderBy('id', 'asc');
|
|
|
+ }
|
|
|
+
|
|
|
+ $data = $builder->paginate();
|
|
|
+
|
|
|
+ return out($data);
|
|
|
}
|
|
|
}
|