5 Комити a008873df1 ... df1e8d8be9

Аутор SHA1 Порука Датум
  laowang df1e8d8be9 厂测接口 пре 4 година
  laowang 56b28d1b22 运维端修改 пре 4 година
  laowang 5a3e7a7a96 登录增加条件 пре 4 година
  laowang 258827a645 添加条件 пре 4 година
  laowang 403d037ad9 1 пре 4 година

+ 10 - 1
app/Http/Controllers/Admin/Auth/LoginController.php

@@ -3,7 +3,10 @@
 namespace App\Http\Controllers\Admin\Auth;
 
 use App\Http\Controllers\Admin\AdminBaseController;
+use App\Models\AdminMerchant;
+use App\Models\AdminRole;
 use App\Models\AdminUser;
+use App\Utils\Admin;
 use Illuminate\Foundation\Auth\AuthenticatesUsers;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
@@ -16,9 +19,15 @@ class LoginController extends AdminBaseController
     {
         return 'account';
     }
-
     protected function sendLoginResponse(Request $request)
     {
+        if(!Admin::user()->isRole(AdminRole::ADMINISTROTOR)){
+            $merchant_id = AdminMerchant::putMerchantId();
+            $is_status = AdminMerchant::query()->where(['id' => $merchant_id,'status'=>AdminMerchant::NORMAL])->first();
+            if(!$is_status){
+                return response()->json(['message' => '账户已失效,请联系管理员'], 400);
+            }
+        }
         return $this->created([
             'token' => $this->guard()->getToken()->get(),
             'token_type' => 'bearer',

+ 36 - 26
app/Http/Controllers/Admin/IndexOpenController.php

@@ -11,6 +11,7 @@ use App\Filters\WalletLogFilter;
 use App\Filters\WorkOrderFilter;
 use App\Handlers\BikeStatusInfoSyncHandler;
 use App\Http\Resources\AreaResource;
+use App\Models\AdminMerchant;
 use App\Models\AdminUser;
 use App\Models\AdminUserArea;
 use App\Models\Area;
@@ -63,7 +64,7 @@ class IndexOpenController extends Controller
         $data['total_order'] = $this->totalOrder($area_id);
 
         $data['total_profit'] = $this->totalProfit($area_id);
-        $bike = Bike::query()->whereIn('put_area_id', $this->areaIds);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->whereIn('put_area_id', $this->areaIds);
         if (!empty($area_id)) {
             $bike = $bike->where('put_area_id', $area_id);
         }
@@ -87,17 +88,17 @@ class IndexOpenController extends Controller
     {
         $data = [];
 
-        $data['low_battery_num'] = Bike::query()->filter($bikeFilter)->whereIn('put_area_id', $this->areaIds);
-        $data['long_time_no_ridding'] = Bike::query()->filter($bikeFilter)->whereIn('put_area_id', $this->areaIds);
-        $data['long_time_no_return_ridding'] = Order::query()->filter($orderFilter)->whereIn('area_id', $this->areaIds);
-        $long_time_no_return_ridding_order_rent = OrderRent::query()->filter($orderRentFilter)->whereIn('area_id', $this->areaIds);
-        $data['trouble_num'] = Bike::query()->filter($bikeFilter)->whereIn('put_area_id', $this->areaIds);
-        $data['warning_num'] = WorkOrder::query()->where('type', WorkOrder::TYPE_ALERT)->filter($workOrderFilter)->whereIn('area_id', $this->areaIds);
+        $data['low_battery_num'] = Bike::query()->where(AdminMerchant::getMerchantWhere())->filter($bikeFilter)->whereIn('put_area_id', $this->areaIds);
+        $data['long_time_no_ridding'] = Bike::query()->where(AdminMerchant::getMerchantWhere())->filter($bikeFilter)->whereIn('put_area_id', $this->areaIds);
+        $data['long_time_no_return_ridding'] = Order::query()->where(AdminMerchant::getMerchantWhere())->filter($orderFilter)->whereIn('area_id', $this->areaIds);
+        $long_time_no_return_ridding_order_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())->filter($orderRentFilter)->whereIn('area_id', $this->areaIds);
+        $data['trouble_num'] = Bike::query()->where(AdminMerchant::getMerchantWhere())->filter($bikeFilter)->whereIn('put_area_id', $this->areaIds);
+        $data['warning_num'] = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())->where('type', WorkOrder::TYPE_ALERT)->filter($workOrderFilter)->whereIn('area_id', $this->areaIds);
 
         $admin_id = 1;
         if (!Admin::isAdministrator()) {
             $area_ids = AdminUser::getAreaIdsByAdminId($admin_id);
-            $area_id = AdminUserArea::query()->where('admin_id', $admin_id)->pluck('area_id')->toArray();
+            $area_id = AdminUserArea::query()->where(AdminMerchant::getMerchantWhere())->where('admin_id', $admin_id)->pluck('area_id')->toArray();
             $area_ids = array_merge($area_ids, $area_id);
             $data['low_battery_num'] = $data['low_battery_num']->whereIn('put_area_id', $area_ids);
             $data['long_time_no_ridding'] = $data['long_time_no_ridding']->whereIn('put_area_id', $area_ids);
@@ -176,6 +177,7 @@ class IndexOpenController extends Controller
         if (empty($days)) return $this->error('缺少参数');
 
         $profit = WalletLog::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($walletLogFilter)
             ->whereIn('type', WalletLog::$addType);
         $admin_id = 1;
@@ -235,6 +237,7 @@ class IndexOpenController extends Controller
         $days = $request->get('days') ?? '';
         if (empty($days)) return $this->error('缺少参数');
         $newUsers = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('is_card_certified', User::CARD_OK);
 
         $admin_id = 1;
@@ -297,6 +300,7 @@ class IndexOpenController extends Controller
         $days = $request->get('days') ?? '';
         if (empty($days)) return $this->error('缺少参数');
         $newOrders = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER);
 
@@ -364,6 +368,7 @@ class IndexOpenController extends Controller
         $days = $request->get('days') ?? '';
         if (empty($days)) return $this->error('缺少参数');
         $newOrders = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER);
 
         $admin_id = 1;
@@ -424,6 +429,7 @@ class IndexOpenController extends Controller
         $days = $request->get('days') ?? '';
         if (empty($days)) return $this->error('缺少参数');
         $order = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->with(['users']);
         $admin_id = 1;
@@ -489,6 +495,7 @@ class IndexOpenController extends Controller
         $days = $request->get('days') ?? '';
         if (empty($days)) return $this->error('缺少参数');
         $order = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->with(['users']);
         $admin_id = 1;
@@ -551,7 +558,7 @@ class IndexOpenController extends Controller
      */
     public function bikeProfitRanking()
     {
-        $bikes = Bike::query();
+        $bikes = Bike::query()->where(AdminMerchant::getMerchantWhere());
         $admin_id = 1;
 
         if (!Admin::isAdministrator()) {
@@ -612,9 +619,9 @@ class IndexOpenController extends Controller
         $yesterday = Carbon::yesterday();
         $today = Carbon::today();
 
-        $yesterdayNewUser = User::query();
-        $todayNewUser = User::query();
-        $total = User::query();
+        $yesterdayNewUser = User::query()->where(AdminMerchant::getMerchantWhere());
+        $todayNewUser = User::query()->where(AdminMerchant::getMerchantWhere());
+        $total = User::query()->where(AdminMerchant::getMerchantWhere());
 
         if (!empty($area_id)) {
             $yesterdayNewUser = $yesterdayNewUser->where('register_area_id', $area_id);
@@ -707,12 +714,12 @@ class IndexOpenController extends Controller
         $yesterday = Carbon::yesterday();
         $today = Carbon::today();
 
-        $yesterdayOrderNum = Order::query();
-        $todayOrderNum = Order::query();
-        $total = Order::query();
-        $yesterdayOrderRentNum = OrderRent::query();
-        $todayOrderRentNum = OrderRent::query();
-        $totalOrderRent = OrderRent::query();
+        $yesterdayOrderNum = Order::query()->where(AdminMerchant::getMerchantWhere());
+        $todayOrderNum = Order::query()->where(AdminMerchant::getMerchantWhere());
+        $total = Order::query()->where(AdminMerchant::getMerchantWhere());
+        $yesterdayOrderRentNum = OrderRent::query()->where(AdminMerchant::getMerchantWhere());
+        $todayOrderRentNum = OrderRent::query()->where(AdminMerchant::getMerchantWhere());
+        $totalOrderRent = OrderRent::query()->where(AdminMerchant::getMerchantWhere());
 
         if ($area_id != '') {
             // Log::info($area_id);
@@ -806,9 +813,9 @@ class IndexOpenController extends Controller
         $yesterday = Carbon::yesterday();
         $today = Carbon::today();
 
-        $yesterdayProfit = WalletLog::query();
-        $todayProfit = WalletLog::query();
-        $total = WalletLog::query();
+        $yesterdayProfit = WalletLog::query()->where(AdminMerchant::getMerchantWhere());
+        $todayProfit = WalletLog::query()->where(AdminMerchant::getMerchantWhere());
+        $total = WalletLog::query()->where(AdminMerchant::getMerchantWhere());
 
         if (!empty($area_id)) {
             $yesterdayProfit = $yesterdayProfit->where('area_id', $area_id);
@@ -875,7 +882,7 @@ class IndexOpenController extends Controller
     public function heatMap(OrderFilter $orderFilter)
     {
         $today = Carbon::today()->subMonth();
-        $order = Order::query()->whereIn('area_id', $this->areaIds)->filter($orderFilter)->where('created_at', '>', $today)->get();
+        $order = Order::query()->where(AdminMerchant::getMerchantWhere())->whereIn('area_id', $this->areaIds)->filter($orderFilter)->where('created_at', '>', $today)->get();
         $data1 = [];
         $data2 = [];
         if (!empty($order)) {
@@ -910,6 +917,7 @@ class IndexOpenController extends Controller
     {
         //
         $area = Area::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($filter);
         //->orderByDesc('id');
         if (!Admin::isAdministrator()) {
@@ -937,7 +945,7 @@ class IndexOpenController extends Controller
 
         $admin_id = Admin::user()->id;
 
-        $bike = Bike::query()->filter($filter)->orderByDesc('id');
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->filter($filter)->orderByDesc('id');
 
         if (!Admin::isAdministrator()) {
             $area_ids = AdminUser::getAreaIdsByAdminId($admin_id);
@@ -986,11 +994,11 @@ class IndexOpenController extends Controller
     {
 
 
-        $riding_yes_num = Bike::query()->filter($filter)->where('is_riding', Bike::RIDING_YES); //使用中的数量
+        $riding_yes_num = Bike::query()->where(AdminMerchant::getMerchantWhere())->filter($filter)->where('is_riding', Bike::RIDING_YES); //使用中的数量
 
-        $riding_no_num = Bike::query()->filter($filter)->where('is_riding', Bike::RIDING_NO); //未使用的数量
+        $riding_no_num = Bike::query()->where(AdminMerchant::getMerchantWhere())->filter($filter)->where('is_riding', Bike::RIDING_NO); //未使用的数量
 
-        $low_power_num = Bike::query()->filter($filter)->where('is_low_battery_power', Bike::BATTERY_POWER_LOW); //低电量的数量
+        $low_power_num = Bike::query()->where(AdminMerchant::getMerchantWhere())->filter($filter)->where('is_low_battery_power', Bike::BATTERY_POWER_LOW); //低电量的数量
 
         $admin_id = Admin::user()->id;
         if (!Admin::isAdministrator()) {
@@ -1127,6 +1135,7 @@ class IndexOpenController extends Controller
     {
         $recentMonth = Carbon::now()->subMonth();
         $order = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $this->areaIds)
             ->filter($orderFilter)
             ->where('created_at', '>', $recentMonth)
@@ -1149,6 +1158,7 @@ class IndexOpenController extends Controller
     {
         $recentMonth = Carbon::now()->subMonth();
         $order = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $this->areaIds)
             ->filter($userFilter)
             ->where('created_at', '>', $recentMonth)

+ 79 - 73
app/Http/Controllers/App/AggregateStatisticsController.php

@@ -12,6 +12,7 @@ use App\Filters\RechargeOrderFilter;
 use App\Filters\UserFilter;
 use App\Filters\WalletLogFilter;
 use App\Filters\WorkOrderFilter;
+use App\Models\AdminMerchant;
 use App\Models\AdminUser;
 use App\Models\Bike;
 use App\Models\CardRidingOrder;
@@ -47,18 +48,21 @@ class AggregateStatisticsController extends AppBaseController
         $area_ids = self::$areaIds;
         // 总用户
         $totalUser = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->filter($filter)
             ->count('id');
 
         // 押金用户
         $depositUser = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->where('is_deposit', User::DEPOSIT_OK)
             ->filter($filter)
             ->count('id');
         //有效用户
         $cardUser = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->where('is_card_certified', User::CARD_OK)
             ->filter($filter)
@@ -66,6 +70,7 @@ class AggregateStatisticsController extends AppBaseController
 
         //今日新增
         $todayAddUser = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->where('is_card_certified', User::CARD_OK)
             ->where('created_at', '>', Carbon::today())
@@ -74,6 +79,7 @@ class AggregateStatisticsController extends AppBaseController
 
         // 今日活跃
         $todayActiveOrder = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->where('created_at', '>', Carbon::today())
             ->filter($orderFilter)
@@ -108,48 +114,48 @@ class AggregateStatisticsController extends AppBaseController
         $data = [];
         $area_ids = self::$areaIds;
         // 总车辆数
-        $data['total_bikes'] = Bike::query()
+        $data['total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->count('id');
         // 上线车辆数
-        $data['put_total_bikes'] = Bike::query()
+        $data['put_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('put_status', Bike::PUT_STATUS_YES)
             ->count('id');
         // 在线车辆数
-        $data['line_total_bikes'] = Bike::query()
+        $data['line_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_link', Bike::LINK_ONLINE)
             ->count('id');
         //故障车辆
-        $data['trouble_total_bikes'] = Bike::query()
+        $data['trouble_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_trouble', Bike::TROUBLE_YES)
             ->count('id');
         //今日使用
-        $data['today_use_total_bikes'] = Bike::query()
+        $data['today_use_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('last_use_bike_end_time', '>', Carbon::today())
             ->count('id');
         //低电量
-        $data['low_battery_total_bikes'] = Bike::query()
+        $data['low_battery_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_low_battery_power', Bike::BATTERY_POWER_LOW)
             ->count('id');
         //骑行中
-        $data['riding_total_bikes'] = Bike::query()
+        $data['riding_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_riding', Bike::RIDING_YES)
             ->count('id');
         //未使用
-        $data['not_riding_total_bikes'] = Bike::query()
+        $data['not_riding_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_riding', Bike::RIDING_NO)
@@ -170,25 +176,25 @@ class AggregateStatisticsController extends AppBaseController
     {
         $area_ids = self::$areaIds;
         // 总订单数
-        $order_total = Order::query()
+        $order_total = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->count('id');
-        $order_rent_total = OrderRent::query()
+        $order_rent_total = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->count('id');
         $order_total += $order_rent_total;
         // 今日新增订单数
-        $today_add_order = Order::query()
+        $today_add_order = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('created_at', '>', Carbon::today())
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->count('id');
-        $today_add_order_rent = OrderRent::query()
+        $today_add_order_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('pay_time', '>', Carbon::today())
@@ -201,24 +207,24 @@ class AggregateStatisticsController extends AppBaseController
             // Order::STATUS_CLOSE_BIKE, // 待支付
             Order::STATUS_PAUSE_BIKE,
         ];
-        $riding_order = Order::query()
+        $riding_order = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->whereIn('status', $riding_status)
             ->count('id');
-        $riding_order_rent = OrderRent::query()
+        $riding_order_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', OrderRent::STATUS_RENT_BIKE)
             ->count('id');
         $riding_order += $riding_order_rent;
         // 待支付
-        $waiting_pay_order = Order::query()
+        $waiting_pay_order = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', Order::STATUS_CLOSE_BIKE)
             ->count('id');
-        $waiting_pay_rent = OrderRent::query()
+        $waiting_pay_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', OrderRent::STATUS_CLOSE_RENT_BIKE)
@@ -226,13 +232,13 @@ class AggregateStatisticsController extends AppBaseController
         $waiting_pay_order += $waiting_pay_rent;
 
         // 今日新增收入
-        $today_add_money = Order::query()
+        $today_add_money = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('pay_time', '>', Carbon::today())
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
-        $today_add_money_rent = OrderRent::query()
+        $today_add_money_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('pay_time', '>', Carbon::today())
@@ -261,7 +267,7 @@ class AggregateStatisticsController extends AppBaseController
     public function workOrderStatistics(WorkOrderFilter $filter)
     {
         $area_ids = self::$areaIds;
-        $type_num = WorkOrder::query()
+        $type_num = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->where('status', WorkOrder::STATUS_NO)
             ->filter($filter)
@@ -322,7 +328,7 @@ class AggregateStatisticsController extends AppBaseController
         }
 
 
-        $planned_num = WorkOrder::query()
+        $planned_num = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->filter($filter)
             ->groupBy('planned')
             ->select('planned', DB::raw('COUNT(id) as planned_num'))
@@ -384,19 +390,19 @@ class AggregateStatisticsController extends AppBaseController
 //            ->filter($walletLogFilter)
 //            ->whereIn('type', WalletLog::$subType)
 //            ->sum('money');
-        $totalOrderProfit = Order::query()
+        $totalOrderProfit = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
-        $totalOrderRentProfit = OrderRent::query()
+        $totalOrderRentProfit = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
         $totalProfit = bcadd($totalOrderProfit, $totalOrderRentProfit, 0);
         // 总押金
-        $depositTotal = DepositOrder::query()
+        $depositTotal = DepositOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', DepositOrder::PAY_STATUS_OK)
             ->where('is_refund', DepositOrder::REFUND_NO)
             ->whereIn('area_id', $area_ids)
@@ -409,13 +415,13 @@ class AggregateStatisticsController extends AppBaseController
 //            ->whereIn('type', WalletLog::$subType)
 //            ->where('created_at', '>', Carbon::today())
 //            ->sum('money');
-        $todayOrderProfit = Order::query()
+        $todayOrderProfit = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->where('pay_time', '>', Carbon::today())
             ->sum('pay_money');
-        $todayOrderRentProfit = OrderRent::query()
+        $todayOrderRentProfit = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -423,7 +429,7 @@ class AggregateStatisticsController extends AppBaseController
             ->sum('pay_money');
         $todayProfit = bcadd($todayOrderProfit, $todayOrderRentProfit, 0);
         // 今日新增押金
-        $depositToday = DepositOrder::query()
+        $depositToday = DepositOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', DepositOrder::PAY_STATUS_OK)
             ->where('is_refund', DepositOrder::REFUND_NO)
             ->whereIn('area_id', $area_ids)
@@ -437,13 +443,13 @@ class AggregateStatisticsController extends AppBaseController
 //            ->whereIn('type', WalletLog::$subType)
 //            ->where('created_at', '>', Carbon::today()->format('Y-m-01 00:00:00'))
 //            ->sum('money');
-        $monthOrderProfit = Order::query()
+        $monthOrderProfit = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->where('pay_time', '>', Carbon::today()->format('Y-m-01 00:00:00'))
             ->sum('pay_money');
-        $monthOrderRentProfit = OrderRent::query()
+        $monthOrderRentProfit = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -451,39 +457,39 @@ class AggregateStatisticsController extends AppBaseController
             ->sum('pay_money');
         $monthProfit = bcadd($monthOrderProfit, $monthOrderRentProfit, 0);
         // 骑行卡订单总收益
-        $riddingCardOrderTotalProfit = CardRidingOrder::query()
+        $riddingCardOrderTotalProfit = CardRidingOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($cardRidingOrderFilter)
             ->where('pay_status', CardRidingOrder::PAY_STATUS_OK)
             ->sum('pay_money');
         // 骑行卡订单今日收益
-        $riddingCardOrderTodayProfit = CardRidingOrder::query()
+        $riddingCardOrderTodayProfit = CardRidingOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($cardRidingOrderFilter)
             ->where('pay_status', CardRidingOrder::PAY_STATUS_OK)
             ->where('pay_time', '>', Carbon::today())
             ->sum('pay_money');
         // 充值总收益
-        $rechargeOrderTotalProfit = RechargeOrder::query()
+        $rechargeOrderTotalProfit = RechargeOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($rechargeOrderFilter)
             ->where('pay_status', RechargeOrder::PAY_STATUS_OK)
             ->sum('pay_money');
         // 充值今日收益
-        $rechargeOrderTodayProfit = RechargeOrder::query()
+        $rechargeOrderTodayProfit = RechargeOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($rechargeOrderFilter)
             ->where('pay_status', RechargeOrder::PAY_STATUS_OK)
             ->where('pay_time', '>', Carbon::today())
             ->sum('pay_money');
         // 免押金卡总收益
-        $depositCardTotalProfit = DepositCardOrder::query()
+        $depositCardTotalProfit = DepositCardOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($depositCardOrderFilter)
             ->where('pay_status', DepositCardOrder::PAY_STATUS_OK)
             ->sum('pay_money');
         // 免押金卡总收益
-        $depositCardTodayProfit = DepositCardOrder::query()
+        $depositCardTodayProfit = DepositCardOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($depositCardOrderFilter)
             ->where('pay_status', DepositCardOrder::PAY_STATUS_OK)
@@ -513,26 +519,26 @@ class AggregateStatisticsController extends AppBaseController
         $area_ids = self::$areaIds;
         $area_id = $request->get('area_id');
         // 总用户
-        $totalUser = User::query()
+        $totalUser = User::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->filter($filter)
             ->count('id');
 
         // 押金用户
-        $depositUser = User::query()
+        $depositUser = User::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->where('is_deposit', User::DEPOSIT_OK)
             ->filter($filter)
             ->count('id');
         //有效用户
-        $cardUser = User::query()
+        $cardUser = User::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->where('is_card_certified', User::CARD_OK)
             ->filter($filter)
             ->count('id');
 
         //今日新增
-        $todayAddUser = User::query()
+        $todayAddUser = User::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('register_area_id', $area_ids)
             ->where('is_card_certified', User::CARD_OK)
             ->where('created_at', '>', Carbon::today())
@@ -540,7 +546,7 @@ class AggregateStatisticsController extends AppBaseController
             ->count('id');
 
         // 今日活跃
-        $todayActiveOrder = Order::query()
+        $todayActiveOrder = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->where('created_at', '>', Carbon::today())
             ->filter($orderFilter)
@@ -559,73 +565,73 @@ class AggregateStatisticsController extends AppBaseController
             'todayActiveUser' => $todayActiveUser ?? 0
         ];
 
-        $data2['total_bikes'] = Bike::query()
+        $data2['total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->count('id');
         // 上线车辆数
-        $data2['put_total_bikes'] = Bike::query()
+        $data2['put_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->where('put_status', Bike::PUT_STATUS_YES)
             ->count('id');
         // 在线车辆数
-        $data2['line_total_bikes'] = Bike::query()
+        $data2['line_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->where('is_link', Bike::LINK_ONLINE)
             ->count('id');
         //故障车辆
-        $data2['trouble_total_bikes'] = Bike::query()
+        $data2['trouble_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->where('is_trouble', Bike::TROUBLE_YES)
             ->count('id');
         //今日使用
-        $data2['today_use_total_bikes'] = Bike::query()
+        $data2['today_use_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->where('last_use_bike_end_time', '>', Carbon::today())
             ->count('id');
         //低电量
-        $data2['low_battery_total_bikes'] = Bike::query()
+        $data2['low_battery_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->where('is_low_battery_power', Bike::BATTERY_POWER_LOW)
             ->count('id');
         //骑行中
-        $data2['riding_total_bikes'] = Bike::query()
+        $data2['riding_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->where('is_riding', Bike::RIDING_YES)
             ->count('id');
         //未使用
-        $data2['not_riding_total_bikes'] = Bike::query()
+        $data2['not_riding_total_bikes'] = Bike::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($bikeFilter)
             ->where('is_riding', Bike::RIDING_NO)
             ->count('id');
 
         // 总订单数
-        $order_total = Order::query()
+        $order_total = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->count('id');
-        $order_rent_total = OrderRent::query()
+        $order_rent_total = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->count('id');
         $order_total += $order_rent_total;
         // 今日新增订单数
-        $today_add_order = Order::query()
+        $today_add_order = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('created_at', '>', Carbon::today())
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->count('id');
-        $today_add_order_rent = OrderRent::query()
+        $today_add_order_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('pay_time', '>', Carbon::today())
@@ -638,24 +644,24 @@ class AggregateStatisticsController extends AppBaseController
             // Order::STATUS_CLOSE_BIKE, // 待支付
             Order::STATUS_PAUSE_BIKE,
         ];
-        $riding_order = Order::query()
+        $riding_order = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->whereIn('status', $riding_status)
             ->count('id');
-        $riding_order_rent = OrderRent::query()
+        $riding_order_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_RENT_BIKE)
             ->count('id');
         $riding_order += $riding_order_rent;
         // 待支付
-        $waiting_pay_order = Order::query()
+        $waiting_pay_order = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_CLOSE_BIKE)
             ->count('id');
-        $waiting_pay_rent = OrderRent::query()
+        $waiting_pay_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_CLOSE_RENT_BIKE)
@@ -663,13 +669,13 @@ class AggregateStatisticsController extends AppBaseController
         $waiting_pay_order += $waiting_pay_rent;
 
         // 今日新增收入
-        $today_add_money = Order::query()
+        $today_add_money = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('pay_time', '>', Carbon::today())
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
-        $today_add_money_rent = OrderRent::query()
+        $today_add_money_rent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('pay_time', '>', Carbon::today())
@@ -685,7 +691,7 @@ class AggregateStatisticsController extends AppBaseController
             'waiting_pay' => $waiting_pay_order ?? 0,
         ];
 
-        $type_num = WorkOrder::query()
+        $type_num = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->where('status', WorkOrder::STATUS_NO)
             ->filter($workOrderFilter)
@@ -746,7 +752,7 @@ class AggregateStatisticsController extends AppBaseController
         }
 
 
-        $planned_num = WorkOrder::query()
+        $planned_num = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->filter($workOrderFilter)
             ->groupBy('planned')
             ->select('planned', DB::raw('COUNT(id) as planned_num'))
@@ -790,19 +796,19 @@ class AggregateStatisticsController extends AppBaseController
 //            ->filter($walletLogFilter)
 //            ->whereIn('type', WalletLog::$subType)
 //            ->sum('money');
-        $totalOrderProfit = Order::query()
+        $totalOrderProfit = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
-        $totalOrderRentProfit = OrderRent::query()
+        $totalOrderRentProfit = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
         $totalProfit = bcadd($totalOrderProfit, $totalOrderRentProfit, 0);
         // 总押金
-        $depositTotal = DepositOrder::query()
+        $depositTotal = DepositOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', DepositOrder::PAY_STATUS_OK)
             ->where('is_refund', DepositOrder::REFUND_NO)
             ->whereIn('area_id', $area_ids)
@@ -815,13 +821,13 @@ class AggregateStatisticsController extends AppBaseController
 //            ->whereIn('type', WalletLog::$subType)
 //            ->where('created_at', '>', Carbon::today())
 //            ->sum('money');
-        $todayOrderProfit = Order::query()
+        $todayOrderProfit = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->where('pay_time', '>', Carbon::today())
             ->sum('pay_money');
-        $todayOrderRentProfit = OrderRent::query()
+        $todayOrderRentProfit = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -829,7 +835,7 @@ class AggregateStatisticsController extends AppBaseController
             ->sum('pay_money');
         $todayProfit = bcadd($todayOrderProfit, $todayOrderRentProfit, 0);
         // 今日新增押金
-        $depositToday = DepositOrder::query()
+        $depositToday = DepositOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', DepositOrder::PAY_STATUS_OK)
             ->where('is_refund', DepositOrder::REFUND_NO)
             ->whereIn('area_id', $area_ids)
@@ -843,13 +849,13 @@ class AggregateStatisticsController extends AppBaseController
 //            ->whereIn('type', WalletLog::$subType)
 //            ->where('created_at', '>', Carbon::today()->format('Y-m-01 00:00:00'))
 //            ->sum('money');
-        $monthOrderProfit = Order::query()
+        $monthOrderProfit = Order::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->where('created_at', '>', Carbon::today()->format('Y-m-01 00:00:00'))
             ->sum('pay_money');
-        $monthOrderRentProfit = OrderRent::query()
+        $monthOrderRentProfit = OrderRent::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -857,13 +863,13 @@ class AggregateStatisticsController extends AppBaseController
             ->sum('pay_money');
         $monthProfit = bcadd($monthOrderProfit, $monthOrderRentProfit, 0);
         // 骑行卡订单总收益
-        $riddingCardOrderTotalProfit = CardRidingOrder::query()
+        $riddingCardOrderTotalProfit = CardRidingOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($cardRidingOrderFilter)
             ->where('pay_status', CardRidingOrder::PAY_STATUS_OK)
             ->sum('pay_money');
         // 骑行卡订单今日收益
-        $riddingCardOrderTodayProfit = CardRidingOrder::query()
+        $riddingCardOrderTodayProfit = CardRidingOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($cardRidingOrderFilter)
             ->where('pay_status', CardRidingOrder::PAY_STATUS_OK)
@@ -871,7 +877,7 @@ class AggregateStatisticsController extends AppBaseController
             ->sum('pay_money');
         // 充值总收益
 //        DB::enableQueryLog();
-        $rechargeOrderTotalProfit = RechargeOrder::query()
+        $rechargeOrderTotalProfit = RechargeOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->filter($rechargeOrderFilter)
             ->whereIn('area_id', $area_ids)
             ->where('pay_status', RechargeOrder::PAY_STATUS_OK)
@@ -879,20 +885,20 @@ class AggregateStatisticsController extends AppBaseController
 //        $logs = DB::getQueryLog();
 //        Log::info($logs);
         // 充值今日收益
-        $rechargeOrderTodayProfit = RechargeOrder::query()
+        $rechargeOrderTodayProfit = RechargeOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($rechargeOrderFilter)
             ->where('pay_status', RechargeOrder::PAY_STATUS_OK)
             ->where('pay_time', '>', Carbon::today())
             ->sum('pay_money');
         // 免押金卡总收益
-        $depositCardTotalProfit = DepositCardOrder::query()
+        $depositCardTotalProfit = DepositCardOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($depositCardOrderFilter)
             ->where('pay_status', DepositCardOrder::PAY_STATUS_OK)
             ->sum('pay_money');
         // 免押金卡总收益
-        $depositCardTodayProfit = DepositCardOrder::query()
+        $depositCardTodayProfit = DepositCardOrder::query()->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($depositCardOrderFilter)
             ->where('pay_status', DepositCardOrder::PAY_STATUS_OK)

+ 1 - 1
app/Http/Controllers/App/AppBaseController.php

@@ -33,7 +33,7 @@ class AppBaseController extends Controller
             self::$areaIds = [$area_id];
         } else { // 类型为管理员
             $admin_id = Admin::user()->id;
-            if (Admin::isAdministrator() || Admin::isNormalAdministrator()) {
+            if (Admin::isAdministrator()) {
                 $area_ids = Area::query()->pluck('id')->toArray();
                 $area_ids[] = 0;
                 self::$areaIds = $area_ids;

+ 12 - 0
app/Http/Controllers/App/Auth/LoginController.php

@@ -5,6 +5,8 @@ namespace App\Http\Controllers\App\Auth;
 use App\Http\Controllers\Admin\AdminBaseController;
 use App\Http\Controllers\App\AppBaseController;
 use App\Http\Controllers\Controller;
+use App\Models\AdminMerchant;
+use App\Models\AdminRole;
 use App\Models\AdminUser;
 use App\Utils\Admin;
 use App\Utils\RedisKeys;
@@ -22,6 +24,7 @@ class LoginController extends Controller
         return 'account';
     }
 
+    // 登录调用方法
     protected function sendLoginResponse(Request $request)
     {
         $token = $this->guard()->getToken()->get();
@@ -32,6 +35,14 @@ class LoginController extends Controller
         }elseif (Admin::user()->type == AdminUser::TYPE_WORKER){
             $role = '地勤人员';
         }
+        // 检测账户状态
+        if(!Admin::user()->isRole(AdminRole::ADMINISTROTOR)){
+            $merchant_id = AdminMerchant::putMerchantId();
+            $is_status = AdminMerchant::query()->where(['id' => $merchant_id,'status'=>AdminMerchant::NORMAL])->first();
+            if(!$is_status){
+                return response()->json(['message' => '账户已失效,请联系管理员'], 400);
+            }
+        }
 
         return $this->created([
             'token' => $token,
@@ -40,6 +51,7 @@ class LoginController extends Controller
             'avatar' => Admin::user()->avatar ?? '',
             'admin_type' => Admin::user()->type,
             'role' => $role,
+            'merchant_id' => Admin::user()->merchant_id,
             'expired_in' => $this->guard()->factory()->getTTL(),
         ]);
     }

+ 61 - 22
app/Http/Controllers/App/BikeController.php

@@ -12,6 +12,8 @@ use App\Http\Resources\App\BikeResource;
 use App\Http\Resources\App\OrderRentResource;
 use App\Http\Resources\App\OrderResource;
 use App\Jobs\AutoCloseBikeLockJob;
+use App\Models\AdminMerchant;
+use App\Models\AdminRole;
 use App\Models\AdminUser;
 use App\Models\Area;
 use App\Models\Bike;
@@ -51,9 +53,10 @@ class BikeController extends AppBaseController
         $bike_no = $request->get('bike_no') ?? '';
         if (empty($bike_no)) return $this->error('请输入正确车牌号');
 
-        $bikeInfo = Bike::query()->where('bike_no', $bike_no);
+        $bikeInfo = Bike::query()->where('bike_no', $bike_no)->where(AdminMerchant::getMerchantWhere());
 
-        if (!Admin::isAdministrator() && !Admin::isNormalAdministrator()) {
+        if (!Admin::isAdministrator()) {
+//        if (!Admin::isAdministrator() && !Admin::isNormalAdministrator()) {
             $bikeInfo = $bikeInfo->whereIn('put_area_id', self::$areaIds);
         }
         $bikeInfo = $bikeInfo->first();
@@ -117,8 +120,8 @@ class BikeController extends AppBaseController
         $data['bike_info']['remark'] = $bikeInfo->remark ?? ''; //最后定位时间
 
         //最近订单  取最
-        $order = Order::query()->where('bike_id', $bikeInfo->id)->orderByDesc('id')->with('users')->first();
-        $orderRent = OrderRent::query()->where('bike_id', $bikeInfo->id)->orderByDesc('id')->with('users')->first();
+        $order = Order::query()->where(AdminMerchant::getMerchantWhere())->where('bike_id', $bikeInfo->id)->orderByDesc('id')->with('users')->first();
+        $orderRent = OrderRent::query()->where(AdminMerchant::getMerchantWhere())->where('bike_id', $bikeInfo->id)->orderByDesc('id')->with('users')->first();
         $data2 = [];
         if (!empty($order) && !empty($orderRent)) {
 
@@ -181,7 +184,7 @@ class BikeController extends AppBaseController
     {
 
         $admin_id = Admin::user()->id;
-        if (!Admin::isAdministrator()) {
+        if (!Admin::isAdministrator() and !Admin::user()->isRole(AdminRole::MERCHANTSADMIN)) {
             return $this->error('暂无权限');
         }
 
@@ -189,7 +192,7 @@ class BikeController extends AppBaseController
 
         if (empty($bike_id)) return $this->error('参数错误');
 
-        $bike = Bike::query()->whereIn('put_area_id', self::$areaIds)->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->whereIn('put_area_id', self::$areaIds)->find($bike_id);
         if (empty($bike)) return $this->error('找不到该车辆信息,请检查车牌号');
         $bike_no = $request->get('bike_no') ?? '';
         $box_no = $request->get('box_no') ?? '';
@@ -201,7 +204,7 @@ class BikeController extends AppBaseController
         }
         // 不为空修改
         if (!empty($bike_no)) {
-            $verifyBikeNo = Bike::query()->where('bike_no', $bike_no)->first();
+            $verifyBikeNo = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('bike_no', $bike_no)->first();
             if (!empty($verifyBikeNo)) {
                 if ($verifyBikeNo->id !== $bike->id) {
                     return $this->error('车辆编号已存在,不可修改');
@@ -214,7 +217,7 @@ class BikeController extends AppBaseController
             $bike->remark = $bike_remarks . $date;
         }
         if (!empty($box_no)) {
-            $verifyBikeNo = Bike::query()->where('box_no', $box_no)->first();
+            $verifyBikeNo = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('box_no', $box_no)->first();
             if (!empty($verifyBikeNo)) {
                 if ($verifyBikeNo->id !== $bike->id) {
                     return $this->error('中控编号已存在,不可修改');
@@ -222,7 +225,7 @@ class BikeController extends AppBaseController
             }
 
             // 中控绑定操作
-            $box = BoxBinding::query()->where('box_no', $box_no)->first();
+            $box = BoxBinding::query()->where(AdminMerchant::getMerchantWhere())->where('box_no', $box_no)->first();
             if (empty($box)) return $this->error('找不到此设备信息,请联系管理员');
             if ($box->is_binding == BoxBinding::BINDING_YES) return $this->error('此设备已经绑定过');
 
@@ -397,6 +400,7 @@ class BikeController extends AppBaseController
         if (empty($bike_id)) return $this->error('参数错误');
         $threeAgo = Carbon::today()->subDays(3);
         $order = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('bike_id', $bike_id)
 //            ->where('created_at','>',$threeAgo)
             ->orderByDesc('id')
@@ -414,6 +418,7 @@ class BikeController extends AppBaseController
         }
 
         $orderRent = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('bike_id', $bike_id)
 //            ->where('created_at','>',$threeAgo)
             ->orderByDesc('id')
@@ -457,6 +462,7 @@ class BikeController extends AppBaseController
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
         $order = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('bike_id', $bike_id)
             ->with('users')
             ->orderByDesc('id')
@@ -490,6 +496,7 @@ class BikeController extends AppBaseController
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
         $order = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('bike_id', $bike_id)
             ->with('users')
             ->orderByDesc('id')
@@ -518,6 +525,7 @@ class BikeController extends AppBaseController
         $threeAgo = Carbon::today()->subDays(3);
 
         $lock1 = OrderBikeOperate::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('type', $typeArr)
             ->where('is_admin', OrderBikeOperate::IS_ADMIN_NO)
             ->where('bike_id', $bike_id)
@@ -553,6 +561,7 @@ class BikeController extends AppBaseController
 
         // 管理员操作
         $lock2 = OrderBikeOperate::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('type', $typeArr)
             ->where('is_admin', OrderBikeOperate::IS_ADMIN_YES)
             ->where('bike_id', $bike_id)
@@ -605,6 +614,7 @@ class BikeController extends AppBaseController
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
         $bikeOnLine = WorkerBikeOperate::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('bike_id', $bike_id)
             ->whereIn('type', [WorkerBikeOperate::TYPE_ONLINE, WorkerBikeOperate::TYPE_OFFLINE])
             ->with('workers')
@@ -664,7 +674,7 @@ class BikeController extends AppBaseController
         if (empty($reason) || empty($bike_no)) return $this->error('请填写报修原因');
 
         if (!empty($bike_no)) {
-            $bike = Bike::query()->where('bike_no', $bike_no)->first();
+            $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('bike_no', $bike_no)->first();
             if (!empty($bike)) {
 
                 if ($bike->put_status == Bike::PUT_STATUS_NO) {
@@ -691,6 +701,7 @@ class BikeController extends AppBaseController
                     $worker_bike_operate->latitude = empty($last_location->lat) ? 0 : $last_location->lat;
                     $worker_bike_operate->longitude = empty($last_location->lng) ? 0 : $last_location->lng;
                     $worker_bike_operate->worker_id = Admin::user()->id;
+                    $worker_bike_operate->merchant_id =AdminMerchant::putMerchantId();
 //                    foreach ($trouble_part as $v){
 //                        $reason .= BikeTrouble::$troublePartMaps[$v] . ',';
 //                    }
@@ -724,11 +735,13 @@ class BikeController extends AppBaseController
                         'area_id' => $bike->put_area_id,
                         'admin_id' => Admin::user()->id,
                         'reason' => $reason,
+                        'merchant_id' =>AdminMerchant::putMerchantId()
                     ];
                     $work_order_verify = [
                         'bike_id' => $bike->id,
                         'type' => $trouble_part, // 工单类型
-                        'status' => WorkOrder::STATUS_NO
+                        'status' => WorkOrder::STATUS_NO,
+                        'merchant_id' =>AdminMerchant::putMerchantId()
                     ];
                     WorkOrder::firstOrCreate($work_order_verify, $work_order_data);
 
@@ -744,7 +757,7 @@ class BikeController extends AppBaseController
             }
         }
         if (!empty($box_no)) {
-            $bike = Bike::query()->where('box_no', $box_no)->first();
+            $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('box_no', $box_no)->first();
             if (!empty($bike)) {
                 try {
                     // 更新车辆状态  下线
@@ -766,6 +779,7 @@ class BikeController extends AppBaseController
                     $worker_bike_operate->latitude = empty($last_location['lat']) ? 0 : $last_location['lat'];
                     $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
                     $worker_bike_operate->worker_id = Admin::user()->id;
+                    $worker_bike_operate->merchant_id = AdminMerchant::putMerchantId();
 
                     $worker_bike_operate->reason = $reason;
                     $bool2 = $worker_bike_operate->save();
@@ -795,11 +809,13 @@ class BikeController extends AppBaseController
                         'area_id' => $bike->put_area_id,
                         'admin_id' => Admin::user()->id,
                         'reason' => $reason,
+                        'merchant_id' =>AdminMerchant::putMerchantId()
                     ];
                     $work_order_verify = [
                         'bike_id' => $bike->id,
                         'type' => $trouble_part,
-                        'status' => WorkOrder::STATUS_NO
+                        'status' => WorkOrder::STATUS_NO,
+                        'merchant_id' =>AdminMerchant::putMerchantId()
                     ];
                     WorkOrder::firstOrCreate($work_order_verify, $work_order_data);
 
@@ -844,6 +860,7 @@ class BikeController extends AppBaseController
     {
         $area_ids = self::$areaIds;
         $bikelist = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->whereNotNull('box_no')
             ->filter($filter)
@@ -867,47 +884,55 @@ class BikeController extends AppBaseController
         $area_ids = self::$areaIds;
         // 总车辆数
         $data['total_bikes'] = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->count('id');
         // 上线车辆数
         $data['put_total_bikes'] = Bike::query()
             ->whereIn('put_area_id', $area_ids)
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($filter)
             ->where('put_status', Bike::PUT_STATUS_YES)
             ->count('id');
         // 在线车辆数
         $data['line_total_bikes'] = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_link', Bike::LINK_ONLINE)
             ->count('id');
         //故障车辆
         $data['trouble_total_bikes'] = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_trouble', Bike::TROUBLE_YES)
             ->count('id');
         //今日使用
         $data['today_use_total_bikes'] = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('last_use_bike_end_time', '>', Carbon::today())
             ->count('id');
         //低电量
         $data['low_battery_total_bikes'] = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_low_battery_power', Bike::BATTERY_POWER_LOW)
             ->count('id');
         //骑行中
         $data['riding_total_bikes'] = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_riding', Bike::RIDING_YES)
             ->count('id');
         //未使用
         $data['not_riding_total_bikes'] = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('put_area_id', $area_ids)
             ->filter($filter)
             ->where('is_riding', Bike::RIDING_NO)
@@ -931,7 +956,7 @@ class BikeController extends AppBaseController
 
         try {
             DB::beginTransaction();
-            $bike = Bike::query()->find($bike_id);
+            $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->find($bike_id);
             if (empty($bike)) return $this->error('找不到车辆');
             if ($bike->put_status == Bike::PUT_STATUS_YES) return $this->error('车辆已在线');
             // 更新车辆上线
@@ -948,6 +973,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->latitude = empty($last_location['lat']) ? 0 : $last_location['lat'];
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id =AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
 
             //更新redis
@@ -995,6 +1021,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->latitude = empty($last_location['lat']) ? 0 : $last_location['lat'];
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id =AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
 
             // 更新redis
@@ -1021,7 +1048,7 @@ class BikeController extends AppBaseController
     {
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
-        $bike = Bike::query()->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('id',$bike_id)->first();
         if (empty($bike)) return $this->error('找不到车辆');
 
         // $box_no = "003448483"; // 测试写死
@@ -1065,6 +1092,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->reason = "工作人员开锁";
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id = AdminMerchant::getMerchantWhere();
             $worker_bike_operate->save();
         } catch (\Exception $e) {
             Log::error('开锁记录生成失败');
@@ -1136,6 +1164,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->reason = "工作人员关锁";
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id = AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
         } catch (\Exception $e) {
             Log::error('关锁记录生成失败');
@@ -1182,7 +1211,7 @@ class BikeController extends AppBaseController
     {
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
-        $bike = Bike::query()->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('id',$bike_id)->first();
         if (empty($bike)) return $this->error('找不到车辆');
         try {
             // 增加worker操作车辆记录
@@ -1195,6 +1224,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->reason = "工作人员开电池锁";
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id = AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
         } catch (\Exception $e) {
             Log::error('开电池锁记录生成失败');
@@ -1224,7 +1254,8 @@ class BikeController extends AppBaseController
     {
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
-        $bike = Bike::query()->find($bike_id);
+//        $bike = Bike::query()->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('id',$bike_id)->first();
         if (empty($bike)) return $this->error('找不到车辆');
         try {
             // 增加worker操作车辆记录
@@ -1237,6 +1268,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->reason = "工作人员重启中控";
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id = AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
         } catch (\Exception $e) {
             Log::error('工作人员重启中控失败');
@@ -1266,7 +1298,8 @@ class BikeController extends AppBaseController
     {
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
-        $bike = Bike::query()->find($bike_id);
+//        $bike = Bike::query()->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('id',$bike_id)->first();
         if (empty($bike)) return $this->error('找不到车辆');
         try {
             $bike->is_in_parking = Bike::IN_PARKING_YES;
@@ -1291,7 +1324,8 @@ class BikeController extends AppBaseController
     {
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
-        $bike = Bike::query()->find($bike_id);
+//        $bike = Bike::query()->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('id',$bike_id)->first();
         if (empty($bike)) return $this->error('找不到车辆');
         try {
             // 增加worker操作车辆记录
@@ -1304,6 +1338,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->reason = "工作人员立即定位车辆";
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id = AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
         } catch (\Exception $e) {
             Log::error('工作人员立即定位车辆失败');
@@ -1333,7 +1368,8 @@ class BikeController extends AppBaseController
     {
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
-        $bike = Bike::query()->find($bike_id);
+//        $bike = Bike::query()->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('id',$bike_id)->first();
         if (empty($bike)) return $this->error('找不到车辆');
         try {
             // 增加worker操作车辆记录
@@ -1346,6 +1382,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->reason = "工作人员立即更新电池信息";
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id = AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
         } catch (\Exception $e) {
             Log::error('工作人员立即更新电池信息失败');
@@ -1375,7 +1412,8 @@ class BikeController extends AppBaseController
     {
         $bike_id = $request->get('bike_id') ?? '';
         if (empty($bike_id)) return $this->error('参数错误');
-        $bike = Bike::query()->find($bike_id);
+//        $bike = Bike::query()->find($bike_id);
+        $bike = Bike::query()->where(AdminMerchant::getMerchantWhere())->where('id',$bike_id)->first();
         if (empty($bike)) return $this->error('找不到车辆');
         try {
             // 增加worker操作车辆记录
@@ -1388,6 +1426,7 @@ class BikeController extends AppBaseController
             $worker_bike_operate->longitude = empty($last_location['lng']) ? 0 : $last_location['lng'];
             $worker_bike_operate->reason = "工作人员开电池锁";
             $worker_bike_operate->worker_id = Admin::user()->id;
+            $worker_bike_operate->merchant_id = AdminMerchant::putMerchantId();
             $worker_bike_operate->save();
         } catch (\Exception $e) {
             Log::error('关电池锁记录生成失败');
@@ -1416,7 +1455,7 @@ class BikeController extends AppBaseController
     public function getKey(Request $request)
     {
         $box_no = $request->get('box_no');
-        $bike = Bike::where('box_no', $box_no)->first();
+        $bike = Bike::where('box_no', $box_no)->where(AdminMerchant::getMerchantWhere())->first();
         $key = $bike->blu_ase_key ?? '';
         return $this->ok(['key' => $key]);
     }

+ 16 - 6
app/Http/Controllers/App/IndexController.php

@@ -7,11 +7,18 @@ use App\Filters\BikeFilter;
 
 use App\Handlers\BikeStatusInfoSyncHandler;
 use App\Http\Resources\App\BikeResource;
+use App\Models\AdminMerchant;
+use App\Models\AdminUser;
 use App\Models\Area;
 use App\Models\Bike;
+use App\Models\Order;
 use App\Models\Parking;
+use App\Models\WorkOrder;
+use App\Utils\Admin;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Log;
+use Illuminate\Support\Facades\Redis;
+use Illuminate\Support\Facades\Session;
 
 class   IndexController extends AppBaseController
 {
@@ -25,12 +32,13 @@ class   IndexController extends AppBaseController
      */
     public function index()
     {
-        $area = Area::query()->whereIn('id', self::$areaIds)->pluck('name', 'id');
-        $wx_area = Area::query()->whereIn('id', self::$areaIds)->get()->toArray();
+//        $area = Area::query()->whereIn('id', self::$areaIds)->pluck('name', 'id');
+        $wx_area = Area::query()->where(AdminMerchant::getMerchantWhere())->whereIn('id', self::$areaIds)->get();
+        $area = $wx_area->pluck('name', 'id');
         $wx_data = [];
-        if (!empty($wx_area)) {
+        if ($wx_area) {
             foreach ($wx_area as $v) {
-                $wx_data[] = ['areaID' => $v['id'], 'text' => $v['name']];
+                $wx_data[] = ['areaID' => $v->id, 'text' => $v->name];
             }
         }
         $bikeStates = Bike::$bikeStatesMaps;
@@ -62,6 +70,7 @@ class   IndexController extends AppBaseController
             ->whereIn('put_area_id', self::$areaIds)
             ->whereNotNull('box_no')
             ->filter($filter)
+            ->where(AdminMerchant::getMerchantWhere())
             ->orderByDesc('id')
             ->get();
 
@@ -140,6 +149,7 @@ class   IndexController extends AppBaseController
     {
         $bike = Bike::query()
             ->whereIn('put_area_id', self::$areaIds)
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($filter)
             ->orderByDesc('id')
             ->get();
@@ -151,15 +161,15 @@ class   IndexController extends AppBaseController
      * getAreas  还车点 骑行区
      *
      * @param Request $request
+     * @param AreaFilter $areaFilter
      * @return \Illuminate\Http\JsonResponse
      * @author Fx
-     *
      */
     public function getAreas(Request $request, AreaFilter $areaFilter)
     {
         $areaIds = self::$areaIds;
         // 骑行区
-        $ridding_area = Area::query()->filter($areaFilter)->whereIn('id', $areaIds);
+        $ridding_area = Area::query()->filter($areaFilter)->whereIn('id', $areaIds)->where(AdminMerchant::getMerchantWhere());
 
         $is_with_parking = $request->get('is_with_parking', 1);
         if ($is_with_parking) {

+ 6 - 5
app/Http/Controllers/App/Open/BikeController.php

@@ -6,6 +6,7 @@ use App\Handlers\Aes128Handler;
 use App\Handlers\BaseBikeControl;
 use App\Handlers\BikeStatusInfoSyncHandler;
 use App\Http\Resources\App\BikeResource;
+use App\Models\AdminMerchant;
 use App\Models\Bike;
 use App\Models\BoxBinding;
 use App\Models\LocationsLog;
@@ -38,7 +39,7 @@ class BikeController extends Controller
             return $this->error('中控编号为15位');
         }
 
-        // 判断中控是否存在
+        // 判断中控是否存在 ->where(AdminMerchant::getMerchantWhere())
         $box = BoxBinding::query()->where('box_no', $box_no)->first();
         if (empty($box)) return $this->error('找不到此设备信息,请联系管理员');
         if ($box->is_binding == BoxBinding::BINDING_YES) return $this->error('此设备已经绑定过');
@@ -69,7 +70,7 @@ class BikeController extends Controller
         }
 
 
-        // 车辆信息
+        // 车辆信息 ->where(AdminMerchant::getMerchantWhere())
         $bike = Bike::query()->where('bike_no', $bike_no)->first();
         if (empty($bike)) return $this->error('找不到车辆信息');
 
@@ -102,12 +103,12 @@ class BikeController extends Controller
         // $bike_no = $request->get('bike_no') ?? '';
         $box_no = $request->get('box_no') ?? '';
         if (empty($box_no)) return $this->error('参数错误');
-        // 判断中控是否存在
+        // 判断中控是否存在 ->where(AdminMerchant::getMerchantWhere())
         $box = BoxBinding::query()->where('box_no', $box_no)->first();
         if (empty($box)) return $this->error('找不到此设备信息,请联系管理员');
 
         // if($box->is_binding == BoxBinding::BINDING_NO) return $this->error('此设备未绑定过,不需要解绑');
-        // 车辆信息
+        // 车辆信息 ->where(AdminMerchant::getMerchantWhere())
         $bike = Bike::query()->where('box_no', $box_no)->first();
 //        if(empty($bike)) return $this->error('找不到车辆信息');
 
@@ -173,7 +174,7 @@ class BikeController extends Controller
     public function getKey(Request $request)
     {
         $box_no = $request->get('box_no');
-        $bike = Bike::where('box_no', $box_no)->first();
+        $bike = Bike::query()->where('box_no', $box_no)->first();
         $key = $bike->blu_ase_key ?? '';
         return $this->ok(['key' => $key]);
     }

+ 50 - 7
app/Http/Controllers/App/OrderController.php

@@ -13,6 +13,7 @@ use App\Filters\RechargeOrderFilter;
 use App\Filters\UserFilter;
 use App\Filters\WalletLogFilter;
 use App\Http\Resources\App\OrderResource;
+use App\Models\AdminMerchant;
 use App\Models\AdminUser;
 use App\Models\AdminUserArea;
 use App\Models\Bike;
@@ -49,6 +50,7 @@ class OrderController extends AppBaseController
         $area_ids = self::$areaIds;
         $order = Order::query()
             ->whereIn('area_id', $area_ids)
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($filter)
             ->with('users')
             ->where('status', '!=', Order::STATUS_CLOSE_ORDER)
@@ -71,11 +73,13 @@ class OrderController extends AppBaseController
         $area_ids = self::$areaIds;
         // 总订单数
         $order_total = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->count('id');
         $order_rent_total = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -83,12 +87,14 @@ class OrderController extends AppBaseController
         $order_total += $order_rent_total;
         // 今日新增订单数
         $today_add_order = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('created_at', '>', Carbon::today())
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->count('id');
         $today_add_order_rent = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('pay_time', '>', Carbon::today())
@@ -102,11 +108,13 @@ class OrderController extends AppBaseController
             Order::STATUS_PAUSE_BIKE,
         ];
         $riding_order = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->whereIn('status', $riding_status)
             ->count('id');
         $riding_order_rent = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', OrderRent::STATUS_RENT_BIKE)
@@ -114,11 +122,13 @@ class OrderController extends AppBaseController
         $riding_order += $riding_order_rent;
         // 待支付
         $waiting_pay_order = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', Order::STATUS_CLOSE_BIKE)
             ->count('id');
         $waiting_pay_rent = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', OrderRent::STATUS_CLOSE_RENT_BIKE)
@@ -127,12 +137,14 @@ class OrderController extends AppBaseController
 
         // 今日新增收入
         $today_add_money = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('pay_time', '>', Carbon::today())
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
         $today_add_money_rent = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('pay_time', '>', Carbon::today())
@@ -185,11 +197,13 @@ class OrderController extends AppBaseController
 //            ->whereIn('type', WalletLog::$subType)
 //            ->sum('money');
         $totalOrderProfit = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->sum('pay_money');
         $totalOrderRentProfit = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -197,6 +211,7 @@ class OrderController extends AppBaseController
         $totalProfit = bcadd($totalOrderProfit, $totalOrderRentProfit, 0);
         // 总押金
         $depositTotal = DepositOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', DepositOrder::PAY_STATUS_OK)
             ->where('is_refund', DepositOrder::REFUND_NO)
             ->whereIn('area_id', $area_ids)
@@ -210,12 +225,14 @@ class OrderController extends AppBaseController
 //            ->where('created_at', '>', Carbon::today())
 //            ->sum('money');
         $todayOrderProfit = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->where('created_at', '>', Carbon::today())
             ->sum('pay_money');
         $todayOrderRentProfit = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -224,6 +241,7 @@ class OrderController extends AppBaseController
         $todayProfit = bcadd($todayOrderProfit, $todayOrderRentProfit, 0);
         // 今日新增押金
         $depositToday = DepositOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', DepositOrder::PAY_STATUS_OK)
             ->where('is_refund', DepositOrder::REFUND_NO)
             ->whereIn('area_id', $area_ids)
@@ -238,12 +256,14 @@ class OrderController extends AppBaseController
 //            ->where('created_at', '>', Carbon::today()->format('Y-m-01 00:00:00'))
 //            ->sum('money');
         $monthOrderProfit = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->where('created_at', '>', Carbon::today()->format('Y-m-01 00:00:00'))
             ->sum('pay_money');
         $monthOrderRentProfit = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
@@ -286,6 +306,7 @@ class OrderController extends AppBaseController
 
         // 总收益
         $totalProfit = WalletLog::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($walletLogFilter)
             ->whereIn('area_id', $area_ids)
             ->where('created_at', '>', date('Y-m-d H:i:s', strtotime($time_between[0])))
@@ -294,6 +315,7 @@ class OrderController extends AppBaseController
             ->sum('money');
         // 总押金
         $depositTotal = DepositOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', DepositOrder::PAY_STATUS_OK)
             ->where('is_refund', DepositOrder::REFUND_NO)
             ->whereIn('area_id', $area_ids)
@@ -301,6 +323,7 @@ class OrderController extends AppBaseController
             ->sum('pay_money');
         // 普通订单
         $orderTotalProfit = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', Order::PAY_STATUS_OK)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
@@ -308,18 +331,21 @@ class OrderController extends AppBaseController
             ->sum('pay_money');
         // 骑行花费
         $orderTotalTimeProfit = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', Order::PAY_STATUS_OK)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->sum('time_money');
         $orderTotal = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', Order::PAY_STATUS_OK)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
             ->filter($orderFilter)
             ->count();
         $orderDispatchTotalProfit = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', Order::PAY_STATUS_OK)
             ->where('status', Order::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
@@ -327,6 +353,7 @@ class OrderController extends AppBaseController
             ->sum('dispatch_money');
         // 日租订单
         $orderRentTotalProfit = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', OrderRent::PAY_STATUS_OK)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
@@ -334,6 +361,7 @@ class OrderController extends AppBaseController
             ->sum('pay_money');
         // 日租超时花费
         $orderRentTotalTimeProfit = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', OrderRent::PAY_STATUS_OK)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
@@ -341,12 +369,14 @@ class OrderController extends AppBaseController
             ->sum('time_money');
         // 日租租金
         $orderRentTotalRentProfit = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', OrderRent::PAY_STATUS_OK)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
             ->filter($orderRentFilter)
             ->sum('rent_money');
         $orderRentTotal = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', OrderRent::PAY_STATUS_OK)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
@@ -354,6 +384,7 @@ class OrderController extends AppBaseController
             ->count();
         // 日租调度费
         $orderRentDispatchTotalProfit = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->where('pay_status', OrderRent::PAY_STATUS_OK)
             ->where('status', OrderRent::STATUS_COMPLETE_ORDER)
             ->whereIn('area_id', $area_ids)
@@ -362,6 +393,7 @@ class OrderController extends AppBaseController
 
         // 已实名用户数
         $userTotalCardOk = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($userFilter)
             ->whereIn('register_area_id', $area_ids)
             ->where('is_card_certified', User::CARD_OK)
@@ -371,6 +403,7 @@ class OrderController extends AppBaseController
 
         // 已缴纳押金用户数
         $userDepositTotal = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($userFilter)
             ->whereIn('register_area_id', $area_ids)
             ->where('is_card_certified', User::CARD_OK)
@@ -379,12 +412,14 @@ class OrderController extends AppBaseController
             ->count();
 
         $orderWaitPay = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($orderFilter)
             ->where('status', Order::STATUS_CLOSE_BIKE)
             ->whereIn('area_id', $area_ids)
             ->sum('pay_money');
 
         $orderRentWaitPay = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_CLOSE_RENT_BIKE)
             ->whereIn('area_id', $area_ids)
@@ -392,12 +427,14 @@ class OrderController extends AppBaseController
         // 待支付
         $wiatPayTotal = bcadd($orderWaitPay, $orderRentWaitPay, 2);
         $orderWaitPayNum = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($orderFilter)
             ->where('status', Order::STATUS_CLOSE_BIKE)
             ->whereIn('area_id', $area_ids)
             ->count();
 
         $orderRentWaitPayNum = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($orderRentFilter)
             ->where('status', OrderRent::STATUS_CLOSE_RENT_BIKE)
             ->whereIn('area_id', $area_ids)
@@ -405,25 +442,30 @@ class OrderController extends AppBaseController
         $wiatNum = bcadd($orderWaitPayNum, $orderRentWaitPayNum);
 
         $bikeTotal = Bike::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($bikeFilter)
             ->where('put_status', Bike::PUT_STATUS_YES)
             ->whereIn('put_area_id', $area_ids)
             ->count();
         $totalUsers = User::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($userFilter)
             ->whereIn('register_area_id', $area_ids)
             ->count();
         $riddingCardOrderTotalProfit = CardRidingOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($cardRidingOrderFilter)
             ->where('pay_status', CardRidingOrder::PAY_STATUS_OK)
             ->sum('pay_money');
         $rechargeOrderTotalProfit = RechargeOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($rechargeOrderFilter)
             ->where('pay_status', RechargeOrder::PAY_STATUS_OK)
             ->sum('pay_money');
         $depositCardTotalProfit = DepositCardOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($depositCardOrderFilter)
             ->where('pay_status', DepositCardOrder::PAY_STATUS_OK)
@@ -468,7 +510,7 @@ class OrderController extends AppBaseController
         $order_id = $request->get('order_id') ?? '';
         if (empty($order_id)) return $this->error('参数错误');
 
-        $order = Order::query()->find($order_id);
+        $order = Order::query()->where(AdminMerchant::getMerchantWhere())->where('id',$order_id)->first();
         if (empty($order)) return $this->error('找不到该订单,参数错误');
         $orderLocations = [];
         $wx_orderLocations = [];
@@ -699,6 +741,7 @@ class OrderController extends AppBaseController
     public function orderChart($days, $orderFilter, $dispatch_money = false)
     {
         $newOrders = Order::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($orderFilter)
             ->where('status', Order::STATUS_COMPLETE_ORDER);
         if ($dispatch_money) {
@@ -915,11 +958,11 @@ class OrderController extends AppBaseController
     public function profitChart(Request $request, OrderFilter $orderFilter, RechargeOrderFilter $rechargeOrderFilter, CardRidingOrderFilter $cardRidingOrderFilter, DepositCardOrderFilter $depositCardOrderFilter)
     {
         $days = $request->get('days') ?? '';
-        $ordersChart = $this->profitPolygonalChart($days, $orderFilter, Order::query());
-        $ordersDispatchMoneyChart = $this->profitPolygonalChart($days, $orderFilter, Order::query(), 'dispatch_money');
-        $rechargeOrdersChart = $this->profitPolygonalChart($days, $rechargeOrderFilter, RechargeOrder::query());
-        $cardRidingOrdersChart = $this->profitPolygonalChart($days, $cardRidingOrderFilter, CardRidingOrder::query());
-        $depositCardOrdersChart = $this->profitPolygonalChart($days, $depositCardOrderFilter, DepositCardOrder::query());
+        $ordersChart = $this->profitPolygonalChart($days, $orderFilter, Order::query()->where(AdminMerchant::getMerchantWhere()));
+        $ordersDispatchMoneyChart = $this->profitPolygonalChart($days, $orderFilter, Order::query()->where(AdminMerchant::getMerchantWhere()), 'dispatch_money');
+        $rechargeOrdersChart = $this->profitPolygonalChart($days, $rechargeOrderFilter, RechargeOrder::query()->where(AdminMerchant::getMerchantWhere()));
+        $cardRidingOrdersChart = $this->profitPolygonalChart($days, $cardRidingOrderFilter, CardRidingOrder::query()->where(AdminMerchant::getMerchantWhere()));
+        $depositCardOrdersChart = $this->profitPolygonalChart($days, $depositCardOrderFilter, DepositCardOrder::query()->where(AdminMerchant::getMerchantWhere()));
         $total = [];
         foreach ($ordersChart as $k => $v) {
             $total[] = [
@@ -1007,7 +1050,7 @@ class OrderController extends AppBaseController
             }
 //            Cache::forget($key);
             $weeks["{$date}"] = Cache::remember($key, Carbon::parse("+{$c}day")->diffInMinutes(Carbon::now()), function () use ($date, $day,$filter,$area_ids) {
-                return array_replace($day, Order::query()->filter($filter)->whereDate("created_at", $date)->whereIn('area_id',$area_ids)->select(DB::raw("count(*) as num,DATE_FORMAT(created_at,'%H') as hour"))->groupBy("hour")->get()->mapWithKeys(function ($item) {
+                return array_replace($day, Order::query()->where(AdminMerchant::getMerchantWhere())->filter($filter)->whereDate("created_at", $date)->whereIn('area_id',$area_ids)->select(DB::raw("count(*) as num,DATE_FORMAT(created_at,'%H') as hour"))->groupBy("hour")->get()->mapWithKeys(function ($item) {
                     $arr = [
                         'num' => (integer)$item->num,
                         'hour' => (integer)$item->hour,

+ 3 - 1
app/Http/Controllers/App/OrderRentController.php

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\App;
 
 use App\Filters\OrderRentFilter;
 use App\Http\Resources\App\OrderRentResource;
+use App\Models\AdminMerchant;
 use App\Models\LocationsLog;
 use App\Models\OrderRent;
 use Illuminate\Http\Request;
@@ -19,6 +20,7 @@ class OrderRentController extends AppBaseController
     {
         $area_ids = self::$areaIds;
         $order = OrderRent::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($filter)
             ->where('status', '!=', OrderRent::STATUS_CLOSE_ORDER)
@@ -37,7 +39,7 @@ class OrderRentController extends AppBaseController
         $order_id = $request->get('order_id') ?? '';
         if (empty($order_id)) return $this->error('参数错误');
 
-        $order = OrderRent::query()->find($order_id);
+        $order = OrderRent::query()->where(AdminMerchant::getMerchantWhere())->find($order_id);
         if (empty($order)) return $this->error('找不到该订单,参数错误');
         $orderLocations = [];
         $wx_orderLocations = [];

+ 4 - 3
app/Http/Controllers/App/ParkingController.php

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\App;
 use App\Filters\ParkingFilter;
 use App\Http\Requests\ParkingRequest;
 use App\Http\Resources\App\ParkingResource;
+use App\Models\AdminMerchant;
 use App\Models\AdminUserArea;
 use App\Models\Area;
 use App\Models\Parking;
@@ -29,7 +30,7 @@ class ParkingController extends AppBaseController
     public function index(Request $request, ParkingFilter $filter)
     {
         $admin_id = Admin::user()->id;
-        $parking = Parking::query()->filter($filter)->orderByDesc('id');
+        $parking = Parking::query()->where(AdminMerchant::getMerchantWhere())->filter($filter)->orderByDesc('id');
 
         if (!Admin::isAdministrator()) {
             $area_ids = self::$areaIds;
@@ -171,7 +172,7 @@ class ParkingController extends AppBaseController
         // 判断权限
         $admin_id = Admin::user()->id;
         $area_ids = self::$areaIds;
-        $parking = Parking::query()->find($parking_id);
+        $parking = Parking::query()->where(AdminMerchant::getMerchantWhere())->find($parking_id);
         if (empty($parking)) return $this->error('找不到停车区,请检查参数');
         $area_id = $parking->area_id;
         if (!in_array($area_id, $area_ids)) {
@@ -201,7 +202,7 @@ class ParkingController extends AppBaseController
     {
         $name = $request->get('name') ?? '';
         if (empty($name)) return $this->error('参数错误');
-        $parking = Parking::where('name', $name)->first();
+        $parking = Parking::query()->where(AdminMerchant::getMerchantWhere())->where('name', $name)->first();
         if (empty($parking)) {
             return $this->ok(['status' => 1]);
         } else {

+ 77 - 56
app/Http/Controllers/App/UserController.php

@@ -12,6 +12,7 @@ use App\Http\Resources\App\UserResource;
 use App\Http\Resources\App\OrderResource;
 use App\Http\Resources\QuestionResource;
 use App\Http\Resources\UserRepairedResource;
+use App\Models\AdminMerchant;
 use App\Models\AdminUser;
 use App\Models\AdminUserArea;
 use App\Models\Order;
@@ -36,14 +37,16 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function userList(UserFilter $filter){
+    public function userList(UserFilter $filter)
+    {
         $area_ids = self::$areaIds;
         $user = User::query()
-        ->whereIn('register_area_id',$area_ids)
-            ->where('is_bind_mobile',User::BIND_MOBILE_OK)
-        ->filter($filter)
+            ->where(AdminMerchant::getMerchantWhere())
+            ->whereIn('register_area_id', $area_ids)
+            ->where('is_bind_mobile', User::BIND_MOBILE_OK)
+            ->filter($filter)
             ->orderByDesc('id')
-        ->paginate();
+            ->paginate();
         return $this->ok(UserResource::collection($user));
     }
 
@@ -55,14 +58,15 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function userDetail(Request $request){
+    public function userDetail(Request $request)
+    {
         $user_id = $request->get('user_id') ?? '';
-        if(empty($user_id)) return $this->error('参数错误');
-        $userDetail = User::query()->find($user_id);
-        if(empty($userDetail)) return $this->error('找不到该用户,参数错误');
+        if (empty($user_id)) return $this->error('参数错误');
+        $userDetail = User::query()->where(AdminMerchant::getMerchantWhere())->where('id', $user_id)->first();
+        if (empty($userDetail)) return $this->error('找不到该用户,参数错误');
 
         $data = [
-            'username' => $userDetail->nickname.($userDetail->truename ? '('.$userDetail->truename.')' : ''),
+            'username' => $userDetail->nickname . ($userDetail->truename ? '(' . $userDetail->truename . ')' : ''),
             'mobile' => $userDetail->mobile ?? '',
             'area' => $userDetail->areas->name ?? '',
             'deposit' => $userDetail->deposit_money ?? 0,
@@ -78,12 +82,13 @@ class UserController extends AppBaseController
     public function updateRemark(RemarkRequest $request, $id)
     {
         //
-        $user = User::find($id);
+        $user = User::query()->where(AdminMerchant::getMerchantWhere())->where('id', $id)->first();
         $inputs = $request->validated();
         // Log::info($id);
         $user->update($inputs);
         return $this->ok('修改成功');
     }
+
     /**
      * historicalOrder 历史订单
      *
@@ -92,15 +97,17 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function historicalOrder(Request $request){
+    public function historicalOrder(Request $request)
+    {
         $user_id = $request->get('user_id') ?? '';
-        if(empty($user_id)) return $this->error('参数错误');
+        if (empty($user_id)) return $this->error('参数错误');
 
         $order = Order::query()
-            ->where('user_id',$user_id)
+            ->where(AdminMerchant::getMerchantWhere())
+            ->where('user_id', $user_id)
             // ->where('status',Order::STATUS_COMPLETE_ORDER)
             ->orderByDesc('id')
-           ->paginate();
+            ->paginate();
         return $this->ok(OrderResource::collection($order));
 
     }
@@ -113,12 +120,14 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function historicalOrderRent(Request $request){
+    public function historicalOrderRent(Request $request)
+    {
         $user_id = $request->get('user_id') ?? '';
-        if(empty($user_id)) return $this->error('参数错误');
+        if (empty($user_id)) return $this->error('参数错误');
 
         $order = OrderRent::query()
-            ->where('user_id',$user_id)
+            ->where(AdminMerchant::getMerchantWhere())
+            ->where('user_id', $user_id)
             // ->where('status',Order::STATUS_COMPLETE_ORDER)
             ->orderByDesc('id')
             ->paginate();
@@ -135,44 +144,50 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function userStatistics(UserFilter $filter,OrderFilter $orderFilter){
+    public function userStatistics(UserFilter $filter, OrderFilter $orderFilter)
+    {
         $area_ids = self::$areaIds;
         // 总用户
         $totalUser = User::query()
-            ->whereIn('register_area_id',$area_ids)
+            ->where(AdminMerchant::getMerchantWhere())
+            ->whereIn('register_area_id', $area_ids)
             ->filter($filter)
             ->count('id');
 
         // 押金用户
         $depositUser = User::query()
-            ->whereIn('register_area_id',$area_ids)
-            ->where('is_deposit',User::DEPOSIT_OK)
+            ->where(AdminMerchant::getMerchantWhere())
+            ->whereIn('register_area_id', $area_ids)
+            ->where('is_deposit', User::DEPOSIT_OK)
             ->filter($filter)
             ->count('id');
         //有效用户
         $cardUser = User::query()
-            ->whereIn('register_area_id',$area_ids)
-            ->where('is_card_certified',User::CARD_OK)
+            ->where(AdminMerchant::getMerchantWhere())
+            ->whereIn('register_area_id', $area_ids)
+            ->where('is_card_certified', User::CARD_OK)
             ->filter($filter)
             ->count('id');
 
         //今日新增
         $todayAddUser = User::query()
-            ->whereIn('register_area_id',$area_ids)
-            ->where('is_card_certified',User::CARD_OK)
-            ->where('created_at','>',Carbon::today())
+            ->where(AdminMerchant::getMerchantWhere())
+            ->whereIn('register_area_id', $area_ids)
+            ->where('is_card_certified', User::CARD_OK)
+            ->where('created_at', '>', Carbon::today())
             ->filter($filter)
             ->count('id');
 
         // 今日活跃
         $todayActiveOrder = Order::query()
-            ->whereIn('area_id',$area_ids)
-            ->where('created_at','>',Carbon::today())
+            ->where(AdminMerchant::getMerchantWhere())
+            ->whereIn('area_id', $area_ids)
+            ->where('created_at', '>', Carbon::today())
             ->filter($orderFilter)
-        ->get(['user_id'])
-        ->toArray();
+            ->get(['user_id'])
+            ->toArray();
         $todayActiveUserArr = [];
-        foreach ($todayActiveOrder as $v){
+        foreach ($todayActiveOrder as $v) {
             $todayActiveUserArr[] = $v['user_id'];
         }
         $todayActiveUser = count(array_unique($todayActiveUserArr)); //去重复后计算总数
@@ -195,11 +210,12 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function newUsersChart(Request $request,UserFilter $userFilter)
+    public function newUsersChart(Request $request, UserFilter $userFilter)
     {
         $days = $request->get('days') ?? '';
         if (empty($days)) return $this->error('缺少参数');
         $newUsers = User::query()
+//            ->where(AdminMerchant::getMerchantWhere())
             ->filter($userFilter)
             ->where('is_card_certified', User::CARD_OK);
 
@@ -239,8 +255,8 @@ class UserController extends AppBaseController
                 //合并
                 $merge = array_merge($arr, $newOrdersKeyVal);
                 $data = [];
-                foreach ($merge as $key=>$value){
-                    $data[]=['date'=>$key,'value'=>$value];
+                foreach ($merge as $key => $value) {
+                    $data[] = ['date' => $key, 'value' => $value];
                 }
 
                 break;
@@ -261,12 +277,12 @@ class UserController extends AppBaseController
                 return $this->error('参数错误');
 
         }
-        if($days !== 'today'){
+        if ($days !== 'today') {
             $paramDays = Carbon::today()->subDays($i);
 
             // 赋值一个值为0得数组
             $arr = [];
-            for ($i ; $i >= 0; $i--){
+            for ($i; $i >= 0; $i--) {
                 $str = Carbon::today()->subDays($i)->format('Y/m/d');
                 $arr[$str] = 0;
             }
@@ -276,17 +292,17 @@ class UserController extends AppBaseController
                 ->selectRaw('DATE_FORMAT(created_at,"%Y/%m/%d") as date,count(id) as value')
                 ->groupBy('date')->get()->toArray();
             $newOrdersKeyVal = [];
-            if(!empty($newOrders)){
-                foreach ($newOrders as $v){
+            if (!empty($newOrders)) {
+                foreach ($newOrders as $v) {
                     $newOrdersKeyVal[$v['date']] = $v['value'];
                 }
             }
             // 合并覆盖0
-            $merge = array_merge($arr,$newOrdersKeyVal);
+            $merge = array_merge($arr, $newOrdersKeyVal);
             // 重组结构
             $data = [];
-            foreach ($merge as $ks=>$vs){
-                $data[]=['date'=>$ks,'value'=>$vs];
+            foreach ($merge as $ks => $vs) {
+                $data[] = ['date' => $ks, 'value' => $vs];
             }
         }
 
@@ -303,12 +319,14 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function userRepaired(Request $request,UserRepairedFilter $userRepairedFilter){
+    public function userRepaired(Request $request, UserRepairedFilter $userRepairedFilter)
+    {
         $area_ids = self::$areaIds;
         $repaired = Trouble::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($userRepairedFilter)
             ->with(['users'])
-            ->whereIn('area_id',$area_ids)
+            ->whereIn('area_id', $area_ids)
             ->orderByDesc('id')
             ->paginate();
 
@@ -323,13 +341,14 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function updateUserRepairedStatus(Request $request){
+    public function updateUserRepairedStatus(Request $request)
+    {
         $id = $request->get('id') ?? '';
-        if(empty($id)) return $this->error('参数错误');
+        if (empty($id)) return $this->error('参数错误');
 
-        $repaired = Trouble::find($id);
+        $repaired = Trouble::query()->where('id',$id)->where(AdminMerchant::getMerchantWhere())->first();
 
-        if(empty($repaired)) return $this->error('参数错误,找不到该报修');
+        if (empty($repaired)) return $this->error('参数错误,找不到该报修');
 
         $repaired->status = 1;
         $repaired->save();
@@ -350,7 +369,7 @@ class UserController extends AppBaseController
         $imgIds = $request->get('imgIds') ?? [];
         if (empty($imgIds)) return $this->error('参数错误');
 
-        $images = Upload::query()->whereIn('id', $imgIds)->get(['url'])->toArray();
+        $images = Upload::query()->whereIn('id', $imgIds)->where(AdminMerchant::getMerchantWhere())->get(['url'])->toArray();
 
         return $this->ok($images);
     }
@@ -365,14 +384,15 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function feedback(Request $request,QuestionFilter $filter)
+    public function feedback(Request $request, QuestionFilter $filter)
     {
         $area_ids = self::$areaIds;
 //        dd($area_ids);
         $question = Questions::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($filter)
             ->orderByDesc('id')
-            ->whereIn('area_id',$area_ids)
+            ->whereIn('area_id', $area_ids)
             ->paginate();
 
         return $this->ok(QuestionResource::collection($question));
@@ -386,18 +406,19 @@ class UserController extends AppBaseController
      * @author Fx
      *
      */
-    public function isReadChange(Request $request){
+    public function isReadChange(Request $request)
+    {
         $id = $request->get('id') ?? 0;
-        $question = Questions::find($id);
-        if(empty($question)){
+        $question = Questions::query()->where('id',$id)->where(AdminMerchant::getMerchantWhere())->first();
+        if (empty($question)) {
             return $this->error('参数错误');
         }
 
         $question->is_read = Questions::READ_YES;
         $bool = $question->save();
-        if($bool){
+        if ($bool) {
             return $this->ok('修改成功');
-        }else{
+        } else {
             return $this->error('发生错误,请联系管理员');
         }
     }

+ 10 - 5
app/Http/Controllers/App/WorkOrderController.php

@@ -7,6 +7,7 @@ use App\Http\Resources\App\WorkOrderResource;
 use App\Http\Resources\WarningLogResource;
 use App\Jobs\VerifyChargeWorkOrderJob;
 use App\Jobs\VerifyWatchWorkOrderJob;
+use App\Models\AdminMerchant;
 use App\Models\AdminUser;
 use App\Models\Bike;
 use App\Models\LocationsLog;
@@ -36,6 +37,7 @@ class WorkOrderController extends AppBaseController
     {
         $area_ids = self::$areaIds;
         $workOrderList = WorkOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($workOrderFilter)
             ->orderBy('planned')
@@ -58,6 +60,7 @@ class WorkOrderController extends AppBaseController
         $admin_id = Admin::user()->id;
         $area_ids = self::$areaIds;
         $workOrderList = WorkOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->filter($workOrderFilter)
             ->where('worker_id', $admin_id)
@@ -80,7 +83,7 @@ class WorkOrderController extends AppBaseController
 
         $work_order_id = $request->get('work_order_id') ?? '';
         if (empty($work_order_id)) return $this->error('参数错误');
-        $worker_order = WorkOrder::query()->find($work_order_id);
+        $worker_order = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())->where('id',$work_order_id)->first();
         if (empty($worker_order)) return $this->error('找不到该工单信息,请联系管理员');
 
         // 创建者
@@ -182,6 +185,7 @@ class WorkOrderController extends AppBaseController
     {
         $area_ids = self::$areaIds;
         $type_num = WorkOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->whereIn('area_id', $area_ids)
             ->where('status', WorkOrder::STATUS_NO)
             ->filter($filter)
@@ -243,6 +247,7 @@ class WorkOrderController extends AppBaseController
 
 
         $planned_num = WorkOrder::query()
+            ->where(AdminMerchant::getMerchantWhere())
             ->filter($filter)
             ->groupBy('planned')
             ->select('planned', DB::raw('COUNT(id) as planned_num'))
@@ -303,7 +308,7 @@ class WorkOrderController extends AppBaseController
 
         $work_order_id = $request->get('work_order_id') ?? '';
         if (empty($work_order_id)) return $this->error('参数错误');
-        $worker_order = WorkOrder::query()->find($work_order_id);
+        $worker_order = WorkOrder::query()->where('id',$work_order_id)->where(AdminMerchant::getMerchantWhere())->first();
         if (empty($worker_order)) return $this->error('找不到该工单信息,请联系管理员');
         // 加锁防止重复
         $lock = $this->makeReceiveWorkLock($work_order_id);
@@ -354,7 +359,7 @@ class WorkOrderController extends AppBaseController
         $work_order_id = $request->get('work_order_id') ?? '';
         if (empty($work_order_id)) return $this->error('参数错误');
         //验证工单存在
-        $work_order = WorkOrder::query()->find($work_order_id);
+        $work_order = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())->find($work_order_id);
         if (empty($work_order)) return $this->error('找不到该工单信息,请联系管理员');
         $work_order_type = $work_order->type;
         $worker_id = $work_order->worker_id;
@@ -478,7 +483,7 @@ class WorkOrderController extends AppBaseController
         $remark = $request->get('remark') ?? '';
         if (empty($work_order_id) || empty($remark)) return $this->error('参数错误');
         //验证工单存在
-        $work_order = WorkOrder::query()->find($work_order_id);
+        $work_order = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())->find($work_order_id);
         if (empty($work_order)) return $this->error('找不到该工单信息,请联系管理员');
         $admin_id = Admin::user()->id;
         $worker_id = $work_order->worker_id;
@@ -516,7 +521,7 @@ class WorkOrderController extends AppBaseController
         $workOrderId = $request->get('id');
         $is_limit_type = $request->get('is_limit_type', 1);
 
-        $workOrder = WorkOrder::find($workOrderId);
+        $workOrder = WorkOrder::query()->where(AdminMerchant::getMerchantWhere())->find($workOrderId);
         if (empty($workOrder)) return $this->error('找不到工单');
 
         $warning = WarningLog::query()

+ 4 - 3
app/Http/Middleware/MerchantMiddleware.php

@@ -19,10 +19,11 @@ class MerchantMiddleware
     public function handle($request, Closure $next)
     {
         if(!Admin::user()->isRole(AdminRole::ADMINISTROTOR)){
-            $is_status = AdminMerchant::query()->where(['admin_id' => Admin::user()->id,'status'=>AdminMerchant::NORMAL])->first();
+            $merchant_id = AdminMerchant::putMerchantId();
+            $is_status = AdminMerchant::query()->where(['id' => $merchant_id,'status'=>AdminMerchant::NORMAL])->first();
             if(!$is_status){
-//                return response()->json(['error'=>'账户已失效,请联系管理员']);
-                return response()->view('admin.404');
+               return response()->json(['message' => '账户已失效,请联系管理员'], 400);
+//                return response()->view('admin.404');
             }
         }
         return $next($request);

+ 8 - 1
app/Models/AdminMerchant.php

@@ -58,7 +58,14 @@ class AdminMerchant extends Model
             $where = [];
         } else if (Admin::user()->isRole(AdminRole::MERCHANTSADMIN)) {
             // 商户
-            $where['merchant_id'] = AdminMerchant::query()->where(['admin_id' => Admin::user()->id])->first(['id'])['id'];
+            $merchant_id = \Session::get('sh_merchant_id');
+            if (empty($merchant_id)) {
+                $merchant_id = AdminMerchant::query()->where(['admin_id' => Admin::user()->id])->first(['id'])['id'];
+                \Session::put('sh_merchant_id', $merchant_id);
+            }
+            $where['merchant_id'] = $merchant_id;
+
+
         } else {
 //            非商户
             $where['merchant_id'] = Admin::user()->merchant_id;

+ 8 - 8
routes/admin.php

@@ -6,14 +6,6 @@ Route::middleware([
     'auth:admin',
     'admin.permission',
 ])->group(function () {
-    Route::prefix('configs')
-        ->as('configs.')
-        ->group(function () {
-            Route::get('vue-routers', 'ConfigController@vueRouters')->name('vue-routers');
-        });
-    Route::put('configs/values', 'ConfigController@updateValues')->name('configs.update_values');
-    Route::resource('configs', 'ConfigController')->except(['show']);
-    Route::get('configs/{categorySlug}', 'ConfigController@getByCategorySlug')->name('configs.by_category_slug');
     Route::get('configs/{categorySlug}/values', 'ConfigController@getValuesByCategorySlug')
         ->name('configs.values.by_category_slug');
 });
@@ -49,6 +41,14 @@ Route::middleware([
 
     Route::resource('config-categories', 'ConfigCategoryController')->except(['show', 'create']);
 
+    Route::prefix('configs')
+        ->as('configs.')
+        ->group(function () {
+            Route::get('vue-routers', 'ConfigController@vueRouters')->name('vue-routers');
+        });
+    Route::put('configs/values', 'ConfigController@updateValues')->name('configs.update_values');
+    Route::resource('configs', 'ConfigController')->except(['show']);
+    Route::get('configs/{categorySlug}', 'ConfigController@getByCategorySlug')->name('configs.by_category_slug');
 
 
     Route::resource('system-media-categories', 'SystemMediaCategoryController')->except(['show', 'create']);

+ 3 - 3
routes/api.php

@@ -21,7 +21,7 @@ Route::get('test', 'TestController@test');
 
 
 Route::middleware([
-    'auth:api','singleLoginApi','limitAdminLoginApp'
+    'auth:api','singleLoginApi','limitAdminLoginApp','detection_of_merchant_status'
 ])->group(function () {
     // 登出
     Route::post('auth/logout', 'Auth\LoginController@logout')->name('logout');
@@ -130,9 +130,9 @@ Route::middleware([
 
 Route::get('order/orderLocation', 'OrderController@orderLocation');  // 订单轨迹
 Route::post('bike/getLocationByBikeNoAndTime', 'BikeController@getLocationByBikeNoAndTime'); // 车辆位置信息
-Route::get('order/heatMap', 'OrderController@heatMap');  // 订单热力图
+Route::get('order/heatMap', 'OrderController@heatMap');  // 订单热力图 @todo
 
-Route::get('user/newUsersChart', 'UserController@newUsersChart');  //
+Route::get('user/newUsersChart', 'UserController@newUsersChart');  // @todo
 
 
 // 厂测