Esempio n. 1
0
    def post(self, request):
        """
        小程序登陆业务逻辑实现-post方法
        :param request:
        :return:
        """
        ret = {'code': 200, 'msg': '操作成功', 'data': {}}
        code = request.POST['code']
        code_verify = request.POST['codeVerify'] if request.POST[
            'codeVerify'] else ''

        if not code:
            ret['code'] = 500
            ret['msg'] = '无效的code请求'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        openid = WechatUtils.getOpenid(code)

        if openid is None:
            ret['code'] = 500
            ret['msg'] = 'openid出错'
            ret = {'result': 'false', 'msg': 'openid出错'}
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        if code_verify == '-1':
            ret['code'] = 500
            ret['msg'] = '无效的code请求'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        nickname = request.POST['nickName'] if request.POST['nickName'] else ''
        gender = request.POST['gender'] if request.POST['gender'] else ''
        city = request.POST['city'] if request.POST['city'] else ''
        province = request.POST['province'] if request.POST['province'] else ''
        avatar_url = request.POST['avatarUrl'] if request.POST[
            'avatarUrl'] else ''

        # 判断是否已经注册过
        bind_info = Member.objects.filter(codeVerify=code_verify, openid=0)

        print('bind_info')
        print(bind_info)

        # 正常注册的情况,通过code bind_info 不为空
        if bind_info:
            Member.objects.filter(id=bind_info[0].id).update(
                openid=openid,
                nickname=nickname,
                gender=gender,
                city=city,
                province=province,
                avatarUrl=avatar_url,
                state=0,
                type=1,
                joined_date2=datetime.datetime.now(),
                last_login_date=datetime.datetime.now())

        print(bind_info.values_list())

        print(bind_info.first())

        if bind_info.first() is not None:
            now = datetime.datetime.now()  # 现在的时间
            last_login_date = Member.objects.get(
                id=bind_info[0].id).last_login_date  # 上次登录的时间

            if now.strftime('%Y-%m-%d') != last_login_date.strftime(
                    '%Y-%m-%d'):
                # 今天第一次登陆
                print("今天第一次登录")
                ret['first_time_login'] = '******'
                print("credit insert:")
                Credit.objects.create(behave=0,
                                      creditpoints=2,
                                      credittype=0,
                                      createtime=datetime.datetime.now(),
                                      userid_id=bind_info[0].id)

            Member.objects.filter(id=bind_info[0].id).update(
                last_login_date=datetime.datetime.now()
            )  # 每次登陆更新last_login_date

        token = ""
        if bind_info.first():
            token = "%s#%s" % (WechatUtils.geneAuthCode(
                id=bind_info.first().id,
                codeVerify=bind_info.first().codeVerify,
                state=bind_info.first().state,
                type=bind_info.first().type,
            ), bind_info.first().id)
            ret['user_id'] = bind_info.first().id
        else:
            token = "%s#%s" % (WechatUtils.geneAuthCode(
                id='-1',
                codeVerify='-1',
                state='0',
                type='0',
            ), -1)
            ret['user_id'] = '-1'

        ret['data'] = {'token': token}

        return HttpResponse(json.dumps(ret), content_type='application/json')
Esempio n. 2
0
    def post(self, request):

        ret = {'code': 200, 'msg': '操作成功', 'data': {}}
        code = request.POST['code']
        codeVerify = request.POST['codeVerify'] if request.POST[
            'codeVerify'] else ''

        if not code or len(code) < 1:
            ret['code'] = 500
            ret['msg'] = '无效的code请求'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        openid = WechatUtils.getOpenid(code)

        if openid is None:
            ret['code'] = 500
            ret['msg'] = 'openid出错'
            ret = {'result': 'false', 'msg': 'openid出错'}
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        if codeVerify == '-1':
            ret['code'] = 500
            ret['msg'] = '无效的code请求'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        nickname = request.POST['nickName'] if request.POST['nickName'] else ''
        gender = request.POST['gender'] if request.POST['gender'] else ''
        city = request.POST['city'] if request.POST['city'] else ''
        province = request.POST['province'] if request.POST['province'] else ''
        avatarUrl = request.POST['avatarUrl'] if request.POST[
            'avatarUrl'] else ''

        # 判断是否已经注册过
        bind_info = Member.objects.filter(codeVerify=codeVerify)
        # 正常注册的情况,通过code
        if bind_info:
            Member.objects.filter(id=bind_info[0].id).update(
                openid=openid,
                nickname=nickname,
                gender=gender,
                city=city,
                province=province,
                avatarUrl=avatarUrl,
                state=0,  # 0 表示正常 1 表示异常
                type=1,  # 0普通用户 1 高级用户
                joined_date2=datetime.datetime.now(),  # 用户注册时间
                last_login_date=datetime.datetime.now()  # 最后一次登录时间
            )

        print(bind_info.values_list())
        token = ""
        if bind_info:
            token = "%s#%s" % (WechatUtils.geneAuthCode(
                id=bind_info.values_list()[0][0],
                codeVerify=bind_info.values_list()[0][13],
                state=bind_info.values_list()[0][12],
                type=bind_info.values_list()[0][14],
            ), bind_info.values_list()[0][0])
        else:
            token = "%s#%s" % (WechatUtils.geneAuthCode(
                id='-1',
                codeVerify='-1',
                state='0',
                type='0',
            ), -1)

        ret['data'] = {'token': token}
        return HttpResponse(json.dumps(ret), content_type='application/json')
