86 lines
3.2 KiB
Python
86 lines
3.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: UTF-8 -*-
|
|
from django.shortcuts import render
|
|
from django.http import HttpResponse
|
|
import json
|
|
from message.MessageModel import MessageModel
|
|
import datetime
|
|
|
|
|
|
def add_mesage(request):
|
|
message = Message()
|
|
message_model = MessageModel()
|
|
message.init_models(request, message_model)
|
|
if message.email == '':
|
|
is_valid = False
|
|
elif message.context == '':
|
|
is_valid = False
|
|
elif message.nick_name == '':
|
|
is_valid = False
|
|
else:
|
|
is_valid = True
|
|
result = {'success': is_valid}
|
|
if is_valid:
|
|
if message.parent_id != 'root':
|
|
message_list = MessageModel.objects.filter(parent_id=message.parent_id)
|
|
if len(message_list) == 0:
|
|
result['success'] = False
|
|
result['msg'] = 'parent_id is not exits'
|
|
return HttpResponse(json.dumps(result))
|
|
message_model.save()
|
|
result['msg'] = 'ok'
|
|
return HttpResponse(json.dumps(result))
|
|
else:
|
|
result['msg '] = 'args is error'
|
|
return HttpResponse(json.dumps(result))
|
|
|
|
|
|
def qry_message(request):
|
|
message_list = MessageModel.objects.filter(parent_id='root')
|
|
message_arr = []
|
|
for message in message_list:
|
|
entity = {'id': str(message.id),
|
|
'context': str(message.context),
|
|
'parent_id': str(message.parent_id),
|
|
'nick_name': str(message.nick_name),
|
|
'create_time': str(message.create_time)
|
|
}
|
|
sons_list = MessageModel.objects.filter(parent_id=str(message.id))
|
|
sons_arr = []
|
|
for son_message in sons_list:
|
|
son_entity = {'id': str(son_message.id),
|
|
'context': str(son_message.context),
|
|
'parent_id': str(son_message.parent_id),
|
|
'nick_name': str(son_message.nick_name),
|
|
'create_time': str(son_message.create_time)
|
|
}
|
|
sons_arr.append(son_entity)
|
|
entity['sons'] = sons_arr
|
|
message_arr.append(entity)
|
|
result = {'success': 'ok', 'data': message_arr}
|
|
return HttpResponse(json.dumps(result).encode('utf-8')
|
|
.decode('unicode-escape'))
|
|
|
|
|
|
class Message(object):
|
|
|
|
def get_message(self, request):
|
|
if request.method == "GET":
|
|
self.email = request.GET.get('email', '')
|
|
self.context = request.GET.get('context', '')
|
|
self.parent_id = request.GET.get('parent_id', 'root')
|
|
self.nick_name = request.GET.get('nick_name', '')
|
|
elif request.method == 'POST':
|
|
self.email = request.POST.get('email', '')
|
|
self.context = request.POST.get('context', '')
|
|
self.parent_id = request.POST.get('parent_id', 'root')
|
|
self.nick_name = request.POST.get('nick_name', '')
|
|
|
|
def init_models(self, request, message_model):
|
|
self.get_message(request)
|
|
message_model.email = self.email
|
|
message_model.context = self.context
|
|
message_model.parent_id = self.parent_id
|
|
message_model.nick_name = self.nick_name
|
|
message_model.create_time = datetime.datetime.now()
|