#pragma once
//stl
#include <iostream>
#include <vector>
//robotics
#include <robotics/datetime.hpp>
//local
#include "web_sync_item_request_info.h"

using namespace robotics;

/* ************************************************
* 作者:Lenovo
* 时间:2024/6/3 21:14:08
* 机器名:DESKTOP-4I13MDL
* 实体类名:web_sync_request_info
* 数据库表名 				[[SqlTable("xxx")]]
* 不生成反射 				[[NoReflect]]
* Json字段名 			[[Json("xxx")]]
* 不生成Json字段 			[[NoJson(true)]]
* Sql字段名  			[[Sql("xxx")]]
* 不生成Sql字段 			[[NoSql(true)]]
* Excel字段名			[[Excel("xxx")]]
* 不生成Excel字段 		[[NoExcel(true)]]
* *************************************************/

/**
 * @brief 用于同步Web数据的实体类，包含设备信息、汇总时间、运行距离、速度及数据项列表。
 */
struct web_sync_request_info
{
	/**
	 * @brief 设备唯一标识符
	 */
	[[Json("deviceId")]]
	std::string device_id;

	/**
	 * @brief 数据汇总时间
	 */
	[[Json("summaryTime")]]
	v3::datetime summary_time;

	/**
	 * @brief 设备运行总距离（单位：米）
	 */
	[[Json("runningDistance")]]
	double running_distance = 0;

	/**
	 * @brief 设备当前速度（单位：米/秒）
	 */
	[[Json("speed")]]
	double speed = 0;

	/**
	 * @brief 数据项列表，每项包含快递类型、分拣数量等信息
	 */
	[[Json("data")]]
	std::vector<web_sync_item_request_info> data;
};