Browse Source

更新部分逻辑代码

storage-in-realtime
zhaohe 12 months ago
parent
commit
73a60a6c8f
  1. 18
      appsrc/service/app/add_liquid_service.cpp
  2. 13
      appsrc/service/app/add_liquid_service.hpp
  3. 31
      appsrc/service/app/air_tightness_test.cpp
  4. 52
      appsrc/service/app/air_tightness_test.hpp
  5. 32
      appsrc/service/app/drain_liquid_service.cpp
  6. 42
      appsrc/service/app/drain_liquid_service.hpp

18
appsrc/service/app/add_liquid_service.cpp

@ -8,9 +8,9 @@ void AddLiquidService::initialize() {
REGFNV2(AddLiquidService, getServiceConfig);
}
void AddLiquidService::start(int stopatg) {}
void AddLiquidService::stop() {}
AddLiquidService::state_t AddLiquidService::getWorkstate() { return kidle; }
void AddLiquidService::start(int stopatg) { m_workstate = kaddingLiquid; }
void AddLiquidService::stop() { m_workstate = kidle; }
AddLiquidService::state_t AddLiquidService::getWorkstate() { return m_workstate; }
void AddLiquidService::fn_start(shared_ptr<MsgProcessContext> cxt) { //
int stopatg = jsonGet<int>(cxt->params["stopatg"]);
@ -18,13 +18,15 @@ void AddLiquidService::fn_start(shared_ptr<MsgProcessContext> cxt) { //
}
void AddLiquidService::fn_stop(shared_ptr<MsgProcessContext> cxt) { stop(); }
void AddLiquidService::fn_getState(shared_ptr<MsgProcessContext> cxt) { //
cxt->content["workState"] = state2str(getWorkstate());
cxt->content["nowLiquid"] = 1000;
cxt->content["workState"] = state2str(getWorkstate());
cxt->content["workStateDisplay"] = state2chstr(getWorkstate());
cxt->content["nowLiquid"] = 1000;
}
void AddLiquidService::fn_getServiceConfig(shared_ptr<MsgProcessContext> cxt) {
json cfg;
cfg["maxLiquid"] = 4950;
cfg["show"] = true;
cxt->content = cfg;
cfg["maxLiquid"] = 4950;
cfg["show"] = true;
cfg["updatePeriod"] = 300;
cxt->content = cfg;
}

13
appsrc/service/app/add_liquid_service.hpp

@ -34,6 +34,19 @@ class AddLiquidService : public enable_shared_from_this<AddLiquidService> {
}
}
static const char* state2chstr(state_t state) {
switch (state) {
case kidle:
return "空闲";
case kaddingLiquid:
return "加液中";
case kemptyLineLiquid:
return "排空管路中";
default:
return "未知";
}
}
private:
shared_ptr<DBService> m_db;
shared_ptr<DeviceStateService> m_ds;

31
appsrc/service/app/air_tightness_test.cpp

@ -1,4 +1,31 @@
#include "air_tightness_test.hpp"
using namespace iflytop;
void AirTightnessTest::initialize() { logger->info("AirTightnessTest initialize"); }
void AirTightnessTest::initialize() {
logger->info("AirTightnessTest initialize");
REGFNV2(AirTightnessTest, start);
REGFNV2(AirTightnessTest, stop);
REGFNV2(AirTightnessTest, getState);
REGFNV2(AirTightnessTest, getServiceConfig);
}
void AirTightnessTest::start() { m_workstate = kleakTesting; }
void AirTightnessTest::stop() { m_workstate = kidle; }
AirTightnessTest::state_t AirTightnessTest::getWorkstate() { return m_workstate; }
void AirTightnessTest::fn_start(shared_ptr<MsgProcessContext> cxt) { //
start();
}
void AirTightnessTest::fn_stop(shared_ptr<MsgProcessContext> cxt) { stop(); }
void AirTightnessTest::fn_getState(shared_ptr<MsgProcessContext> cxt) { //
cxt->content["workState"] = state2str(getWorkstate());
cxt->content["workStateDisplay"] = state2chstr(getWorkstate());
cxt->content["pressure"] = 3.1;
}
void AirTightnessTest::fn_getServiceConfig(shared_ptr<MsgProcessContext> cxt) {
json cfg;
cfg["pressureUint"] = "kPa";
cfg["pressureMax"] = 5.0;
cfg["show"] = true;
cfg["updatePeriod"] = 300;
cxt->content = cfg;
}

