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)
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)
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)
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({})
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})
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({})
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})
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)
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)
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)
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)
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)