From 5c9991be21f57781573f04961ec511ac2938ea3d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 08 四月 2025 15:27:08 +0800
Subject: [PATCH] '功能完善'

---
 common/NetworkApi.cpp |  204 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 200 insertions(+), 4 deletions(-)

diff --git a/common/NetworkApi.cpp b/common/NetworkApi.cpp
index c657d1b..daa8218 100644
--- a/common/NetworkApi.cpp
+++ b/common/NetworkApi.cpp
@@ -331,7 +331,7 @@
 	}
 }
 
-int NetworkApi::get_auto_cancel_sell_mode()
+int NetworkApi::get_auto_cancel_sell_mode(string code)
 {
 	rapidjson::StringBuffer buf;
 	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
@@ -344,6 +344,8 @@
 	writer.String("auto_cancel_sell_mode");
 	writer.Key("operate");
 	writer.Int(3);
+	writer.Key("code");
+	writer.String(code.c_str());
 	writer.EndObject();
 	writer.EndObject();
 	const char* json_content = buf.GetString();
@@ -358,7 +360,7 @@
 	}
 }
 
-void NetworkApi::set_auto_cancel_sell_mode(int mode)
+void NetworkApi::set_auto_cancel_sell_mode(string code, int mode)
 {
 	rapidjson::StringBuffer buf;
 	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
@@ -373,6 +375,8 @@
 	writer.Int(1);
 	writer.Key("mode");
 	writer.Int(mode);
+	writer.Key("code");
+	writer.String(code.c_str());
 	writer.EndObject();
 	writer.EndObject();
 	const char* json_content = buf.GetString();
@@ -790,7 +794,7 @@
 			CString code = arr[0].GetString();
 			CString codeName= arr[1].IsNull()?L"未知":arr[1].GetString() ;
 			float rate = 0.0f;
-			if (arr.Size() > 2) {
+			if (arr.Size() > 2&& arr[2].IsFloat()) {
 				rate = arr[2].GetFloat();
 			}
 			CodeInfo ci = CodeInfo({ code ,codeName, rate });
@@ -925,6 +929,24 @@
 	writer.String("sync_l1_subscript_codes");
 	writer.Key("data");
 	writer.StartObject();
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_trade_request(std::string(json_content));
+	return result;
+}
+
+string NetworkApi::sync_radical_buy_special_codes()
+{
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("async_radical_buy_special_codes");
 	writer.EndObject();
 	writer.EndObject();
 	const char* json_content = buf.GetString();
@@ -1134,7 +1156,7 @@
 	return result;
 }
 
-void NetworkApi::set_buy_money_and_count(int normalCount, string normalMoneyJson, int radicalCount, string radicalMoneyJson)
+void NetworkApi::set_buy_money_and_count(int normalCount, string normalMoneyJson, int radicalCount, string radicalMoneyJson, int default_buy_money)
 {
 	rapidjson::StringBuffer buf;
 	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
@@ -1145,6 +1167,8 @@
 	writer.StartObject();
 	writer.Key("ctype");
 	writer.String("set_buy_money_count_setting");
+	writer.Key("default_buy_money");
+	writer.Int(default_buy_money);
 	writer.Key("normal");
 	writer.StartArray();
 	writer.Int(normalCount);
@@ -1381,6 +1405,102 @@
 	return result;
 }
 
+string NetworkApi::get_place_order_settings()
+{
+
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("get_place_order_settings");
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_request(std::string(json_content));
+	return result;
+
+
+}
+
+string NetworkApi::set_place_order_settings(string radical_buy_data)
+{
+
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("set_place_order_settings");
+
+	writer.Key("radical_buy");
+	writer.String(radical_buy_data.c_str());
+
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_request(std::string(json_content));
+	return result;
+}
+
+string NetworkApi::get_buy_open_limit_up_codes()
+{
+
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("get_buy_open_limit_up_codes");
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_request(std::string(json_content));
+	return result;
+}
+
+string NetworkApi::set_buy_open_limit_up_codes(list<string> codes)
+{
+
+	rapidjson::StringBuffer codesbuf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writercodes(codesbuf);
+	writercodes.StartArray();
+	for (list<string>::iterator e = codes.begin(); e != codes.end(); ++e) {
+		writercodes.String((*e).c_str());
+	}
+	writercodes.EndArray();
+	const char* codes_json_content = codesbuf.GetString();
+
+
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("set_buy_open_limit_up_codes");
+	writer.Key("codes");
+	writer.String(codes_json_content);
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_request(std::string(json_content));
+	return result;
+}
+
+
+
 string NetworkApi::list_delegate_records(CString updateTime,bool canCancel)
 {
 	rapidjson::StringBuffer buf;
@@ -1459,3 +1579,79 @@
 	return cancel_order(code, L"",L"");
 }
 
+
+
+string NetworkApi::get_same_block_limit_up_codes_count(list<string> codes)
+{
+	rapidjson::StringBuffer codesbuf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writercodes(codesbuf);
+	writercodes.StartArray();
+	for (list<string>::iterator e = codes.begin(); e != codes.end(); ++e) {
+		writercodes.String((*e).c_str());
+	}
+	writercodes.EndArray();
+	const char* codes_json_content = codesbuf.GetString();
+
+
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("get_same_block_limit_up_codes_count");
+	writer.Key("codes");
+	writer.String(codes_json_content);
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_trade_request(std::string(json_content));
+	//string result = StringUtil::cstring2String(L"{\"code\":0,\"data\":[{\"code\":\"002729\",\"code_name\":\"好利科技\"}, {\"code\":\"300564\",\"code_name\":\"筑博设计\"}]}");
+	return result;
+}
+
+string NetworkApi::get_code_deal_queue(string code, int min_money)
+{
+
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("get_deal_queue");
+	writer.Key("code");
+	writer.String(code.c_str());
+	writer.Key("min_money");
+	writer.Int(min_money);
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_trade_request(std::string(json_content));
+	return result;
+}
+
+string NetworkApi::test_place_order(string code)
+{
+	rapidjson::StringBuffer buf;
+	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf);
+	writer.StartObject();
+	writer.Key("type");
+	writer.String("common");
+	writer.Key("data");
+	writer.StartObject();
+	writer.Key("ctype");
+	writer.String("test_place_order");
+	writer.Key("code");
+	writer.String(code.c_str());
+	writer.EndObject();
+	writer.EndObject();
+	const char* json_content = buf.GetString();
+	string result = base_trade_request(std::string(json_content));
+	return result;
+}
+

--
Gitblit v1.8.0