Example #1
0
 /**
  * 给设备分配应用
  * @author Hanxiang
  */
 public function alloc()
 {
     $input = Input::only('id', 'app_ids', 'ids');
     if (empty($input['app_ids'])) {
         return response()->json(['result' => 0, 'msg' => "操作失败,请选择一个应用"]);
     }
     if (isset($input['id']) && !empty($input['id'])) {
         $device_id = $input['id'];
         $device = Device::find($device_id);
         if (!$device) {
             return response()->json(['result' => 0, 'msg' => "操作失败,请选择一个可用的设备"]);
         }
         if ($device->status == 1 || $device->status == 2) {
             return response()->json(['result' => 1, 'msg' => "操作成功"]);
         }
         foreach ($input['app_ids'] as $app_id) {
             // 新增关联表记录
             $deviceApp = new DeviceApp();
             $deviceApp->device_id = $device_id;
             $deviceApp->app_id = (int) $app_id;
             $deviceApp->save();
         }
         // 修改 apps 和 devices
         $device->status = 1;
         $device->save();
     }
     if (isset($input['ids']) && !empty($input['ids'])) {
         foreach ($input['ids'] as $did) {
             $device = Device::find($did);
             if (!$device) {
                 return response()->json(['result' => 0, 'msg' => "操作失败,请选择一个可用的设备"]);
             }
             if ($device->status == 1 || $device->status == 2) {
                 continue;
             }
             foreach ($input['app_ids'] as $app_id) {
                 // 新增关联表记录
                 $deviceApp = new DeviceApp();
                 $deviceApp->device_id = (int) $did;
                 $deviceApp->app_id = (int) $app_id;
                 $deviceApp->save();
             }
             $device->status = 1;
             $device->save();
         }
     }
     return response()->json(['result' => 1, 'msg' => "操作成功"]);
 }