コード例 #1
0
ファイル: models.py プロジェクト: zzragida/PythonExamples
def toggle_push_notification(member_id):
    con, cur = sqlrelay_client_cursor(app.DEBUG)
    cur.prepareQuery('CALL member_push_notification(?,?)')
    cur.inputBind('1', app.APP_ID)
    cur.inputBind('2', member_id)
    cur.executeQuery()
    push_notification = cur.getField(0, 0)

    cur.clearBinds()

    # 푸시설정이력 저장
    cur.sendQuery("""
INSERT INTO ms_member_history (
   app_id
 , member_id
 , category
 , `int0` 
) VALUES (
   %d
 , %d
 , %d
 , %d
)""" % (app.APP_ID, member_id, 
        membership_pb2.HISTORY_MEMBER_PUSH, int(push_notification)))

    sqlrelay_client_close(cur, con)
    if not push_notification:
        return None
    return True if push_notification == '1' else False
コード例 #2
0
ファイル: models.py プロジェクト: zzragida/PythonExamples
def apps_new(form):
    app_key = _hash_app_key(form.app_name.data)
    app_secret = _hash_app_secret(app_key)
    app_name = set_default(form.app_name.data)
    support_android = set_support(form.support_android.data)
    support_ios = set_support(form.support_ios.data)
    support_playstore = set_support(form.support_playstore.data)
    support_appstore = set_support(form.support_appstore.data)
    support_gameflier = set_support(form.support_gameflier.data)
    playstore_url = set_default(form.playstore_url.data)
    appstore_url = set_default(form.appstore_url.data)
    gameflier_url = set_default(form.gameflier_url.data)
    gcm_sender_id = set_default(form.gcm_sender_id.data)
    gcm_server_api_key = set_default(form.gcm_server_api_key.data)
    gcm_config_path = ''
    if form.gcm_config_path.data:
        gcm_config_path = to_utf8(form.gcm_config_path.data.filename)
    facebook_app_name = set_default(form.facebook_app_name.data)
    facebook_app_id = set_default(form.facebook_app_id.data)
    facebook_app_secret = set_default(form.facebook_app_secret.data)
    facebook_api_version = facebook_api_version_value(form.facebook_api_version.data)
    status = form.status.data

    con, cur = sqlrelay_client_cursor()
    cur.prepareQuery('CALL create_app(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)')
    cur.inputBind("1", app_key)
    cur.inputBind("2", app_secret)
    cur.inputBind("3", app_name)
    cur.inputBind("4", support_android)
    cur.inputBind("5", support_ios)
    cur.inputBind("6", support_playstore)
    cur.inputBind("7", support_appstore)
    cur.inputBind("8", support_gameflier)
    cur.inputBind("9", playstore_url)
    cur.inputBind("10", appstore_url)
    cur.inputBind("11", gameflier_url)
    cur.inputBind("12", gcm_sender_id)
    cur.inputBind("13", gcm_server_api_key)
    cur.inputBind("14", gcm_config_path)
    cur.inputBind("15", facebook_app_id)
    cur.inputBind("16", facebook_app_name)
    cur.inputBind("17", facebook_app_secret)
    cur.inputBind("18", facebook_api_version)
    cur.inputBind("19", status)
    cur.executeQuery()
    app_id = cur.getField(0,0)
    sqlrelay_client_close(cur, con)

    if form.gcm_config_path.data:
        # GCM Config 파일저장
        _app_save_file(form.gcm_config_path.data, app_id)
