Esempio n. 1
0
def smscaptcha_request(r, phone):
    # 校验验证码
    if r.c_type == Const['model.device.pc']:
        rand_code = r.REQUEST['rand_code']
        # rand_code_arr = ['X3NC', '4MPQ', '8FAE', 'YG9H', 'MYAV', '2B7Q', '83EJ', 'HE4S', 'GAWQ', 'RWTU']
        # if not rand_code_arr[int(rand_pic)] == rand_code:
        #     return JsonResponse(code=Const['code.system_error'], msg='请输入正确验证码')
        if not r.session['randcode'] == rand_code.lower():
            return JsonResponse(code=Const['code.system_error'],
                                msg='请输入正确验证码')
    capt = str(randint(100000, 999999))
    nowtime = msec_time()
    if phone in [13586280698]:
        return JsonResponse(code=Const['code.request_error'])
    try:
        s = Smscaptcha.objects.get(phone=phone)
        s.create_time = nowtime
        s.captcha = capt
        s.save()
    except ObjectDoesNotExist:
        s = Smscaptcha.objects.create(phone=phone,
                                      captcha=capt,
                                      create_time=nowtime)
    result = SMSService.sendTemplateSMS(phone, [capt, Const['sms.valid.time']],
                                        133993)
    if (result['statusCode'] == '000000'):
        return JsonResponse(code=Const['code.success'])
    else:
        logger.error(result)
        return JsonResponse(code=Const['code.system_error'], msg='发送短信验证码失败')
Esempio n. 2
0
def user_this(request):
    if 'user_id' in request.session:
        return JsonResponse(
            code=Const['code.success'],
            data=User.objects.get(pk=request.session['user_id']).to_data())
    else:
        return JsonResponse(code=Const['code.permission_deny'])
Esempio n. 3
0
def user_publicinfo(r, uid):
    try:
        user = User.objects.get(pk=uid)
    except Exception:
        return JsonResponse(code=Const['code.user.nonexists'])
    return JsonResponse(code=Const['code.success'],
                        data=user.to_sub_dict('id', 'photo'))
Esempio n. 4
0
def tbaccount_verify(r, tid):
    tb = TBAccount.objects.get(pk=tid)
    if obj_verify(r, tb, 'verify_status', 'status'):
        tb.user.notice_set(Const['model.remind.tb_verify'], True)
        # tb.user.save()
        return JsonResponse(code=Const['code.success'])
    else:
        return JsonResponse(code=Const['code.request_error'])
Esempio n. 5
0
def user_setbuyerlevel(r, uid):
    u = User.objects.get(pk=uid)
    level = int(r.REQUEST['level'])
    if level < 1 or level > 6:
        return JsonResponse(code=Const['code.request_error'])
    u.buyer_level = level
    u.save()
    return JsonResponse(code=Const['code.success'])
Esempio n. 6
0
def recharge_create(r):
    form = RechargeForm(r.POST)
    if form.is_valid():
        data = form.cleaned_data
        data['user_id'] = r.REQUEST['user_id']
        Recharge.objects.create(**data)
        return JsonResponse(code=Const['code.success'])
    return JsonResponse(code=Const['code.request_error'])
Esempio n. 7
0
def user_verify(r, uid):
    user = User.objects.get(pk=uid)
    if obj_verify(r, user):
        user.notice_set(Const['model.remind.idc_verify'], True)  # 身份验证信息变更的通知
        # user.save()
        return JsonResponse(code=Const['code.success'])
    else:
        return JsonResponse(code=Const['code.request_error'])
Esempio n. 8
0
def bankcard_verify(r, bid):
    bankcard = Bankcard.objects.get(pk=bid)
    if obj_verify(r, bankcard):
        bankcard.user.notice_set(Const['model.remind.bankcard_verify'],
                                 True)  # 银行卡验证信息变更的通知
        # bankcard.user.save()
        return JsonResponse(code=Const['code.success'])
    else:
        return JsonResponse(code=Const['code.request_error'])
