소스 검색

#IQRV #comment: 下线集中配置实体代码

陈纪林80310970 4 달 전
부모
커밋
c8b63cd1f9

+ 2 - 2
Module/CMakeLists.txt

@@ -152,7 +152,7 @@ add_subdirectory(mod_healthmanager)
 add_subdirectory(mod_accessauth)
 #will be offline in future cly said
 add_subdirectory(mod_guiconsole)
-add_subdirectory(mod_CenterSetting)
+#add_subdirectory(mod_CenterSetting)
 add_subdirectory(mod_tokenmgr)
 add_subdirectory(mod_evtconverter)
 #zhaohu
@@ -214,7 +214,7 @@ add_subdirectory(mod_upload)
 add_subdirectory(mod_healthmanager)
 add_subdirectory(mod_accessauth)
 add_subdirectory(mod_guiconsole)
-add_subdirectory(mod_CenterSetting)
+#add_subdirectory(mod_CenterSetting)
 add_subdirectory(mod_tokenmgr)
 add_subdirectory(mod_evtconverter)
 #add_subdirectory(mod_interactivelog)

+ 0 - 31
Module/mod_CenterSetting/CMakeLists.txt

@@ -1,31 +0,0 @@
-define_module("CenterSetting")
-
-set(${MODULE_PREFIX}_SRCS
-	CenterSettingConn.cpp
-	CenterSettingConn.h
-	mod_centersetting.cpp
-	mod_centersetting.h
-	)
-
-set(MOD_VERSION_STRING "0.0.1-dev1")
-add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
-
-target_include_directories(${MODULE_NAME} PRIVATE
-	${RVC_TOOLKIT_INCLUDE_DIR}
-	${OTHER_LIB_BASE_DIR}/libpublicFun
-	${OTHER_LIB_BASE_DIR}/libRestfulFunc
-	${CONAN_INCLUDE_DIRS_JSONCPP}
-)
-
-set(CMAKE_CXX_FLAGS "${CMAK_CXX_FLAGS} -g3")
-
-target_link_directories(${MODULE_NAME} PRIVATE
-	${CONAN_LIB_DIRS_JSONCPP}
-)
-
-# 添加实体需要依赖的其他共享库(包括系统库)
-set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_LIBS} ${RVCCOMM_LIB})
-target_link_libraries(${MODULE_NAME} 
-	${${MODULE_PREFIX}_LIBS} CONAN_PKG::OpenSSL libpublicFun ${CONAN_PKG_LIBS_JSONCPP})
-
-deploy_module(${MODULE_PREFIX} ${MODULE_NAME})

+ 0 - 795
Module/mod_CenterSetting/CenterSettingConn.cpp