コード例 #3
0
ファイル: models.py プロジェクト: zzragida/PythonExamples
def purchase_effectuate(effectuate):
    member_id = effectuate['member_id']
    payment_id = effectuate['payment_id']
    order_id = effectuate['order_id']
    service_platform = effectuate['service_platform']
    inapp_id = effectuate['inapp_id']

    con, cur = sqlrelay_client_cursor(app.DEBUG)
    cur.prepareQuery('CALL purchase_effectuate(?,?,?,?,?,?)')
    cur.inputBind('1', app.APP_ID)
    cur.inputBind('2', member_id)
    cur.inputBind('3', payment_id)
    cur.inputBind('4', order_id)
    cur.inputBind('5', membership_pb2.PAYMENT_STATUS_PURCHASED)
    cur.inputBind('6', membership_pb2.PAYMENT_STATUS_EFFECTUATED)
    cur.executeQuery()
    payment_id = cur.getFieldAsInteger(0, 0)

    cur.clearBinds()
    
    # 효력지급이력 저장
    cur.sendQuery("""
INSERT INTO ms_member_history (
   app_id
 , member_id
 , category
 , `int0`
 , `int1`
 , `int2`
 , str0
) VALUES (
   %d
 , %d
 , %d
 , %d
 , %d
 , %d
 , '%s'
)""" % (app.APP_ID, member_id, membership_pb2.HISTORY_MEMBER_PAYMENT,
        service_platform, membership_pb2.PAYMENT_STATUS_EFFECTUATED, payment_id,
        inapp_id))

    sqlrelay_client_close(cur, con)
    return payment_id if payment_id > 0 else None
コード例 #4
0
ファイル: models.py プロジェクト: zzragida/PythonExamples
def apps_edit(form):
    app_id = form.app_id.data
    app_name = set_default(form.app_name.data)
    support_android = set_support(form.support_android.data)
    support_ios = set_support(form.support_ios.data)
    support_playstore = set_support(form.support_playstore.data)
    support_appstore = set_support(form.support_appstore.data)
    support_gameflier = set_support(form.support_gameflier.data)
    playstore_url = set_default(form.playstore_url.data)
    appstore_url = set_default(form.appstore_url.data)
    gameflier_url = set_default(form.gameflier_url.data)
    gcm_sender_id = set_default(form.gcm_sender_id.data)
    gcm_server_api_key = set_default(form.gcm_server_api_key.data)
    gcm_config_path = _app_save_file(form.gcm_config_path.data, app_id)
    facebook_app_name = set_default(form.facebook_app_name.data)
    facebook_app_id = set_default(form.facebook_app_id.data)
    facebook_app_secret = set_default(form.facebook_app_secret.data)
    facebook_api_version = facebook_api_version_value(form.facebook_api_version.data)
    status = form.status.data

    con, cur = sqlrelay_client_cursor()
    cur.prepareQuery('CALL update_app(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)')
    cur.inputBind("1", app_id)
    cur.inputBind("2", app_name)
    cur.inputBind("3", support_android)
    cur.inputBind("4", support_ios)
    cur.inputBind("5", support_playstore)
    cur.inputBind("6", support_appstore)
    cur.inputBind("7", support_gameflier)
    cur.inputBind("8", playstore_url)
    cur.inputBind("9", appstore_url)
    cur.inputBind("10", gameflier_url)
    cur.inputBind("11", gcm_sender_id)
    cur.inputBind("12", gcm_server_api_key)
    cur.inputBind("13", gcm_config_path)
    cur.inputBind("14", facebook_app_id)
    cur.inputBind("15", facebook_app_name)
    cur.inputBind("16", facebook_app_secret)
    cur.inputBind("17", facebook_api_version)
    cur.inputBind("18", status)
    cur.executeQuery()
    sqlrelay_client_close(cur, con)
