117 lines
2.5 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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;
}