|
@@ -11,13 +11,13 @@
|
|
|
@file: AppSetController.py
|
|
|
@Contact: chanjunkai@163.com
|
|
|
"""
|
|
|
-from Model.models import versionControlModel
|
|
|
+from Model.models import AppSetModel
|
|
|
from django.views.generic.base import View
|
|
|
-from cacheout import LFUCache
|
|
|
+from Object.RedisObject import RedisObject
|
|
|
+from Object.TokenObject import TokenObject
|
|
|
+from Service.ModelService import ModelService
|
|
|
import time,json
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
-cache = LFUCache()
|
|
|
-
|
|
|
class AppSetView(View):
|
|
|
def get(self, request, *args, **kwargs):
|
|
|
request.encoding = 'utf-8'
|
|
@@ -31,37 +31,52 @@ class AppSetView(View):
|
|
|
|
|
|
def validation(self, request_dict, operation):
|
|
|
response = ResponseObject()
|
|
|
- # token = request_dict.get('token', None)
|
|
|
- # tko = TokenObject(token)
|
|
|
- # userID = tko.userID
|
|
|
if operation == 'query':
|
|
|
return self.do_query(request_dict, response)
|
|
|
+ if operation == 'admin_query':
|
|
|
+ token = request_dict.get('token', None)
|
|
|
+ tko = TokenObject(token)
|
|
|
+ if tko.code == 0:
|
|
|
+ userID = tko.userID
|
|
|
+ return self.do_admin_query(userID, request_dict, response)
|
|
|
+ else:
|
|
|
+ return response.json(tko.code)
|
|
|
+ elif operation == 'admin_update':
|
|
|
+ token = request_dict.get('token', None)
|
|
|
+ tko = TokenObject(token)
|
|
|
+ if tko.code == 0:
|
|
|
+ userID = tko.userID
|
|
|
+ return self.do_admin_update(userID, request_dict, response)
|
|
|
+ else:
|
|
|
+ return response.json(tko.code)
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
+
|
|
|
# 查询
|
|
|
def do_query(self, request_dict, response):
|
|
|
appBundleId = request_dict.get('appBundleId', None)
|
|
|
if not appBundleId:
|
|
|
return response.json(444,'appBundleId')
|
|
|
- if cache.get(appBundleId)==None:
|
|
|
- print('添加到缓存')
|
|
|
+ redis = RedisObject()
|
|
|
+ redis_value = redis.get_data(key=appBundleId)
|
|
|
+ if redis_value == False:
|
|
|
+ # print('添加到缓存')
|
|
|
# 查数据库
|
|
|
- sm_qs = versionControlModel.objects.filter(appBundleId=appBundleId)
|
|
|
+ sm_qs = AppSetModel.objects.filter(appBundleId=appBundleId)
|
|
|
count = sm_qs.count()
|
|
|
if count > 0:
|
|
|
- sm_qs = sm_qs.values( 'id', 'appBundleId', 'content', 'addTime', 'updTime')
|
|
|
+ sm_qs = sm_qs.values("content")
|
|
|
# 添加到缓存,缓存时间为3600秒------指的是一个钟后再次访问,就会刷新缓存一次
|
|
|
- cache.set(appBundleId, {'content': list(sm_qs)}, ttl=3600)
|
|
|
- # return response.json(0,list(sm_qs))
|
|
|
+ content_json_str = list(sm_qs)[0]['content'].replace("'", '"')
|
|
|
+ redis.set_data(key=appBundleId, val=content_json_str, expire=3600)
|
|
|
# 返回固定值
|
|
|
return response.json(0, json.loads(list(sm_qs)[0]['content']))
|
|
|
else:
|
|
|
- return response.json(0)
|
|
|
+ return response.json(173)
|
|
|
else:
|
|
|
# print('去缓存找')
|
|
|
- # return response.json(0, cache.get(appBundleId).get('content'))
|
|
|
# 返回固定值
|
|
|
- return response.json(0, json.loads(cache.get(appBundleId).get('content')[0]['content']))
|
|
|
+ return response.json(0, json.loads(redis_value))
|
|
|
|
|
|
# res = {}
|
|
|
# res['grade'] = 1
|
|
@@ -82,3 +97,38 @@ class AppSetView(View):
|
|
|
# }
|
|
|
# res['init_img'] = 'https://test.dvema.com/web/static/image/default_start'
|
|
|
# return response.json(0, res)
|
|
|
+
|
|
|
+ def do_admin_query(self, userID, request_dict, response):
|
|
|
+ # 查询和添加权限
|
|
|
+ own_perm = ModelService.check_perm(userID, 40)
|
|
|
+ if not own_perm:
|
|
|
+ return response.json(404)
|
|
|
+ appBundleId = request_dict.get('appBundleId', None)
|
|
|
+ sm_qs = AppSetModel.objects.filter(appBundleId=appBundleId)
|
|
|
+ count = sm_qs.count()
|
|
|
+ nowTime = int(time.time())
|
|
|
+ if count>0:
|
|
|
+ sm_qs = sm_qs.values('id', 'appBundleId', 'content', 'addTime', 'updTime')
|
|
|
+ return response.json(0, {'data': list(sm_qs), 'count': count})
|
|
|
+ else:
|
|
|
+ AppSetModel.objects.create(
|
|
|
+ appBundleId=appBundleId,
|
|
|
+ addTime=nowTime,
|
|
|
+ updTime=nowTime
|
|
|
+ )
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def do_admin_update(self, userID, request_dict, response):
|
|
|
+ # 修改的权限
|
|
|
+ own_perm = ModelService.check_perm(userID, 50)
|
|
|
+ if not own_perm:
|
|
|
+ return response.json(404)
|
|
|
+ appBundleId = request_dict.get('appBundleId', None)
|
|
|
+ content = request_dict.get('content', None)
|
|
|
+ nowTime = int(time.time())
|
|
|
+ sm_qs = AppSetModel.objects.filter(appBundleId=appBundleId)
|
|
|
+ if sm_qs.exists():
|
|
|
+ sm_qs.update(content=content, updTime=nowTime)
|
|
|
+ return response.json(0)
|
|
|
+ else:
|
|
|
+ return response.json(173)
|