52
appsrc/service/app/air_tightness_test.hpp

@ -12,15 +12,65 @@
#include "baseservice/baseservice.hpp"
namespace iflytop {
class AirTightnessTest : public enable_shared_from_this<AirTightnessTest> {
ENABLE_LOGGER(AirTightnessTest);
ENABLE_LOGGER(AddLiquidService);
public:
typedef enum {
kidle = 0, // 空闲
kinflating = 1, // 打压中
kleakTesting = 2, // 检漏中
kstopping = 3, // 停止中
} state_t;
static const char* state2str(state_t state) {
switch (state) {
case kidle:
return "idle";
case kinflating:
return "inflating";
case kleakTesting:
return "leakTesting";
case kstopping:
return "stopping";
default:
return "unknown";
}
}
static const char* state2chstr(state_t state) {
switch (state) {
case kidle:
return "空闲";
case kinflating:
return "打压中";
case kleakTesting:
return "检漏中";
case kstopping:
return "停止中";
default:
return "未知";
}
}
private:
shared_ptr<DBService> m_db;
shared_ptr<DeviceStateService> m_ds;
shared_ptr<GConfig> m_gConfig;
state_t m_workstate = kidle;
public:
void initialize();
void start();
void stop();
state_t getWorkstate();
void fn_start(shared_ptr<MsgProcessContext> cxt);
void fn_stop(shared_ptr<MsgProcessContext> cxt);
void fn_getState(shared_ptr<MsgProcessContext> cxt);
void fn_getServiceConfig(shared_ptr<MsgProcessContext> cxt);
private:
};

32
appsrc/service/app/drain_liquid_service.cpp

@ -1,4 +1,32 @@
#include "drain_liquid_service.hpp"
using namespace iflytop;
void DrainLiquidService::initialize() { logger->info("DrainLiquidService initialize"); }
void DrainLiquidService::initialize() {
logger->info("DrainLiquidService initialize");
REGFNV2(DrainLiquidService, start);
REGFNV2(DrainLiquidService, stop);
REGFNV2(DrainLiquidService, getState);
REGFNV2(DrainLiquidService, getServiceConfig);
}
void DrainLiquidService::start() { m_workstate = kwork; }
void DrainLiquidService::stop() { m_workstate = kidle; }
DrainLiquidService::state_t DrainLiquidService::getWorkstate() { return m_workstate; }
void DrainLiquidService::fn_start(shared_ptr<MsgProcessContext> cxt) { //
start();
}
void DrainLiquidService::fn_stop(shared_ptr<MsgProcessContext> cxt) { stop(); }
void DrainLiquidService::fn_getState(shared_ptr<MsgProcessContext> cxt) { //
cxt->content["workState"] = state2str(getWorkstate());
cxt->content["workStateDisplay"] = state2chstr(getWorkstate());
cxt->content["nowLiquid"] = 1000;
}
void DrainLiquidService::fn_getServiceConfig(shared_ptr<MsgProcessContext> cxt) {
json cfg;
cfg["maxLiquid"] = 4950;
cfg["show"] = true;
cfg["updatePeriod"] = 300;
cxt->content = cfg;
}

42
appsrc/service/app/drain_liquid_service.hpp

@ -12,15 +12,55 @@
#include "baseservice/baseservice.hpp"
namespace iflytop {
class DrainLiquidService : public enable_shared_from_this<DrainLiquidService> {
ENABLE_LOGGER(DrainLiquidService);
ENABLE_LOGGER(AddLiquidService);
public:
typedef enum {
kidle = 0,
kwork = 1,
} state_t;
static const char* state2str(state_t state) {
switch (state) {
case kidle:
return "idle";
case kwork:
return "work";
default:
return "unknown";
}
}
static const char* state2chstr(state_t state) {
switch (state) {
case kidle:
return "空闲";
case kwork:
return "排液中";
default:
return "未知";
}
}
private:
shared_ptr<DBService> m_db;
shared_ptr<DeviceStateService> m_ds;
shared_ptr<GConfig> m_gConfig;
state_t m_workstate = kidle;
public:
void initialize();
void start();
void stop();
state_t getWorkstate();
void fn_start(shared_ptr<MsgProcessContext> cxt);
void fn_stop(shared_ptr<MsgProcessContext> cxt);
void fn_getState(shared_ptr<MsgProcessContext> cxt);
void fn_getServiceConfig(shared_ptr<MsgProcessContext> cxt);
private:
};

Loading…
Cancel
Save