where(['store_id' => $store_id])->get(); } /** * 绑定 * @param $dev_name * @param $store_id * @return SpeakerDevic|null * @throws \Throwable */ public function bindByStoreId($dev_name, $store_id) { $sd = null; if ($this->checkDeviceEnable($dev_name)) { return $sd; } try { // 获取市场ID $market_id = Store::query()->where(['id' => $store_id])->value('market_id'); $sd = new SpeakerDevic; $sd->store_id = $store_id; $sd->device_name = $dev_name; $sd->market_id = $market_id; $sd->bind_time = time(); $sd->saveOrFail(); } catch (Exception $e) { $this->log->event(LogLabel::DEVICE_LOG, ['msg' => '绑定设备异常:'.$e->getMessage()]); } return $sd; } /** * 解绑 * @param $bind_id * @return int */ public function unbindById($bind_id) { return SpeakerDevic::destroy($bind_id); } /** * 发布语音消息 * @param $store_id * @param $msg */ public function pubMsgToStoreByDevName($dev_name, $msg) { return $this->IOTService->pub($dev_name, $msg); } /** * 当前设备是否已经被绑定 * @param $dev_name * @return bool */ protected function checkDeviceEnable($dev_name) { return SpeakerDevic::query()->where(['device_name' => $dev_name])->exists(); } }