@@ -1,795 +0,0 @@
-#include "stdafx.h"
-#include "CenterSettingConn.h"
-#include "Event.h"
-#include <map>
-#include <regex>
-using namespace std;
-using std::regex;
-#include "mod_centersetting.h"
-#include <iostream>
-#include <sys/types.h> 
-#include <sys/stat.h>
-#include <fstream>
-#include "fileutil.h"
-#pragma comment(lib, "crypt32.lib")
-
-#ifdef RVC_OS_LINUX
-#include "CommEntityUtil.hpp"
-#include "iniutil.h"
-#include "json/json.h"
-#include "CommEntityRestful.hpp"
-#include "SpUtility.h"
-#include "RVCComm.h"
-#endif //RVC_OS_WIN
-
-#ifdef RVC_OS_WIN
-char* ConvertUtf8ToGBK(const char* strUtf8)
-{
-	int len = MultiByteToWideChar(CP_UTF8, 0, strUtf8, -1, NULL, 0);
-	WCHAR* wszGBK = new WCHAR[len + 1];
-	memset(wszGBK, 0, len * 2 + 2);
-	MultiByteToWideChar(CP_UTF8, 0, strUtf8, -1, wszGBK, len);
-
-	len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);
-	char* szGBK = new char[len + 1];
-	memset(szGBK, 0, len + 1);
-	WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, szGBK, len, NULL, NULL);
-	delete[] wszGBK;
-
-	return szGBK;
-}
-
-void ConvertUtf8ToGBK(std::string& str)
-{
-	char* dst = ConvertUtf8ToGBK(str.c_str());
-	str = dst;
-	delete[] dst;
-}
-
-char* ConvertGBKToUtf8(const char* gbk, int* n)
-{
-	int len = MultiByteToWideChar(CP_ACP, 0, gbk, -1, NULL, 0);
-	WCHAR* wszGBK = new WCHAR[len + 1];
-	memset(wszGBK, 0, len * 2 + 2);
-	MultiByteToWideChar(CP_ACP, 0, gbk, -1, wszGBK, len);
-
-	len = WideCharToMultiByte(CP_UTF8, 0, wszGBK, -1, NULL, 0, NULL, NULL);
-	char* szUtf8 = new char[len + 1];
-	memset(szUtf8, 0, len + 1);
-	WideCharToMultiByte(CP_UTF8, 0, wszGBK, -1, szUtf8, len, NULL, NULL);
-
-	delete[] wszGBK;
-	*n = len - 1;
-	return szUtf8;
-}
-
-void ConvertGBKToUtf8(std::string& str)
-{
-	//char *src = new char[str.length() + 1];
-	//strncpy(src, str.c_str(), str.length() + 1);
-	int len = 0;
-	char* dst = ConvertGBKToUtf8(str.c_str(), &len);
-
-	str = dst;
-	//delete[] src;
-	delete[] dst;
-}
-
-static char* ConvertBytesToHexStr(BYTE *pBuf, int nLen)
-{
-	char *pRet = (char*)malloc(nLen * 2 + 1);
-	memset(pRet, 0, nLen * 2 + 1);
-	char *p = pRet;
-	for (int i = 0; i < nLen; i++)
-	{
-		BYTE b = pBuf[i];
-		BYTE l = (b >> 4) & 0x0F;
-		if (l >= 10)
-			*p = l - 10 + 'a';
-		else
-			*p = l + '0';
-
-		p++;
-		BYTE r = b & 0x0F;
-		if (r >= 10)
-			*p = r - 10 + 'a';
-		else
-			*p = r + '0';
-		p++;
-	}
-
-	return pRet;
-}
-#endif //RVC_OS_WIN
-
-void convert(string& str)
-{
-    //将单斜杠转为双斜杠
-    for (size_t i = 0; i < str.size(); i++) {
-        if (str[i] == '\\') {
-            str.insert(i, string("\\"));
-            i++;
-        }
-    }
-}
-
-void transferblank(string& str)
-{
-    int oldLen = str.length();
-    int cnt = 0;
-    for(int idx = 0; idx < oldLen; idx++)
-    {
-        if(str[idx] == ' ')
-            cnt++;
-    }
-
-    str.resize(oldLen + cnt * 2);
-    int j = oldLen - 1;
-    int i = str.length() - 1;
-    while( i >= 0 )
-    {
-        if(str[j] == ' ')
-        {
-            str[i--] = '0';
-            str[i--] = '2';
-            str[i--] = '%';
-            j--;
-        }
-        else
-        {
-            str[i--] = str[j--];
-        }
-    }
-}
-
-#ifndef  WITH_CPPRESTSDK_IN_CENTER
-bool CenterSettingResponse::Parse(string strData)
-{
-    Json::Value root;
-    Json::Reader reader;
-    Json::Value arrConfig;
-
-    reader.parse(strData, root, false);
-
-    m_success = root["success"].asBool();
-
-    if(m_success)
-    {
-        m_message = root["message"].asString();
-        m_is_update = root["data"]["is_update"].asBool();
-        m_is_reset = root["data"]["is_reset"].asBool();
-        m_version_no = root["data"]["version_no"].asString();
-        transferblank(m_version_no);
-        DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("m_version_no:%s", m_version_no.c_str());
-        DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("m_is_reset:%d", m_is_reset ? 1 : 0);
-        m_sm3 = root["data"]["sm3"].asString();
-        m_strConfig = root["data"]["config"].asString();
-
-        if(m_is_update)
-        {
-            reader.parse(m_strConfig, arrConfig, false);
-            if(arrConfig.isArray())
-            {
-                for(int j = 0; j < arrConfig.size(); j++)
-                {
-                    ConfigItem configItem;
-
-                    configItem.m_moudle = arrConfig[j]["moudle"].asString();
-                    configItem.m_name = arrConfig[j]["name"].asString();
-                    configItem.m_value = arrConfig[j]["value"].asString();
-
-                    m_config.push_back(configItem);
-                }
-            }
-        }
-    }
-    return true;
-}
-#endif
-
-bool AddVersionResponse::Parse(string strData)
-{
-    Json::Value root;
-    Json::Reader reader;
-    reader.parse(strData, root, false);
-    m_success = root["success"].asBool();
-    return m_success;
-}
-
-CenterSettingsMicroServiceHelper::CenterSettingsMicroServiceHelper(CEntityBase* pEntity)
-    :m_pEntity(pEntity), m_strLastTime(true), m_strCurSite(true), m_arrKeys(NULL), m_arrURLs(NULL), m_isFirst(true)
-{
-    m_pEntity->GetFunction()->OpenConfig(Config_CenterSetting, m_pCenterConfig);
-    m_pEntity->GetFunction()->OpenConfig(Config_Run, m_pRunConfig);
-
-    m_pEntity->GetFunction()->GetSystemStaticInfo(m_terminalInfo);
-    m_pHttpFunc = create_http(HTTPLogCallback);
-
-    InitCenterSettingInfo();
-}
-
-#ifdef RVC_OS_WIN
-int CenterSettingsMicroServiceHelper::GetCenterSetting()
-{
-#else
-int CenterSettingsMicroServiceHelper::GetCenterSetting(bool byHand)
-{
-#endif
-    LOG_FUNCTION();
-
-    if(m_strUrl.IsNullOrEmpty() && m_urlsFromShell.size() <= 0)
-    {
-        m_strErrMsg = "集中配置服务地址不存在";
-        return AllAddressNull;
-    }
-
-    CenterSettingReq req;
-    CenterSettingResponse res;
-    req.m_terminal_no = m_terminalInfo.strTerminalID.GetData();
-
-    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("m_strFilePath:%s", m_strFilePath.GetData());
-#ifdef RVC_OS_WIN
-	if(!ExistsFile(m_strFilePath))
-	{
-		Dbg("!ExistsFile(m_strFilePath)");
-#else
-if ((byHand && !m_isFirst) || !ExistsFile(m_strFilePath)) 
-    {
-        if (byHand && !m_isFirst && ExistsFileA(m_strFilePath)) {
-            LogWarn(Severity_Low, Error_Debug, EVENT_MOD_CENTERSETTING_UPDATE_CENTER_FORCE, "尝试强制重新下载集中配置");
-        }
-#endif
-        req.m_version = "";
-        req.m_config = "";
-    }
-    else
-    {
-#ifdef RVC_OS_LINUX
-if (m_isFirst) //如果是第一次更新则强制下载集中配置
-        {
-            req.m_version = "";
-            req.m_config = "";
-        }
-        else
-#endif
-        {
-            req.m_version = m_strVersion.GetData();
-            req.m_config = GetLocalConfig();
-        }
-    }
-
-    if(m_isFirst) m_isFirst = false;
-
-    DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("m_strVersion:%s", req.m_version.c_str());
-    req.m_update_time = GetUpdateTime();
-    GetTimeoutValue(req.m_timeOut);
-
-    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI("GetCenterSetting")(CSimpleStringA::Format("timeout:%d", req.m_timeOut));
-
-    int ret1 = MANUAL, ret2 = MANUAL;
-    if(!m_strUrl.IsNullOrEmpty())
-    {
-        req.m_url = m_strUrl;
-        m_strCurUrl = req.m_url;
-        req.m_url += "?update_time=" + req.m_update_time + "&terminal_no=" + req.m_terminal_no + "&version=" + req.m_version;
-#ifdef RVC_OS_WIN
-		ret1 = OnRequest(req, res, m_strErrMsg);
-#else
-        ret1 = GetCenterSettingsFromHttp(req, m_strErrMsg);
-#endif
-    }
-    else
-    {
-        DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetCenterSetting")("集中配置文件中地址为空,使用默认地址");
-    }
-
-    if(SUCC != ret1 && ret1 != EXIST)
-    {
-
-        if(m_urlsFromShell.size() <= 0)
-        {
-            DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetCenterSetting")("shell.ini中找不到集中配置地址");
-            return ret1;
-        }
-
-        for(int i = 0; i < m_urlsFromShell.size(); i++)
-        {
-            req.m_url = m_urlsFromShell[i].GetData();
-            m_strCurUrl = m_urlsFromShell[i].GetData();
-            req.m_url += "?update_time=" + req.m_update_time + "&terminal_no=" + req.m_terminal_no + "&version=" + req.m_version;
-#ifdef RVC_OS_WIN
-			ret2 = OnRequest(req, res);
-			if(ret2 == SUCC)
-				break;
-#else
-            ret1 = GetCenterSettingsFromHttp(req, m_strErrMsg);
-            if (ret1 == SUCC || ret1 == EXIST)
-                break;
-#endif
-        }
-    }
-	
-#ifdef RVC_OS_WIN
-    if(SUCC == ret1 || SUCC == ret2)
-	{
-		if(!res.m_is_update)
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetCenterSetting")("Centersetting not changed.");
-			m_strErrMsg = "集中配置已是最新版本";
-			return EXIST;
-		}
-
-		if(WriteToConfig(res))
-		{
-			m_strVersion = res.m_version_no.c_str();
-			Dbg("WriteToConfig m_strVersion:%s", m_strVersion.GetData());
-			m_pEntity->GetFunction()->OpenConfig(Config_CenterSetting, m_pCenterConfig, true);
-			m_pRunConfig->WriteConfigValue("CenterSetting", "version", m_strVersion);
-			UpdateVersion();
-			if(res.m_is_reset)
-				LogEvent(Severity_Middle, EVENT_MOD_CENTERSETTING_CRITICAL_UPDATE, "Update centersetting with critical items.");
-			
-			return SUCC;
-		}
-	}
-#endif	
-
-    return ret1;
-}
-
-void CenterSettingsMicroServiceHelper::InitCenterSettingInfo()
-{
-    CSmartPointer<IConfigInfo> shellConfig;
-    m_pEntity->GetFunction()->OpenConfig(Config_Shell, shellConfig);
-
-    m_pCenterConfig->ReadConfigValue("CenterSetting", "LastUpdateTime", m_strLastTime);
-    m_pRunConfig->ReadConfigValue("CenterSetting", "version", m_strVersion);
-#ifdef RVC_OS_LINUX
-    if (!m_strVersion.IsNullOrEmpty()) {
-        std::string tmp = m_strVersion.GetData();
-        transferblank(tmp);
-        m_strVersion = tmp.c_str();
-    }
-#endif
-    //从集中配置和shell.ini获取url
-    m_pCenterConfig->ReadConfigValue("CenterSetting", "CenterConfigUrlNew", m_strUrl);
-    if(m_strUrl.IsNullOrEmpty())
-    {
-        DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("InitCenterSettingInfo")("集中配置中的服务链接为空,使用默认链接");
-    } 
-    else
-    {
-        DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CenterConfigUrlNew:%s", m_strUrl.GetData());
-    }
-
-    CSimpleStringA strMicroServiceURLSection = "MicroServiceURL";
-
-#ifdef RVC_OS_WIN /** UOS配置后置后没这堆玩意,至少现在的配置中没有  但是windows还有[Gifur@202397]*/
-#ifdef DEVOPS_ON_ST /*DevOps流水线编译,ST环境*/
-    strMicroServiceURLSection = "MicroServiceURL-ST";
-#elif defined(DEVOPS_ON_UAT)/*DevOps流水线编译,UAT环境*/
-    strMicroServiceURLSection = "MicroServiceURL-UAT";
-#elif defined(DEVOPS_ON_PRD)/*DevOps流水线编译,PRD环境*/
-    //strMicroServiceURLSection = "MicroServiceURL-PRD";
-#elif defined(DEVOPS_ON_DEV)/*DevOps流水线编译,Dev环境*/
-    strMicroServiceURLSection = "MicroServiceURL-Dev";
-#else/*本地编译等非DevOps环境编译的版本*/
-    strMicroServiceURLSection = "MicroServiceURL-Dev";
-#endif
-#endif //RVC_OS_WIN
-
-    DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("InitCenterSettingInfo")("获取集中配置服务地址 Section name:%s", strMicroServiceURLSection.GetData());
-
-    shellConfig->ReadAllKeys(strMicroServiceURLSection, m_arrKeys);
-
-    CSimpleStringA strUrl;
-    for(int i = 0; i < m_arrKeys.GetCount() && m_arrKeys[i].IsStartWith("CenterConfigUrl", true); i++)
-    {
-        shellConfig->ReadConfigValue(strMicroServiceURLSection, m_arrKeys[i].GetData(), strUrl);
-        if(!strUrl.IsNullOrEmpty())
-        {
-            DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("add CenterURL:%s", strUrl.GetData());
-            m_urlsFromShell.push_back(strUrl);
-        }
-    }
-
-    //获取集中配置路径、文件名、场所
-    m_pEntity->GetFunction()->GetPath("CenterSetting", m_strFilePath);
-    m_pEntity->GetFunction()->GetPath("RunInfo", m_strBakPath);
-#ifdef RVC_OS_WIN
-    m_strBakPath += "\\runcfg\\CenterSetting.ini";
-#else
-    m_strBakPath += SPLIT_SLASH_STR "runcfg" SPLIT_SLASH_STR "CenterSetting.ini";
-#endif
-}
-
-bool CenterSettingsMicroServiceHelper::WriteToConfig(const CenterSettingResponse& sResponse)
-{
-    CSimpleStringA newPath = m_strBakPath + ".new";
-
-    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("config size: %d", sResponse.m_config.size());
-    for(int i = 0; i < sResponse.m_config.size(); i++)
-	{
-		string module = sResponse.m_config[i].m_moudle;
-		string name = sResponse.m_config[i].m_name;
-		string value = sResponse.m_config[i].m_value;
-
-#ifdef RVC_OS_WIN
-		if(!WritePrivateProfileStringA(module.c_str(), name.c_str(), value.c_str(), newPath))
-		{
-#else
-		if (inifile_write_str(newPath.GetData(), module.c_str(), name.c_str(), value.c_str()) == -1) 
-        {
-#endif
-            DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("WriteToConfig")
-                ("write %s:%s:%s fail", module.c_str(), name.c_str(), value.c_str());
-            m_strErrMsg = "集中配置写入失败";
-            LogWarn(Severity_Middle, Error_Unexpect, ERR_MOD_CENTERSETTING_WRITE_FAILED,
-                    CSimpleStringA::Format("集中配置写入失败:%s:%s:%s", module.c_str(), name.c_str(), value.c_str()));
-            return false;
-        }
-    }
-
-    DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("WriteToConfig")("集中配置写入成功");
-#ifdef RVC_OS_WIN
-    CopyFileA(newPath, m_strFilePath, FALSE);
-    DeleteFileA(newPath);
-#else
-    fileutil_copy_file(m_strFilePath, newPath);
-    fileutil_delete_file(newPath);
-#endif
-    return true;
-}
-
-string CenterSettingsMicroServiceHelper::GetLocalConfig()
-{
-    CAutoArray<CSimpleStringA> arrSections, arrKeys;
-    CSimpleStringA strItem;
-
-    if(Error_Succeed != m_pCenterConfig->ReadAllSections(arrSections))
-        DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetLocalConfig")("Read all sections failed.");
-
-    if(arrSections.GetCount() == 0)
-        return "";
-
-    for(int i = 0; i < arrSections.GetCount(); ++i)
-    {
-        m_pCenterConfig->ReadAllKeys(arrSections[i].GetData(), arrKeys);
-        for(int j = 0; j < arrKeys.GetCount(); ++j)
-        {
-            CSimpleStringA value, tmp;
-            m_pCenterConfig->ReadConfigValue(arrSections[i].GetData(), arrKeys[j].GetData(), value);
-
-            tmp = CSimpleStringA::Format("{\"moudle\":\"%s\", \"name\":\"%s\", \"value\":\"%s\"}",
-                                        arrSections[i].GetData(), arrKeys[j].GetData(), value.GetData());
-
-            strItem += tmp + ",";
-        }
-    }
-
-
-    string strConfig = strItem.SubString(0, strItem.GetLength() - 1).GetData();
-    convert(strConfig);
-    return strConfig;
-}
-
-void CenterSettingsMicroServiceHelper::UpdateVersion()
-{
-    AddVersionReq sReq;
-    AddVersionResponse sResponse;
-#ifdef RVC_OS_WIN
-	CSimpleStringA url;
-	m_pCenterConfig->ReadConfigValue("CenterSetting", "UpdateVersionUrl", url);
-	sReq.m_url = url.GetData();
-	sReq.m_terminal_no = m_terminalInfo.strTerminalID.GetData();
-	sReq.m_version = m_strVersion;
-	sReq.m_update_time = GetUpdateTime();
-	GetTimeoutValue(sReq.m_timeOut);
-	
-	//IHttpFunc* m_pHttpFunc = create_http(HTTPLogCallback);
-    PROCESS_LINK_CONTEXT("LR0402101UploadVersion")
-    bool ret = m_pHttpFunc->Post(sReq, sResponse, &nextLink);
-
-	if(ret && sResponse.m_success)
-	{
-		CSimpleStringA msg = CSimpleStringA::Format("上传版本号成功:{version : %s, update_time : %s}", 
-			sReq.m_version.c_str(), sReq.m_update_time.c_str());
-		LogWarn(Severity_Low, Error_Succeed, EVENT_MOD_CENTERSETTING_UPDATE_VERSION_SUCC, msg.GetData());
-	}
-	else
-	{
-		CSimpleStringA msg = CSimpleStringA::Format("上传版本号失败:%s", sResponse.m_errMsg.c_str());
-		LogWarn(Severity_Middle, Error_Succeed, EVENT_MOD_CENTERSETTING_UPDATE_VERSION_FAILED, msg.GetData());
-
-	}
-#else
-	struct UpdateVersionReq  //Req和Ans的变量名必须和服务端json要求的一致,切记!
-    {
-        string terminal_no;
-        string version_no;
-        string terminal_update_time;
-        JSONCONVERT2OBJECT_MEMEBER_REGISTER(terminal_no, version_no, terminal_update_time)
-    } updateVersionReq;
-
-    CSimpleStringA url;
-    m_pCenterConfig->ReadConfigValue("CenterSetting", "UpdateVersionUrl", url);
-
-    HttpClientResponseResult result;
-    HttpClientRequestConfig config(HttpRequestMethod::POST, url.GetData(), &SpGetToken);
-
-    updateVersionReq.terminal_no = m_terminalInfo.strTerminalID.GetData();
-    updateVersionReq.version_no = m_strVersion;
-    updateVersionReq.terminal_update_time = GetUpdateTime();
-
-    SP::Module::Restful::FulfillRequestJsonBody(&config, updateVersionReq);
-
-    RestfulClient client = RestfulClient::getInstance();
-    PROCESS_LINK_CONTEXT("LR0402101UpdateVersion");
-    config.PreDo();
-    client.Do(&config, &result, &nextLink);
-
-    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("返回内容为 %s", result.content.length() > 1000 ? result.content.substr(0, 1000).c_str() : result.content.c_str());
-
-    if (!result.ResponseOK()) {
-        DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Do failed: %s", result.WhatError().c_str());
-        return;
-    }
-
-    SP::Module::Restful::CommResponseJson responseStatus;
-    SP::Module::Restful::GetStatusFromDebranchResponse(result.content, responseStatus);
-
-    if (responseStatus.success) {
-        CSimpleStringA msg = CSimpleStringA::Format("上传版本号成功:{version : %s, update_time : %s}",
-            updateVersionReq.version_no.c_str(), updateVersionReq.terminal_update_time.c_str());
-        LogWarn(Severity_Low, Error_Succeed, EVENT_MOD_CENTERSETTING_UPDATE_VERSION_SUCC, msg.GetData());
-    } else {
-        CSimpleStringA msg = CSimpleStringA::Format("上传版本号失败:%s", result.content.c_str());
-        LogWarn(Severity_Middle, Error_Succeed, EVENT_MOD_CENTERSETTING_UPDATE_VERSION_FAILED, msg.GetData());
-
-    }
-#endif
-}
-
-SYSTEMTIME GetModifyTime(const string& strFilename)
-{
-#if defined(_MSC_VER)
-    struct _stat64i32 statbuf;
-    _stat64i32(strFilename.c_str(), &statbuf);
-    struct tm* temptm = _localtime64(&statbuf.st_mtime);
-#else
-    struct stat statbuf;
-    ZeroMemory(&statbuf, sizeof(statbuf));
-    stat(strFilename.c_str(), &statbuf);
-    struct tm* temptm = localtime(&statbuf.st_mtime);
-#endif //_MSC_VER
-
-    SYSTEMTIME st = { 1900 + temptm->tm_year,
-        1 + temptm->tm_mon,
-        temptm->tm_wday,
-        temptm->tm_mday,
-        temptm->tm_hour,
-        temptm->tm_min,
-        temptm->tm_sec,
-        0 };
-
-    return st;
-}
-
-string CenterSettingsMicroServiceHelper::GetUpdateTime()
-{
-    CSimpleStringA strUpdateTime;
-
-    /** 配置后置后本地没有这个实体文件,都被框架放到运行时了,所以需要处理这个逻辑 [Gifur@202397]*/
-    if(ExistsFileA(m_strFilePath))
-    {
-#ifdef RVC_OS_WIN
-		struct _stat64i32 statbuf;
-		_stat64i32(m_strFilePath.GetData(), &statbuf);
-#endif
-        SYSTEMTIME st = GetModifyTime(m_strFilePath.GetData());
-        strUpdateTime = CSimpleStringA::Format("%d-%02d-%02d-%02d:%02d:%02d",
-                                               st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
-	}
-	else
-	{
-#ifdef RVC_OS_WIN
-        SYSTEMTIME st, stLocal;
-		GetSystemTime(&st);
-		SystemTimeToTzSpecificLocalTime(NULL, &st, &stLocal);
-#else
-        SYSTEMTIME stLocal = CSmallDateTime::GetNow().ToSystemTime();
-#endif
-        strUpdateTime = CSimpleStringA::Format("%d-%02d-%02d-%02d:%02d:%02d",
-                                               stLocal.wYear, stLocal.wMonth, stLocal.wDay,
-                                               stLocal.wHour, stLocal.wMinute, stLocal.wSecond);
-    }
-    return strUpdateTime.GetData();
-}
-
-void CenterSettingsMicroServiceHelper::GetTimeoutValue(int& timeout)
-{
-    int timeoutFromConfig = 0;
-    m_pCenterConfig->ReadConfigValueInt("CenterSetting", "Timeout", timeoutFromConfig);
-    if(timeoutFromConfig == 0)
-        return;
-    else
-        timeout = timeoutFromConfig;
-}
-
-#ifdef RVC_OS_WIN
-int CenterSettingsMicroServiceHelper::OnRequest(CenterSettingReq& req, CenterSettingResponse& res, string& errMsg)
-{
-    PROCESS_LINK_CONTEXT("LR0402101SyncCenter")
-	bool ret = m_pHttpFunc->Post(req, res, &nextLink);
-
-	if(ret && res.m_success)
-	{
-		if(!res.m_is_update)
-			return SUCC;
-
-		ConvertGBKToUtf8(res.m_strConfig);
-		string strConfig = res.m_strConfig;
-
-
-		BYTE sm3[32] = {};
-		if(strConfig.length() > 2)
-		{
-			if (!SM3Hash((BYTE*)(strConfig.c_str()), strlen(strConfig.c_str()), sm3))
-			{
-				errMsg = "计算SM3失败";
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("OnRequest")
-					(CSimpleStringA::Format("计算SM3失败(%s)", req.m_url.c_str()));
-				return CalcSM3Fail;
-			}
-			else
-			{
-				int sm3len = sizeof(sm3);
-				char* strsm3 = ConvertBytesToHexStr(sm3, 32);
-
-				if(0 != strcmp(strsm3, res.m_sm3.c_str()))
-				{
-					errMsg = "SM3校验失败";
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("OnRequest")
-						(CSimpleStringA::Format("SM3校验失败(%s)", req.m_url.c_str()));
-					return CheckSM3Fail;
-				}
-
-				m_strVersion = res.m_version_no.c_str();
-				
-				return SUCC;
-			}
-		}
-	}
-	else
-	{
-		//ConvertUtf8ToGBK(res.m_errMsg);
-		errMsg = res.m_errMsg;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("OnRequest")
-			(CSimpleStringA::Format("访问失败:%s", res.m_errMsg.c_str()));
-
-		if(res.m_sysCode == 28 || res.m_sysCode == 7)
-			return AccessServiceFail;
-
-		return MANUAL;
-	}
-}
-#else
-int CenterSettingsMicroServiceHelper::GetCenterSettingsFromHttp(CenterSettingReq& req, string& errMsg)
-{
-    LOG_FUNCTION();
-    CenterSettingResponse res;
-
-    struct GetCenterSettingReq //Req和Ans的变量名必须和服务端json要求的一致,切记!
-    {
-        string m_terminal_no;
-        string m_version;
-        string m_update_time;
-        string m_config;
-        JSONCONVERT2OBJECT_MEMEBER_REGISTER(m_terminal_no, m_version, m_update_time, m_config)
-    } getCenterSettingReq;
-
-    struct GetCenterSettingAns //Req和Ans的变量名必须和服务端json要求的一致,切记!
-    {
-        bool success;
-        string message;
-        bool is_update;
-        bool is_reset;
-        string version_no;
-        string sm3;
-        string config;
-        JSONCONVERT2OBJECT_MEMEBER_REGISTER(success, message, is_update, is_reset, version_no, sm3, config)
-    }getCenterSettingAns;
-
-    HttpClientResponseResult result;
-    HttpClientRequestConfig config(HttpRequestMethod::POST, req.m_url, &SpGetToken);
-    if (req.m_timeOut > 0) config.SetTimeout(req.m_timeOut);
-
-    getCenterSettingReq.m_terminal_no = req.m_terminal_no;
-    getCenterSettingReq.m_version = req.m_version;
-    getCenterSettingReq.m_update_time = req.m_update_time;
-    getCenterSettingReq.m_config = req.m_config;
-
-    SP::Module::Restful::FulfillRequestJsonBody(&config, getCenterSettingReq);
-
-    Dbg("Geting centtersetting...");
-
-    RestfulClient client = RestfulClient::getInstance();
-    PROCESS_LINK_CONTEXT("LR0402101GetCenterSetting");
-    config.PreDo();
-    client.Do(&config, &result, &nextLink);
-
-    Dbg("ret result.ResponseOK() = %d.", result.ResponseOK());
-    if (!result.ResponseOK()) {
-        DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Do failed: %s", result.WhatError().c_str());
-        errMsg = result.WhatError();
-        return AccessServiceFail;
-    }
-    SP::Module::Restful::CommResponseJson responseStatus;
-    SP::Module::Restful::GetStatusFromDebranchResponse(result.content, responseStatus);
-    if (!responseStatus.IsOperatedOK()) {
-        DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)(result.content.c_str());
-        errMsg = responseStatus.WhatError().c_str();
-        return MANUAL;
-    }
-
-    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s", result.content.length() > 1000 ? result.content.substr(0, 1000).c_str() : result.content.c_str());
-    if (!SP::Module::Restful::ExtractDataFromDebranchResponse(result.content, getCenterSettingAns)) {
-        DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("parse json data node failed: ");
-        errMsg = "解析集中配置返回的信息失败";
-        return UNknown;
-    }
-    //transferblank(centerSettingAns.version_no);
-    ///** 当时粤超开发Windows版本时,要求服务端将数组转化为字符串传送,这边信创为了兼容,需要重新转为数组处理(信创是支持JSON数组) [Gifur@202398]*/
-    //string strConfig = centerSettingAns.config;  
-    //vector<ConfigItem> m_config;
-    //SP::Utility::replaceInPlace(centerSettingAns.config, "\\\"", "\"");
-    //if (!Json2Object(m_config, centerSettingAns.config)) {
-    //    DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse config content failed!");
-    //    errMsg = "解析集中配置返回的配置信息失败";
-    //    return UNknown;
-    //}
-    res.Parse(result.content);
-    string strConfig = SP::Utility::GBK2UTF8(res.m_strConfig);
-
-    if (!res.m_is_update) {
-        DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetCenterSetting")("Centersetting not changed.");
-        errMsg = "集中配置已是最新版本";
-        return EXIST;
-    }
-
-    DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("config length:%d", strConfig.length());
-
-    BYTE sm3[32] = {};
-    if (strConfig.length() > 2) {
-        if (!SM3Hash((BYTE*)(strConfig.c_str()), strConfig.length(), sm3)) {
-            errMsg = "计算SM3失败";
-            DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetCenterSettingsFromHttp")("计算SM3失败(%s)", req.m_url.c_str());
-            return CalcSM3Fail;
-        } else {
-            DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("sm3:%s", res.m_sm3.c_str());
-            char* strsm3 = SP::Module::Util::ConvertBytesToHexStr(sm3, 32);
-            if (0 != strcmp(strsm3, res.m_sm3.c_str())) {
-                errMsg = "SM3校验失败";
-                DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetCenterSettingsFromHttp")("SM3校验失败(%s)", req.m_url.c_str());
-                delete[] strsm3;
-                return CheckSM3Fail;
-            }
-            m_strVersion = res.m_version_no.c_str();
-            delete[] strsm3;
-        }
-
-        if (WriteToConfig(res)) {
-            m_strVersion = res.m_version_no.c_str();
-            DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("WriteToConfig m_strVersion:%s", m_strVersion.GetData());
-            m_pEntity->GetFunction()->OpenConfig(Config_CenterSetting, m_pCenterConfig, true);
-            m_pRunConfig->WriteConfigValue("CenterSetting", "version", m_strVersion);
-            UpdateVersion();
-            if (res.m_is_reset) {
-                LogEvent(Severity_Middle, EVENT_MOD_CENTERSETTING_CRITICAL_UPDATE, "Update centersetting with critical items.");
-            }
-            return SUCC;
-        }
-    }
-    return UNknown;
-}
-#endif

+ 0 - 198
Module/mod_CenterSetting/CenterSettingConn.h

@@ -1,198 +0,0 @@
-#ifndef RVC_MOD_CENTERSETTING_CONN_H_
-#define RVC_MOD_CENTERSETTING_CONN_H_
-
-#pragma once
-#include "json/json.h"
-#include "SpSecureClient.h"
-#include "SpIni.h"
-#include "IHttpFunc.h"
-#include "EventCode.h"
-#include <vector>
-#include <string>
-
-#ifdef WITH_CPPRESTSDK_IN_CENTER
-#include "CommEntityRestful.hpp"
-#include "microservices/api_terminal_center_config.h"
-
-struct ModuleConfigItemJson : public MicroServices::API::TerminalV3::ModuleConfigItem
-{
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(m_moudle, m_name, m_value)
-        JSONCONVERT2OBJECT_MEMEBER_RENAME_REGISTER("moudle", "name", "value")
-};
-
-struct CenterSettingReq
-{
-    CenterSettingReq() :m_terminal_no(""), m_version(""), m_update_time(""),m_url(""),m_timeOut(0) {}
-    std::string m_terminal_no;
-    std::string m_version;
-    std::string m_update_time;
-    /** 兼容用途 [Gifur@202398]*/
-    std::string m_url;
-    int m_timeOut;
-    std::string m_config;
-    std::vector<ModuleConfigItemJson> configs;
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(m_terminal_no, m_version, configs, m_update_time)
-        JSONCONVERT2OBJECT_MEMEBER_RENAME_REGISTER("terminal_no", "version", "config", "update_time")
-};
-
-struct CenterSettingResponse
-{
-    bool m_is_update;
-    bool m_is_reset;
-    std::string m_sm3;
-    std::string m_version_no;
-    std::vector<ModuleConfigItemJson> m_config;
-    std::string m_strConfig;
-    JSONCONVERT2OBJECT_MEMEBER_REGISTER(m_is_update, m_is_reset, m_sm3, m_version_no, m_strConfig)
-        JSONCONVERT2OBJECT_MEMEBER_RENAME_REGISTER("is_update", "is_reset", "sm3", "version_no", "config")
-};
-
-#else
-
-struct CenterSettingReq : CHTTPReq
-{
-    CenterSettingReq()
-    {
-#if defined(_MSC_VER)
-        m_bTransCode = true;
-#else
-        m_bTransCode = false;
-#endif //_MSC_VER
-    }
-    string m_terminal_no;
-    string m_version;
-    string m_update_time;
-    string m_config;
-
-    virtual string ToJson()
-    {
-        CSimpleStringA reqcontent = CSimpleStringA::Format("{\"terminal_no\":\"%s\", \"version\":\"%s\", \"update_time\":\"%s\", \"config\":[%s]}",
-            m_terminal_no.c_str(), m_version.c_str(), m_update_time.c_str(), m_config.c_str());
-        return reqcontent.GetData();
-    }
-};
-
-struct ConfigItem
-{
-    std::string m_moudle;
-    std::string m_name;
-    std::string m_value;
-
-#ifdef RVC_OS_LINUX
-    // 默认构造函数
-    ConfigItem()
-        : m_moudle(""), m_name(""), m_value("")
-    {
-    }
-
-    // 带参数的构造函数
-    ConfigItem(const std::string& module, const std::string& name, const std::string& value)
-        : m_moudle(module), m_name(name), m_value(value)
-    {
-    }
-
-    // 拷贝构造函数
-    ConfigItem(const ConfigItem& other)
-        : m_moudle(other.m_moudle), m_name(other.m_name), m_value(other.m_value)
-    {
-    }
-#endif
-};
-
-struct CenterSettingResponse : CHTTPRet
-{
-    CenterSettingResponse(){}
-
-    bool m_success;
-    string m_message;
-    bool m_is_update;
-    bool m_is_reset;
-    string m_version_no;
-    string m_sm3;
-    string m_strConfig;
-    vector<ConfigItem> m_config;
-
-    virtual bool Parse(string strData);
-};
-
-#ifdef RVC_OS_LINUX
-#define SAFE_DELETE_HTTPCLIENT(obj)	\
-	do{if(obj != NULL) { obj->Destory(); obj = NULL; }}while(false)
-#endif //RVC_OS_LINUX
-
-#endif //WITH_CPPRESTSDK_IN_CENTER
-
-struct AddVersionReq : CHTTPReq
-{
-    AddVersionReq(){}
-    string m_terminal_no;
-    string m_version;
-    string m_update_time;
-
-    virtual string ToJson()
-    {
-        char reqcontent[256];
-        sprintf(reqcontent, "{\"terminal_no\":\"%s\", \"version_no\":\"%s\", \"terminal_update_time\":\"%s\"}",
-                m_terminal_no.c_str(), m_version.c_str(), m_update_time.c_str());
-        return reqcontent;
-    }
-};
-
-struct AddVersionResponse : CHTTPRet
-{
-    AddVersionResponse() {}
-
-    bool m_success;
-    string m_message;
-
-    virtual bool Parse(string strData);
-};
-
-class CenterSettingsMicroServiceHelper
-{
-public:
-    CenterSettingsMicroServiceHelper(CEntityBase* pEntity);
-#ifdef RVC_OS_WIN
-    int GetCenterSetting();
-#else
-	int GetCenterSetting(bool byHand);
-#endif
-    string GetLocalConfig(); //将集中配置转换成Json串
-    string GetUpdateTime();  //获取集中配置更新时间,如果文件不存在则获取当前系统时间
-    const char* GetErrMsg() { return m_strErrMsg.c_str(); }
-    void GetTimeoutValue(int& timeout);
-    void InitCenterSettingInfo();
-    bool WriteToConfig(const CenterSettingResponse& sResponse);
-    void UpdateVersion();
-    void UpdateUrl(const string& url) { m_strUrl = url.c_str(); };
-
-#ifdef RVC_OS_WIN
-    int OnRequest(CenterSettingReq& req, CenterSettingResponse& res, string& errMsg = string(""));  //轮询域名下载集中配置
-#else
-	int GetCenterSettingsFromHttp(CenterSettingReq& req, string& errMsg);  //轮询域名下载集中配置
-#endif
-
-    string GetCurUrl() { return m_strCurUrl; }
-
-private:
-    string m_strErrMsg;
-    CEntityBase* m_pEntity;
-    CSimpleStringA m_strLastTime;
-    CSystemStaticInfo m_terminalInfo;
-    IHttpFunc* m_pHttpFunc;
-    CAutoArray<CSimpleStringA> m_arrKeys;
-    vector<CSimpleStringA> m_arrURLs;
-
-    CSimpleStringA m_strCurSite;
-    CSmartPointer<IConfigInfo> m_pCenterConfig;
-    CSmartPointer<IConfigInfo> m_pRunConfig;
-    CSimpleStringA m_strFilePath;
-    CSimpleStringA m_strBakPath;
-    CSimpleStringA m_strVersion;
-    CSimpleStringA m_strUrl;
-    vector<CSimpleStringA> m_urlsFromShell;
-    string m_strCurUrl;
-    bool m_isFirst;
-};
-
-#endif //RVC_MOD_CENTERSETTING_CONN_H_

+ 0 - 42
Module/mod_CenterSetting/CenterSettingService.xml

@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="gb2312" ?>
-<entity name="CenterSetting">
-	<class name="CenterSettingService" overlap="true" exclusive="false">
-		<twoway name="Downloadv2" overlap="true">
-			<req>
-				<param name="reqCenterConfigUrl" type="string"/>
-			</req>
-			<res>
-				<param name="downloadStat" type="int"/>
-				<param name="strErrMsg" type="string"/>
-				<param name="retCenterConfigUrl" type="string"/>
-				<param name="HostUrl" type="string"/>
-			</res>
-		</twoway>
-		<oneway name="Hold1" overlap="true">
-		</oneway>
-		<oneway name="Hold2" overlap="true">
-		</oneway>
-		<twoway name="GetAccessUrl" overlap="true">
-			<res>
-				<param name="HostUrl" type="string"/>
-			</res>
-		</twoway>
-		<twoway name="GetCertainAceessUrl" overlap="true">
-			<req>
-				<param name="reqName" type="string"/>
-				<param name="reverse1" type="string"/>
-				<param name="reverse2" type="string"/>
-				<param name="intreverse1" type="int"/>
-				<param name="intreverse2" type="int"/>
-			</req>
-			<res>
-				<param name="CertainAceessUrl" type="string"/>
-				<param name="reverse1" type="string"/>
-				<param name="reverse2" type="string"/>
-				<param name="intreverse1" type="int"/>
-				<param name="intreverse2" type="int"/>
-			</res>
-		</twoway>
-
-	</class>
-</entity>

+ 0 - 255
Module/mod_CenterSetting/CenterSetting_client_g.h

@@ -1,255 +0,0 @@
-
-#ifndef __CENTERSETTING_CLIENT_G_H
-#define __CENTERSETTING_CLIENT_G_H
-
-#pragma once
-
-// This code is generated by spgen tool!
-
-#include "CenterSetting_def_g.h"
-
-namespace CenterSetting {
-class CenterSettingService_ClientBase : public CClientSessionBase {
-public:
-	explicit CenterSettingService_ClientBase(CEntityBase *pEntity) : m_pEntityBase(pEntity), m_bSysManaged(false) {}
-
-	CenterSettingService_ClientBase* operator () (const linkContext &curLink) 
-	{
-		m_context = curLink;
-		return this;
-	}
-
-protected:
-	virtual ~CenterSettingService_ClientBase()
-	{
-		/// override by user
-	}
-public:
-
-	void OnConnectSucceed()
-	{
-		bSessionClosed = false;
-	}
-	void OnClose(ErrorCodeEnum)
-	{
-		bSessionClosed = true;
-	}
-	bool QuerySessionClosed()
-	{
-		return bSessionClosed;
-	}
-	ErrorCodeEnum Connect(CSmartPointer<IAsynWaitSp> &spAsyncWait)
-	{
-		CSmartPointer<IEntityFunction> pFunc = m_pEntityBase->GetFunction();
-		ErrorCodeEnum Error = pFunc->ConnectRemoteEntity(this, "CenterSetting", "CenterSettingService", spAsyncWait);
-		if (Error == Error_Succeed) {
-			m_bSysManaged = true;
-			bSessionClosed = false;
-		}
-		return Error;
-	}
-	ErrorCodeEnum Connect()
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = Connect(spAsyncWait);
-		if (Error == Error_Succeed) {
-			Error = spAsyncWait->WaitAnswer();
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum Downloadv2(CenterSettingService_Downloadv2_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CenterSettingService_Method_Downloadv2, CenterSettingService_MethodSignature_Downloadv2, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum Downloadv2(CenterSettingService_Downloadv2_Req &Req, CenterSettingService_Downloadv2_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = Downloadv2(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum Downloadv2(CenterSettingService_Downloadv2_Req &Req, CenterSettingService_Downloadv2_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = Downloadv2(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum Downloadv2(CenterSettingService_Downloadv2_Req &Req, CenterSettingService_Downloadv2_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = Downloadv2(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum Hold1()
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->OnewayCall(CenterSettingService_Method_Hold1, CenterSettingService_MethodSignature_Hold1, m_context);
-		m_context.clear();
-		return ret;
-	}
-
-	ErrorCodeEnum Hold2()
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->OnewayCall(CenterSettingService_Method_Hold2, CenterSettingService_MethodSignature_Hold2, m_context);
-		m_context.clear();
-		return ret;
-	}
-
-	ErrorCodeEnum GetAccessUrl(CenterSettingService_GetAccessUrl_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CenterSettingService_Method_GetAccessUrl, CenterSettingService_MethodSignature_GetAccessUrl, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum GetAccessUrl(CenterSettingService_GetAccessUrl_Req &Req, CenterSettingService_GetAccessUrl_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetAccessUrl(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetAccessUrl(CenterSettingService_GetAccessUrl_Req &Req, CenterSettingService_GetAccessUrl_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetAccessUrl(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetAccessUrl(CenterSettingService_GetAccessUrl_Req &Req, CenterSettingService_GetAccessUrl_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetAccessUrl(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum GetCertainAceessUrl(CenterSettingService_GetCertainAceessUrl_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(CenterSettingService_Method_GetCertainAceessUrl, CenterSettingService_MethodSignature_GetCertainAceessUrl, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum GetCertainAceessUrl(CenterSettingService_GetCertainAceessUrl_Req &Req, CenterSettingService_GetCertainAceessUrl_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetCertainAceessUrl(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetCertainAceessUrl(CenterSettingService_GetCertainAceessUrl_Req &Req, CenterSettingService_GetCertainAceessUrl_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetCertainAceessUrl(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetCertainAceessUrl(CenterSettingService_GetCertainAceessUrl_Req &Req, CenterSettingService_GetCertainAceessUrl_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetCertainAceessUrl(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-
-	bool SafeDelete()
-	{
-		if (!m_bSysManaged) {
-			delete this;
-		}
-		return m_bSysManaged;
-	}
-
-protected:
-	bool m_bSysManaged;
-	CEntityBase *m_pEntityBase;
-	linkContext m_context;
-	bool bSessionClosed;
-};
-
-///////////////////////////
-
-} // namespace CenterSetting
-#endif // __CENTERSETTING_CLIENT_G_H

+ 0 - 131
Module/mod_CenterSetting/CenterSetting_def_g.h

@@ -1,131 +0,0 @@
-#ifndef __CENTERSETTING_DEF_G_H
-#define __CENTERSETTING_DEF_G_H
-
-#pragma once
-
-// This code is generated by spgen tool!
-
-#include "SpHelper.h"
-
-namespace CenterSetting {
-//
-// const goes here
-//
-
-#define CenterSettingService_Method_Downloadv2 0
-#define CenterSettingService_Method_Hold1 1
-#define CenterSettingService_Method_Hold2 2
-#define CenterSettingService_Method_GetAccessUrl 3
-#define CenterSettingService_Method_GetCertainAceessUrl 4
-
-#define CenterSettingService_MethodSignature_Downloadv2 -1569222403
-#define CenterSettingService_MethodSignature_Hold1 35758230
-#define CenterSettingService_MethodSignature_Hold2 35758233
-#define CenterSettingService_MethodSignature_GetAccessUrl 1887530540
-#define CenterSettingService_MethodSignature_GetCertainAceessUrl -927544309
-
-#define CenterSettingService_LogCode_Downloadv2 "QLR040210100"
-#define CenterSettingService_LogCode_Hold1 "QLR040210101"
-#define CenterSettingService_LogCode_Hold2 "QLR040210102"
-#define CenterSettingService_LogCode_GetAccessUrl "QLR040210103"
-#define CenterSettingService_LogCode_GetCertainAceessUrl "QLR040210104"
-
-struct CenterSettingService_Downloadv2_Req
-{
-	CSimpleStringA reqCenterConfigUrl;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & reqCenterConfigUrl;
-	}
-
-};
-
-struct CenterSettingService_Downloadv2_Ans
-{
-	int downloadStat;
-	CSimpleStringA strErrMsg;
-	CSimpleStringA retCenterConfigUrl;
-	CSimpleStringA HostUrl;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & downloadStat & strErrMsg & retCenterConfigUrl & HostUrl;
-	}
-
-};
-
-struct CenterSettingService_Hold1_Info
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct CenterSettingService_Hold2_Info
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct CenterSettingService_GetAccessUrl_Req
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct CenterSettingService_GetAccessUrl_Ans
-{
-	CSimpleStringA HostUrl;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & HostUrl;
-	}
-
-};
-
-struct CenterSettingService_GetCertainAceessUrl_Req
-{
-	CSimpleStringA reqName;
-	CSimpleStringA reverse1;
-	CSimpleStringA reverse2;
-	int intreverse1;
-	int intreverse2;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & reqName & reverse1 & reverse2 & intreverse1 & intreverse2;
-	}
-
-};
-
-struct CenterSettingService_GetCertainAceessUrl_Ans
-{
-	CSimpleStringA CertainAceessUrl;
-	CSimpleStringA reverse1;
-	CSimpleStringA reverse2;
-	int intreverse1;
-	int intreverse2;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & CertainAceessUrl & reverse1 & reverse2 & intreverse1 & intreverse2;
-	}
-
-};
-
-
-///////////////////////////
-
-} // namespace CenterSetting
-
-#endif // __CENTERSETTING_DEF_G_H

+ 0 - 218
Module/mod_CenterSetting/CenterSetting_server_g.h

@@ -1,218 +0,0 @@
-
-#ifndef __CENTERSETTING_SERVER_G_H
-#define __CENTERSETTING_SERVER_G_H
-
-#pragma once
-
-// This code is generated by spgen tool!
-
-#include "CenterSetting_def_g.h"
-
-namespace CenterSetting {
-class CenterSettingService_ServerSessionBase : public CServerSessionBase
-{
-public:
-	CenterSettingService_ServerSessionBase()
-	{
-		/// override by user
-	}
-
-	virtual ~CenterSettingService_ServerSessionBase()
-	{
-		/// override by user
-	}
-
-	virtual bool IsExclusive() { return false; }
-
-	virtual bool IsSessionOverlap() { return true; }
-
-	virtual ErrorCodeEnum GetMessageAttr(DWORD dwMessageID, DWORD dwSignature, bool &bOverlap)
-	{
-		ErrorCodeEnum Error = Error_Succeed;
-		switch (dwMessageID) {
-		case CenterSettingService_Method_Downloadv2:
-			if (dwSignature == CenterSettingService_MethodSignature_Downloadv2) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_Hold1:
-			if (dwSignature == CenterSettingService_MethodSignature_Hold1) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_Hold2:
-			if (dwSignature == CenterSettingService_MethodSignature_Hold2) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_GetAccessUrl:
-			if (dwSignature == CenterSettingService_MethodSignature_GetAccessUrl) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_GetCertainAceessUrl:
-			if (dwSignature == CenterSettingService_MethodSignature_GetCertainAceessUrl) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		default:
-			Error = Error_MethodNotFound;
-			break;
-		}
-		return Error;
-	}
-
-	int CheckMessageSignature(DWORD dwMessageID, DWORD dwSignature)
-	{
-		ErrorCodeEnum Error = Error_Succeed;
-		switch (dwMessageID) {
-		case CenterSettingService_Method_Downloadv2:
-			if (dwSignature != CenterSettingService_MethodSignature_Downloadv2) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_Hold1:
-			if (dwSignature != CenterSettingService_MethodSignature_Hold1) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_Hold2:
-			if (dwSignature != CenterSettingService_MethodSignature_Hold2) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_GetAccessUrl:
-			if (dwSignature != CenterSettingService_MethodSignature_GetAccessUrl) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case CenterSettingService_Method_GetCertainAceessUrl:
-			if (dwSignature != CenterSettingService_MethodSignature_GetCertainAceessUrl) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		default:
-			Error = Error_MethodNotFound;
-			break;
-		}
-		return Error;
-	}
-
-	virtual void Handle_Downloadv2(SpReqAnsContext<CenterSettingService_Downloadv2_Req, CenterSettingService_Downloadv2_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_Hold1(SpOnewayCallContext<CenterSettingService_Hold1_Info>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_Hold2(SpOnewayCallContext<CenterSettingService_Hold2_Info>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_GetAccessUrl(SpReqAnsContext<CenterSettingService_GetAccessUrl_Req, CenterSettingService_GetAccessUrl_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_GetCertainAceessUrl(SpReqAnsContext<CenterSettingService_GetCertainAceessUrl_Req, CenterSettingService_GetCertainAceessUrl_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
-	{
-		CAutoBuffer Buf;
-		DWORD dwMessageID;
-		DWORD dwMessageSignature;
-		ErrorCodeEnum Error = pTransactionContext->GetReceiveBuffer(dwMessageID, dwMessageSignature, Buf);
-		if (Error == Error_Succeed) {
-#ifdef DEBUG
-			assert(CheckMessageSignature(dwMessageID, dwMessageSignature) == Error_Succeed);
-#else
-			if (CheckMessageSignature(dwMessageID, dwMessageSignature) != Error_Succeed) {
-				pTransactionContext->SendAnswer(Error_MethodSignatureFailed);
-				return;
-			}
-#endif
-			switch (dwMessageID) {
-				case CenterSettingService_Method_Downloadv2:
-					{
-						SpReqAnsContext<CenterSettingService_Downloadv2_Req,CenterSettingService_Downloadv2_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CenterSettingService_Downloadv2_Req,CenterSettingService_Downloadv2_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_Downloadv2(ctx);
-					}
-					break;
-				case CenterSettingService_Method_Hold1:
-					{
-						SpOnewayCallContext<CenterSettingService_Hold1_Info>::Pointer ctx;
-						ctx.Attach(new SpOnewayCallContext<CenterSettingService_Hold1_Info>());
-						SpBuffer2Object(Buf, ctx->Info);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_Hold1(ctx);
-					}
-					break;
-				case CenterSettingService_Method_Hold2:
-					{
-						SpOnewayCallContext<CenterSettingService_Hold2_Info>::Pointer ctx;
-						ctx.Attach(new SpOnewayCallContext<CenterSettingService_Hold2_Info>());
-						SpBuffer2Object(Buf, ctx->Info);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_Hold2(ctx);
-					}
-					break;
-				case CenterSettingService_Method_GetAccessUrl:
-					{
-						SpReqAnsContext<CenterSettingService_GetAccessUrl_Req,CenterSettingService_GetAccessUrl_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CenterSettingService_GetAccessUrl_Req,CenterSettingService_GetAccessUrl_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_GetAccessUrl(ctx);
-					}
-					break;
-				case CenterSettingService_Method_GetCertainAceessUrl:
-					{
-						SpReqAnsContext<CenterSettingService_GetCertainAceessUrl_Req,CenterSettingService_GetCertainAceessUrl_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<CenterSettingService_GetCertainAceessUrl_Req,CenterSettingService_GetCertainAceessUrl_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_GetCertainAceessUrl(ctx);
-					}
-					break;
-				default:
-					assert(0);
-					break;
-			}
-			
-		} else {
-			pTransactionContext->SendAnswer(Error);
-		}
-	}
-
-};
-
-
-///////////////////////////
-
-} // namespace CenterSetting
-#endif // __CENTERSETTING_SERVER_G_H

+ 0 - 4
Module/mod_CenterSetting/ChangeLog

@@ -1,4 +0,0 @@
-* 网络不通时不切备用地址(廖桂发,2021年1月26日)
-* 处理主动下载集中配置的问题(廖桂发,2020年12月26日)
-* 2020年10月27日 合并国密版本的代码
-* 2020-7-3 调通与分行服务进行通信的功能,双活机制中用到

+ 0 - 19
Module/mod_CenterSetting/Event.h

@@ -1,19 +0,0 @@
-#pragma once
-
-enum CenterSetting_UserErrorCode
-{
-    CenterSetting_UserErrorCode_Start = 0x10100200,
-    ERR_MOD_CENTERSETTING_CONNECT_FAILED,                //获取集中配置失败
-    EVENT_MOD_CENTERSETTING_CONNECT_SUCC,                //获取集中配置成功
-    ERR_MOD_CENTERSETTING_HTTP_FAILED,                   //HTTP连接失败
-    ERR_MOD_CENTERSETTING_WRITE_FAILED,                  //集中配置写入失败
-    ERR_MOD_CENTERSETTING_LOST,		          		     //集中配置丢失
-    EVENT_MOD_CENTERSETTING_UPDATE_VERSION_FAILED,    	 //上传版本号失败
-    EVENT_MOD_CENTERSETTING_UPDATE_VERSION_SUCC,      	 //上传版本号成功
-    EVENT_MOD_CENTERSETTING_CENTER,               //总行模式
-    EVENT_MOD_CENTERSETTING_UPDATE_CENTER_FORCE,               //强制下载集中配置
-    EVENT_MOD_CENTERSETTING_UPDATE_CENTER,               //集中配置发生更新(总行)  
-};
-
-// 下载成功	事件	2	0x10100011	向后台成功进行配置下载,或完成比较当前序列化版本为后台最新版本。
-#define EVENT_MOD_CENTERSETTING_DOWNOK	0x10100011

+ 0 - 221
Module/mod_CenterSetting/mod_centersetting.cpp

@@ -1,221 +0,0 @@
-#include "stdafx.h"
-#include "SpBase.h"
-#include "Event.h"
-#include "mod_centersetting.h"
-#include <regex>
-#include "fileutil.h"
-#include "array.h"
-using namespace std;
-
-CServerSessionBase* CCenterSettingEntity::OnNewSession(const char* /*pszRemoteEntityName*/, const char* /*pszClass*/)
-{
-	return new CCenterSettingService(this);
-}
-
-void CCenterSettingEntity::OnStarted()
-{
-	GetFunction()->GetPath("CenterSetting", m_strFilePath);
-	GetFunction()->OpenConfig(Config_CenterSetting, m_pCenterConfig);
-
-	GetFunction()->GetPath("RunInfo", m_strBakPath);
-
-#ifdef RVC_OS_WIN
-	m_strBakPath += "\\runcfg\\CenterSetting.ini";
-#else
-	m_strBakPath += SPLIT_SLASH_STR "runcfg" SPLIT_SLASH_STR "CenterSetting.ini";
-#endif
-
-	m_pMicroServiceHelper = new CenterSettingsMicroServiceHelper(this);
-
-	if(!m_pCenterConfig->storageInMem())
-	{
-		m_isUseMemCfg = false;
-		BeginDownloadCenterSetting();
-	}
-	else
-	{
-		m_isUseMemCfg = true;
-	}
-
-}
-
-void CCenterSettingEntity::OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext)
-{
-	pTransactionContext->SendAnswer(Error_Succeed);
-}
-
-ErrorCodeEnum CCenterSettingEntity::BeginDownloadCenterSetting(bool bByHand, const string& url)
-{
-	LOG_FUNCTION();
-#ifdef _MSC_VER
-	EnterCriticalSection(&m_lock);
-#else
-	std::unique_lock<std::mutex> lock1(m_lock);
-#endif
-
-	if(!url.empty())
-	{
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("update centersettings url...");
-		m_pMicroServiceHelper->UpdateUrl(url);
-	}
-
-#ifdef RVC_OS_WIN
-	int rc = m_pMicroServiceHelper->GetCenterSetting();
-#else
-	int rc = m_pMicroServiceHelper->GetCenterSetting(bByHand);
-#endif
-
-	if(EXIST == rc)
-	{
-	}
-	else if(SUCC == rc)
-	{
-		LogWarn(Severity_Low, Error_Succeed, EVENT_MOD_CENTERSETTING_UPDATE_CENTER,
-				CSimpleStringA::Format("下载集中配置成功:%s", m_pMicroServiceHelper->GetCurUrl().c_str()));
-		LogEvent(Severity_Low, EVENT_MOD_CENTERSETTING_UPDATE_CENTER, "Update Centersetting.");
-		if (bByHand)
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040210101")("手工下载集中配置成功");
-		else
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402101Z01")("自动下载集中配置成功");
-	}
-	else
-	{
-		LogWarn(Severity_High, Error_Unexpect, ERR_MOD_CENTERSETTING_CONNECT_FAILED,
-				CSimpleStringA::Format("下载集中配置失败:%s", m_pMicroServiceHelper->GetErrMsg()));
-		if (!bByHand)
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402101Z01").setResultCode("RTA1104")("集中配置下载失败");
-	}
-
-	if(m_spDownloadCall != NULL)
-	{
-		m_spDownloadCall->Ans.downloadStat = rc;
-		m_spDownloadCall->Ans.retCenterConfigUrl = m_pMicroServiceHelper->GetCurUrl().c_str();
-
-		if(rc == AllAddressNull)
-		{
-			m_spDownloadCall->Ans.strErrMsg = "所有地址都为空,请检查终端版本";
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040210101").setResultCode("RTA1101")("所有集中配置下载地址都为空");
-		}
-		else if(rc == AccessServiceFail)
-		{
-			m_spDownloadCall->Ans.strErrMsg = "网络异常,请检查网络连接情况";
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040210101").setResultCode("RTA1102")("网络异常,请检查网络连接情况");
-		}
-		else if(rc == CalcSM3Fail || rc == CheckSM3Fail)
-		{
-			m_spDownloadCall->Ans.strErrMsg = "集中配置内容校验失败,请重试";
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040210101").setResultCode("RTA1103")("集中配置内容校验失败");
-		}
-		else if(rc == MANUAL)
-		{
-			m_spDownloadCall->Ans.strErrMsg = "集中配置下载失败";
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040210101").setResultCode("RTA1104")("集中配置下载失败");
-		}
-		else if(rc == EXIST)
-		{
-			m_spDownloadCall->Ans.strErrMsg = "集中配置已是最新版本";
-		}
-
-		CSimpleStringA hostUrl;
-		m_pCenterConfig->ReadConfigValue("AccessAuthorization", "HostInitUrl", hostUrl);
-		m_spDownloadCall->Ans.HostUrl = hostUrl;
-
-		m_spDownloadCall->Answer(Error_Succeed);
-		m_spDownloadCall.Clear();
-	}
-#ifdef _MSC_VER
-	LeaveCriticalSection(&m_lock);
-#endif
-	return Error_Succeed;
-}
-
-ErrorCodeEnum CCenterSettingEntity::DownloadCenterSetting(SpReqAnsContext<CenterSettingService_Downloadv2_Req, CenterSettingService_Downloadv2_Ans>::Pointer sp)
-{
-	if (m_spDownloadCall != NULL)
-	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DownloadCenterSetting")
-			("last download call not complet");
-		sp->Answer(Error_Duplication);
-		return Error_Duplication;
-	}
-
-	m_spDownloadCall = sp;
-	ErrorCodeEnum error = BeginDownloadCenterSetting(true, sp->Req.reqCenterConfigUrl.GetData());
-	if (error != Error_Succeed) {
-		m_spDownloadCall = nullptr;
-		if (sp != NULL) {
-			sp->Answer(Error_Succeed);
-		}
-		return error;
-	}
-	return Error_Succeed;
-}
-
-DWORD getCenterCfgThread(LPVOID param)
-{
-	CCenterSettingEntity* req = (CCenterSettingEntity*)param;
-	bool isUpdate = false, isReset = false;
-	CSimpleString version;
-	if(false == req->GetFunction()->HasPrivilege())
-	{
-		LogWarn(Severity_High, Error_Unexpect, ERR_MOD_CENTERSETTING_CONNECT_FAILED,
-			CSimpleStringA::Format("下载集中配置失败:%s do not has privilege", __FUNCTION__));
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402101Z01").setResultCode("RTA1104")("集中配置下载失败");
-		return -1;
-	}
-
-
-	auto ret = req->GetFunction()->GetPrivilegeFunction()->TryUpdateCenterCfg(isUpdate, isReset, version);
-	if (ret != ErrorCodeEnum::Error_Succeed)
-	{
-		LogWarn(Severity_High, Error_Unexpect, ERR_MOD_CENTERSETTING_CONNECT_FAILED,
-			CSimpleStringA::Format("下载集中配置失败:%d", ret));
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402101Z01").setResultCode("RTA1104")("集中配置下载失败");
-		return -1;
-	}
-
-	if (!isUpdate)
-	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetCenterSetting")("Centersetting not changed from spshell");
-		return -1;
-	}
-
-	LogWarn(Severity_Low, Error_Succeed, EVENT_MOD_CENTERSETTING_UPDATE_CENTER,
-		CSimpleStringA::Format("下载集中配置成功,版本号变更成:%s", version.GetData()));
-	LogEvent(Severity_Low, EVENT_MOD_CENTERSETTING_UPDATE_CENTER, "Update Centersetting.");
-
-	if (isReset)
-		LogEvent(Severity_Middle, EVENT_MOD_CENTERSETTING_CRITICAL_UPDATE, "SpShell:Update centersetting with critical items.");
-	return 0;
-}
-
-ErrorCodeEnum CCenterSettingEntity::GetAccessUrl(CSimpleStringA& url) //初始化地址
-{
-	CSimpleStringA hostInitUrl;
-	m_pCenterConfig->ReadConfigValue("AccessAuthorization", "HostInitUrl", hostInitUrl);
-	if(hostInitUrl.IsNullOrEmpty())
-		url = "初始化地址为空";
-	else
-		url = hostInitUrl;
-
-	return Error_Succeed;
-}
-
-ErrorCodeEnum CCenterSettingEntity::GetCertainAceessUrl(CSimpleStringA& accessName, CSimpleStringA& url) //准入地址
-{
-	LOG_FUNCTION();
-	CSimpleStringA tUrl;
-	m_pCenterConfig->ReadConfigValue("AccessAuthorization", accessName.GetData(), tUrl);
-	if (tUrl.IsNullOrEmpty())
-		url = "地址为空";
-	else
-		url = tUrl;
-
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("准入地址 = %s", url.GetData());
-	return Error_Succeed;
-}
-
-SP_BEGIN_ENTITY_MAP()
-	SP_ENTITY(CCenterSettingEntity)
-SP_END_ENTITY_MAP()
-

+ 0 - 105
Module/mod_CenterSetting/mod_centersetting.h

@@ -1,105 +0,0 @@
-#ifndef RVC_MOD_CENTERSETTING_H__
-#define RVC_MOD_CENTERSETTING_H__
-
-#pragma once
-
-#include "CenterSetting_server_g.h"
-using namespace CenterSetting;
-#include "CenterSettingConn.h"
-#include <regex>
-#include <map>
-#include <string>
-#ifdef RVC_OS_LINUX
-#include <mutex>
-#endif
-using namespace std;
-
-enum DownloadStat
-{
-	SUCC = 1,
-	AccessServiceFail = 2,
-	EXIST = 3,
-	MANUAL = 4,
-	AllAddressNull = 5,
-	CalcSM3Fail = 6,
-	CheckSM3Fail = 7,
-	UNknown = 8
-};
-
-static void HTTPLogCallback(const char* msg){
-}
-
-class CCenterSettingEntity : public CEntityBase
-{
-public:
-	CCenterSettingEntity() : m_strFilePath(true){}
-	virtual ~CCenterSettingEntity() {}
-	virtual const char* GetEntityName() const { return "CenterSetting"; }
-	virtual bool IsService()const{ return true; }
-
-	virtual void OnStarted();
-	virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext);
-	virtual CServerSessionBase* OnNewSession(const char* /*pszRemoteEntityName*/, const char* /*pszClass*/);
-
-	ErrorCodeEnum DownloadCenterSetting(SpReqAnsContext<CenterSettingService_Downloadv2_Req, CenterSettingService_Downloadv2_Ans>::Pointer sp);
-	ErrorCodeEnum GetAccessUrl(CSimpleStringA &url);
-	ErrorCodeEnum GetCertainAceessUrl(CSimpleStringA &accessName, CSimpleStringA& url);
-
-private:
-	ErrorCodeEnum BeginDownloadCenterSetting(bool bByHand = false, const string& url = "");
-
-private:
-
-	CenterSettingsMicroServiceHelper* m_pMicroServiceHelper;
-
-	CSimpleStringA m_strFilePath;
-	CSmartPointer<IConfigInfo> m_pCenterConfig;
-
-	CSimpleStringA m_strBakPath;
-
-#ifdef _MSC_VER
-	CRITICAL_SECTION m_lock;
-#else
-	std::mutex m_lock;
-#endif
-
-	SpReqAnsContext<CenterSettingService_Downloadv2_Req, CenterSettingService_Downloadv2_Ans>::Pointer m_spDownloadCall;
-	friend class CCenterSettingConn;
-	bool m_isUseMemCfg;
-};
-
-class CCenterSettingService : public CenterSettingService_ServerSessionBase
-{
-public:
-	CCenterSettingService(CCenterSettingEntity* pEntity) :m_pEntity(pEntity){}
-	virtual ~CCenterSettingService(){}
-
-	virtual void Handle_Downloadv2(SpReqAnsContext<CenterSettingService_Downloadv2_Req, CenterSettingService_Downloadv2_Ans>::Pointer ctx)
-	{
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(CenterSettingService_LogCode_Downloadv2).setAPI(__FUNCTION__)(__FUNCTION__);
-		//m_pEntity->DownloadCenterSetting(ctx);
-		ctx->Answer(Error_Deprecated);
-	}
-
-	/** 有必要废弃,采用通用化的接口获取即可,特别是要JS化时 [Gifur@2023823]*/
-	virtual void Handle_GetAccessUrl(SpReqAnsContext<CenterSettingService_GetAccessUrl_Req, CenterSettingService_GetAccessUrl_Ans>::Pointer ctx)
-	{
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(CenterSettingService_LogCode_GetAccessUrl).setAPI(__FUNCTION__)(__FUNCTION__);
-		//auto rc = m_pEntity->GetAccessUrl(ctx->Ans.HostUrl); //获取初始化地址,是的,就是初始化地址,不要在意这里的名称问题,之前同事开发接口的时候估计随手一打
-		ctx->Answer(Error_Deprecated);
-	}
-
-	virtual void Handle_GetCertainAceessUrl(SpReqAnsContext<CenterSettingService_GetCertainAceessUrl_Req, CenterSettingService_GetCertainAceessUrl_Ans>::Pointer ctx)
-	{
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode(CenterSettingService_LogCode_GetCertainAceessUrl).setAPI(__FUNCTION__)(__FUNCTION__);
-		//auto rc = m_pEntity->GetCertainAceessUrl(ctx->Req.reqName, ctx->Ans.CertainAceessUrl); //获取准入地址,这个接口是后面加的
-		ctx->Answer(Error_Deprecated);
-	}
-private:
-	CCenterSettingEntity* m_pEntity;
-};
-
-#endif /*RVC_MOD_CENTERSETTING_H__*/

+ 0 - 3
Module/mod_CenterSetting/test/testCenterSettingEntity.cpp

@@ -1,3 +0,0 @@
-
-#include "mod_centersetting.h"
-