Exemple #1
0
def trade(handler, *args, **kwargs):
    ck = handler.json_args.get("ck", "")
    uid = session.get_by_ck(ck).get('uid')
    params = handler.json_args
    params.update({"uid": uid})
    pid = None
    try:
        # 账户检查
        paymoney = UserBean().check_account(params)

        # 下单
        with get_rpc_conn("trade") as proxy:
            try:
                resp = proxy.call("place_order", params)
            except RpcException as ex:
                raise ews.EwsError(ews.STATUS_RPC_TRADE_ERROR, ex.message)
    except:
        logger.error(traceback.format_exc())
        raise
    account = UserBean().user_account({"uid": uid})
    ret = {
        "pid": resp.get("pid"),
        "balance": Decimal(account.get("balance")) - Decimal(paymoney),
        "balance_draw": account.get("balance_draw")
    }
    return handler.ok(ret)
Exemple #2
0
def user_info(handler, *args, **kwargs):
    ck = handler.json_args.get("ck", "")
    uid = session.get_by_ck(ck).get('uid')

    params = {"uid": uid}
    ret = UserBean().user_info(params)
    return handler.ok(ret)
Exemple #3
0
def login(handler, *args, **kwargs):
    mobile = handler.json_args.get("mobile", "")
    password = handler.json_args.get("password", "")
    login_type = handler.json_args.get("logintype", "mobile")
    platform = handler.json_args.get("platform", "")
    channel = handler.json_args.get("channel", "")
    subchannel = handler.json_args.get("subchannel", "")
    ip = handler.request.remote_ip
    ua = handler.request.headers.get("User-Agent", "")
    mbimei = handler.json_args.get("mbimei", "")
    verifycode = handler.json_args.get("verifycode", "")
    params = {
        "mobile": mobile,
        "password": password,
        "login_type": login_type,
        "mbimei": mbimei,
        "platform": platform,
        "channel": channel,
        "subchannel": subchannel,
        "ip": ip,
        "ua": ua,
        "verifycode": verifycode
    }
    ret = UserBean().user_login(params)
    return handler.ok(ret)
Exemple #4
0
def user_bind_bank_card(handler, *args, **kwargs):
    ck = handler.json_args.get("ck")
    uid = session.get_by_ck(ck).get('uid')
    cardno = handler.json_args.get("cardno")

    params = {"uid": uid, "cardno": cardno}

    UserBean().bankcardverify(params)
    return handler.ok({})
Exemple #5
0
def user_password_reset(handler, *args, **kwargs):
    """短信验证后重置密码
    """
    mobile = handler.json_args.get("mobile")
    code = handler.json_args.get("code", "0")
    checksum = handler.json_args.get("checksum")
    password = handler.json_args.get("password")
    status = UserBean().user_password_reset(mobile, code, checksum, password)
    return handler.ok({"status": status})
Exemple #6
0
def true_name_identify(handler, *args, **kwargs):
    ck = handler.json_args.get("ck", "")
    realname = handler.json_args.get("realname", "")
    idcard = handler.json_args.get("idcard", "")
    uid = session.get_by_ck(ck).get('uid')
    code = handler.json_args.get("code")
    params = {"uid": uid, "realname": realname, "idcard": idcard, "code": code}
    UserBean().realname_auth(params)

    return handler.ok({})
Exemple #7
0
def user_password_modify(handler, *args, **kwargs):
    """密码验证后修改密码
    """
    mobile = handler.json_args.get("mobile")
    code = handler.json_args.get("code")
    checksum = handler.json_args.get("checksum")
    oldpassword = handler.json_args.get("oldpassword")
    newpassword = handler.json_args.get("newpassword")
    status = UserBean().user_password_modify(mobile, code, checksum,
                                             oldpassword, newpassword)
    return handler.ok({"status": status})
Exemple #8
0
def user_account_detail(handler, *args, **kwargs):
    ck = handler.json_args.get("ck", "")
    uid = session.get_by_ck(ck).get('uid')
    pageno = handler.json_args.get("pageno", "1")
    pagesize = handler.json_args.get("pagesize", "10")
    biztype = handler.json_args.get("biztype", "0")
    params = {
        "uid": uid,
        "pageno": pageno,
        "pagesize": pagesize,
        "biztype": biztype
    }
    ret = UserBean().user_account_detail(params)
    return handler.ok(ret)