Esempio n. 9
0
def administrator_login(r):
    params = r.REQUEST
    admin = Administrator.objects.filter(adminname=params['adminname'],
                                         password=params['password'])
    if not admin:
        return JsonResponse(code=Const['code.login_error'])
    else:
        r.session['admin_id'] = admin[0].id
        return JsonResponse(code=Const['code.success'])
Esempio n. 10
0
def user_setimei(r, uid):
    if 'imei' not in r.REQUEST or r.REQUEST['imei'] is None or r.REQUEST[
            'imei'] == '':
        logger.info(str(uid) + ' has no imei')
        return JsonResponse(code=Const['code.success'])
    user = User.objects.get(pk=uid)
    user.imei = r.REQUEST['imei']
    user.save(update_fields=['imei'])
    return JsonResponse(code=Const['code.success'])
Esempio n. 11
0
class SetRequestDevice():
    def process_request(self, request):
        request.c_version = ''
        request.c_versioncode = 0
        request.c_type = Const['model.device.unknown']
        request.c_userid = 0
        if request.path.startswith('/rest'):
            useragent = ''
            try:
                useragent = request.META['HTTP_USER_AGENT']
            except KeyError:
                pass
            try:
                if request.path.startswith('/rest_web/'):
                    request.c_type = Const['model.device.pc']
                    request.c_versioncode = 1
                else:
                    clienttype = request.META['HTTP_X_REQUEST_CLIENT']
                    #logger.info('client(%s) url:%s'%(clienttype,request.path))
                    arr = clienttype.split(';')
                    request.c_version = arr[2]
                    request.c_versioncode = int(arr[1])
                    if arr[0] == 'Android':
                        request.c_type = Const['model.device.android']
                    elif arr[0] == 'iOS':
                        request.c_type = Const['model.device.ios']
            except KeyError, e:
                #print e
                pass
            except Exception, e1:
                logger.error('process_request exception %s' % e1)
                pass
            # 这个日志太多了也没啥用
            # RequestLog.objects.create(url=request.path, c_type=request.c_type,\
            #     c_version=request.c_version, c_versioncode=request.c_versioncode, useragent=useragent)
            if request.c_type == 0:
                # 个人任务列表+签到奖励+可接任务列表 屏蔽 低版本
                if (useragent == None or useragent == '' \
                    or (useragent != None and useragent != '' and not useragent.startswith('tbTasker/'))) \
                and (request.path.startswith('/rest/tasks/order/listavaliable') \
                or request.path.startswith('/rest/users/user/award/') \
                or request.path.startswith('/rest/users/user/listbuyerorder/')) :
                    return JsonResponse(
                        code=Const['code.global.client_unsupport'])
                # ios 低版本屏蔽所有接口
                if useragent != None and useragent != '' and useragent.startswith(
                        'tbTasker/'):
                    return JsonResponse(
                        code=Const['code.global.client_unsupport'])
            elif request.c_type==1 and request.c_versioncode < 28\
            and (request.path.startswith('/rest/tasks/order/listavaliable') \
                or request.path.startswith('/rest/users/user/award/') \
                or request.path.startswith('/rest/users/user/listbuyerorder/') \
                or request.path.startswith('/rest/users/user/login')):
                #低于28的版本+屏蔽登录接口
                return JsonResponse(code=Const['code.global.client_unsupport'])
Esempio n. 12
0
 def inner(request, *args, **kwarg):
     if not 'admin_id' in request.session:
         return JsonResponse(code=Const['code.permission_deny'])
     aid = int(request.session['admin_id'])
     admin = Administrator.objects.get(pk=aid)
     if getattr(admin, ptype + '_permission'):
         request.admin_id = aid
         return f(request, *args, **kwarg)
     else:
         return JsonResponse(code=Const['code.permission_deny'])
