Beispiel #1
0
 def book_detail(book_id):
     auth = Auth.identify(Auth, request)
     if auth['status']:
         r = db.find_one({"book_id": book_id}, {"_id": 0})
         Users.add_view_history(auth, r)
         Users.rate_to_book(auth, book_id, 0.1)
         return jsonify(common.trueReturn(r, 'success'))
     else:
         return auth
Beispiel #2
0
 def lease():
     auth = Auth.identify(Auth, request)
     if auth['status']:
         duration = int(request.json.get('duration'))
         book_name = request.json.get('book_name')
         current_time = int(time.time() * 1000)
         end_time = 2592000000 * duration + current_time
         book_id = Book.get_bookId_by_bookName(book_name)
         book = db.find_one({"book_name": book_name}, {"_id": 0})
         user_info = Users.find_by_username(auth['data'])[0]
         if 'lease_history' in user_info:
             lease_history_list = []
             for i in user_info['lease_history']:
                 if i['end_time'] > current_time and i['valid']:
                     lease_history_list.append(i['book']['book_id'])
                 else:
                     pass
             if book_id in lease_history_list:
                 return jsonify(common.falseReturn('您正在借此书', '失败'))
             else:
                 result = udb.find_one({"username":
                                        auth['data']})['lease_history']
                 book_obj = {
                     "book": book,
                     "lease_time": current_time,
                     "end_time": end_time,
                     "valid": True
                 }
                 result.insert(0, book_obj)
                 udb.update_one({"username": auth['data']},
                                {"$set": {
                                    "lease_history": result
                                }})
                 Users.rate_to_book(auth, book_id, 2)
                 return jsonify(common.trueReturn(result, 'success'))
         else:
             result = []
             book_obj = {
                 "book": book,
                 "lease_time": current_time,
                 "end_time": end_time,
                 "valid": True
             }
             result.append(book_obj)
             udb.update_one({"username": auth['data']},
                            {"$set": {
                                "lease_history": result
                            }})
             Users.rate_to_book(auth, book_id, 2)
             return jsonify(common.trueReturn(result, 'success'))
     else:
         return auth
Beispiel #3
0
 def like_book():
     auth = Auth.identify(Auth, request)
     if auth['status']:
         book_name = request.json.get('book_name')
         book_id = Book.get_bookId_by_bookName(book_name)
         like = request.json.get('like')
         result = db.find_one({"username": auth['data']})
         if like:
             if 'like_book_list' in result:
                 if book_name in result['like_book_list']:
                     return jsonify(common.falseReturn('已经喜欢过该书', 'false'))
                 else:
                     result['like_book_list'].append(book_name)
                     db.update_one({"username": auth['data']}, {
                         "$set": {
                             "like_book_list": result['like_book_list']
                         }
                     })
                     Users.rate_to_book(auth, book_id, 0.5)
                     return jsonify(common.trueReturn('成功', 'true'))
             else:
                 like_book_list = []
                 like_book_list.append(book_name)
                 db.update_one({"username": auth['data']},
                               {"$set": {
                                   "like_book_list": like_book_list
                               }})
                 Users.rate_to_book(auth, book_id, 0.5)
                 return jsonify(common.trueReturn('成功', 'true'))
         else:
             result['like_book_list'].remove(book_name)
             db.update_one(
                 {"username": auth['data']},
                 {"$set": {
                     "like_book_list": result['like_book_list']
                 }})
             Users.rate_to_book(auth, book_id, -0.5)
             return jsonify(common.trueReturn('成功', 'true'))
     else:
         return auth