Exemple #9
0
def user_reg(handler, *args, **kwargs):
    params = {
        "mobile": handler.json_args.get("mobile", ""),
        "password": handler.json_args.get("password", ""),
        "code": handler.json_args.get("code", ""),
        "type": handler.json_args.get("regtype", ""),
        "platform": handler.json_args.get("platform", ""),
        "channel": handler.json_args.get("channel", ""),
        "subchannel": handler.json_args.get("subchannel", ""),
        "deviceid": handler.json_args.get("deviceid", ""),
        "ip": handler.request.remote_ip,
        "ua": handler.request.headers.get("User-Agent", ""),
        "idfa": handler.json_args.get("idfa", ""),
        "channel": handler.json_args.get("channel", "")
    }
    regtype = handler.json_args.get("regtype", "mobile")
    if regtype == "mobile":
        info = UserBean().user_mobile_reg(params)
        return handler.ok(info)
Exemple #10
0
def trade_follow(handler, *args, **kwargs):
    ck = handler.json_args.get("ck", "")
    uid = session.get_by_ck(ck).get('uid')
    pid = handler.json_args.get("pid")
    lotid = handler.json_args.get("lotid", 47)
    allmoney = handler.json_args.get("allmoney")
    beishu = handler.json_args.get("beishu")

    params = handler.json_args
    params.update({"uid": uid, "couponid": 0})
    try:

        module = "trade"
        method = "proj_detail"
        proj_detail = {}
        with get_rpc_conn(module) as proxy:
            proj_detail = proxy.call(method, params)
            proj_detail = ujson.loads(proj_detail)

        if not proj_detail:
            raise ews.EwsError(ews.STATUS_PROJ_NOT_FOUND)
        ptype = proj_detail.get("f_ptype")
        if str(ptype) != "1":
            raise ews.EwsError(ews.STATUS_PROJ_FORBID_FOLLOW)

        orderstatus = proj_detail.get("f_orderstatus")

        if orderstatus in [2, 4]:
            raise ews.EwsError(ews.STATUS_PROJ_FORBID_FOLLOW)

        firsttime = proj_detail.get("f_firsttime")
        if firsttime < time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()):
            raise ews.EwsError(ews.STATUS_PROJ_DEADLINE)

        _allmoney = proj_detail.get("f_allmoney")
        _beishu = proj_detail.get("f_beishu")
        # 下单

        if int(beishu) > 10000:
            raise ews.EwsError(ews.STATUS_PROJ_ALLMONEY_ERROR)
        single = int(float(_allmoney)) / int(_beishu)
        if allmoney != str(single * int(beishu)):
            raise ews.EwsError(ews.STATUS_PROJ_ALLMONEY_ERROR)

        # 账户检查
        paymoney = UserBean().check_account(params)
        params = {
            'lotid': lotid,
            'wtype': proj_detail.get("f_wtype"),
            'beishu': beishu,
            'zhushu': proj_detail.get("f_zhushu"),
            'ggtype': proj_detail.get("f_ggtype"),
            'allmoney': allmoney,
            'couponid': proj_detail.get("f_couponid"),
            'isquchu': proj_detail.get("f_isquchu"),
            'danma': proj_detail.get("f_danma"),
            'rqlist': proj_detail.get("f_rqlist"),
            'ratelist': proj_detail.get("f_ratelist"),
            'fileorcode': proj_detail.get("f_fileorcode"),
            'uid': uid,
            'fid': pid,
            'ptype': '-1',
            'firsttime': proj_detail.get("f_firsttime"),
            'lasttime': proj_detail.get("f_lasttime")
        }
        with get_rpc_conn("trade") as proxy:
            try:
                resp = proxy.call("place_order", params)
            except RpcException as ex:
                raise ews.EwsError(ews.STATUS_RPC_TRADE_ERROR, ex.message)
    except:
        logger.error(traceback.format_exc())
        raise

    account = UserBean().user_account({"uid": uid})
    ret = {
        "pid": resp.get("pid"),
        "balance": Decimal(account.get("balance")) - Decimal(paymoney),
        "balance_draw": account.get("balance_draw")
    }
    return handler.ok(ret)
Exemple #11
0
def reg_verify_sms(handler, *args, **kwargs):
    mobile = handler.json_args.get("mobile")
    code = handler.json_args.get("code", "0")
    ret = UserBean().user_verify_sms(mobile, code)
    return handler.ok(ret)
Exemple #12
0
def reg_send_sms(handler, *args, **kwargs):
    mobile = handler.json_args.get("mobile")
    vtype = handler.json_args.get("vtype", "reg")

    ret = UserBean().user_send_sms(mobile, vtype)
    return handler.ok(ret)