Esempio n. 13
0
def user_changepwd(r, uid):
    params = r.REQUEST
    old_password = params['old_password']
    new_password = params['new_password']
    u = User.objects.get(pk=uid)
    if old_password == u.password:
        u.password = new_password
        u.save()
        return JsonResponse(code=Const['code.success'])
    else:
        return JsonResponse(code=Const['code.password_error'])
Esempio n. 14
0
def notice_create(r):
    form = NoticeForm(r.POST)
    if form.is_valid():
        notice = form.save(commit=False)
        notice.publish_admin_id = r.admin_id
        notice.important = bool(int(r.POST['important']))
        notice.save()
        if not notice.url:
            notice.url = 'http://www.shouzhuanvip.com/notice/%d' % notice.id
            notice.save()
        return JsonResponse(code=Const['code.success'])
    return JsonResponse(code=Const['code.request_error'])
Esempio n. 15
0
def user_createbankcard(request, user_id):
    form = BankcardForm(request.POST)
    if Bankcard.objects.filter(account_id=form.data['account_id']).count() > 0:
        return JsonResponse(code=Const['code.bankcard.repeat'])
    user = get_object_or_404(User, pk=user_id)
    if form.is_valid():
        bankcard = form.save(commit=False)
        bankcard.user_id = user_id
        bankcard.save()
        return JsonResponse(code=Const['code.success'],
                            data=bankcard.to_dict())
    return JsonResponse(code=Const['code.request_error'], errmsg=form.errors)
Esempio n. 16
0
def user_award(r, uid):
    user = User.objects.get(pk=uid)
    now = msec_time()
    last = user.last_award_time
    if (not last) or (get_date_by_stamp(now) != get_date_by_stamp(last)):
        award = random.uniform(Const['min.award'], Const['max.award'])
        user.money_operate(Const['model.record.commission'], award, '签到奖励',
                           Const['model.record.category.signup'])
        user.last_award_time = now
        user.save()
        return JsonResponse(code=Const['code.success'], data={'award': award})
    else:
        return JsonResponse(code=Const['code.award.already.receive'])
Esempio n. 17
0
def user_forgetpwd(r):
    params = r.REQUEST
    phone = params['phone']
    new_password = params['new_password']
    captcha = params['captcha']
    try:
        u = User.objects.get(phone=phone)
    except ObjectDoesNotExist:
        return JsonResponse(code=Const['code.user_not_exists'])
    if _smscaptcha_verify(phone, captcha):
        u.password = new_password
        u.save()
        return JsonResponse(code=Const['code.success'])
    else:
        return JsonResponse(code=Const['code.sms_error'])
Esempio n. 18
0
def user_setidc(request, user_id):
    user_id = int(user_id)
    user = get_object_or_404(User, pk=user_id)
    form = IdcForm(request.POST)
    if form.is_valid():
        user.idc_name = form.cleaned_data['idc_name']
        # user.idc_number = form.cleaned_data['idc_number']
        user.idc_photo = json.dumps([
            form.cleaned_data['idc_photo1'],
            form.cleaned_data['idc_photo2'],
        ])
        user.verify_status = Const['model.verify.need_check']
        user.save()
        return JsonResponse(code=Const['code.success'])
    return JsonResponse(code=Const['code.request_error'], errmsg=form.errors)
Esempio n. 19
0
def user_updatesellerlevel(r, uid):
    uid = int(uid)
    level = int(r.REQUEST['seller_level'])
    user = User.objects.get(pk=uid)
    user.seller_level = level
    user.save()
    return JsonResponse(code=Const['code.success'])
Esempio n. 20
0
def user_storeinfo(r, uid):
    store_list = Store.objects.filter(user_id=uid)
    data = []
    for b in store_list:
        d = b.to_dict()
        data.append(d)
    return JsonResponse(code=Const['code.success'], data=data)
Esempio n. 21
0
def user_setqq(request, user_id):
    user_id = int(user_id)
    user = get_object_or_404(User, pk=user_id)
    qq = request.POST['qq']
    user.qq = qq
    user.save()
    return JsonResponse(code=Const['code.success'])
