|
@@ -115,22 +115,13 @@ class MyserviceDynamodb(object):
|
|
|
{
|
|
|
'AttributeName': 'userID',
|
|
|
'KeyType': 'HASH'
|
|
|
- },
|
|
|
- {
|
|
|
- 'AttributeName': 'username',
|
|
|
- 'KeyType': 'RANGE'
|
|
|
}
|
|
|
],
|
|
|
AttributeDefinitions=[
|
|
|
{
|
|
|
'AttributeName': 'userID',
|
|
|
'AttributeType': 'S'
|
|
|
- },
|
|
|
- {
|
|
|
- 'AttributeName': 'username',
|
|
|
- 'AttributeType': 'S'
|
|
|
- },
|
|
|
-
|
|
|
+ }
|
|
|
],
|
|
|
ProvisionedThroughput={
|
|
|
'ReadCapacityUnits': 5,
|
|
@@ -165,7 +156,6 @@ class MyserviceDynamodb(object):
|
|
|
Item={
|
|
|
'userID': data['userID'],
|
|
|
'addTime': data['addTime'],
|
|
|
- 'username': data['username'],
|
|
|
'deviceSupplier': data['deviceSupplier'],
|
|
|
'deviceModel': data['deviceModel'],
|
|
|
'osType': data['osType'],
|
|
@@ -186,7 +176,7 @@ class MyserviceDynamodb(object):
|
|
|
print ('批量添加数据成功!')
|
|
|
|
|
|
# 添加user_brand表数据
|
|
|
- def user_brand_item_put(self, table_name, user_id, username,add_time, device_supplier, device_model, os_type,
|
|
|
+ def user_brand_item_put(self, table_name, user_id,add_time, device_supplier, device_model, os_type,
|
|
|
os_version, country, province, city, area, street, longitude, latitude, app_id,
|
|
|
status_all, ip):
|
|
|
dynamodb = self.session.resource('dynamodb')
|
|
@@ -194,7 +184,6 @@ class MyserviceDynamodb(object):
|
|
|
table.put_item(
|
|
|
Item={
|
|
|
'userID': user_id,
|
|
|
- 'username': username,
|
|
|
'addTime': add_time,
|
|
|
'deviceSupplier': device_supplier,
|
|
|
'deviceModel': device_model,
|
|
@@ -208,7 +197,6 @@ class MyserviceDynamodb(object):
|
|
|
'longitude': longitude,
|
|
|
'latitude': latitude,
|
|
|
'appId': app_id,
|
|
|
- 'ExpirationTime_TTL': add_time + 2592000,
|
|
|
'status_all': status_all,
|
|
|
'ip': ip,
|
|
|
}
|
|
@@ -282,15 +270,14 @@ class MyserviceDynamodb(object):
|
|
|
logger.error("Failed to put item in to {0}:error{1}".format(table,e))
|
|
|
return response
|
|
|
|
|
|
- def get_item(self, table_name,queryname ,username):
|
|
|
+ def get_item(self, table_name ,username):
|
|
|
dynamodb = self.session.resource('dynamodb')
|
|
|
if not dynamodb:
|
|
|
raise DynamodbConnectionError("Failed to get resource for dynamodb!")
|
|
|
try:
|
|
|
table = dynamodb.Table(table_name)
|
|
|
response = table.scan(
|
|
|
- FilterExpression=Attr(queryname).eq(username)
|
|
|
- | Key('deviceSupplier').eq(username)
|
|
|
+ FilterExpression=Attr('deviceSupplier').eq(username)
|
|
|
| Key('osType').eq(username)
|
|
|
| Key('deviceModel').eq(username)
|
|
|
| Key('osVersion').eq(username)
|
|
@@ -516,18 +503,11 @@ class UserBrandInfo(View):
|
|
|
|
|
|
param_flag = CommonService.get_param_flag(data=[deviceSupplier, deviceModel,osType,osVersion])
|
|
|
if param_flag is True:
|
|
|
-
|
|
|
addTime = int(time.time())
|
|
|
print (time.time())
|
|
|
- username = Device_User.objects.filter(userID = userID).values('userID','username','NickName')
|
|
|
- try:
|
|
|
- username = username[0]['username']
|
|
|
- except Exception:
|
|
|
- username = '无'
|
|
|
add_data = {
|
|
|
'userID': userID,
|
|
|
'addTime': addTime,
|
|
|
- 'username': username,
|
|
|
'deviceSupplier': deviceSupplier,
|
|
|
'deviceModel': deviceModel,
|
|
|
'osType': osType,
|
|
@@ -553,16 +533,27 @@ class UserBrandInfo(View):
|
|
|
redisObj.rpush(name=logKey, val=add_user_brand_all_data)
|
|
|
print (redisObj.llen(name=logKey))
|
|
|
# 判断redis列表长度
|
|
|
- if redisObj.llen(name=logKey) == 10:
|
|
|
- data_list = redisObj.lrange(logKey, 0, -1)
|
|
|
- redisObj.del_data(key=logKey)
|
|
|
- # 添加user_brand_all表信息
|
|
|
- my.user_brand_all_item_put(user_brand_all, data_list)
|
|
|
- # 添加user_brand表信息
|
|
|
- my.user_brand_item_put(user_brand, userID, username, addTime, deviceSupplier, deviceModel,
|
|
|
- osType, osVersion,
|
|
|
- country, province, city, area, street, longitude, latitude, appId, status,
|
|
|
- self.clientIP)
|
|
|
+ try:
|
|
|
+ if redisObj.llen(name=logKey) > 3:
|
|
|
+ data_list = redisObj.lrange(logKey, 0, -1)
|
|
|
+ redisObj.del_data(key=logKey)
|
|
|
+ # 添加user_brand_all表信息
|
|
|
+ my.user_brand_all_item_put(user_brand_all, data_list)
|
|
|
+
|
|
|
+ # 添加user_brand表信息
|
|
|
+ my.user_brand_item_put(user_brand, userID, addTime, deviceSupplier, deviceModel,
|
|
|
+ osType, osVersion,
|
|
|
+ country, province, city, area, street, longitude, latitude, appId, status,
|
|
|
+ self.clientIP)
|
|
|
+ except Exception:
|
|
|
+ if DOMAIN_HOST == 'www.dvema.com':
|
|
|
+ user_brand = 'user_brand'
|
|
|
+ user_brand_all = 'user_brand_all'
|
|
|
+ else:
|
|
|
+ user_brand = 'test_user_brand'
|
|
|
+ user_brand_all = 'test_user_brand_all'
|
|
|
+ my.table_create(user_brand)
|
|
|
+ my.user_brand_all_table_create(user_brand_all)
|
|
|
|
|
|
return response.json(0,{'OK':int(time.time())})
|
|
|
else:
|
|
@@ -581,18 +572,21 @@ class UserBrandInfo(View):
|
|
|
page_value=[]
|
|
|
if check_perm is True:
|
|
|
if username is None or username is '':
|
|
|
- table_Limit_value = my.get_page_line(page,line,user_brand,None,page_value)
|
|
|
- # 页面减1
|
|
|
- page = page-1
|
|
|
- if page < len(table_Limit_value):
|
|
|
- # 分页后查询
|
|
|
- table_value = my.item_get(line,user_brand,table_Limit_value[page])
|
|
|
- table_value = table_value['Items']
|
|
|
- count = my.item_get_count(user_brand)
|
|
|
- return response.json(0, {'datas': table_value, 'count': count})
|
|
|
+ print ('')
|
|
|
+ # table_Limit_value = my.get_page_line(page,line,user_brand,None,page_value)
|
|
|
+ # # 页面减1
|
|
|
+ # page = page-1
|
|
|
+ # if page < len(table_Limit_value):
|
|
|
+ # # 分页后查询
|
|
|
+ # table_value = my.item_get(line,user_brand,table_Limit_value[page])
|
|
|
+ # table_value = table_value['Items']
|
|
|
+ # count = my.item_get_count(user_brand)
|
|
|
+ # return response.json(0, {'datas': table_value, 'count': count})
|
|
|
+
|
|
|
+ return response.json(0, {'datas': {}, 'count': 0})
|
|
|
else:
|
|
|
# 查询
|
|
|
- table_value = my.get_item(user_brand, 'username' ,username)
|
|
|
+ table_value = my.get_item(user_brand ,username)
|
|
|
return response.json(0, {'datas': table_value, 'count': len(table_value)})
|
|
|
else:
|
|
|
return response.json(404)
|
|
@@ -629,16 +623,18 @@ class UserBrandInfo(View):
|
|
|
page_value = []
|
|
|
if check_perm is True:
|
|
|
if username is None or username is '':
|
|
|
- table_Limit_value = my.get_page_line(page, line, user_brand_all, None, page_value)
|
|
|
- page = page - 1
|
|
|
- if page < len(table_Limit_value):
|
|
|
- table_value = my.item_get(line, user_brand_all, table_Limit_value[page])
|
|
|
- table_value = table_value['Items']
|
|
|
- count = my.item_get_count(user_brand_all)
|
|
|
- return response.json(0, {'datas': table_value, 'count': count})
|
|
|
+ # table_Limit_value = my.get_page_line(page, line, user_brand_all, None, page_value)
|
|
|
+ # page = page - 1
|
|
|
+ # if page < len(table_Limit_value):
|
|
|
+ # table_value = my.item_get(line, user_brand_all, table_Limit_value[page])
|
|
|
+ # table_value = table_value['Items']
|
|
|
+ # count = my.item_get_count(user_brand_all)
|
|
|
+ # return response.json(0, {'datas': table_value, 'count': count})
|
|
|
+
|
|
|
+ return response.json(0, {'datas': {}, 'count': 0})
|
|
|
else:
|
|
|
# 查询
|
|
|
- table_value = my.get_item(user_brand_all, 'username', username)
|
|
|
+ table_value = my.get_item(user_brand_all, username)
|
|
|
return response.json(0, {'datas': table_value, 'count': len(table_value)})
|
|
|
else:
|
|
|
return response.json(404)
|