feat: 定期更新用户位置
This commit is contained in:
parent
4dbd2a3bef
commit
c67d511ee7
|
|
@ -149,4 +149,40 @@ class WorkerService extends BaseService
|
|||
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新师傅位置
|
||||
* @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 = [
|
||||
'code' => 'require|max:128',
|
||||
'vendor_token' => 'require|max:128',
|
||||
'latitude' => 'require|number',
|
||||
'longitude' => 'require|number',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
|
|
@ -18,5 +20,6 @@ class Worker extends Validate
|
|||
protected $scene = [
|
||||
'login' => ['code'],
|
||||
'bindPhoneNumber' => ['code', 'vendor_token'],
|
||||
'updateWorkerLocation' => ['latitude', 'longitude'],
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user