|
@@ -485,15 +485,13 @@ class UserManagement(View):
|
|
line = int(pageSize)
|
|
line = int(pageSize)
|
|
try:
|
|
try:
|
|
filter_data = {}
|
|
filter_data = {}
|
|
- if status or username or collect_status or fileType:
|
|
|
|
|
|
+ if status or username or collect_status:
|
|
if status:
|
|
if status:
|
|
filter_data['status'] = int(status)
|
|
filter_data['status'] = int(status)
|
|
if username:
|
|
if username:
|
|
filter_data['userID_id'] = ModelService.get_userID_byname(username)
|
|
filter_data['userID_id'] = ModelService.get_userID_byname(username)
|
|
if collect_status:
|
|
if collect_status:
|
|
filter_data['collect_status'] = int(collect_status)
|
|
filter_data['collect_status'] = int(collect_status)
|
|
- if fileType:
|
|
|
|
- return self.download(status, collect_status)
|
|
|
|
feed_back_qs = FeedBackModel.objects.filter()
|
|
feed_back_qs = FeedBackModel.objects.filter()
|
|
if filter_data:
|
|
if filter_data:
|
|
feed_back_qs = feed_back_qs.filter(**filter_data).values()
|
|
feed_back_qs = feed_back_qs.filter(**filter_data).values()
|
|
@@ -516,7 +514,10 @@ class UserManagement(View):
|
|
'score',
|
|
'score',
|
|
'collect_status'
|
|
'collect_status'
|
|
)
|
|
)
|
|
- feed_backs = feed_backs[(page - 1) * line: page * line]
|
|
|
|
|
|
+ if fileType:
|
|
|
|
+ feed_backs = feed_backs
|
|
|
|
+ else:
|
|
|
|
+ feed_backs = feed_backs[(page - 1) * line: page * line]
|
|
feed_back_id_list = [feed_back['id'] for feed_back in feed_backs]
|
|
feed_back_id_list = [feed_back['id'] for feed_back in feed_backs]
|
|
stat_res_qs = StatResModel.objects.filter(
|
|
stat_res_qs = StatResModel.objects.filter(
|
|
feedbackmodel__id__in=feed_back_id_list).values(
|
|
feedbackmodel__id__in=feed_back_id_list).values(
|
|
@@ -691,83 +692,3 @@ class UserManagement(View):
|
|
else:
|
|
else:
|
|
FeedBackModel.objects.filter(id=feedBackID).update(collect_status=collect_status)
|
|
FeedBackModel.objects.filter(id=feedBackID).update(collect_status=collect_status)
|
|
return response.json(0)
|
|
return response.json(0)
|
|
-
|
|
|
|
- def download(self, status, collect_status):
|
|
|
|
- response = HttpResponse(content_type='application/vnd.ms-excel')
|
|
|
|
- response['Content-Disposition'] = 'attachment; filename=FeedBack' + time.strftime('-%Y-%m-%d-%H-%M-%S',
|
|
|
|
- time.localtime()) + '.xls'
|
|
|
|
- workbook = xlwt.Workbook(encoding='utf-8')
|
|
|
|
- ws = workbook.add_sheet('FeedBack')
|
|
|
|
- row_num = 0
|
|
|
|
- font_style = xlwt.XFStyle()
|
|
|
|
- font_style.font.bold = True
|
|
|
|
-
|
|
|
|
- columns = ['id', 'userID__username', 'userID__phone', 'userID__userEmail', 'content', 'addTime', 'status',
|
|
|
|
- 'type', 'app', 'app_version', 'phone_model', 'os_version', 'uid', 'appBundleId', 'score', 'img_url',
|
|
|
|
- 'collect_status']
|
|
|
|
-
|
|
|
|
- for col_num in range(len(columns)):
|
|
|
|
- ws.write(row_num, col_num, columns[col_num], font_style)
|
|
|
|
-
|
|
|
|
- font_style = xlwt.XFStyle()
|
|
|
|
-
|
|
|
|
- filter_data = {}
|
|
|
|
- if status or collect_status:
|
|
|
|
- if status:
|
|
|
|
- filter_data['status'] = int(status)
|
|
|
|
- if collect_status:
|
|
|
|
- filter_data['collect_status'] = int(collect_status)
|
|
|
|
- feed_back_qs = FeedBackModel.objects.filter()
|
|
|
|
- if filter_data:
|
|
|
|
- feed_back_qs = feed_back_qs.filter(**filter_data)
|
|
|
|
- # rows = Exception.objects.filter().values_list()
|
|
|
|
- feed_backs = feed_back_qs.values(
|
|
|
|
- 'id',
|
|
|
|
- 'userID__username',
|
|
|
|
- 'userID__phone',
|
|
|
|
- 'userID__userEmail',
|
|
|
|
- 'content',
|
|
|
|
- 'addTime',
|
|
|
|
- 'status',
|
|
|
|
- 'type',
|
|
|
|
- 'app',
|
|
|
|
- 'app_version',
|
|
|
|
- 'phone_model',
|
|
|
|
- 'os_version',
|
|
|
|
- 'uid',
|
|
|
|
- 'appBundleId',
|
|
|
|
- 'score',
|
|
|
|
- 'collect_status'
|
|
|
|
- )
|
|
|
|
-
|
|
|
|
- feed_back_id_list = [feed_back['id'] for feed_back in feed_backs]
|
|
|
|
- stat_res_qs = StatResModel.objects.filter(
|
|
|
|
- feedbackmodel__id__in=feed_back_id_list).values(
|
|
|
|
- 'name', 'feedbackmodel__id')
|
|
|
|
- auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
|
|
|
|
- bucket = oss2.Bucket(
|
|
|
|
- auth, 'oss-cn-hongkong.aliyuncs.com', 'statres')
|
|
|
|
- try:
|
|
|
|
- feed_back_list = []
|
|
|
|
- for feed_back in feed_backs:
|
|
|
|
- feed_back['img_url'] = []
|
|
|
|
- for stat_res in stat_res_qs:
|
|
|
|
- if stat_res['feedbackmodel__id'] == feed_back['id']:
|
|
|
|
- obj = 'feedback/' + stat_res['name']
|
|
|
|
- img_url = bucket.sign_url('GET', obj, 3600)
|
|
|
|
- feed_back['img_url'].append(img_url)
|
|
|
|
- if not feed_back['userID__username']:
|
|
|
|
- feed_back['userID__username'] = feed_back['userID__userEmail'] if feed_back[
|
|
|
|
- 'userID__userEmail'] else feed_back['userID__phone']
|
|
|
|
- feed_back_list.append(feed_back)
|
|
|
|
-
|
|
|
|
- for row in feed_back_list:
|
|
|
|
- row_num += 1
|
|
|
|
- row = [values for k, values in row.items()]
|
|
|
|
-
|
|
|
|
- for col_num in range(len(row)):
|
|
|
|
- ws.write(row_num, col_num, str(row[col_num]), font_style)
|
|
|
|
- workbook.save(response)
|
|
|
|
- return response
|
|
|
|
- except Exception as e:
|
|
|
|
- print(e)
|
|
|