This repository has been archived on 2020-04-18. You can view files and clone it, but cannot push or open issues or pull requests.
index/message/message/db_message.py

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()