/** * 计算过期事件条数 */ public function getCountEvents() { $sql_str = "select count(*) as count from "; $sql_str .= UserDeviceMeta::model()->tableName() . " where meta_name < 'event_id' group by user_id,meta_name"; $sql = Yii::app()->db->createCommand($sql_str); $user_devices = $sql->queryAll(); if (empty($user_devices)) { return 0; } return $user_devices[0]['count']; }
/** * * 删除用户设备信息 */ public function deleteUserDevice($userIds) { if ($userIds != '' && strlen($userIds) > 0) { //删除设备token信息 $data = $this->findAll("user_id in(" . $userIds . ")"); $deviceIds = $this->getIds($data); //把设备ID转移到Options表中 if (!empty($deviceIds)) { $this->delete2Option(explode(",", $deviceIds)); } //删除设备出现的token信息 $serverToken = new MTokens(); $serverToken->deleteServerToken($deviceIds); //删除设备元数据 $userDeviceMeta = new UserDeviceMeta(); $userDeviceMeta->deleteUserDeviceMeta($userIds); //删除设备自身 $this->deleteAll("user_id in(" . $userIds . ")"); } }
/** * 更新设备对应的事件ID * @param int $deviceId * @param string $key */ public function updateEvent($deviceId, $value) { $item = UserDeviceMeta::model()->find("device_id=:device_id and meta_name=:meta_name", array("device_id" => $deviceId, "meta_name" => "event_id")); if (isset($item)) { $item->meta_value = $value; $item->save(); } }