From 23bd97eaa5626ad96ca3f5d3e97e93d14705ca6d Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期六, 30 三月 2019 17:50:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/yangwu1.3' into 1.3nsq

---
 QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h |   67 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 24 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
index bfffec3..a1b4f9d 100644
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
@@ -16,9 +16,9 @@
 public:
     static QMutex m_mutexVisit;
 private:
-    static mysqlpp::Connection* conn;
+    static mysqlpp::Connection *conn;
 public:
-    static mysqlpp::SimpleResult add(std::map<std::string, std::string>& columns, string tableName) {
+    static mysqlpp::SimpleResult add(std::map<std::string, std::string> &columns, string tableName) {
         initConnection();
         mysqlpp::SimpleResult simpleResult;
         try {
@@ -32,17 +32,20 @@
         }
         return simpleResult;
     }
-    static bool del(string tableName, std::map<std::string, std::string>& whereColumns) {
+
+    static bool del(string tableName, std::map<std::string, std::string> &whereColumns) {
         initConnection();
         string sql = "DELETE FROM " + tableName + " where 1=1 " + getWhereColumnNameValuePair(whereColumns);
         mysqlpp::Query query = conn->query(sql);
         bool ret = query.exec();
         if (!ret) {
-            cout << "error " <<query.error() << endl;
+            cout << "error " << query.error() << endl;
         }
         return ret;
     }
-    static bool update(std::map<std::string, std::string>& columns, string tableName, std::map<std::string, std::string>& whereColumns) {
+
+    static bool update(std::map<std::string, std::string> &columns, string tableName,
+                       std::map<std::string, std::string> &whereColumns) {
         string updateSql = getUpdateSql(columns, tableName, whereColumns);
         initConnection();
         mysqlpp::Query query = conn->query(updateSql);
@@ -62,7 +65,7 @@
                 map<string, string> rowData;
                 mysqlpp::Row row = *it;
                 auto field_list = row.field_list();
-                const mysqlpp::FieldNames* fieldNames = field_list.list;
+                const mysqlpp::FieldNames *fieldNames = field_list.list;
                 for (int i = 0; i < fieldNames->size(); i++) {
                     string columnValue;
                     row[i].to_string(columnValue);
@@ -77,15 +80,17 @@
         return rowDataList;
     }
 
-    static Json::Value findJsonArray(string sql, std::map<std::string, std::string>& whereColumns) {
+    static Json::Value findJsonArray(string sql, std::map<std::string, std::string> &whereColumns) {
         sql = sql + getWhereColumnNameValuePair(whereColumns);
         initConnection();
+//        conn->query("SET character_set_server = utf8;");
         mysqlpp::Query query = conn->query(sql);
+        std::cout << sql << std::endl;
         Json::Value rowList;
         if (auto res = query.store()) {
             for (auto it = res.begin(); it != res.end(); ++it) {
                 Json::Value row;
-                const mysqlpp::FieldNames* fieldNames = it->field_list().list;
+                const mysqlpp::FieldNames *fieldNames = it->field_list().list;
                 for (int i = 0; i < fieldNames->size(); i++) {
                     string columnValue;
                     (*it)[i].to_string(columnValue);
@@ -93,12 +98,15 @@
                         columnValue = "";
                     }
                     string columnName = fieldNames[0].at(i);
+//                    if (columnName == "Nickname") {
+//                        columnValue = columnValue;//.substr(0, 20);
+//                    }
                     row[columnName] = columnValue;
                 }
                 rowList.append(row);
             }
         } else {
-            cout << "error " <<query.error() << endl;
+            cout << "error " << query.error() << endl;
             cout << "query failed" << endl;
         }
         return rowList;
@@ -109,12 +117,13 @@
         mysqlpp::Query query = conn->query(sql);
         bool ret = query.exec();
         if (!ret) {
-            cout << "error " <<query.error() << endl;
+            cout << "error " << query.error() << endl;
         }
         return ret;
     }
-    static string getInsertSql(std::map<std::string, std::string>& columns, string tableName) {
-        string insertSql = "INSERT INTO "+tableName+" ("
+
+    static string getInsertSql(std::map<std::string, std::string> &columns, string tableName) {
+        string insertSql = "INSERT INTO " + tableName + " ("
                            + getColumnNames(columns) +
                            " ) values ( "
                            + getColumnValues(columns) +
@@ -122,17 +131,20 @@
         cout << "insertSql " << insertSql << endl;
         return insertSql;
     }
-    static string getUpdateSql(std::map<std::string, std::string>& columns, string tableName, std::map<std::string, std::string>& whereColumns) {
-        string updateSql = "update "+tableName+" set "
+
+    static string getUpdateSql(std::map<std::string, std::string> &columns, string tableName,
+                               std::map<std::string, std::string> &whereColumns) {
+        string updateSql = "update " + tableName + " set "
                            + getColumnNameValuePair(columns) +
-                           " where 1=1 "+
-                           getWhereColumnNameValuePair(whereColumns)
-        ;
+                           " where 1=1 " +
+                           getWhereColumnNameValuePair(whereColumns);
         cout << "updateSql " << updateSql << endl;
         return updateSql;
     }
+
     static void doConnect() {
         cout << "db_host=" << appConfig.getStringProperty("db_host").c_str() << endl;
+        conn->set_option(new mysqlpp::SetCharsetNameOption("utf8"));
         if (conn->connect(
             appConfig.getStringProperty("database").c_str(),
             appConfig.getStringProperty("db_host").c_str(),
@@ -148,22 +160,26 @@
 //                3306
 //        )) {
             cout << "connect success" << endl;
+            mysqlpp::Query query = conn->query("SET NAMES UTF8-");
         } else {
             cout << "connect failed" << endl;
         }
     }
+
     static void initConnection() {
         static bool inited = false;
         if (!inited) {
             inited = true;
             conn = new mysqlpp::Connection(false);
+
             doConnect();
         }
         if (!conn->connected() || !conn->ping()) {
             doConnect();
         }
     }
-    static string getColumnNames(std::map<std::string, std::string>& columns) {
+
+    static string getColumnNames(std::map<std::string, std::string> &columns) {
         string columnNames;
         auto size = columns.size();
         int i = 0;
@@ -176,12 +192,13 @@
         }
         return columnNames;
     }
-    static string getColumnValues(std::map<std::string, std::string>& columns) {
+
+    static string getColumnValues(std::map<std::string, std::string> &columns) {
         string columnValues;
         auto size = columns.size();
         int i = 0;
         for (auto column : columns) {
-            columnValues.append("'"+column.second+"'");
+            columnValues.append("'" + column.second + "'");
             if (i != columns.size() - 1) {
                 columnValues.append(",");
             }
@@ -189,14 +206,15 @@
         }
         return columnValues;
     }
-    static string getColumnNameValuePair(std::map<std::string, std::string>& columns) {
+
+    static string getColumnNameValuePair(std::map<std::string, std::string> &columns) {
         string columnNameValuePair;
         auto size = columns.size();
         int i = 0;
         for (auto column : columns) {
             columnNameValuePair.append(column.first);
             columnNameValuePair.append("=");
-            columnNameValuePair.append("'"+column.second+"'");
+            columnNameValuePair.append("'" + column.second + "'");
 
             if (i != size - 1) {
                 columnNameValuePair.append(",");
@@ -205,7 +223,8 @@
         }
         return columnNameValuePair;
     }
-    static string getWhereColumnNameValuePair(std::map<std::string, std::string>& columns) {
+
+    static string getWhereColumnNameValuePair(std::map<std::string, std::string> &columns) {
         string columnNameValuePair;
         auto size = columns.size();
         int i = 0;
@@ -213,7 +232,7 @@
             columnNameValuePair.append(" and ");
             columnNameValuePair.append(column.first);
             columnNameValuePair.append("=");
-            columnNameValuePair.append("'"+column.second+"' ");
+            columnNameValuePair.append("'" + column.second + "' ");
 
             i++;
         }

--
Gitblit v1.8.0