$camera_ip, 'color_occupy' => $color_occupy, 'color_vacant' => $color_vacant, 'is_flicker' => $is_flicker ? 1 : 0, ]; $exists = ParkingCameraSendLog::query()->where($body)->where( 'status', 0 )->value('id'); if (!$exists) { $body['created_at'] = date("Y-m-d H:i:s", time()); ParkingCameraSendLog::query()->create($body); } else { $body['updated_at'] = date("Y-m-d H:i:s", time()); ParkingCameraSendLog::query()->where('id', $exists)->update($body); } } /** * 返回需要变更设备信息 * @return array */ public static function getBody(): array { $columns = [ 'id', 'camera_ip as ip', 'color_occupy', 'color_vacant', 'is_flicker', ]; $body = ParkingCameraSendLog::query()->where('status', 0)->select( $columns )->get()->each(function ($item) { $item['is_flicker'] = (bool)$item['is_flicker'] == 1; return $item; })->toArray(); if (!$body) { return []; } return ['list' => $body]; } /** * 变更成功回调 * @param $id * @return void */ public static function sendSuccessful($id): void { $model = ParkingCameraSendLog::query()->find($id); $model->update([ 'status' => 1, 'updated_at' => get_datetime() ]); } }