コード例 #1
0
ファイル: admin_user.py プロジェクト: LyanJin/check-pay
def init_merchant_user(merchant_id, merchant_name, password):
    from app.main import flask_app
    from app.libs.string_kit import RandomString
    if not password:
        password = RandomString.gen_random_str(10,
                                               (CharOp.N, CharOp.L, CharOp.U))

    with flask_app.app_context():
        from scripts.init_data import InitData
        InitData.merchant_name = merchant_name
        InitData.merchant_id = merchant_id
        InitData.password = RandomString.gen_md5_string(
            password.encode('utf8'))

        merchant = InitData.get_merchant_user()
        if not merchant:
            InitData.init_merchant_user()
            merchant = InitData.get_merchant_user()
            print("Merchant generated, merchant: %s, password: %s" %
                  (merchant_name, password))
        else:
            merchant.reset_password(mid=merchant_id,
                                    password=InitData.password)
            print("password changed, merchant: %s, password: %s" %
                  (merchant_name, password))

        rst = merchant.verify_login(merchant_name, InitData.password)
        if rst:
            return merchant_name, password
    return None, None
コード例 #2
0
ファイル: admin_user.py プロジェクト: LyanJin/check-pay
def init_admin_user(account, password):
    from app.main import flask_app
    from app.libs.string_kit import RandomString
    from scripts.init_data import InitData

    if not password:
        password = RandomString.gen_random_str(10,
                                               (CharOp.N, CharOp.L, CharOp.U))

    with flask_app.app_context():
        InitData.admin_user_account = account
        InitData.password = RandomString.gen_md5_string(
            password.encode('utf8'))

        admin = InitData.get_admin_user()
        if not admin:
            InitData.init_admin_user()
            admin = InitData.get_admin_user()
            print("account generated, admin: %s, password: %s" %
                  (account, password))
        else:
            admin.reset_password(account=account, login_pwd=InitData.password)
            print("password changed, admin: %s, password: %s" %
                  (account, password))

        rst = admin.verify_login(account, InitData.password)
        print('verify login %s' % rst)

        if rst:
            return account, password

    return None, None
コード例 #3
0
ファイル: sms.py プロジェクト: LyanJin/check-pay
def async_send_auth_code(phone, code):
    """
    异步发送验证码
    :param phone:
    :param code:
    :return:
    """
    from app.main import flask_app
    with flask_app.app_context():
        flask_app.logger.info('async_send_auth_code, phone: %s, code: %s',
                              phone, code)
        SMSSender.send_sms(phone, code)
コード例 #4
0
ファイル: user_balance.py プロジェクト: LyanJin/check-pay
def add_user_balance(account, balance, register=True):
    from app.main import flask_app

    with flask_app.app_context():
        print('alter balance for account: %s, balance: %s' %
              (account, balance))
        rst, msg = InitData.add_balance_to_user(account, balance, register)
        print('result:', rst, msg)
        if rst == 0:
            print('balance: ', InitData.get_balance(account))
            return InitData.get_balance(account), msg
        else:
            return 0, msg
