Ejemplo n.º 1
0
    def change_expire(self, request):
        """改变redis中课程的有效期"""
        user_id = request.user.id
        expire_id = request.data.get("expire_id")
        course_id = request.data.get("course_id")

        try:
            course = Course.objects.get(is_show=True,
                                        is_delete=False,
                                        id=course_id)
            # 如果前端传递来的有效期选项  如果不是0  则修改课程对应的有效期
            if expire_id > 0:
                expire_iem = CourseExpire.objects.filter(is_show=True,
                                                         is_delete=False,
                                                         id=expire_id)
                if not expire_iem:
                    raise Course.DoesNotExist()
        except Course.DoesNotExist:
            return Response({"message": "课程信息不存在"},
                            status=status.HTTP_400_BAD_REQUEST)

        connection = get_redis_connection("cart")
        connection.hset("cart_%s" % user_id, course_id, expire_id)

        # 重新计算切换有效期后的价钱
        real_price = course.real_nuw_price(expire_id)

        return Response({"message": "切换有效期成功", "price": real_price})
Ejemplo n.º 2
0
    def change_expire(self, request):
        """切换购物车商品的勾选状态"""
        user_id = request.user.id
        expire_id = request.data.get("expire_id")
        course_id = request.data.get("course_id")
        try:
            # 判断课程是否存在
            course = Course.objects.get(is_show=True,
                                        is_deleted=False,
                                        id=course_id)
            # 判断课程的有效期选项是0还是其他的数值,如果是其他数值,还要判断是否存在于有效期选项表中
            if expire_id > 0:
                epxire_item = CourseExpire.objects.filter(is_show=True,
                                                          is_deleted=False,
                                                          id=expire_id)
                if not epxire_item:
                    raise Course.DoesNotExist()
        except Course.DoesNotExist:
            return Response({"message": "参数有误!当前商品课程不存在或者不能存在的有效期!"},
                            status=status.HTTP_400_BAD_REQUEST)

        redis_conn = get_redis_connection("cart")
        redis_conn.hset("cart_%s" % user_id, course_id, expire_id)

        # 在切换有效期选项以后,重新获取真实价格
        real_price = course.real_price(expire_id)

        return Response({"message": "切换课程有效期成功!", "real_price": real_price})
Ejemplo n.º 3
0
 def change_expire(self, request):
     """改变redis中的课程的有效期"""
     user_id = request.user.id
     course_id = request.data.get('course_id')
     expire_id = request.data.get('expire_id')
     try:
         course = Course.objects.get(is_show=True, is_delete=False, pk=course_id)
         if expire_id > 0:
             expire_item = CourseExpire.objects.filter(is_show=True, is_delete=False, pk=expire_id)
             if not expire_item:
                 raise Course.DoesNotExist()
     except Course.DoesNotExist:
         return Response({"message": "当前课程已下架或不存在"}, status=status.HTTP_400_BAD_REQUEST)
     redis_connection = get_redis_connection('cart')
     redis_connection.hset('cart_%s' % user_id, course_id, expire_id)
     course_real_price = course.real_expire_price(expire_id)
     return Response({"message": "切换有效期成功", 'course_real_price': course_real_price}, status=status.HTTP_200_OK)
Ejemplo n.º 4
0
    def discount_expire(self, request):
        """改变redis中的有效期"""
        course_id = request.data.get('course_id')
        user_id = request.user.id
        expire_id = request.data.get('expric_id')
        # print(course_id,user_id,expire_id)

        try:
            course = Course.objects.get(is_show=True, is_delete=False, pk=course_id)
            # 判断前端传递 的有效期 选项
            if expire_id > 0:
                expire_item = CourseExpire.objects.filter(is_show=True, is_delete=False, pk=expire_id)
                if not expire_item:
                    raise Course.DoesNotExist()
        except Course.DoesNotExist:
            return Response({'message': '课程信息不存在'}, status=status.HTTP_400_BAD_REQUEST)
        connection = get_redis_connection('cart')
        connection.hset('cart_%s' % user_id, course_id, expire_id)

        price = course.expire_real_price(expire_id)
        if price != '':
            return Response({'message': '切换有效期成功',
                             "price": price})
        return Response({'message': '切换有效期成功'})