INNER CODE UNIT · Python
vote
kingname/SourceCodeofMongoRedis · chapter_12/QASystem/main.py:186
def vote():
session_data = redis.fetch_session(request.cookies.get('session'))
if not session_data:
return json.dumps({'success': False, 'reason': '未登录!'})
vote_data = request.json
is_valid = check_vote(vote_data)
if not is_valid['success']:
return json.dumps(is_valid)
doc_type = vote_data['doc_type']
value = 1 if vote_data['value'] == 'vote_up' else -1
doc_id = vote_data['doc_id']
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
mongo.insert_vote(doc_type, doc_id, value, session_data['user'], now)
redis.increase_vote_score(doc_type,
doc_id,
value,
question_id=vote_data['question_id'] if doc_type == 'answer' else '')
return json.dumps({'success': True})