diff --git a/docs/develop/开发文档.md b/docs/develop/开发文档.md index 19fd45f..dfe7826 100644 --- a/docs/develop/开发文档.md +++ b/docs/develop/开发文档.md @@ -92,6 +92,68 @@ class LogDataBase { int TotalFinanceOperationCount() noexcept { return finance_operation_count; } // 查询总交易笔数 }; ``` +## 引擎 +下辖三个数据库实例,和一个登录计数器,并存储是否为服务器模式以及数据文件存放位置。 +对外提供解析并执行命令的接口,返回值是一个`std::vector`,每一个`std::string`对应输出中的一行 +```cpp +class BookStoreEngineClass { + std::string config_dir; + UserDataBase user_data_base; + BookDataBase book_data_base; + LogDataBase log_data_base; + std::unordered_map login_count; + bool is_server; + + public: + BookStoreEngineClass() = delete; + BookStoreEngineClass(std::string __config_dir, bool __is_server); + std::vector Execute( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteSu( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteLogout( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteRegister( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecutePasswd( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteUserAdd( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteDelete( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteShow( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteBuy( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteSelect( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteMOdify( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteImport( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteShowFinance( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteLog( + const std::string &cmd, + std::stack> &login_stack); + std::vector ExecuteReport( + const std::string &cmd, + std::stack> &login_stack); +}; +``` # 文件存储说明 默认往当前目录下存放文件,但也可以指定。