1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * @Description: 车位模块数据库管理类,提供接口实现特定的数据库操作
- * @Author: yct
- * @Date: 2020-07-19 09:44:17
- * @LastEditTime: 2020-07-21 16:22:12
- * @LastEditors: yct
- */
- #ifndef PARKSPACE_OPERATING_FUNCTION_HH
- #define PARKSPACE_OPERATING_FUNCTION_HH
- #include "../tool/singleton.h"
- #include "../error_code/error_code.h"
- #include "../message/parkspace_allocation_message.pb.h"
- #include "database_controller.h"
- #include <atomic>
- //Parkspace_operating_function
- class Parkspace_operating_function
- {
- public:
- Parkspace_operating_function() = default;
- Parkspace_operating_function(const Parkspace_operating_function &) = delete;
- Parkspace_operating_function &operator=(const Parkspace_operating_function &) = delete;
- ~Parkspace_operating_function() = default;
- // ******** 数据库具体操作函数 *********
- // 从数据库获得所有车位信息,用于车位模块初始化
- Error_manager get_all_parkspace_info(message::Parkspace_allocation_data_msg &all_parkspace_info);
- // 获取指定类型车位信息,用于车位分配
- Error_manager get_specify_the_type_parkspace_info(message::Parkspace_allocation_data_msg &all_specify_the_type_parkspace_info,int parkspace_type);
- // 清除数据库中所有车位号牌,状态全修改为空闲
- Error_manager clear_all_parkspace_info();
- // 更新数据库中车位状态--根据车位ID修改车位状态
- Error_manager update_parkspace_data(message::Parkspace_info parkspace_info);
- // 更新数据库车辆状态,车位信息中包含车辆信息用于匹配更新
- Error_manager update_vehicle_with_parkspace(message::Parkspace_info parkspace_info, message::Vehicle_status &vehicle_status);
- // 根据车牌号更新车辆的停车记录ID
- Error_manager update_record_id(std::string license,int record_id);
- // 插入车辆
- Error_manager insert_vehicle_with_parkspace(message::Parkspace_info parkspace_info, message::Vehicle_status &vehicle_status);
- // 插入停车记录
- Error_manager insert_parking_record(message::Parkspace_info parkspace_info);
- // 更新停车记录,待计费系统加入后完善!!!
- Error_manager update_parking_record(message::Parkspace_info parkspace_info, int record_id);
- // 根据车位编号查询车位
- Error_manager query_one_parkspace_with_parkspace_id(int parkspace_id, message::Parkspace_info &parkspace_info);
- // 根据车牌号查询车位
- Error_manager query_one_parkspace_with_license(std::string license, message::Parkspace_info &parkspace_info);
- // 找到一个空车位
- Error_manager query_one_empty_parkspace(message::Parkspace_info &parkspace_info);
- // 查询车辆状态
- Error_manager query_vehicle(std::string license, message::Vehicle_status &vehicle_status, int &park_record_id);
- // 查询停车记录
- Error_manager query_parking_record(message::Parkspace_info &parkspace_info, int &record_id);
- };
- #endif // !PARKSPACE_DB_MANAGER_HH
|