def account_pause(db): 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 account_pause(db): 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 account_next(db): account_number = request.params.get("account_number") account = db.query(models.SlcRadAccount).get(account_number) user = query_account(db, account_number) form = 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(元)" % (account_number, form.d.fee_value) db.add(accept_log) db.flush() db.refresh(accept_log) 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 = u'用户销户' 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("/bus/member/detail?member_id={}".format(user.member_id))
def account_next(db): account_number = request.params.get("account_number") account = db.query(models.SlcRadAccount).get(account_number) user = query_account(db,account_number) form = 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(元)"%(account_number,form.d.fee_value) db.add(accept_log) db.flush() db.refresh(accept_log) 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 = u'用户销户' 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(user.member_id))