Esempio n. 3
0
    def post(self, request):
        """
        会员状态验证-post方法
        :param request:
        :return:
        """
        ret = {'code': 200, 'msg': '操作成功', 'data': {}}

        code = request.POST['code']
        code_verify = request.POST['codeVerify'] if request.POST[
            'codeVerify'] else ''

        if not code:
            ret['code'] = 500
            ret['msg'] = '无效的请求code'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        openid = WechatUtils.getOpenid(code)

        if openid is None:
            ret['code'] = 500
            ret['msg'] = 'openid出错'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        if code_verify == '-1':
            ret['code'] = 500
            ret['msg'] = '无效的code请求'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        bind_info = Member.objects.filter(openid=openid)

        if not bind_info:
            ret['code'] = 500
            ret['msg'] = '未绑定'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        now = datetime.datetime.now()  # 现在的时间
        last_login_date = Member.objects.get(
            id=bind_info[0].id).last_login_date  # 上次登录的时间

        if now.strftime('%Y-%m-%d') != last_login_date.strftime('%Y-%m-%d'):
            # 今天第一次登陆
            print("今天第一次登录")
            ret['first_time_login'] = '******'
            print("credit insert:")
            Credit.objects.create(behave=0,
                                  creditpoints=2,
                                  credittype=0,
                                  createtime=datetime.datetime.now(),
                                  userid_id=bind_info[0].id)

        Member.objects.filter(id=bind_info[0].id).update(
            last_login_date=datetime.datetime.now())  # 每次登陆更新last_login_date

        token = "%s#%s" % (WechatUtils.geneAuthCode(
            id=bind_info.values_list()[0][0],
            codeVerify=bind_info.values_list()[0][13],
            state=bind_info.values_list()[0][12],
            type=bind_info.values_list()[0][14],
        ), bind_info.values_list()[0][0])
        ret['data'] = {'token': token}
        ret['user_id'] = bind_info.values_list()[0][0]
        return HttpResponse(json.dumps(ret), content_type='application/json')
Esempio n. 4
0
    def post(self, request):

        ret = {'code': 200, 'msg': '操作成功', 'data': {}}

        code = request.POST['code']
        codeVerify = request.POST['codeVerify'] if request.POST[
            'codeVerify'] else ''

        print('code:', code)
        print('codeVerify:', codeVerify)

        if not code or len(code) < 1:
            ret['code'] = 500
            ret['msg'] = '无效的请求code'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        openid = WechatUtils.getOpenid(code)

        if openid is None:
            ret['code'] = 500
            ret['msg'] = 'openid出错'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        if codeVerify == '-1':
            ret['code'] = 500
            ret['msg'] = '无效的code请求'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        bind_info = Member.objects.filter(openid=openid)

        if not bind_info:
            ret['code'] = 500
            ret['msg'] = '未绑定'
            return HttpResponse(json.dumps(ret),
                                content_type='application/json')

        now = datetime.datetime.now()
        # Member.objects.filter(id=bind_info[0].id)

        Member.objects.filter(id=bind_info[0].id).update(
            last_login_date=datetime.datetime.now())  # 每次登陆更新last_login_date

        # print("credit insert:")
        # Credit.objects.create(
        #     behave=0,
        #     points=2,
        #     type=0,
        #     createtime=datetime.datetime.now(),
        #     userid_id=43
        # )

        token = "%s#%s" % (WechatUtils.geneAuthCode(
            id=bind_info.values_list()[0][0],
            codeVerify=bind_info.values_list()[0][13],
            state=bind_info.values_list()[0][12],
            type=bind_info.values_list()[0][14],
        ), bind_info.values_list()[0][0])
        ret['data'] = {'token': token}
        ret['user_id'] = bind_info.values_list()[0][0]
        return HttpResponse(json.dumps(ret), content_type='application/json')