mirror of
https://gitee.com/js-yhsec/energy_storage.git
synced 2026-05-27 18:59:26 +08:00
63 lines
2.2 KiB
C++
63 lines
2.2 KiB
C++
|
|
#include "DaoSwap.h"
|
|||
|
|
|
|||
|
|
#include "app/Constant.h"
|
|||
|
|
#include "app/Global.h"
|
|||
|
|
#include "common/spdlogger.h"
|
|||
|
|
#include "common/TimeUtils.h"
|
|||
|
|
#include "common/Snowflake.h"
|
|||
|
|
#include "database/DaoEntity.h"
|
|||
|
|
#include "Device.h"
|
|||
|
|
|
|||
|
|
std::string DaoSwap::create_swap_record(std::string biz_id, DeviceSwapEntity* swap_entity)
|
|||
|
|
{
|
|||
|
|
auto& appdata = Global::data();
|
|||
|
|
if (!swap_entity)
|
|||
|
|
{
|
|||
|
|
Spdlogger::error("create swap record failed: swap_entity is null, biz_id={}", biz_id);
|
|||
|
|
return "";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
swap_entity->info.biz_id = biz_id;
|
|||
|
|
Spdlogger::info("[SWAP] create swap biz record: biz_id={}", swap_entity->info.biz_id);
|
|||
|
|
|
|||
|
|
DataFields fields;
|
|||
|
|
fields.set(DMSwapRecord::ID, swap_entity->info.biz_id);
|
|||
|
|
fields.set(DMSwapRecord::SWAP_MODE, (int)swap_entity->work_mode);
|
|||
|
|
fields.set(DMSwapRecord::BATT_MODEL, swap_entity->info.car_battery_model);
|
|||
|
|
fields.set(DMSwapRecord::CAR_NUM, swap_entity->info.car_no);
|
|||
|
|
fields.set(DMSwapRecord::USER_ID, swap_entity->info.user_id);
|
|||
|
|
fields.set(DMSwapRecord::BATT_DOWN_ID, swap_entity->info.car_batt_code);
|
|||
|
|
fields.set(DMSwapRecord::BATT_ON_ID, swap_entity->info.new_batt_code);
|
|||
|
|
fields.set(DMSwapRecord::BATT_ON_SOC, swap_entity->info.soc);
|
|||
|
|
fields.set(DMSwapRecord::STATUS, swap_entity->info.status);
|
|||
|
|
fields.set(DMSwapRecord::CAUSE, PV::NODE_CAR_VERIFY);
|
|||
|
|
fields.set(DMSwapRecord::OPEN_TIME, TimeUtils::ts2datetime(swap_entity->info.open_time));
|
|||
|
|
|
|||
|
|
DaoEntity dao(DMSwapRecord::TABLENAME);
|
|||
|
|
bool res = dao.insert_fields(fields);
|
|||
|
|
if (!res)
|
|||
|
|
{
|
|||
|
|
Spdlogger::error("create swap record failed: database error, biz_id={}, car_no={}.", swap_entity->info.biz_id, swap_entity->info.car_no);
|
|||
|
|
}
|
|||
|
|
return swap_entity->info.biz_id;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
int DaoSwap::update_swap_record(std::string biz_id, DataFields& fields)
|
|||
|
|
{
|
|||
|
|
auto& appdata = Global::data();
|
|||
|
|
if (biz_id.empty())
|
|||
|
|
{
|
|||
|
|
Spdlogger::error("[SWAP] update swap data record error:bizid is NULL");
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
if (fields.size() > 0)
|
|||
|
|
{
|
|||
|
|
fields.remove(DMSwapRecord::ID);
|
|||
|
|
string sql_c = " where " + DMSwapRecord::ID + "='" + biz_id + "'";
|
|||
|
|
DaoEntity dao(DMSwapRecord::TABLENAME);
|
|||
|
|
dao.update_fields(fields, sql_c);
|
|||
|
|
Global::request_stat = true;
|
|||
|
|
return 1;
|
|||
|
|
}
|
|||
|
|
return 0;
|
|||
|
|
}
|