示例#1
0
 def list(self, request):
     user_id = Res.get('user_id').decode('utf-8')
     if not user_id:
         return JsonResponse(data={'message': '用户未登录!'}, status=400)
     queryset = self.get_queryset().filter(user_id=user_id)
     serializer = self.get_serializer(queryset, many=True)
     result = serializer.data
     return JsonResponse(data={'flag': True, 'data': result}, status=200)
示例#2
0
 def get(self, request):
     print(request.query_params)
     serializer = CodeSerializer(data=request.query_params)
     if serializer.is_valid():
         print(serializer.data)
         phone = serializer.validated_data.get('phone')
         code = producecode()
         # 设置过期时间
         key = 'House' + phone
         Res.set(key, code, ex=60 * 5)
         print('验证码:', code)
         data = {
             'code': code
         }
         return JsonResponse(data=data, status=200)
     else:
         return JsonResponse(data=None, status=400)
示例#3
0
 def post(self, request):
     # 验证前端数据
     serializer = LoginSerializer(data=request.data)
     # is_valid()判断数据是否符合要求
     if not serializer.is_valid():
         return JsonResponse(data={'login': False, 'message': '验证码错误!'}, status=400)
     # 判断用户是否创建
     # validated_data用于获取验证并处理好的数据
     # 反序列化为json数据
     user_obj = serializer.create(request.data)
     Res.set('user_id', user_obj.id, ex=1393840000)
     result = UserSerializer(user_obj)
     user_data = result.data
     reward = Reward.objects.filter(user=user_obj, is_grant=True).first()
     if reward:
         user_data['reward'] = reward.total_money
     else:
         user_data['reward'] = 0
     user_roles = user_obj.roles.all()
     permissions = []
     if user_roles:
         for role in user_roles:
             ret = {
                 'id': None,
                 'title': None,
                 'code': None
             }
             permission = role.permissions.all()
             if permission:
                 for per in permission:
                     ret = {
                         'id': per.id,
                         'title': per.title,
                         'code': per.code
                     }
                     permissions.append(ret)
     user_data['permissions'] = permissions
     data = {
         'login': True,
         'user': user_data,
     }
     return JsonResponse(data=data, status=200)
 def validate_code(self, value):
     if len(value) != 4:
         raise ValidationError('验证码错误!')
     phone = self.initial_data.get('phone')
     key = 'House' + phone
     code_redis = Res.get(key).decode('utf-8')
     if not code_redis:
         raise ValidationError('验证码已过期!')
     if value.lower() != code_redis.lower():
         raise ValidationError('验证码错误!')
     return value
示例#5
0
 def create(self, request, *args, **kwargs):
     serializers = self.get_serializer(data=request.data)
     if not serializers.is_valid():
         return JsonResponse(data={'message': '数据错误'}, status=400)
     user_id = Res.get('user_id').decode('utf-8')
     instance = serializers.create(serializers.validated_data, user_id)
     return JsonResponse(data={
         'flag': True,
         'result': {
             'message': 'success'
         }
     },
                         status=200)
示例#6
0
 def create(self, request):
     serializers = self.get_serializer(data=request.data)
     user_id = Res.get('user_id').decode('utf-8')
     if not user_id:
         return JsonResponse(data={'message': '用户未登录!'}, status=400)
     if not serializers.is_valid():
         return JsonResponse(data={'message': '数据错误'}, status=400)
     address_obj = serializers.create(serializers.validated_data, user_id)
     result = self.get_serializer(address_obj)
     return JsonResponse(data={
         'flag': True,
         'result': result.data
     },
                         status=200)
示例#7
0
 def get_default_address(self, request):
     '''
     获取默认地址
     :param request:
     :return:
     '''
     user_id = Res.get('user_id').decode('utf-8')
     if not user_id:
         return JsonResponse(data={'message': '用户未登录!'}, status=400)
     instance = self.get_queryset().filter(user_id=user_id,
                                           is_default=True).first()
     result = self.get_serializer(instance)
     return JsonResponse(data={
         'flag': True,
         'result': result.data
     },
                         status=200)
示例#8
0
 def update(self, request, pk):
     user_id = Res.get('user_id').decode('utf-8')
     if not user_id:
         return JsonResponse(data={'message': '用户未登录!'}, status=400)
     instance = self.get_queryset().filter(id=pk).first()
     if not instance:
         return JsonResponse(data={'message': '该地址不存在!'}, status=400)
     serializers = self.get_serializer(data=request.data)
     if not serializers.is_valid():
         return JsonResponse(data={'message': '数据错误'}, status=400)
     address_obj = serializers.update(instance, serializers.validated_data)
     result = self.get_serializer(address_obj)
     return JsonResponse(data={
         'flag': True,
         'result': result.data
     },
                         status=200)
示例#9
0
 def create(self, request):
     serializers = self.get_serializer(data=request.data)
     user_id = Res.get('user_id').decode('utf-8')
     if not user_id:
         return JsonResponse(data={'message': '用户未登录!'}, status=400)
     if not serializers.is_valid():
         return JsonResponse(data={'message': '数据错误'}, status=400)
     order_obj = serializers.create(serializers.validated_data, user_id)
     order_service_obj = OrderService.objects.filter(order=order_obj)
     result = OrderServiceSerializer(order_service_obj, many=True)
     data = {}
     service_list = []
     for item in result.data:
         data['order'] = item['order']
         item['service']['o_service_num'] = item['o_service_num']
         item['service']['service_price'] = item['service_price']
         service_list.append(item['service'])
     data['service'] = service_list
     return JsonResponse(data={'flag': True, 'result': data}, status=200)
示例#10
0
 def set_default_address(self, request):
     '''
     设置默认地址
     '''
     user_id = Res.get('user_id').decode('utf-8')
     if not user_id:
         return JsonResponse(data={'message': '用户未登录!'}, status=400)
     serializers = AddressDefaultSerializer(data=request.data)
     if not serializers.is_valid():
         return JsonResponse(data={'message': '数据错误'}, status=400)
     queryset = self.get_queryset().filter(user_id=user_id)
     instance = serializers.set_default_address(queryset,
                                                serializers.validated_data)
     result = self.get_serializer(instance)
     return JsonResponse(data={
         'flag': True,
         'result': result.data
     },
                         status=200)
示例#11
0
 def retrieve(self, request, *args, **kwargs):
     instance = self.get_object()
     serializer = self.get_serializer(instance)
     comments_list = []
     comments = Comment.objects.filter(sid=instance.id)
     for com in comments:
         user = UserInfo.objects.filter(id=com.uid).first()
         comment_str = user.nickName + ':' + com.content
         comments_list.append(comment_str)
     user_id = Res.get('user_id').decode('utf-8')
     res = serializer.data
     res['day_price'] = (res['grade'] * res['s_category']['price'] * 8) * 0.75
     res['month_price'] = (res['grade'] * res['s_category']['price'] * 8 * 30) * 0.6
     if res['grade'] > 1:
         res['price'] = res['grade'] * res['s_category']['price'] * 0.85
         res['day_price'] = (res['grade'] * res['s_category']['price'] * 0.85 * 8) * 0.75
         res['month_price'] = (res['grade'] * res['s_category']['price'] * 0.85 * 8 * 30) * 0.6
     res['collect'] = False
     collect = Collect.objects.filter(user_id=user_id, service_id=res['id']).first()
     if collect:
         res['collect'] = collect.is_collect
     if comments_list:
         res['comment'] = '<br>'.join(comments_list)
     return JsonResponse(res)