def account_pause(db, render): account_number = request.params.get("account_number") account = db.query(models.SlcRadAccount).get(account_number) if account.status != 1: return dict(msg=u"用户当前状态不允许停机") _datetime = utils.get_currtime() account.last_pause = _datetime account.status = 2 accept_log = models.SlcRadAcceptLog() accept_log.accept_type = 'pause' accept_log.accept_source = 'console' accept_log.accept_desc = u"用户停机:上网账号:%s" % (account_number) accept_log.account_number = account.account_number accept_log.accept_time = _datetime accept_log.operator_name = get_cookie("username") db.add(accept_log) db.commit() websock.update_cache("account", account_number=account.account_number) onlines = db.query(models.SlcRadOnline).filter_by(account_number=account_number) for _online in onlines: websock.invoke_admin("coa_request", nas_addr=_online.nas_addr, acct_session_id=_online.acct_session_id, message_type='disconnect') return dict(msg=u"操作成功")
def disconn(): websock.invoke_admin("coa_request", nas_addr=online.nas_addr, acct_session_id=online.acct_session_id, message_type='disconnect')
def disconn(): websock.invoke_admin("coa_request", nas_addr=online.nas_addr, acct_session_id=online.acct_session_id, message_type='disconnect' )
def account_cancel(db, render): account_number = request.params.get("account_number") account = db.query(models.SlcRadAccount).get(account_number) user = query_account(db, account_number) form = account_forms.account_cancel_form() if account.status != 1: return render("bus_account_form", user=user, form=form, msg=u"无效用户状态") if not form.validates(source=request.forms): return render("bus_account_form", user=user, form=form) accept_log = models.SlcRadAcceptLog() accept_log.accept_type = 'cancel' accept_log.accept_source = 'console' accept_log.account_number = form.d.account_number accept_log.accept_time = utils.get_currtime() accept_log.operator_name = get_cookie("username") accept_log.accept_desc = u"用户销户退费%s(元);%s" % (form.d.fee_value, form.d.operate_desc) db.add(accept_log) db.flush() db.refresh(accept_log) history = models.SlcRadAccountHistory() history.accept_id = accept_log.id history.account_number = account.account_number history.member_id = account.member_id history.product_id = account.product_id history.group_id = account.group_id history.password = account.password history.install_address = account.install_address history.expire_date = account.expire_date history.user_concur_number = account.user_concur_number history.bind_mac = account.bind_mac history.bind_vlan = account.bind_vlan history.account_desc = account.account_desc history.create_time = account.create_time history.operate_time = accept_log.accept_time db.add(history) order = models.SlcMemberOrder() order.order_id = utils.gen_order_id() order.member_id = user.member_id order.product_id = user.product_id order.account_number = form.d.account_number order.order_fee = 0 order.actual_fee = -utils.yuan2fen(form.d.fee_value) order.pay_status = 1 order.order_source = 'console' order.accept_id = accept_log.id order.create_time = utils.get_currtime() order.order_desc = accept_log.accept_desc db.add(order) account.status = 3 db.commit() websock.update_cache("account", account_number=account_number) onlines = db.query(models.SlcRadOnline).filter_by(account_number=account_number) for _online in onlines: websock.invoke_admin("coa_request", nas_addr=_online.nas_addr, acct_session_id=_online.acct_session_id, message_type='disconnect') redirect(member_detail_url_formatter(account_number))
def account_cancel(db, render): account_number = request.params.get("account_number") account = db.query(models.SlcRadAccount).get(account_number) user = query_account(db, account_number) form = account_forms.account_cancel_form() if account.status != 1: return render("bus_account_form", user=user, form=form, msg=u"无效用户状态") if not form.validates(source=request.forms): return render("bus_account_form", user=user, form=form) accept_log = models.SlcRadAcceptLog() accept_log.accept_type = 'cancel' accept_log.accept_source = 'console' accept_log.account_number = form.d.account_number accept_log.accept_time = utils.get_currtime() accept_log.operator_name = get_cookie("username") accept_log.accept_desc = u"用户销户退费%s(元)" % (form.d.fee_value) db.add(accept_log) db.flush() db.refresh(accept_log) history = models.SlcRadAccountHistory() history.accept_id = accept_log.id history.account_number = account.account_number history.member_id = account.member_id history.product_id = account.product_id history.group_id = account.group_id history.password = account.password history.install_address = account.install_address history.expire_date = account.expire_date history.user_concur_number = account.user_concur_number history.bind_mac = account.bind_mac history.bind_vlan = account.bind_vlan history.account_desc = account.account_desc history.create_time = account.create_time history.operate_time = accept_log.accept_time db.add(history) order = models.SlcMemberOrder() order.order_id = utils.gen_order_id() order.member_id = user.member_id order.product_id = user.product_id order.account_number = form.d.account_number order.order_fee = 0 order.actual_fee = -utils.yuan2fen(form.d.fee_value) order.pay_status = 1 order.order_source = 'console' order.accept_id = accept_log.id order.create_time = utils.get_currtime() order.order_desc = accept_log.accept_desc db.add(order) account.status = 3 db.commit() websock.update_cache("account", account_number=account_number) onlines = db.query(models.SlcRadOnline).filter_by(account_number=account_number) for _online in onlines: websock.invoke_admin("coa_request", nas_addr=_online.nas_addr, acct_session_id=_online.acct_session_id, message_type='disconnect') redirect(member_detail_url_formatter(account_number))