From 602442ecedf17800cddfdae188b05b40345cb011 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 12 六月 2020 12:08:46 +0800
Subject: [PATCH] version

---
 service/netdisk_service.c |   42 ++++++++++++++++++++++++++----------------
 1 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/service/netdisk_service.c b/service/netdisk_service.c
index bed648c..3612b21 100644
--- a/service/netdisk_service.c
+++ b/service/netdisk_service.c
@@ -69,35 +69,37 @@
 
 int work(Netdisk_DownloadRequest drequest) {
   Netdisk *netdisk = NULL;
+  std::vector<std::string> files;
   int rv;
+  char rmsg[MAXLINE];
+  strcpy(rmsg, "success");
+  Netdisk_LoginInfo loginInfo = loginStore.getLoginInfo(drequest.loginUUID);
   std::map<std::string, Netdisk *>::iterator userDeviceIter = userDeviceMap.find( drequest.loginUUID);
   if( userDeviceIter != userDeviceMap.end() ) {
      netdisk = userDeviceIter->second;
   }
 
-  Netdisk_LoginInfo loginInfo = loginStore.getLoginInfo(drequest.loginUUID);
   if (netdisk == NULL) {
 
     netdisk = NetdiskFacotory::create(loginInfo.deviceType);
     if(netdisk != NULL) {
       userDeviceMap.insert({loginInfo.loginUUID, netdisk});
     } else {
-      err_msg(0, "鏃犳硶璇嗗埆鐨勮澶囩被鍨嬶細 %s", loginInfo.deviceType.c_str());
+      snprintf(rmsg, MAXLINE, "鏃犳硶璇嗗埆鐨勮澶囩被鍨嬶細 %s", loginInfo.deviceType.c_str());
     }
   }
 
   if ( (rv = netdisk->login(loginInfo)) != 0 ) {
-    printf("涓嬭浇鐧诲綍澶辫触\n");
+    snprintf(rmsg, MAXLINE, "璇烽噸鏂扮櫥褰�");
+  } else if ( (rv = netdisk->downloadByTime(drequest, &files) ) != 0) {
+    snprintf(rmsg, MAXLINE, "涓嬭浇澶辫触");
   }
-
-  std::vector<std::string> files;
-  if ( (rv = netdisk->downloadByTime(drequest, &files) ) != 0) {
-    printf("涓嬭浇澶辫触\n");
-  }
+ 
 
   Json::Value response;
   Json::Value payload;
-  response["rv"] = rv;
+  response["code"] = rv;
+  response["msg"] = rmsg;
 
   Json::Value filelist;
   for(std::string f : files) {
@@ -150,6 +152,7 @@
     }
 
     jsonreader.parse(buf, request);
+    nng_free(buf, sz);
     std::string method = request["method"].asString();
 
     std::map<std::string, RequestHandleFun>::iterator handleFunIter = requestHandleFunMap.find(method);
@@ -160,15 +163,20 @@
       std::cerr << "Don't support " << method << std::endl;
     }
     
-    nng_free(buf, sz);
+    
   }
 }
 
-
+/**
+ * 娉ㄥ唽璇锋眰澶勭悊鐨勬柟娉�
+ */
 void registRequestHandleFun() {
   requestHandleFunMap.insert({"login", handleLogin});
+  requestHandleFunMap.insert({"logout", handleLogout});
   requestHandleFunMap.insert({"downloadByTime", handleDownloadByTimeAsync});
+  requestHandleFunMap.insert({"getDeviceInfo", handleGetDeviceInfo});
 }
+
 
 void initThreadPool() {
   pthread_t tid;
@@ -178,15 +186,17 @@
 
 int main()
 {
-
-  Netdisk_EnvConfig hcEnvConfig;
-  hcEnvConfig.libpath = config.get("hclib");
-  HCNetdisk::netdisk_init(&hcEnvConfig);
-
+  //鐜鍙橀噺鍒濆鍖�
   WORKERS = config.getInt("workers");
   localUrl = config.get("local_url");
   remoteUrl = config.get("remote_url");
 
+  //娴峰悍璁惧鐜鍒濆鍖�
+  Netdisk_EnvConfig hcEnvConfig;
+  hcEnvConfig.libpath = config.get("hclib");
+  HCNetdisk::netdisk_init(&hcEnvConfig);
+
+ 
 
   registRequestHandleFun();
 

--
Gitblit v1.8.0