Quellcode durchsuchen

Merge branch 'master' of http://git.zzliaoyuan.com:4000/wushaodong/decorate

lijiangwei vor 4 Jahren
Ursprung
Commit
d42bf06937
3 geänderte Dateien mit 33 neuen und 5 gelöschten Zeilen
  1. 2 1
      apps/customer/models.py
  2. 18 2
      apps/customer/serializers.py
  3. 13 2
      apps/customer/views.py

+ 2 - 1
apps/customer/models.py

@@ -1,6 +1,7 @@
 # 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 +56,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)

+ 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__'

+ 13 - 2
apps/customer/views.py

@@ -1,6 +1,7 @@
 # coding=utf-8
 from rest_framework.views import APIView
 from django.db.models import Q
+import datetime
 from django.utils import timezone
 from rest_framework.decorators import action
 from utils.permission import isLogin, permission_required, check_permission
@@ -55,8 +56,8 @@ class ReportCustomerViewSet(CustomModelViewSet):
     def dispatch_customer(self, request, pk):
         check_permission(request, 'customer.check_report_customer')
         # 审核
-        # TODO 创建潜客跟踪表
         user = request.POST.get('user')
+        user = User.objects.filter(id=user).first()
         try:
             instance = ReportCustomer.objects.filter(id=pk).first()
             if not instance:
@@ -67,6 +68,16 @@ 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).order_by('sort').first()
+            stage_progress = Option.objects.filter(type=Option.STAGE_PROGRESS).order_by('sort').first()
+            if not potential_level.track_day:
+                raise CustomError('当前潜客级别,没有可用跟踪天数!')
+            next_time = (timezone.now() + datetime.timedelta(days=potential_level.track_day)).strftime('%Y-%m-%d')
+            NewCustomer.objects.create(report_customer=instance, potential_level=potential_level,
+                                       track_user=user, next_time=next_time, stage_progress=stage_progress,
+                                       create_user=instance.create_user,
+                                       )
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:
@@ -107,4 +118,4 @@ class NewCustomerViewSet(CustomModelViewSet):
     def filter_queryset(self, queryset):
         queryset = queryset.filter()
         f = NewCustomerFilter(self.request.GET, queryset=queryset)
-        return f.qs
+        return f.qs