feat: 定期更新用户位置
This commit is contained in:
parent
4dbd2a3bef
commit
c67d511ee7
|
|
@ -149,4 +149,40 @@ class WorkerService extends BaseService
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新师傅位置
|
||||||
|
* @param int $workerId
|
||||||
|
* @param float $latitude
|
||||||
|
* @param float $longitude
|
||||||
|
* @return true
|
||||||
|
*/
|
||||||
|
public function updateWorkerLocation(int $workerId, float $latitude, float $longitude)
|
||||||
|
{
|
||||||
|
$worker = $this->getWorkerModel()->find($workerId);
|
||||||
|
if (empty($worker)) {
|
||||||
|
$this->apiError('更新位置失败,用户不存在');
|
||||||
|
}
|
||||||
|
|
||||||
|
$worker->lat = $latitude;
|
||||||
|
$worker->lng = $longitude;
|
||||||
|
$worker->location_update_time = datetime(time());
|
||||||
|
$worker->update_time = datetime(time());
|
||||||
|
$worker->save();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,4 +77,21 @@ class Worker extends WorkerApi
|
||||||
{
|
{
|
||||||
$this->success('操作成功', $this->user);
|
$this->success('操作成功', $this->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新师傅位置
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function updateWorkerLocation()
|
||||||
|
{
|
||||||
|
$params = $this->request->request();
|
||||||
|
$validate = $this->validate($params, \app\worker\validate\Worker::class . '.updateWorkerLocation');
|
||||||
|
if ($validate !== true) {
|
||||||
|
$this->error($validate);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->getWorkerService()->updateWorkerLocation($this->user['id'], $params['latitude'], $params['longitude']);
|
||||||
|
|
||||||
|
$this->success('操作成功');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ class Worker extends Validate
|
||||||
protected $rule = [
|
protected $rule = [
|
||||||
'code' => 'require|max:128',
|
'code' => 'require|max:128',
|
||||||
'vendor_token' => 'require|max:128',
|
'vendor_token' => 'require|max:128',
|
||||||
|
'latitude' => 'require|number',
|
||||||
|
'longitude' => 'require|number',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $message = [
|
protected $message = [
|
||||||
|
|
@ -18,5 +20,6 @@ class Worker extends Validate
|
||||||
protected $scene = [
|
protected $scene = [
|
||||||
'login' => ['code'],
|
'login' => ['code'],
|
||||||
'bindPhoneNumber' => ['code', 'vendor_token'],
|
'bindPhoneNumber' => ['code', 'vendor_token'],
|
||||||
|
'updateWorkerLocation' => ['latitude', 'longitude'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user