Browse Source

修改工程匹配逻辑,优先根据config文件中的项目名称进行匹配,匹配失败再根据hostname进行匹配

storage-in-realtime
zhaohe 12 months ago
parent
commit
6a0c87d3b8
  1. 2
      appdep/iflytop/core/components/config_template/config_template.hpp
  2. 30
      appsrc/appsetting/project_port/project_port.cpp
  3. 1
      appsrc/appsetting/project_port/project_port.hpp
  4. 4
      appsrc/service/device_info_mgr_service.cpp

2
appdep/iflytop/core/components/config_template/config_template.hpp

@ -77,7 +77,7 @@
\
string config; \
if (!FileUtils().exist(configFile)) { \
logger->error("can't find configfile ,create default config:{}", configFile); \
logger->warn("can't find configfile ,create default config:{}", configFile); \
auto defaultConfigFile = FileUtils().openTrunc(configFile); \
defaultConfigFile->write("{}", 2); \
} \

30
appsrc/appsetting/project_port/project_port.cpp

@ -23,23 +23,43 @@ static string projectType2Str(int val) {
}
}
// /etc/hostname
static string readHostname() {
string hostname;
ifstream file("/etc/hostname");
if (file.is_open()) {
getline(file, hostname);
file.close();
}
return hostname;
}
void ProjectPort::initialize() {
GET_TO_SERVICE(gConfig);
if (gConfig->get_projectType() == PROJECT_LARGE_SPACE_DM) {
string projectTypeName = gConfig->get_projectType();
if (projectTypeName.empty()) {
projectTypeName = readHostname();
}
if (projectTypeName == PROJECT_LARGE_SPACE_DM) {
initProjectSetting(klarge_space_disinfection_machine);
} else if (gConfig->get_projectType() == PROJECT_SMALL_SPACE_DM) {
} else if (projectTypeName == PROJECT_SMALL_SPACE_DM) {
initProjectSetting(ksmall_space_disinfection_machine);
} else if (gConfig->get_projectType() == PROJECT_PIPE_DM) {
} else if (projectTypeName == PROJECT_PIPE_DM) {
initProjectSetting(kpipe_disinfection_machine);
} else if (gConfig->get_projectType() == PROJECT_DRAW_BAR_DM) {
} else if (projectTypeName == PROJECT_DRAW_BAR_DM) {
initProjectSetting(kdraw_bar_disinfection_box);
} else {
// THROW_APP_EXCEPTION(err::kappe_code_error, "ProjectPort::initialize: projectType not found");
logger->error("project type not support:{}", gConfig->get_projectType());
logger->error("project type not support:{}", projectTypeName);
exit(-1);
}
}
int32_t ProjectPort::getProjType() { return projectTypeInt; }
string ProjectPort::getProjTypeString() { return projectType; }
void ProjectPort::initProjectSetting(int projectTypeInt) {
projectTypeInt = projectTypeInt;
projectType = projectType2Str(projectTypeInt);

1
appsrc/appsetting/project_port/project_port.hpp

@ -54,6 +54,7 @@ class ProjectPort {
public:
int32_t getProjType();
string getProjTypeString();
/*******************************************************************************
* //设备类型判断 *

4
appsrc/service/device_info_mgr_service.cpp

@ -16,8 +16,8 @@ void DeviceInfoMgrService::initialize() {
void DeviceInfoMgrService::getDeviceInfo(shared_ptr<MsgProcessContext> cxt) { //
auto& content = cxt->content;
content["projectType"] = m_gConfig->get_projectType();
content["projectType"] = PORT.getProjTypeString();
content["appVersion"] = VERSION;
content["mircoVersion"] = "3.0.0";//TODO:换成真实的版本信息
content["mircoVersion"] = "3.0.0"; // TODO:换成真实的版本信息
content["ip"] = "192.168.8.10";
}
Loading…
Cancel
Save