Procházet zdrojové kódy

2021 0425, wangkang parkspace

wk před 4 roky
rodič
revize
4c939e018b

+ 1 - 1
message/message_base.pb.cc

@@ -398,7 +398,7 @@ void AddDescriptorsImpl() {
       "er_data_msg\020\353\001*\242\001\n\014Communicator\022\n\n\006eEmpt"
       "y\020\000\022\t\n\005eMain\020\001\022\016\n\teTerminor\020\200\002\022\017\n\neParks"
       "pace\020\200\004\022\016\n\teMeasurer\020\200\006\022\032\n\025eMeasurer_sif"
-      "t_server\020\201\006\022\026\n\021eDispatch_mamager\020\200\010\022\026\n\021e"
+      "t_server\020\201\006\022\026\n\021eDispatch_manager\020\200\010\022\026\n\021e"
       "Dispatch_control\020\201\010**\n\014Process_type\022\014\n\010e"
       "Storing\020\001\022\014\n\010ePicking\020\002*e\n\013Error_level\022\n"
       "\n\006NORMAL\020\000\022\024\n\020NEGLIGIBLE_ERROR\020\001\022\017\n\013MINO"

+ 1 - 1
message/message_base.pb.h

@@ -145,7 +145,7 @@ enum Communicator {
   eParkspace = 512,
   eMeasurer = 768,
   eMeasurer_sift_server = 769,
-  eDispatch_mamager = 1024,
+  eDispatch_manager = 1024,
   eDispatch_control = 1025
 };
 bool Communicator_IsValid(int value);

+ 1 - 1
message/message_base.proto

@@ -71,7 +71,7 @@ enum Communicator
     //测量单元的服务器
     eMeasurer_sift_server=0x0301;
     //调度管理
-    eDispatch_mamager=0x0400;
+    eDispatch_manager=0x0400;
     //调度机构
     eDispatch_control=0x0401;
     //...

+ 2 - 0
message/parkspace_allocation_message.proto

@@ -14,6 +14,8 @@ enum Vehicle_status
 {
     eVehicle_idle           = 0;         //车辆空闲
     eVehicle_in_garage      = 1;         //车辆已入库
+
+
     eVehicle_parking        = 2;         //车辆停车中
     eVehicle_fetching       = 3;         //车辆取车中
     eVehicle_reserved       = 4;         //已预约未停入

+ 99 - 93
parkspace_allocation/parkspace_manager.cpp

@@ -243,7 +243,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 	//判断是否是左半库
 	if ( terminal_id<=3 && terminal_id>=0 )
 	{
-		LOG(INFO) << " 左半库 车牌号:"<<car_info.license()<<"  车高:"<<car_info.car_height()<< this;
+		LOG(INFO) << " 左半库 车牌号:"<<car_info.license()<<"  车高:"<<car_info.car_height();
 		//如果是小车 (低于1.55米属于小车)
 		if ( car_info.car_height() <= MIN_CAR_HIGH )
 		{
@@ -647,7 +647,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 			}
 		}
 	}
-	return Error_manager(Error_code::PARAMETER_ERROR, Error_level::MINOR_ERROR,
+	return Error_manager(Error_code::PARKSPACE_ALLOCATOR_ALLOCATE_FAILED, Error_level::MINOR_ERROR,
 						"query_the_optimal_parkspace_serverA error ");
 }
 //找到一个最优车位---方案二
@@ -926,7 +926,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
 								"无合适车位分配! query_the_optimal_parkspace_serverB1  error ");
 		}
 	}
-	return Error_manager(Error_code::PARAMETER_ERROR, Error_level::MINOR_ERROR,
+	return Error_manager(Error_code::PARKSPACE_ALLOCATOR_ALLOCATE_FAILED, Error_level::NEGLIGIBLE_ERROR,
 						"无合适车位分配! query_the_optimal_parkspace_serverB1 error ");
 
 }
@@ -1205,7 +1205,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
 								 "无合适车位分配!  query_the_optimal_parkspace_serverB2  error ");
 		}
 	}
