|
@@ -1,3 +1,17 @@
|
|
|
|
+#!/usr/bin/env python3
|
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
|
+"""
|
|
|
|
+@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
|
|
|
|
+@AUTHOR: ASJRD018
|
|
|
|
+@NAME: AnsjerFormal
|
|
|
|
+@software: PyCharm
|
|
|
|
+@DATE: 2019/1/18 10:45
|
|
|
|
+@Version: python3.6
|
|
|
|
+@MODIFY DECORD:ansjer dev
|
|
|
|
+@file: SysMsg.py
|
|
|
|
+@Contact: chanjunkai@163.com
|
|
|
|
+"""
|
|
|
|
+
|
|
import time
|
|
import time
|
|
import json
|
|
import json
|
|
import oss2
|
|
import oss2
|
|
@@ -8,6 +22,7 @@ from Model.models import FeedBackModel, StatResModel
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
from Service.CommonService import CommonService
|
|
from Service.CommonService import CommonService
|
|
|
|
+from Service.ModelService import ModelService
|
|
|
|
|
|
|
|
|
|
class FeedBackView(View):
|
|
class FeedBackView(View):
|
|
@@ -35,6 +50,10 @@ class FeedBackView(View):
|
|
return self.do_query(userID, request_dict, response)
|
|
return self.do_query(userID, request_dict, response)
|
|
elif operation == 'delete':
|
|
elif operation == 'delete':
|
|
return self.do_delete(userID, request_dict, response)
|
|
return self.do_delete(userID, request_dict, response)
|
|
|
|
+ elif operation == 'queryByAdmin':
|
|
|
|
+ return self.do_query_by_admin(userID, request_dict, response)
|
|
|
|
+ elif operation == 'deleteByAdmin':
|
|
|
|
+ return self.do_delete_by_admin(userID, request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(414)
|
|
return response.json(414)
|
|
else:
|
|
else:
|
|
@@ -123,7 +142,7 @@ class FeedBackView(View):
|
|
id = request_dict.get('id', None)
|
|
id = request_dict.get('id', None)
|
|
try:
|
|
try:
|
|
fb_qs = FeedBackModel.objects.get(userID_id=userID, id=id)
|
|
fb_qs = FeedBackModel.objects.get(userID_id=userID, id=id)
|
|
- sr_id_list = fb_qs.FS.values_list('id',flat=True)
|
|
|
|
|
|
+ sr_id_list = fb_qs.FS.values_list('id', flat=True)
|
|
StatResModel.objects.filter(id__in=sr_id_list).delete()
|
|
StatResModel.objects.filter(id__in=sr_id_list).delete()
|
|
fb_qs.delete()
|
|
fb_qs.delete()
|
|
# is_delete = StatResModel.objects.filter(id__in=sr_id_list).delete()
|
|
# is_delete = StatResModel.objects.filter(id__in=sr_id_list).delete()
|
|
@@ -135,3 +154,62 @@ class FeedBackView(View):
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
else:
|
|
else:
|
|
return response.json(0)
|
|
return response.json(0)
|
|
|
|
+
|
|
|
|
+ def do_query_by_admin(self, userID, request_dict, response):
|
|
|
|
+ own_perm = ModelService.check_perm(userID, 40)
|
|
|
|
+ if own_perm:
|
|
|
|
+ page = request_dict.get('page', None)
|
|
|
|
+ line = request_dict.get('line', None)
|
|
|
|
+ status = request_dict.get('status', None)
|
|
|
|
+ username = request_dict.get('username', None)
|
|
|
|
+ if page and line:
|
|
|
|
+ page = int(page)
|
|
|
|
+ line = int(line)
|
|
|
|
+ filter_data = {}
|
|
|
|
+ if status:
|
|
|
|
+ filter_data = {'status': status}
|
|
|
|
+ if username:
|
|
|
|
+ filter_data = {'userID_id': ModelService.get_userID_byname(username)}
|
|
|
|
+ fb_qs = FeedBackModel.objects.filter()
|
|
|
|
+ if filter_data:
|
|
|
|
+ fb_qs = fb_qs.filter(**filter_data)
|
|
|
|
+ fb_qs = fb_qs[(page - 1) * line:page * line]. \
|
|
|
|
+ values('id', 'status', 'content', 'addTime', 'updTime', 'FS__name')
|
|
|
|
+ res = {}
|
|
|
|
+ auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
|
|
|
|
+ bucket = oss2.Bucket(auth, 'oss-cn-hongkong.aliyuncs.com', 'statres')
|
|
|
|
+ for fb in fb_qs:
|
|
|
|
+ if fb['id'] in res:
|
|
|
|
+ if fb['FS__name']:
|
|
|
|
+ img_url = bucket.sign_url('GET', fb['FS__name'], 600)
|
|
|
|
+ res[fb['id']]['img_url'].append(img_url)
|
|
|
|
+ else:
|
|
|
|
+ print(fb['FS__name'])
|
|
|
|
+ if fb['FS__name']:
|
|
|
|
+ img_url = bucket.sign_url('GET', fb['FS__name'], 600)
|
|
|
|
+ fb['img_url'] = []
|
|
|
|
+ fb['img_url'].append(img_url)
|
|
|
|
+ res[fb['id']] = fb
|
|
|
|
+ return response.json(0, res)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(444, 'page,line')
|
|
|
|
+ else:
|
|
|
|
+ return response.json(404)
|
|
|
|
+
|
|
|
|
+ def do_delete_by_admin(self, userID, request_dict, response):
|
|
|
|
+ own_perm = ModelService.check_perm(userID, 10)
|
|
|
|
+ if own_perm:
|
|
|
|
+
|
|
|
|
+ id = request_dict.get('id', None)
|
|
|
|
+ try:
|
|
|
|
+ fb_qs = FeedBackModel.objects.get(id=id)
|
|
|
|
+ sr_id_list = fb_qs.FS.values_list('id', flat=True)
|
|
|
|
+ StatResModel.objects.filter(id__in=sr_id_list).delete()
|
|
|
|
+ fb_qs.delete()
|
|
|
|
+ print('----------')
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(500, repr(e))
|
|
|
|
+ else:
|
|
|
|
+ return response.json(0)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(404)
|