Esempio n. 22
0
 def inner(request, *args, **kwarg):
     print request.c_versioncode
     if 'Android' in request.META.get(
             'HTTP_X_REQUEST_CLIENT') and request.c_versioncode < 78:
         return JsonResponse(code=-1000, msg=u'版本太低,请查看公告下载最新版本')
     else:
         return f(request, *args, **kwarg)
Esempio n. 23
0
def notice_sets(r, uid):
    user = User.objects.get(pk=uid)
    params = r.REQUEST
    logger.info(params)
    if 'bit' in params:
        n = int(params['bit'])
        user.notice_set(n, False)
        # user.save()
        data = []
        for i in range(15):
            if user.notice_has(i) == 1:
                d = 100 + i
                data.append(d)
        return JsonResponse(code=Const['code.success'], data=data)
    else:
        return JsonResponse(code=Const['code.request_error'])
Esempio n. 24
0
def tb_modify(r):
    frozen_days = r.REQUEST["frozen_days"]

    tb_id = r.REQUEST["tb_id"]
    tb = TBAccount.objects.get(id=tb_id)
    if not frozen_days == '0':
        tb.frozen_days = frozen_days
        tb.is_frozen = 1
        tb.frozen_start_datetime = datetime.datetime.now()
    else:
        tb.is_frozen = 0
    tb.phone = r.REQUEST["phone"]
    tb.place = r.REQUEST["place"]
    tb.address = r.REQUEST["address"]
    tb.register_time = r.REQUEST["register_time"]
    tb.age = r.REQUEST["age"]
    tb.gender = r.REQUEST["gender"]
    tb.wangwang_level = r.REQUEST['wangwang_level']
    tb.is_credit_card_open = r.REQUEST['is_credit_card_open']
    tb.is_huabei_open = r.REQUEST['is_huabei_open']
    tb.save()
    tb.user.qq = r.REQUEST['qq']
    order_money_limit = r.REQUEST['order_money_limit']
    if not order_money_limit:
        tb.user.order_money_limit = None
    else:
        tb.user.order_money_limit = order_money_limit
    tb.user.save()
    return JsonResponse(code=Const['code.success'])
Esempio n. 25
0
def user_listidc(r):
    start, num = get_paginator(r)
    condition = make_conditions(r, id='user_id', verify_status='verify_status')
    if 'register_start_time' in r.REQUEST:
        condition['register_time__gte'] = get_stamp_by_date(
            r.REQUEST['register_start_time'])
    users = User.objects.exclude(idc_name='').filter(**condition)[start:start +
                                                                  num]
    logger.debug(users.query)
    total = User.objects.exclude(idc_name='').filter(**condition).count()
    data = []
    for u in users:
        try:
            idcphotos = json.loads(u.idc_photo)
        except Exception:
            idcphotos = [None, None]
        data.append({
            'user_id': u.id,
            'register_time': u.register_time,
            'user_name': u.idc_name,
            'idc_photo1': idcphotos[0],
            'idc_photo2': idcphotos[1],
            'verify_status': u.verify_status,
        })
    return JsonResponse(code=Const['code.success'],
                        data={
                            'total': total,
                            'users': data
                        })
Esempio n. 26
0
def recharge_verify(r, rid):
    logger.debug('start to recharge_verify')
    recharge = Recharge.objects.get(pk=rid)
    logger.debug('start to recharge_verify status=%s' % r.REQUEST['verify_status'])
    if obj_verify_strict(r, recharge):
        if int(r.REQUEST['verify_status']) == Const['model.verify.check_pass']:
            # logger.debug('start to recharge_verify pass %f,%f'%(recharge.amount,recharge.user.principal))
            recharge.user.money_operate(Const['model.record.pricipal'],
                                        recharge.amount,
                                        '本金账户充值成功',
                                        Const['model.record.category.recharge']
                                        )
            # logger.debug('start to recharge_verify finish %f'%recharge.user.principal)
        return JsonResponse(code=Const['code.success'])
    else:
        return JsonResponse(code=Const['code.request_error'])
