#include "deviceAPI.h" /** * @brief 设备是否已经认证 * @param void * @return 设备认证状态 * - true 已认证 * - false 未认证 * @author 柯劲帆 * @date 2024-07-28 */ bool Device::is_verified() { return verified; } /** * @brief 设备是否可充值 * @param void * @return 设备充值权限 * - true 可充值 * - false 不可充值(仅可消费) * @author 柯劲帆 * @date 2024-07-29 */ bool Device::is_depositAllowed() { return depositAllowed; } /** * @brief 设置并认证设备 * 认证设备会更新设备名、充值权限和设备ID。 * @param name 设备名 * @param db 数据库 * @return void * @author 柯劲帆 * @date 2024-07-28 */ void Device::setDevice(QString name, Database* db) { QSqlQuery query(db->getDatabase()); query.prepare(QString("select id, depositAllowed from device " "where name = :name;")); query.bindValue(":name", name); query.exec(); if (query.next()) { verified = true; this->name = name; depositAllowed = query.value("depositAllowed").toBool(); id = query.value("id").toInt(); } else { verified = false; depositAllowed = false; id = -1; } } /** * @brief 获取设备名及其充值权限 * @param void * @return QString 设备名及其充值权限 * - 若设备未认证返回"未指定设备名" * - 若设备已认证 * - 若设备可充值,返回设备名加"(可充值)" * - 若设备不可充值,返回设备名加"(仅可消费) * @author 柯劲帆 * @date 2024-07-28 */ QString Device::getNameAndDepositAllowed() { if (verified) { if (depositAllowed) return name + QString("(可充值)"); else return name + QString("(仅可消费)"); } else return QString("未指定设备名"); } /** * @brief 获取设备名 * @param void * @return QString 设备名(name属性) * - 若设备未认证返回"未指定设备名" * - 若设备已认证返回设备名 * @author 柯劲帆 * @date 2024-07-29 */ QString Device::getName() { if (verified) return name; else return QString("未指定设备名"); } /** * @brief 获取设备ID * @param void * @return int 设备ID * - 若设备未认证返回-1 * - 若设备已认证返回设备ID * @author 柯劲帆 * @date 2024-07-30 */ int Device::getId() { if (verified) return id; else return -1; }