From 2624909e58120ba29348c7116f53309611d14ecf Mon Sep 17 00:00:00 2001 From: cehua_wcy <781813756@qq.com> Date: 星期二, 18 九月 2018 21:31:30 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxx_server --- EventServer/translate.xcc | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/EventServer/translate.xcc b/EventServer/translate.xcc new file mode 100644 index 0000000..02923d3 --- /dev/null +++ b/EventServer/translate.xcc @@ -0,0 +1,66 @@ +#!/usr/bin/python +# -*- coding: GBK -*- + +import datetime + +char_encoding = "gbk" + + +def TranslteToSqlStaments( groupID, eventTypeStr, eventdataStr ): + errorStr = "True;Translate successfully;" + sqlStmts = "" + + try: + #print eventdataStr + #创建数据库的sql语句生成 + td = datetime.date.today() + dbNameStr = "EventData_Group%d_%04d_%02d" % ( groupID, td.year, td.month ) + createDbStr = "create database if not exists %s default charset utf8 COLLATE utf8_general_ci;use %s;" % ( dbNameStr, dbNameStr ) + sqlStmts += createDbStr + + eventdict = eval( eventdataStr ) + + tableColumnFmtStr = "" + tableColumnStr = "" + insertValStr = "" + for key in eventdict.keys(): + val = eventdict[key] + valc = type(val) + + typeStr = "UNKNOWN TYPE" + if valc == type(1): + typeStr = "INT" + insertValStr += str(val) + ',' + elif valc == type(0.1): + typeStr = "FLOAT" + insertValStr += str(val) + ',' + #elif valc == type("") or valc == type({0:1}): + else: + typeStr = "VARCHAR(512)" + insertValStr += '"' + str(val).decode(char_encoding).encode("utf-8") + '",' + + tableColumnFmtStr += key + " " + typeStr + "," + tableColumnStr += key + "," + + + tableNameStr = "%s_%04d_%02d_%02d" % ( eventTypeStr, td.year, td.month, td.day ) + createTableStr = "create table if not exists %s ( event_store_id INT NOT NULL AUTO_INCREMENT, %s, PRIMARY KEY (event_store_id) );" % ( tableNameStr, tableColumnFmtStr[0:-1] ) + sqlStmts += createTableStr + + insertDataStr = "insert into %s (%s) value(%s);" % ( tableNameStr, tableColumnStr[0:-1], insertValStr[0:-1] ) + + return errorStr + sqlStmts + insertDataStr; + + except Exception, e: + errorStr = "False;Failed to TranslteToSqlStaments:" + str(e) + ";" + return errorStr + sqlStmts + + + + + +if __name__ == '__main__': + pass + eventdata = "{'PlayerID': 40006, 'AccID': '155958472', 'FamilyName': '\xcc\xec\xcf\xc2\xc3\xcb', 'time': '2012-06-22 16:11:05', 'FamilyID': 334888786}" + print TranslteToSqlStaments( 1, "DeleteItem_Add_LimitingBuff", eventdata ) + -- Gitblit v1.8.0