lyh пре 2 година
родитељ
комит
a3bb1d2925

+ 1 - 1
apps/activity/filters.py

@@ -36,7 +36,7 @@ class CustomerFilter(django_filters.FilterSet):
 class MemberCouponFilter(django_filters.FilterSet):
     write_off = django_filters.CharFilter(field_name='write_off')
     coupon_name = django_filters.CharFilter(field_name='coupon__name', lookup_expr='icontains')
-    activity_name = django_filters.CharFilter(field_name='activity__title', lookup_expr='icontains')
+    activity_name = django_filters.CharFilter(field_name='activity_detail__main__title', lookup_expr='icontains')
 
     status = django_filters.CharFilter(method='find_coupon_by_status')
 

+ 4 - 3
apps/activity/models.py

@@ -494,7 +494,7 @@ class Order(models.Model):
         self.status = Order.FINISH
         self.amount = amount
         self.save()
-        coupons = ActivityCoupon.objects.filter(activity=self.activity, coupon__enabled=True)
+        coupons = ActivityCoupon.objects.filter(main=self.activity_detail, coupon__enabled=True)
         now = datetime.datetime.date(timezone.now())
         for item in coupons:
             coupon = item.coupon
@@ -503,7 +503,7 @@ class Order(models.Model):
             else:
                 end_date = now + datetime.timedelta(days=coupon.end_days)
             MemberCoupon.objects.create(
-                activity=self.activity,
+                activity_detail=self.activity_detail,
                 member=self.member,
                 coupon=coupon,
                 receive_date=now,
@@ -544,7 +544,8 @@ class Coupon(models.Model):
 
 
 class MemberCoupon(models.Model):
-    activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
+    #activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
+    activity_detail = models.ForeignKey(ActivityDetails, verbose_name=u"活动明细", on_delete=models.PROTECT)
     member = models.ForeignKey(Customer, verbose_name=u"会员", on_delete=models.PROTECT)
     coupon = models.ForeignKey(Coupon, verbose_name=u"优惠券", on_delete=models.PROTECT)
     receive_date = models.DateField(verbose_name=u"领取日期", null=True, blank=True)

+ 1 - 1
apps/activity/serializers.py

@@ -72,7 +72,7 @@ class CustomerSerializer(serializers.ModelSerializer):
 
 
 class MemberCouponSerializer(serializers.ModelSerializer):
-    activity_name = serializers.CharField(source='activity.title', read_only=True)
+    activity_name = serializers.CharField(source='activity_detail.main.title', read_only=True)
     coupon_name = serializers.CharField(source='coupon.name', read_only=True)
     write_off_text = serializers.SerializerMethodField()
     write_off_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)

+ 1 - 1
apps/customer/coupon/serializers.py

@@ -5,7 +5,7 @@ from apps.activity.models import MemberCoupon
 
 
 class MemberCouponSerializer(serializers.ModelSerializer):
-    activity_name = serializers.CharField(source='activity.title', read_only=True)
+    activity_name = serializers.CharField(source='activity_detail.main.title', read_only=True)
     coupon_name = serializers.CharField(source='coupon.name', read_only=True)
 
     class Meta:

+ 2 - 0
apps/customer/order/serializers.py

@@ -54,6 +54,8 @@ class OrderSerializer(serializers.ModelSerializer):
                 if item == u'手机号码':
                     if ('tel' not in attrs) or (not attrs['tel']):
                         raise CustomError(u'请输入手机号码')
+        else:
+            raise CustomError(u'请选择活动明细')
 
         return attrs
 

+ 1 - 1
apps/customer/order/views.py

@@ -88,7 +88,7 @@ class OrderViewSet(ModelViewSet):
             order = Order.objects.filter(id=pk).first()
             if not order:
                 raise CustomError(u'未找到相应的订单')
-            order.activity.checkStatus()
+            order.activity_detail.checkStatus()
             with transaction.atomic():
                 data = order.payOrder(openid, app)
                 BizLog.objects.addnew(request.customer.user, BizLog.INSERT, u'支付订单,id=%d' % order.id, request.data)