hujingpei před 4 roky
rodič
revize
1616eaf12d
3 změnil soubory, kde provedl 29 přidání a 4 odebrání
  1. 4 1
      apps/customer/models.py
  2. 18 2
      apps/customer/serializers.py
  3. 7 1
      apps/customer/views.py

+ 4 - 1
apps/customer/models.py

@@ -1,6 +1,8 @@
 # coding=utf-8
 from django.db import models
 from django.conf import settings
+from django.utils import timezone
+
 from utils.exceptions import CustomError
 from apps.option.models import Option
 from apps.agent.models import Store
@@ -55,7 +57,7 @@ class NewCustomer(models.Model):
     potential_level = models.ForeignKey(Option, verbose_name=u'潜客级别', related_name='potential_level', null=True,
                                         on_delete=models.PROTECT)
     stage_progress = models.ForeignKey(Option, verbose_name=u'阶段进度', related_name='stage_progress',
-                                        on_delete=models.PROTECT)
+                                       on_delete=models.PROTECT)
     track_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'跟踪人', related_name='track_user',
                                    editable=False, on_delete=models.PROTECT)
     end_time = models.DateTimeField(verbose_name=u'最后跟踪时间', null=True)
@@ -75,6 +77,7 @@ class NewCustomer(models.Model):
             ('delete_new_customer', u'删除'),
         ]
 
+
 class Review(models.Model):
     DEFAULT = 0
     KEEPUP = 1

+ 18 - 2
apps/customer/serializers.py

@@ -3,8 +3,9 @@ import json
 from rest_framework import serializers
 from apps.option.models import Option
 from utils.exceptions import CustomError
+from utils.booleancharfield import BooleanCharField
 from apps.option.serializers import OptionSerializer
-from .models import ReportCustomer,NewCustomer
+from .models import ReportCustomer,NewCustomer,Review
 
 class ReportCustomerSerializer(serializers.ModelSerializer):
     gender_text = serializers.CharField(source='get_gender_display', read_only=True)
@@ -52,6 +53,7 @@ class ReportCustomerSerializer(serializers.ModelSerializer):
         instance = super(ReportCustomerSerializer, self).update(instance, validated_data)
         return instance
 
+
 class NewCustomerSerializer(serializers.ModelSerializer):
     track_user_text = serializers.CharField(source='track_user.name', read_only=True)
     create_user_text = serializers.CharField(source='create_user.name', read_only=True)
@@ -84,4 +86,18 @@ class NewCustomerSerializer(serializers.ModelSerializer):
     def update(self, instance, validated_data):
 
         instance = super(NewCustomerSerializer, self).update(instance, validated_data)
-        return instance
+        return instance
+
+
+class ReviewSerializer(serializers.ModelSerializer):
+
+    create_user_text = serializers.CharField(source='create_user.name', read_only=True)
+    check_user_text = serializers.CharField(source='check_user.name', read_only=True)
+    check_status_text = serializers.CharField(source='get_check_status_display', read_only=True)
+    create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
+    check_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
+    is_giveup_text = BooleanCharField(source='enable', read_only=True)
+
+    class Meta:
+        model = Review
+        fields = '__all__'

+ 7 - 1
apps/customer/views.py

@@ -55,7 +55,6 @@ class ReportCustomerViewSet(CustomModelViewSet):
     def dispatch_customer(self, request, pk):
         check_permission(request, 'customer.check_report_customer')
         # 审核
-        # TODO 创建潜客跟踪表
         user = request.POST.get('user')
         try:
             instance = ReportCustomer.objects.filter(id=pk).first()
@@ -67,6 +66,13 @@ class ReportCustomerViewSet(CustomModelViewSet):
             instance.save()
             BizLog.objects.addnew(request.user, BizLog.INSERT,
                                   u'分配客户报备[%s],id=%d' % (instance.name,  instance.id))
+
+            # 创建潜客跟踪表
+            potential_level = Option.objects.filter(type=Option.POTENTIAL_LEVEL, sort=1).first()
+            stage_progress = Option.objects.filter(type=Option.STAGE_PROGRESS, sort=1).first()
+            NewCustomer.objects.create(report_customer=instance, potential_level=potential_level,
+                                       stage_progress=stage_progress, create_user=self.request.user,
+                                       create_time=timezone.now())
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e: