コード例 #1
0
    def post(self, request):

        try:
            response = {'status': 900, 'message': 'Login Success'}
            phone = request.data.get('phone')
            sms_code = request.data.get('sms_code')

            phone_obj = PhoneCode.objects.get(phone=phone)
            t_node = get_t_node()
            if t_node <= phone_obj.t_create:
                if sms_code == phone_obj.sms_code:
                    users = Users.objects.get(phone=phone)
                    users_class = UsersSerializer(users)
                    response['data'] = users_class.data
                    return Response(response)
                else:
                    response = {'status': 901, 'message': 'Sms Code Fail'}
                    return Response(response)

            else:
                response = {'status': 901, 'message': 'Verification code invalidation'}
                return Response(response)

        except Exception as e:
            response = {'status': 901, 'message': 'Fail', 'error': str(e)}
            logger.error('POST: login, ERROR: {}'.format(e))
            return Response(response)
コード例 #2
0
    def post(self, request):

        try:
            response = {'status': 900, 'message': 'Register Success'}
            username = request.data.get('username')
            phone = request.data.get('phone')
            sms_code = request.data.get('sms_code')
            user = Users.objects.filter(phone=phone)

            if user:
                response['status'] = 905
                response['message'] = 'User already exists'
                return Response(response)

            phone_obj = PhoneCode.objects.get(phone=phone)
            t_node = get_t_node()
            if t_node <= phone_obj.t_create:
                if sms_code == phone_obj.sms_code:

                    u = Users.objects.create(username=username, phone=phone)
                    users_class = UsersSerializer(u)
                    response['data'] = users_class.data
                    return Response(response)
                else:
                    response = {'status': 901, 'message': 'Sms Code Fail'}
                    return Response(response)

            else:
                response = {'status': 901, 'message': 'Verification code invalidation'}
                return Response(response)

        except Exception as e:
            response = {'status': 901, 'message': 'Fail', 'error': str(e)}
            logger.error('POST: login, ERROR: {}'.format(e))
            return Response(response)
コード例 #3
0
ファイル: api.py プロジェクト: peikaiy/TestDog
 def get(self, request, pk):
     try:
         response = {'status': 900, 'message': 'Success'}
         user = Users.objects.get(u_id=pk)
         user_class = UsersSerializer(user)
         response['data'] = user_class.data
         return Response(response)
     except Exception as e:
         response = {'status': 901, 'message': 'Fail', 'error': str(e)}
         logger.error('POST: user/id, ERROR: {}'.format(e))
         return Response(response)
コード例 #4
0
    def get_users(self, rooms):
        all_users = Users.objects.all().values_list("id", flat=True).difference(
            UsersInChatRooms.objects.filter(
                chat_room_id=rooms.id
            ).values_list('user__id', flat=True)
        )

        users = Users.objects.filter(id__in=list(all_users))
        users_serializer = UsersSerializer(users, many=True)

        return users_serializer.data
コード例 #5
0
ファイル: api.py プロジェクト: peikaiy/TestDog
 def post(self, request):
     try:
         response = {'status': 900, 'message': 'Logout Success'}
         u_id = request.data.get('u_id')
         user = Users.objects.get(u_id=u_id)
         user.login_status = 1
         user.save()
         user_class = UsersSerializer(user)
         response['data'] = user_class.data
         return Response(response)
     except Exception as e:
         response = {'status': 901, 'message': 'Fail', 'error': str(e)}
         logger.error('POST: user/logout, ERROR: {}'.format(e))
         return Response(response)
コード例 #6
0
ファイル: api.py プロジェクト: peikaiy/TestDog
    def post(self, request):
        try:
            response = {'status': 900, 'message': 'Success'}
            u_id = request.data.get("u_id")
            he_code = request.data.get("he_code")
            user = Users.objects.get(u_id=u_id)
            user.he_code = he_code
            user.save()

            he_user = Users.objects.filter(my_code=he_code).first()
            he_user.share_num += 1
            he_user.save()
            Share.objects.create(u_id=u_id, share_user=he_user)
            response['data'] = UsersSerializer(user).data
            return Response(response)
        except Exception as e:
            response = {'status': 901, 'message': 'Fail', 'error': str(e)}
            logger.error('POST: user/invitation-code, ERROR: {}'.format(e))
            return Response(response)
コード例 #7
0
ファイル: api.py プロジェクト: peikaiy/TestDog
 def post(self, request):
     try:
         response = {'status': 900, 'message': 'WxLogin Success'}
         name = request.data.get('name')
         my_code = get_my_code()
         user = Users.objects.filter(name=name).first()
         # token = str(get_token())
         if user:
             # request.session[token] = user.u_id
             user.login_status = 0
             user.save()
         else:
             user = Users.objects.create(name=name, my_code=my_code)
         user_class = UsersSerializer(user)
         response['data'] = user_class.data
         return Response(response)
     except Exception as e:
         response = {'status': 901, 'message': 'Fail', 'error': str(e)}
         logger.error('POST: user/wxlogin, ERROR: {}'.format(e))
         return Response(response)
コード例 #8
0
ファイル: api.py プロジェクト: peikaiy/TestDog
    def post(self, request):

        try:
            response = {'status': 900, 'message': 'Login Success'}
            phone = request.data.get('phone')
            sms_code = request.data.get('sms_code')

            phone_obj = PhoneCode.objects.get(phone=phone)
            t_node = get_t_node()
            if t_node <= phone_obj.t_create:
                if sms_code == phone_obj.sms_code:
                    my_code = get_my_code()

                    user = Users.objects.filter(name=phone).first()
                    # token = str(get_token())
                    if user:
                        # request.session[token] = user.u_id
                        user.login_status = 0
                        user.save()
                    else:
                        user = Users.objects.create(name=phone, my_code=my_code)
                        # request.session[token] = user.u_id
                    user_class = UsersSerializer(user)
                    response['data'] = user_class.data
                    # response['data']['token'] = token
                    return Response(response)
                else:
                    response = {'status': 901, 'message': 'Sms Code Fail'}
                    return Response(response)

            else:
                response = {'status': 901, 'message': 'Verification code invalidation'}
                return Response(response)

        except Exception as e:
            response = {'status': 901, 'message': 'Fail', 'error': str(e)}
            logger.error('POST: user/login, ERROR: {}'.format(e))
            return Response(response)
コード例 #9
0
ファイル: api.py プロジェクト: peikaiy/TestDog
    def post(self, request):
        try:
            """
            
            单个 
                "u_id=1,bet_num,bet_type=1,bet_moeny=600"
            多个
                "1,1,1,600&1,2,600"
            bet_info 用户id 投注期号 投注类型 投注金额
            
            u_id=1,bet_num=1,bet_type=1,bet_moeny=600
            """

            bet_infos = request.data.get('bet_info')
            if not bet_infos:
                response = {'status': 903, 'message': 'Fail', 'error': 'Required parameter missing'}
                return Response(response)
            response = {'status': 900, 'message': 'Bet Success'}
            bet_infos_split = bet_infos.split('&')
            userbetlist = []
            u_id = bet_infos_split[0][0]
            # 投注期数
            bet_nums = bet_infos_split[0].split(',')[1]
            # 上期期数
            top_bet_num = Lottery.objects.first().lottery_num
            # 已封盘
            if int(bet_nums) != (top_bet_num + 1):
                response = {'status': 901, 'message': 'Entertained'}
                return Response(response)
            user = Users.objects.get(u_id=u_id)

            for bet_info in bet_infos_split:
                if bet_info:
                    bet = bet_info.split(',')

                    bet_money = int(bet[-1])
                    if user.money <= bet_money:
                        response = {'status': 901, 'message': 'Money Not Enough'}
                        return Response(response)
                    user.money -= bet_money

                    if bet_money >= 20:
                        try:
                            share_user = Share.objects.get(u_id=u_id).share_user
                            share = Share.objects.filter(u_id=u_id).first()

                            # 推广总额增加
                            share_user.share_money += 1
                            # 推广人金额增加
                            share_user.money += 1
                            share_user.save()
                            # 推广信息增加
                            share.share_money += 1
                            share.save()
                        except Exception as e:
                            pass
                    userbetlist.append(UserBet(u_id=bet[0], bet_type=bet[2], bet_money=bet[3], bet_num=bet[1]))
            user.save()
            UserBet.objects.bulk_create(userbetlist)
            user_class = UsersSerializer(user)
            response['data'] = user_class.data
            return Response(response)

        except Exception as e:
            response = {'status': 901, 'message': 'Fail', 'error': str(e)}
            logger.error('POST: user/bet, ERROR: {}'.format(e))
            return Response(response)
コード例 #10
0
 def list(self, request):
     users = Users.objects.all()
     serializer = UsersSerializer(users,
                                  many=True,
                                  context={'request': request})
     return Response(serializer.data)