1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace App\Filters\Traits;
- use App\Models\Bike;
- use Carbon\Carbon;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Support\Facades\Log;
- trait BikesFilter
- {
- public function bikeOrBox($val){
- // 车辆编号或者控制设备编号
- // Log::info('aaa');
- $this->builder->where(function(Builder $q)use($val){
- $q->where('bike_no','like',"%{$val}%")->orWhere('box_no','like',"%{$val}%");
- });
- }
- public function allStates($val){
- switch ($val){
- case Bike::BIKE_STATES_RIDING: // 骑行中
- $this->builder->where('is_riding',Bike::RIDING_YES);
- break;
- case Bike::BIKE_STATES_NOT_RIDING: // 未骑行
- $this->builder->where('is_riding',Bike::RIDING_NO);
- break;
- case Bike::BIKE_STATES_TROUBLE: // 有故障
- $this->builder->where('is_trouble',Bike::TROUBLE_YES);
- break;
- case Bike::BIKE_STATES_LOW_POWER: // 低电量
- $this->builder->where('is_low_battery_power',Bike::BATTERY_POWER_LOW);
- break;
- case Bike::BIKE_STATES_NOT_PARKING: // 不在停车区
- $this->builder->where('is_in_parking',Bike::IN_PARKING_NO);
- break;
- case Bike::BIKE_STATES_NOT_LINK: // 离线
- $this->builder->where('is_link',Bike::LINK_OFFLINE);
- break;
- case Bike::BIKE_STATES_OFF_LINE: // 下线
- $this->builder->where('put_status',Bike::PUT_STATUS_NO);
- break;
- case Bike::BIKE_STATES_TROUBLE_OFF_LINE: // 不在停车区
- $this->builder->where('is_trouble',Bike::TROUBLE_YES)->where('put_status',Bike::PUT_STATUS_NO);
- break;
- default;
- }
- }
- public function todayUse(){
- $this->builder->where('last_use_bike_end_time','>',Carbon::today());
- }
- public function batteryPower($val){
- $this->builder->where('battery_power','<',$val);
- }
- public function bikeNoBottom($val){
- $this->builder->where('bike_no','>=',$val);
- }
- public function bikeNoTop($val){
- $this->builder->where('bike_no','<=',$val);
- }
- public function boxNoBottom($val){
- $this->builder->where('box_no','>=',$val);
- }
- public function boxNoTop($val){
- $this->builder->where('box_no','<=',$val);
- }
- public function areaId($val){
- $this->builder->where('put_area_id',$val);
- }
- }
|