Esempio n. 27
0
def user_updateflag(r, uid):
    index = int(r.REQUEST['index'])
    value = True if int(r.REQUEST['value']) == 1 else False
    user = User.objects.get(pk=uid)
    user.flag_set(index, value)
    user.save()
    return JsonResponse(code=Const['code.success'])
Esempio n. 28
0
def withdraw_list(r):
    start, num = get_paginator(r)
    params = r.REQUEST
    condition = make_conditions(r, type='type', bankcard_id='bankcard_id', verify_status='verify_status')
    if 'create_time_start' in params:
        condition['create_time__gte'] = get_stamp_by_date(params['create_time_start'])
    if 'create_time_end' in params:
        condition['create_time__lte'] = get_stamp_by_date(params['create_time_end'])
    if 'user_id' in r.REQUEST:
        condition['bankcard__user_id'] = r.REQUEST['user_id']
    withdraws = Withdraw.objects.filter(**condition)[start:start + num]
    total = Withdraw.objects.filter(**condition).count()
    data = []
    for wit in withdraws:
        d = wit.to_dict()
        if wit.reward == 0:
            d['reward'] = wit.amount
        d['bank_name'] = wit.bankcard.bank_name
        d['bank_city'] = wit.bankcard.bank_city
        d['owner_name'] = wit.bankcard.owner_name
        d['account_id'] = wit.bankcard.account_id
        d['account_name'] = wit.bankcard.account_name
        d['user_id'] = wit.bankcard.user_id
        d['user_qq'] = wit.bankcard.user.qq
        d['user_name'] = wit.bankcard.user.idc_name
        d['user_phone'] = wit.bankcard.user.phone
        d['create_time'] = wit.create_time
        data.append(d)

    return JsonResponse(code=Const['code.success'],
                        data={'total': total, 'withdraws': data})
Esempio n. 29
0
def tbaccount_list(r):
    start, num = get_paginator(r)
    condition = make_conditions(r, user_id='user_id', status='verify_status')
    if 'register_start_time' in r.REQUEST:
        condition['user__register_time__gte'] = get_stamp_by_date(
            r.REQUEST['register_start_time'])
    tbs = TBAccount.objects.filter(**condition)[start:start + num]
    total = TBAccount.objects.filter(**condition).count()
    data = []
    for t in tbs:

        d = t.to_dict()
        try:
            pics = json.loads(t.pic_paths)
        except Exception:
            pics = [None, None]
        if not isinstance(pics, list):
            pics = [None, None]

        # 获取user的身份证姓名信息,如果没有提交,那么使用旺旺号码
        idc_name = t.user.idc_name
        if (idc_name):
            d['name'] = idc_name
        else:
            d['name'] = u'未绑定身份证--' + d['name']
        d['pic1'] = pics[0]
        d['pic2'] = pics[1]
        d['register_time'] = t.user.register_time
        d['tb_register_time'] = t.register_time  # 旺旺注册时间
        data.append(d)
    return JsonResponse(code='code.success',
                        data={
                            'total': total,
                            'tbaccounts': data
                        })
Esempio n. 30
0
def user_listappeal(r, uid):
    start, num = get_paginator(r)
    if r.REQUEST['type'] == '0':
        appeals = Appeal.objects.filter(complainant_id=uid).filter(
            order__tb__user__id=uid)[start:start + num]
    else:
        appeals = Appeal.objects.filter(respondent_id=uid).filter(
            order__tb__user__id=uid)[start:start + num]
    data = []
    for a in appeals:
        data.append(
            obj_to_dict(a,
                        'id',
                        'order_id',
                        'complainant_id',
                        'respondent_id',
                        'create_time',
                        'status',
                        pics='get_pics',
                        description='get_description',
                        complainant_qq='get_complainant_qq',
                        respondent_qq='get_respondent_qq',
                        talks='get_talks',
                        type='get_type'))
    return JsonResponse(code=Const['code.success'], data=data)