-	return Error_manager(Error_code::PARAMETER_ERROR, Error_level::MINOR_ERROR,
+	return Error_manager(Error_code::PARKSPACE_ALLOCATOR_ALLOCATE_FAILED, Error_level::NEGLIGIBLE_ERROR,
 						 " 无合适车位分配! query_the_optimal_parkspace_serverB2 error ");
 }
 //找缓存区车位
@@ -1318,11 +1318,11 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB3(message::P
 								 "无合适车位分配! query_the_optimal_parkspace_serverB3 error ");
 		}
 	}
-	return Error_manager(Error_code::PARAMETER_ERROR, Error_level::MINOR_ERROR,
+	return Error_manager(Error_code::PARKSPACE_ALLOCATOR_ALLOCATE_FAILED, Error_level::NEGLIGIBLE_ERROR,
 						 " 无合适车位分配! query_the_optimal_parkspace_serverB3 error ");
 }
 //分配车位线程函数
-void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int terminal_id, std::string command_key)
+void Parkspace_manager:: execute_for_allocate(message::Car_info car_info, int terminal_id, std::string command_key)
 {
 	LOG(INFO) << "分配车位     " << "牌号:" << car_info.license() << "     车高:" << car_info.car_height()
 			  << "     command_key=" << command_key;
@@ -1342,7 +1342,11 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 	message::Parkspace_info t_allocated_space_rigth;
 	message::Parkspace_info t_allocated_space_temporary;
 
-	Error_manager error;
+	Error_manager error_A;
+
+	Error_manager error_B1;
+	Error_manager error_B2;
+	Error_manager error_B3;
 	//分配之前查询车辆是否已经存在
 	if (check_car_existence(car_info.license()))
 	{
@@ -1357,52 +1361,38 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 		if (!PLAN)
 		{
 			//		如果车辆不存在 则找到一个最优车位(方案A)----车库分为两个独立部分,左库和右库如果1~3号终端来车 则在左库分配车位,4~号终端来车 则在右库分配车位
-			LOG(INFO) << " 方案A---------分配车位中----------  " << this;
-			error = query_the_optimal_parkspace_serverA(t_allocated_space, car_info, terminal_id);
-			if (error != Error_code::SUCCESS)
+			LOG(INFO) << " 方案A---------分配车位中----------  " ;
+			error_A = query_the_optimal_parkspace_serverA(t_allocated_space, car_info, terminal_id);
+			if (error_A != Error_code::SUCCESS)
 			{
-				t_error.set_error_code(error.get_error_code());
-				t_error.set_error_level((message::Error_level) error.get_error_level());
-				t_error.set_error_description(error.get_error_description());
-				LOG(ERROR) << car_info.license() << " 获取空车位失败  " << error.to_string();
+				t_error.set_error_code(error_A.get_error_code());
+				t_error.set_error_level((message::Error_level) error_A.get_error_level());
+				t_error.set_error_description(error_A.get_error_description());
+				LOG(ERROR) << car_info.license() << " 获取空车位失败  " << error_A.to_string();
 			}
 			else
 			{
-				//尚未加入操作回退步骤
-
 				//修改车位状态为锁定
 				t_allocated_space.set_parkingspace_status(message::Parkspace_status::eParkspace_locked);
 				t_allocated_space.mutable_car_info()->CopyFrom(car_info);
 				// 分配车位后更新数据库中车位状态
-				error = m_parkspace_operating_function.update_parkspace_data(t_allocated_space);
-				if (error != SUCCESS)
+				error_A = m_parkspace_operating_function.update_parkspace_data(t_allocated_space);
+				if (error_A != SUCCESS)
 				{
-					t_error.set_error_code(error.get_error_code());
-					t_error.set_error_level((message::Error_level) error.get_error_level());
-					t_error.set_error_description(error.get_error_description());
-					LOG(ERROR) << car_info.license() << " 更新车位数据失败  " << error.to_string();
+					//若更新车位数据失败会直接返回,不要进行回退操作
+					t_error.set_error_code(error_A.get_error_code());
+					t_error.set_error_level((message::Error_level) error_A.get_error_level());
+					t_error.set_error_description(error_A.get_error_description());
+					LOG(ERROR) << car_info.license() << " 更新车位数据失败  " << error_A.to_string();
+
 				}
 				else
 				{
-					//修改车辆状态为停车中
-					message::Vehicle_status t_vehicle_status = message::Vehicle_status::eVehicle_parking;
-					error = m_parkspace_operating_function.update_vehicle_with_parkspace(t_allocated_space,
-																						 t_vehicle_status);
-					if (error != SUCCESS)
-					{
-						t_error.set_error_code(error.get_error_code());
-						t_error.set_error_level((message::Error_level) error.get_error_level());
-						t_error.set_error_description(error.get_error_description());
-						LOG(ERROR) << car_info.license() << " 更新车辆数据失败  " << error.to_string();
-					}
-					else
-					{
-						t_error.set_error_code(SUCCESS);
-						t_error.set_error_level(message::Error_level::NORMAL);
-						LOG(INFO) << "方案A --- 分配车位成功  " << "车位ID:" << t_allocated_space.parkingspace_index_id()
+					t_error.set_error_code(SUCCESS);
+					t_error.set_error_level(message::Error_level::NORMAL);
+					LOG(INFO) << "方案A --- 分配车位成功  " << "车位ID:" << t_allocated_space.parkingspace_index_id()
 								  << "     车牌号:" << t_allocated_space.car_info().license();
-						response_msg.mutable_allocated_parkspace_info()->CopyFrom(t_allocated_space);
-					}
+					response_msg.mutable_allocated_parkspace_info()->CopyFrom(t_allocated_space);
 				}
 			}
 		}
@@ -1410,36 +1400,21 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 		{
 			//		如果车辆不存在 则找到一个最优车位(方案B)----分配三个车位  左边分配一个 右边分配一个  缓冲区分配一个   最后使用那个由调度决定
 			LOG(INFO) << " 方案B---------分配车位中----------  " << this;
-//
-			error = query_the_optimal_parkspace_serverB1(t_allocated_space_left, car_info, terminal_id);
-			if (error != Error_code::SUCCESS)
-			{
-				LOG(ERROR) << car_info.license() << " 获取左侧车位失败  " << error.to_string();
-			}
-
-			error = query_the_optimal_parkspace_serverB2(t_allocated_space_rigth, car_info, terminal_id);
-			if (error != Error_code::SUCCESS)
-			{
-				LOG(ERROR) << car_info.license() << " 获取右侧车位失败  " << error.to_string();
-			}
-
-			error = query_the_optimal_parkspace_serverB3(t_allocated_space_temporary, car_info, terminal_id);
-			if (error != Error_code::SUCCESS)
+			//获取左侧车位
+			error_B1 = query_the_optimal_parkspace_serverB1(t_allocated_space_left, car_info, terminal_id);
+			if (error_B1 != Error_code::SUCCESS)
 			{
-				LOG(ERROR) << car_info.license() << " 获取缓冲区车位失败  " << error.to_string();
+				LOG(ERROR) << car_info.license() << " 获取左侧车位失败  " << error_B1.to_string();
 			}
-			if (t_allocated_space_left.parkingspace_index_id() != -1)
+			else
 			{
 				t_allocated_space_left.set_parkingspace_status(message::Parkspace_status::eParkspace_locked);
 				t_allocated_space_left.mutable_car_info()->CopyFrom(car_info);
 				// 分配车位后更新数据库中车位状态--左车位
-				error = m_parkspace_operating_function.update_parkspace_data(t_allocated_space_left);
-				if (error != SUCCESS)
+				error_B1 = m_parkspace_operating_function.update_parkspace_data(t_allocated_space_left);
+				if (error_B1 != SUCCESS)
 				{
-					t_error.set_error_code(error.get_error_code());
-					t_error.set_error_level((message::Error_level) error.get_error_level());
-					t_error.set_error_description(error.get_error_description());
-					LOG(ERROR) << car_info.license() << " 左车位更新数据失败  " << error.to_string();
+					LOG(ERROR) << car_info.license() << " 左车位更新数据失败  " << error_B1.to_string();
 				}
 				else
 				{
@@ -1447,18 +1422,21 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 					LOG(INFO) << " ----- 左  车  位ID:  " << t_allocated_space_left.parkingspace_index_id() << "-----";
 				}
 			}
-			if (t_allocated_space_rigth.parkingspace_index_id() != -1)
+			//获取右侧车位
+			error_B2 = query_the_optimal_parkspace_serverB2(t_allocated_space_rigth, car_info, terminal_id);
+			if (error_B2 != Error_code::SUCCESS)
+			{
+				LOG(ERROR) << car_info.license() << " 获取右侧车位失败  " << error_B2.to_string();
+			}
+			else
 			{
 				t_allocated_space_rigth.set_parkingspace_status(message::Parkspace_status::eParkspace_locked);
 				t_allocated_space_rigth.mutable_car_info()->CopyFrom(car_info);
 				// 分配车位后更新数据库中车位状态--右车位
-				error = m_parkspace_operating_function.update_parkspace_data(t_allocated_space_rigth);
-				if (error != SUCCESS)
+				error_B2 = m_parkspace_operating_function.update_parkspace_data(t_allocated_space_rigth);
+				if (error_B2 != SUCCESS)
 				{
-					t_error.set_error_code(error.get_error_code());
-					t_error.set_error_level((message::Error_level) error.get_error_level());
-					t_error.set_error_description(error.get_error_description());
-					LOG(ERROR) << car_info.license() << " 右车位更新数据失败  " << error.to_string();
+					LOG(ERROR) << car_info.license() << " 右车位更新数据失败  " << error_B2.to_string();
 				}
 				else
 				{
@@ -1466,18 +1444,21 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 					LOG(INFO) << " ----- 右  车  位ID:  " << t_allocated_space_rigth.parkingspace_index_id() << "-----";
 				}
 			}
-			if (t_allocated_space_temporary.parkingspace_index_id() != -1)
+			//获取缓冲区车位
+			error_B3 = query_the_optimal_parkspace_serverB3(t_allocated_space_temporary, car_info, terminal_id);
+			if (error_B3 != Error_code::SUCCESS)
+			{
+				LOG(ERROR) << car_info.license() << " 获取缓冲区车位失败  " << error_B3.to_string();
+			}
+			else
 			{
 				t_allocated_space_temporary.set_parkingspace_status(message::Parkspace_status::eParkspace_locked);
 				t_allocated_space_temporary.mutable_car_info()->CopyFrom(car_info);
 				// 分配车位后更新数据库中车位状态--缓冲车位
-				error = m_parkspace_operating_function.update_parkspace_data(t_allocated_space_temporary);
-				if (error != SUCCESS)
+				error_B3 = m_parkspace_operating_function.update_parkspace_data(t_allocated_space_temporary);
+				if (error_B3 != SUCCESS)
 				{
-					t_error.set_error_code(error.get_error_code());
-					t_error.set_error_level((message::Error_level) error.get_error_level());
-					t_error.set_error_description(error.get_error_description());
-					LOG(ERROR) << car_info.license() << " 缓冲车位更新数据失败  " << error.to_string();
+					LOG(ERROR) << car_info.license() << " 缓冲车位更新数据失败  " << error_B3.to_string();
 				}
 				else
 				{
@@ -1485,9 +1466,12 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 					LOG(INFO) << " -----缓冲车位车位ID:  " << t_allocated_space_temporary.parkingspace_index_id() << "-----";
 				}
 			}
-			if (error == SUCCESS)
+			Error_manager error_total;
+			error_total.compare_and_cover_error(error_B1);
+			error_total.compare_and_cover_error(error_B2);
+			error_total.compare_and_cover_error(error_B3);
+			if ( error_B1==SUCCESS || error_B2==SUCCESS || error_B3==SUCCESS )
 			{
-
 				t_error.set_error_code(SUCCESS);
 				t_error.set_error_level(message::Error_level::NORMAL);
 				LOG(INFO) << "  				分配车位成功! ";
@@ -1496,12 +1480,12 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 			{
 				t_error.set_error_code(PARKSPACE_ALLOCATOR_ALLOCATE_FAILED);
 				t_error.set_error_level(message::Error_level::MINOR_ERROR);
-				t_error.set_error_description("分配失败 无车位!");
+				t_error.set_error_description(error_total.get_error_description());
 				LOG(INFO) << "  				分配车位失败,无车位! ";
 			}
 
-			m_parkspace_lock.unlock();
 		}
+		m_parkspace_lock.unlock();
 		response_msg.mutable_base_info()->CopyFrom(t_response_header);
 		response_msg.set_command_key(command_key);
 		response_msg.mutable_error_manager()->CopyFrom(t_error);
@@ -1516,7 +1500,6 @@ void Parkspace_manager::execute_for_allocate(message::Car_info car_info, int ter
 void Parkspace_manager::execute_for_confirm_alloc(message::Parkspace_confirm_alloc_request_msg request)
 {
 
-
 	message::Parkspace_confirm_alloc_response_msg response_msg;
 	message::Base_info t_response_header;
 	t_response_header.set_msg_type(message::eParkspace_confirm_alloc_response_msg);
@@ -1542,7 +1525,7 @@ void Parkspace_manager::execute_for_confirm_alloc(message::Parkspace_confirm_all
 			t_error.set_error_level((message::Error_level)error.get_error_level());
 			t_error.set_error_description(error.get_error_description());
 		}
-		if ( confirm_alloc_parkspace_info.parkingspace_status() != message::eParkspace_empty )
+		if ( confirm_alloc_parkspace_info.parkingspace_status() != message::eParkspace_locked )
 		{
 			t_error.set_error_code(PARKSPACE_ALLOCATOR_CONFIRM_ALLOC_ERROR);
 			t_error.set_error_level(message::Error_level::MINOR_ERROR);
@@ -1762,6 +1745,8 @@ Error_manager Parkspace_manager::confirm_alloc_function(message::Parkspace_info
 {
 	//根据车位信息定位待确认占用车位
 	Error_manager error;
+	//记录当前传入车辆的状态  为后续回退操作服务
+	message::Parkspace_status t_parkingspace_status=space_info.parkingspace_status();
 	if (!space_info.has_car_info())
 	{
 		LOG(WARNING) << "传入待确认车位无车辆信息";
@@ -1801,8 +1786,27 @@ Error_manager Parkspace_manager::confirm_alloc_function(message::Parkspace_info
 			error = m_parkspace_operating_function.update_vehicle_with_parkspace(t_confirm_space, t_vehicle_status);
 			if (error != SUCCESS)
 			{
-				LOG(ERROR) << "确认分配 更新数据库车辆数据失败 " << error.to_string();
-				return error;
+				//此处操作不成功就需要回退  因为前一步骤更改了车位表信息导致二表不统一
+				LOG(ERROR) << "确认分配 更新数据库车辆数据失败  进行回退---" << error.to_string();
+				t_confirm_space.set_parkingspace_status(t_parkingspace_status);
+				t_confirm_space.set_parkspace_status_target(t_parkingspace_status);
+				for (int i = 1; i < 4; ++i)
+				{
+					Error_manager e = m_parkspace_operating_function.update_parkspace_data(t_confirm_space);
+					if (e != SUCCESS)
+					{
+						LOG(INFO) << "回退第"<<i<<"次 失败!  " << e.to_string();
+						continue;
+					}
+					else
+					{
+					    LOG(INFO) << " 回退成功! ";
+						return e;
+					}
+				}
+				//如果流程进行到这里说明回退三次都失败 需要报三级故障
+				return Error_manager(Error_code::DB_UPDATE_FAILED, Error_level::MAJOR_ERROR,
+									" update database error ");
 			}
 			error.set_error_code(SUCCESS);
 			error.set_error_level_location(Error_level::NEGLIGIBLE_ERROR);
@@ -1853,16 +1857,18 @@ Error_manager Parkspace_manager::release_parkspace_function(message::Parkspace_i
 	release_parkspace_info.CopyFrom(target_space_info);
 	if ( !PLAN )
 	{
-		if ( release_parkspace_info.parkingspace_status() != message::eParkspace_locked )
+		if ( release_parkspace_info.parkingspace_status() == message::eParkspace_occupied ||
+		     release_parkspace_info.parkingspace_status() == message::eParkspace_locked  )
 		{
-			LOG(ERROR) << "释放车位校验状态失败!" ;
-			return Error_manager(Error_code::PARAMETER_ERROR, Error_level::MINOR_ERROR,
-								 " 释放车位校验状态失败! ");
+
+			release_parkspace_info.set_parkingspace_status(message::eParkspace_empty);
+			release_parkspace_info.set_parkspace_status_target(message::eParkspace_empty);
 		}
 		else
 		{
-			release_parkspace_info.set_parkingspace_status(message::eParkspace_empty);
-			release_parkspace_info.set_parkspace_status_target(message::eParkspace_empty);
+			LOG(ERROR) << "释放车位校验状态失败!" ;
+			return Error_manager(Error_code::PARAMETER_ERROR, Error_level::MINOR_ERROR,
+								 " 释放车位校验状态失败! ");
 		}
 	}
 	if(release_parkspace_info.parkspace_status_target() == message::eParkspace_empty && release_parkspace_info.has_car_info())
@@ -1880,7 +1886,7 @@ Error_manager Parkspace_manager::release_parkspace_function(message::Parkspace_i
 			{
 				error.set_error_code(SUCCESS);
 				error.set_error_level_location(Error_level::NORMAL);
-				LOG(INFO) << "方案A --- 第:" << release_parkspace_info.parkingspace_index_id() << "号位     车辆: " << release_parkspace_info.car_info().license()
+				LOG(INFO) << "不更新车辆表释放 --- 第:" << release_parkspace_info.parkingspace_index_id() << "号位     车辆: " << release_parkspace_info.car_info().license()
 						  << "     释放成功";
 			}
 			else
@@ -1904,7 +1910,7 @@ Error_manager Parkspace_manager::release_parkspace_function(message::Parkspace_i
 				}
 				error.set_error_code(SUCCESS);
 				error.set_error_level_location(Error_level::NORMAL);
-				LOG(INFO) << "方案B --- 第:" << release_parkspace_info.parkingspace_index_id() << "号位     车辆: " << release_parkspace_info.car_info().license()
+				LOG(INFO) << "更新车辆表--- 第:" << release_parkspace_info.parkingspace_index_id() << "号位     车辆: " << release_parkspace_info.car_info().license()
 						  << "     释放成功";
 
 				time_t tt = time(NULL);

+ 4 - 4
parkspace_allocation/parkspace_manager.h

@@ -36,7 +36,7 @@ public:
 //中型车高判断标准 (暂时未定)   手写1.75
 #define MID_CAR_HIGH			1.75
 //大型车高判断标准 (暂时未定)
-#define BIG_CAR_HIGH			2
+#define BIG_CAR_HIGH			1.95
 //中跑车速度 米每秒
 #define MEDIUM_CAR_SPEED		0.8
 //电梯速度  米每秒
@@ -50,7 +50,7 @@ public:
 //电梯运动时间
 #define ELEVATOR_MOVEMENT_TIME	1
 //方案选择  为0时选择A方案停车  为非0时选择B方案停车
-#define PLAN 1
+#define PLAN 0
 private:
     // 父类的构造函数必须保护,子类的构造函数必须私有。
     Parkspace_manager();
@@ -93,14 +93,14 @@ public://execute_msg创建各线程进行处理
 	Error_manager query_the_optimal_parkspace_serverB3(message::Parkspace_info &parkspace_info,message::Car_info car_info,int terminal_id);
 	//分配车位线程函数
     void execute_for_allocate(message::Car_info car_info, int terminal_id,std::string command_key);
+	//确认分配车位线程函数
+	void execute_for_confirm_alloc(message::Parkspace_confirm_alloc_request_msg space_info);
     //查询车位线程函数
     void execute_for_search(message::Car_info car_info,std::string command_key);
     //释放车位线程函数
     void execute_for_release(message::Parkspace_info space_info, std::string command_key);
     //强制更新车位信息线程函数
 	void execute_for_force_update(message::Parkspace_info space_info, std::string command_key);
-    //确认分配车位线程函数
-    void execute_for_confirm_alloc(message::Parkspace_confirm_alloc_request_msg space_info);
 
 
     //确认分配操作函数

+ 1 - 1
setting/communication.prototxt

@@ -8,7 +8,7 @@ communication_parameters
 #   connect_string_vector:"tcp://192.168.2.125:9876"
 #   connect_string_vector:"tcp://192.168.2.166:1234"
 
-    bind_string:"tcp://192.168.2.113:30008"
+    bind_string:"tcp://192.168.2.165:30008"
     connect_string_vector:"tcp://192.168.2.127:30000"
 }