コード例 #5
0
ファイル: epaytong.py プロジェクト: LyanJin/check-pay
def withdraw_epay_tong():
    from app.main import flask_app
    with flask_app.app_context():

        tasks = list(OrderTasks.query_all())
        for task in tasks:
            order_id = task.order_id

            batch_date = DateTimeKit.datetime_to_str(task.create_time, DateTimeFormatEnum.TIGHT_DAY_FORMAT)

            current_app.logger.info('EpayTong withdraw check: order_id: %s, batch_date: %s', order_id, batch_date)
            order = WithdrawTransactionCtl.get_order_by_order_id(order_id)
            current_app.logger.info('EpayTong withdraw check: order_state: %s, state_type: %s', order.state,
                                     type(order.state))

            if not order:
                current_app.logger.info('EpayTong withdraw check, order_id: %s', order_id)
                OrderTasks.delete_task(task_id=task.id)
                continue

            if order.state.name == OrderStateEnum.SUCCESS.name or order.state.name == OrderStateEnum.FAIL.name:
                OrderTasks.delete_task(task_id=task.id)
                continue

            elif order.state.name != "DEALING":
                current_app.logger.info('EpayTong withdraw check, order_id: %s, order_state: %s', order_id,
                                         order.state)
                continue

            current_app.logger.info('EpayTong withdraw check, order_id: %s, order_state: %s', order_id,
                                     order.state)

            params = {
                "tx_id": order.sys_tx_id,
                "batch_date": batch_date
            }
            rst = EpayTongWithdrawRequest(channel_enum=ChannelConfigEnum.CHANNEL_6013).launch_pay(params)

            if rst['code'] == 0:
                tx_amount = rst['data']['tx_amount']
                code = rst['data']['tradeFeedbackcode']
                print(code, "******************")
                if code == "成功":
                    if WithdrawTransactionCtl.order_success(order, tx_amount):
                        OrderTasks.delete_task(task_id=task.id)

                elif code == "失败":
                    if WithdrawTransactionCtl.order_fail(order):
                        OrderTasks.delete_task(task_id=task.id)
コード例 #6
0
ファイル: clean_table.py プロジェクト: LyanJin/check-pay
def clean_order_table():
    # 每天凌晨4点清理数据
    from app.main import flask_app

    print('job clean_order_table running')

    with flask_app.app_context():
        rst = OrderDeposit.clean_hot_table()
        print(rst)
        rst = OrderWithdraw.clean_hot_table()
        print(rst)
        rst = OrderDetailDeposit.clean_hot_table()
        print(rst)
        rst = OrderDetailWithdraw.clean_hot_table()
        print(rst)
コード例 #7
0
ファイル: clean_table.py プロジェクト: LyanJin/check-pay
def batch_add_test_orders():
    # @scheduler.task('interval', id='batch_add_test_orders', minutes=30)
    # 定时添加一些测试数据
    from app.main import flask_app
    from scripts.order_mix import OrderMixes

    print('job batch_add_test_orders running')

    day_num = 5
    uid_range = range(1000, 1021)

    with flask_app.app_context():
        OrderMixes(PayTypeEnum.DEPOSIT).batch_add_orders_no_check(
            day_num, uid_range)
        OrderMixes(PayTypeEnum.WITHDRAW).batch_add_orders_no_check(
            day_num, uid_range)
コード例 #8
0
def task_add_together(a=0, b=0):
    """
    使用关键字参数only
    :param a:
    :param b:
    :return:
    """
    from app.main import flask_app
    with flask_app.app_context():
        host = socket.gethostname()
        l_data = dict(
            a=a,
            b=b,
            host=host,
        )
        redis.hmset('celery_check', l_data)
        data = redis.hgetall('celery_check')
        data = {k.decode('utf8'): v.decode('utf8') for k, v in data.items()}
        flask_app.logger.info('task_add_together, locals: %s, redis data: %s', l_data, data)
        return data
コード例 #9
0
from app.main import flask_app
from app.main.plugins import db
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
import pytest

from app.main.models import Student

# import your sql alchemy models here

flask_app.app_context().push()

manager = Manager(flask_app)

migrate = Migrate(flask_app, db)

manager.add_command('db', MigrateCommand)


@manager.command
def run():
    flask_app.run()


@manager.command
def test():
    return pytest.main(['-vv', './app/test'])


if __name__ == '__main__':
    manager.run()
コード例 #10
0
import sys

from app.extensions.ext_celery import flask_celery
from app.main import flask_app

if __name__ == '__main__':
    # python run_celery.py -A app.main:flask_celery worker
    with flask_app.app_context():
        argv = sys.argv
        if len(argv) == 1:
            argv += '-A app.main:flask_celery worker'.split(' ')
        flask_celery.start(argv)
コード例 #11
0
def init_user(account):
    from app.main import flask_app

    with flask_app.app_context():
        InitData.user_account = account
        InitData.init_user()