123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?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);
- }
- }
|