def bankcard_approve(rst_id, bankcard_id): args = _get_bankcard_args() args.update({ 'id': bankcard_id, "status": RstBankCard.STATUS_VALID, "rst_id": rst_id }) rst_admin = get_rst_admin(rst_id) current_zeus_bankcard = None mobile = None if rst_admin: current_zeus_bankcard = \ user_base.get_bankcard(rst_admin.get('user_id')) mobile = rst_admin.get("mobile") try: if rst_admin: _unbind_admin_mobile(rst_admin.get('user_id')) _unbind_admin_bankcard(rst_admin.get('user_id')) bankcard_base.super_user_bind(username=args['username'], mobile=args['mobile'], restaurant_id=rst_id, bank_id=args['bank_id'], card_id=args['card_id'], cardholder_name=args['cardholder_name'], process_user_id=current_user.id) _current_to_history(rst_id) bankcard_base.update_bankcard(**args) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard_id, process_user_id=current_user.id, messages=u'审核通过该银行卡信息', status_to=RstBankCard.STATUS_VALID, ) rst = rst_base.get(rst_id) bank = bankcard_base.get_bank(int(args['bank_id'])) async .send_task(send_bankcard_approve_sms, phone=args['mobile'], params={ "restaurant_name": rst.get('name'), "card_holder": args["cardholder_name"], "bank": bank.bank_name, "card_tail_number": args["card_id"][-4:] }) except thirdparty_svc.eus.EUSUserException as e: # rollback bankcard and mobile if mobile and rst_admin.get("is_mobile_valid") == 1: user_base.bind_mobile(rst_admin.get("user_id"), mobile) if current_zeus_bankcard: user_base.bankcard_bind( user_id=current_zeus_bankcard.user_id, cardholder_name=current_zeus_bankcard.cardholder_name, bank_id=current_zeus_bankcard.bank_id, card_id=current_zeus_bankcard.card_id) raise_user_exc(BANKCARD_APPROVE_ERR, error_msg=e.message)
def bankcard_approve(rst_id, bankcard_id): args = _get_bankcard_args() args.update({'id': bankcard_id, "status": RstBankCard.STATUS_VALID, "rst_id": rst_id}) rst_admin = get_rst_admin(rst_id) current_zeus_bankcard = None mobile = None if rst_admin: current_zeus_bankcard = \ user_base.get_bankcard(rst_admin.get('user_id')) mobile = rst_admin.get("mobile") try: if rst_admin: _unbind_admin_mobile(rst_admin.get('user_id')) _unbind_admin_bankcard(rst_admin.get('user_id')) bankcard_base.super_user_bind( username=args['username'], mobile=args['mobile'], restaurant_id=rst_id, bank_id=args['bank_id'], card_id=args['card_id'], cardholder_name=args['cardholder_name'], process_user_id=current_user.id) _current_to_history(rst_id) bankcard_base.update_bankcard(**args) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard_id, process_user_id=current_user.id, messages=u'审核通过该银行卡信息', status_to=RstBankCard.STATUS_VALID, ) rst = rst_base.get(rst_id) bank = bankcard_base.get_bank(int(args['bank_id'])) async.send_task(send_bankcard_approve_sms, phone=args['mobile'], params={"restaurant_name": rst.get('name'), "card_holder": args["cardholder_name"], "bank": bank.bank_name, "card_tail_number": args["card_id"][-4:]}) except thirdparty_svc.eus.EUSUserException as e: # rollback bankcard and mobile if mobile and rst_admin.get("is_mobile_valid") == 1: user_base.bind_mobile(rst_admin.get("user_id"), mobile) if current_zeus_bankcard: user_base.bankcard_bind(user_id=current_zeus_bankcard.user_id, cardholder_name=current_zeus_bankcard.cardholder_name, bank_id=current_zeus_bankcard.bank_id, card_id=current_zeus_bankcard.card_id) raise_user_exc(BANKCARD_APPROVE_ERR, error_msg=e.message)
def _current_to_history(rst_id): current_bankcard = bankcard_base \ .query_bankcard(rst_id, status=RstBankCard.STATUS_VALID) for bankcard in current_bankcard: bankcard_base.update_bankcard(bankcard.id, status=RstBankCard.STATUS_HISTORY) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard.id, messages=u'弃用该银行卡信息', process_user_id=current_user.id, status_to=RstBankCard.STATUS_INVALID)
def bankcard_reject(rst_id, bankcard_id): arg_spec = {"comment": Arg()} args = args_parser.parse(arg_spec) args.update({"status": RstBankCard.STATUS_INVALID}) bankcard_base.update_bankcard(bankcard_id, **args) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard_id, process_user_id=current_user.id, messages=u'退回该银行卡信息', status_to=RstBankCard.STATUS_INVALID, )
def _current_to_history(rst_id): current_bankcard = bankcard_base \ .query_bankcard(rst_id, status=RstBankCard.STATUS_VALID) for bankcard in current_bankcard: bankcard_base.update_bankcard(bankcard.id, status=RstBankCard.STATUS_HISTORY) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard.id, messages=u'弃用该银行卡信息', process_user_id=current_user.id, status_to=RstBankCard.STATUS_INVALID )
def update_rst_bankcard(rst_id, bankcard_id): args = _get_bankcard_args() args.update({'id': bankcard_id, "status": RstBankCard.STATUS_PENDING, "comment": ""}) bankcard_base.update_bankcard(**args) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard_id, process_user_id=current_user.id, messages=u'修改银行卡信息', status_to=RstBankCard.STATUS_PENDING, ) return ''
def bankcard_reject(rst_id, bankcard_id): arg_spec = { "comment": Arg() } args = args_parser.parse(arg_spec) args.update({"status": RstBankCard.STATUS_INVALID}) bankcard_base.update_bankcard(bankcard_id, **args) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard_id, process_user_id=current_user.id, messages=u'退回该银行卡信息', status_to=RstBankCard.STATUS_INVALID, )
def update_rst_bankcard(rst_id, bankcard_id): args = _get_bankcard_args() args.update({ 'id': bankcard_id, "status": RstBankCard.STATUS_PENDING, "comment": "" }) bankcard_base.update_bankcard(**args) bankcard_base.add_bankcard_processing_record( rst_id=rst_id, bankcard_id=bankcard_id, process_user_id=current_user.id, messages=u'修改银行卡信息', status_to=RstBankCard.STATUS_PENDING, ) return ''