def stat(self,server,open_time): self.log("LiuCunServerData start %s,server:[%s]" % (get_time(),server.server_name)) values = {} days = {'one_user':0,'two_user':1,'three_user':3,'four_user':4,'five_user':5,'six_user':6,'seven_user':7,'fivteen_user':15,'thirty_user':30} values['server_id'] = server.server_id values['server_name'] = server.server_name con= get_conn(server_util.str_to_dbconfig(server.db_connect)) for k,v in days.iteritems(): temp_date = get_datetime_str_by_day(open_time,v,"%Y-%m-%d") values[k] = self.stat_login_user(temp_date,con,get_datetime_str_by_day(open_time,0,"%Y-%m-%d")) statLiucunData = StatLiucunDataDate() one_user = values['one_user'] for k, v in values.iteritems(): if k == 'one_user' or k == 'server_id' or k == 'server_name': setattr(statLiucunData, k, v) else: value = 0 if one_user != 0 and v != 0: value = round(v/float(one_user),5)*100 setattr(statLiucunData, k, value) else: setattr(statLiucunData, k, value) statLiucunData.data_date=datetime_to_string(open_time) statLiucunData.persist()
def stat(self,server): self.log("LiuCunServerData start %s,server:[%s]" % (get_time(),server.server_name)) values = {} days = {'one_user':0,'two_user':1,'three_user':3,'four_user':4,'five_user':5,'six_user':6,'seven_user':7,'fivteen_user':15,'thirty_user':30} values['server_id'] = server.server_id values['server_name'] = server.server_name open_time = server.open_time con= get_conn(server_util.str_to_dbconfig(server.db_connect)) for k,v in days.iteritems(): temp_date = get_datetime_str_by_day(open_time,v,"%Y-%m-%d") values[k] = self.stat_login_user(temp_date,con,get_datetime_str_by_day(open_time,0,"%Y-%m-%d")) statLiucunData = StatLiucunData() one_user = values['one_user'] for k, v in values.iteritems(): if k == 'one_user' or k == 'server_id' or k == 'server_name': setattr(statLiucunData, k, v) else: value = 0 if one_user != 0 and v != 0: value = round(v/float(one_user),5)*100 setattr(statLiucunData, k, value) else: setattr(statLiucunData, k, value) statLiucunData.persist()
def getServerCountryCode(self, server): con = get_conn(server_util.str_to_dbconfig(server.db_connect)) ''' 新增用户 ''' sql = "select idfa from user_mapper group by idfa" cursor = None try: cursor = con.cursor() data = cursor.fetchall(sql) self.log("country codes:'%s'" % (data)) except Exception, ex: self.log(ex)
def getServerCountryCode(self,server): con= get_conn(server_util.str_to_dbconfig(server.db_connect)) ''' 新增用户 ''' sql = "select idfa from user_mapper group by idfa" cursor = None try: cursor = con.cursor() data = cursor.fetchall(sql) self.log("country codes:'%s'"%(data)) except Exception,ex: self.log(ex)
def stat(self ,server,date,country): while True: values = {} values['server_id'] = server.server_id values['server_name'] = server.server_name con= get_conn(server_util.str_to_dbconfig(server.db_connect)) ''' 新增用户 ''' sql = "SELECT COUNT(user_id) AS new_register FROM `user_mapper` WHERE DATE(created_time) = '%s' AND idfa='%s'" % (date,country) self.log(sql) cursor = None try: cursor = con.cursor() data = cursor.fetchone(sql) values['new_register'] = int(data['new_register']) except Exception,ex: self.log(ex) finally:
def stat(self, server, date): while True: values = {} values['server_id'] = server.server_id values['server_name'] = server.server_name con = get_conn(server_util.str_to_dbconfig(server.db_connect)) ''' 新增用户 ''' sql = "SELECT COUNT(distinct user_id) AS new_register FROM `user_mapper` WHERE DATE(created_time) = '%s'" % ( date) cursor = None try: cursor = con.cursor() data = cursor.fetchone(sql) values['new_register'] = int(data['new_register']) except Exception, ex: self.log(ex) finally:
def stat(): server_list = get_server_list() file_name = "/data/apps/ldsg_admin/ldsg_admin/client/stat/stat/temp.csv" new_file = open(file_name,"wb") new_file.write("server_name,lodo_id\n") server_ids = ['h1','h2','h3','h4','h5','h6','h7','h8','h9','h10','h11','h12','h13','h14','h15','h16','h17','h18','h19','h20','h21','h22'] for server in server_list: if server.server_id not in server_ids: continue date_map_o = [] date_map_t = [] date_map_tt = [] try: connection = get_conn(server_util.str_to_dbconfig(server.db_connect)) cursor = connection.cursor() date_o = "2014-03-08" date_t = get_date_str_by_day(date_o,1,'%Y-%m-%d') date_tt = get_date_str_by_day(date_t,1,'%Y-%m-%d') sql_o = "SELECT DISTINCT user_id FROM payment_log WHERE DATE_FORMAT(created_time,'%%Y-%%m-%%d') = '%s' group by user_id" % date_o sql_t = "SELECT DISTINCT user_id FROM payment_log WHERE DATE_FORMAT(created_time,'%%Y-%%m-%%d') = '%s' group by user_id" % date_t sql_tt = "SELECT DISTINCT user_id FROM payment_log WHERE DATE_FORMAT(created_time,'%%Y-%%m-%%d') = '%s' group by user_id" % date_tt infos_o = cursor.fetchall(sql_o) infos_t = cursor.fetchall(sql_t) infos_tt = cursor.fetchall(sql_tt) for info in infos_o:date_map_o.append(info['user_id']) for info in infos_t:date_map_t.append(info['user_id']) for info in infos_tt:date_map_tt.append(info['user_id']) for k in date_map_o: if date_map_t.count(k) > 0 and date_map_tt.count(k) > 0: str_t = "%s,%s\n" % (server.server_name, cursor.fetchone("select lodo_id from user where user_id = '%s'" % k)["lodo_id"]) new_file.write(str_t.encode("gbk")) except: print traceback.format_exc() finally: cursor.close() new_file.close()