コード例 #5
0
ファイル: models.py プロジェクト: zzragida/PythonExamples
def purchase(member_id, product, payment):
    inapp_id = payment.inapp_id
    service_platform = payment.service_platform
    appstore_name = ''
    receipt = ''

    if payment.playstore:
        order_id = payment.playstore.order_id
        package_name = payment.playstore.package_name
        purchase_time = payment.playstore.purchase_time
        purchase_state = payment.playstore.purchase_state
        purchase_token = payment.playstore.purchase_token
        developer_payload = payment.playstore.developer_payload
        signature = payment.playstore.signature
    elif payment.appstore:
        # TODO: setting for appstore
        return None
    elif payment.gameflier:
        # TODO: setting for gameflier
        return None
    else:
        return None

    con, cur = sqlrelay_client_cursor(app.DEBUG)
    cur.prepareQuery('CALL purchase(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)')
    cur.inputBind('1', app.APP_ID)
    cur.inputBind('2', member_id)
    cur.inputBind('3', product['product_id'])
    cur.inputBind('4', service_platform)
    cur.inputBind('5', product['product_price'])
    cur.inputBind('6', order_id)
    cur.inputBind('7', package_name)
    cur.inputBind('8', inapp_id)
    cur.inputBind('9', purchase_time)
    cur.inputBind('10', purchase_state)
    cur.inputBind('11', purchase_token)
    cur.inputBind('12', developer_payload)
    cur.inputBind('13', signature)
    cur.inputBind('14', appstore_name)
    cur.inputBind('15', receipt)
    cur.inputBind('16', membership_pb2.PAYMENT_STATUS_PURCHASED)
    cur.executeQuery()
    payment_id = cur.getFieldAsInteger(0, 0)

    cur.clearBinds()

    # 구매이력 저장
    cur.sendQuery("""
INSERT INTO ms_member_history (
   app_id
 , member_id
 , category
 , `int0`
 , `int1`
 , `int2`
 , str0
) VALUES (
   %d
 , %d
 , %d
 , %d
 , %d
 , %d
 , '%s'
)""" % (app.APP_ID, member_id, membership_pb2.HISTORY_MEMBER_PAYMENT,
        service_platform, membership_pb2.PAYMENT_STATUS_PURCHASED, payment_id,
        inapp_id))

    sqlrelay_client_close(cur, con)
    return payment_id if payment_id > 0 else None
コード例 #6
0
ファイル: models.py プロジェクト: zzragida/PythonExamples
def member_info(udid, 
                device_platform, 
                service_platform, 
                gcm_token = '',
                facebook_id = 0, 
                facebook_email = ''):
    con, cur = sqlrelay_client_cursor(app.DEBUG)
    cur.prepareQuery('CALL member_info(?, ?, ?, ?, ?, ?, ?, ?)')
    cur.inputBind('1', app.APP_ID)
    cur.inputBind('2', to_utf8(udid))
    cur.inputBind('3', device_platform)
    cur.inputBind('4', service_platform)
    cur.inputBind('5', gcm_token)
    cur.inputBind('6', facebook_id)
    cur.inputBind('7', to_utf8(facebook_email))
    cur.inputBind('8', membership_pb2.MEMBER_STATUS_NORMAL)
    cur.executeQuery()
    member_id = cur.getFieldAsInteger(0, 0)
    if member_id <= 0: 
        sqlrelay_client_close(cur, con)
        return None

    cur.clearBinds()

    # 로그인 로그저장
    cur.sendQuery("""
INSERT INTO ms_member_history (
   app_id
 , member_id
 , category
 , `int0`
 , `int1`
 , `int2`
 , str0 
) VALUES (
   %d
 , %d
 , %d
 , %d
 , %d
 , %d
 , '%s'
)""" % (app.APP_ID, member_id, membership_pb2.HISTORY_MEMBER_ACCESS,
        device_platform, service_platform, facebook_id, udid))

    # 미완료 결제정보
    cur.sendQuery("""
SELECT
   service_platform
 , payment_id
 , inapp_order_id
 , inapp_developer_payload
 , inapp_purchase_token
 , inapp_product_sku 
FROM
   ms_app_payment 
WHERE 
   member_id = %d AND app_id = %d AND status = %d
""" % (member_id, app.APP_ID, membership_pb2.PAYMENT_STATUS_PURCHASED))
    sqlrelay_client_close(cur, con)

    payments = []
    for row in range(0, cur.rowCount()):
        payments.append({
           'service_platform': cur.getFieldAsInteger(row, 0),
           'payment_id': cur.getFieldAsInteger(row, 1),
           'order_id': cur.getField(row, 2),
           'developer_payload': cur.getField(row, 3),
           'purchase_token': cur.getField(row, 4),
           'inapp_id': cur.getField(row, 5)
        })
    return member_id, payments