def pay(id): order = OrderBiz.get_order_by_id(id) if not order: return u"订单不存在" elif order.status != Order.STATUS.CREATED: return u"该订单已付款" cuser = UserBiz.get_user_by_id(order.user_id) if order.expect_order_price is None: return "DatabaseError:Price Format Error" if order.expect_order_price > cuser.account: return u"账户余额不足" else: try: # 从账户扣钱 amount = order.expect_order_price print amount if UserBiz.pay(order.user_id, amount, Transaction.TYPE.PAY, u"用户对订单付款") == REFUND_SUCCESS: order.status = Order.STATUS.PAID db_session.add(order) db_session.commit() except DaixieError as e: raise e.get_msg() return PAY_ORDER_SUCCESS
def check_is_activated(id, flash_msg=False): try: user = UserBiz.get_user_by_id(id) ret = UserBiz.check_is_activated(user) except DaixieError as e: fail(e) UserBiz.user_logout() return redirect(url_for('.send_activate_email', id=user.id, email=user.email)) if flash_msg: success(ret) return redirect(url_for('user.home'))
def activate(): ''' 激活账号 ''' email = request.args.get('email') timestamp = request.args.get('timestamp') token = request.args.get('token') id = request.args.get('id') try: UserBiz.check_link(email, timestamp, token) except DaixieError as e: return render_template('error.html', message=e.message) #以下需要根据id从数据库中取出相应的user,并更新activate字段 user = UserBiz.get_user_by_id(id) ret = UserBiz.activate_user(user) url = url_for("user.home") success(ret) return render_template("general/activate_ok.html", url=url)
def load_user(user_id): return UserBiz.get_user_by_id(user_id)