Bladeren bron

Merge remote-tracking branch 'origin/master'

wushaodong 4 jaren geleden
bovenliggende
commit
61418edbbd
1 gewijzigde bestanden met toevoegingen van 22 en 0 verwijderingen
  1. 22 0
      apps/customer/views.py

+ 22 - 0
apps/customer/views.py

@@ -391,7 +391,22 @@ class NewCustomerViewSet(CustomModelViewSet):
                 if not stage_progress.track_day:
                     raise CustomError('当前阶段,没有设置跟踪天数!')
                 next_time = (timezone.now() + datetime.timedelta(days=stage_progress.track_day)).strftime('%Y-%m-%d')
+                # 获取当前客户已有项目集合
+                new_customers= NewCustomer.objects.filter(report_customer=instance.report_customer)
+                new_projects = []
+                for new_customer in new_customers:
+                    new_project = new_customer.project.all()
+                    new_projects.append(','.join(new_project.values_list('name', flat=True)))
+
+                add_projects = []  # 未添加项目
+                exist_projects = []  # 已存在项目
                 for project in projects:
+                    # 重复项目跳出循环
+                    option = Option.objects.filter(id=project).first()
+                    if option.name in new_projects:
+                        exist_projects.append(option.name)
+                        continue
+
                     customer = NewCustomer.objects.create(report_customer=instance.report_customer, gender=instance.gender,
                                                           track_user=instance.track_user, stage_progress=stage_progress,
                                                           create_user=instance.create_user, store=instance.store,
@@ -414,6 +429,13 @@ class NewCustomerViewSet(CustomModelViewSet):
                     for remind_user in remind_users:
                         NewCustomerRemind.objects.create(customer=customer, next_time=next_time, remind_user_id=remind_user,
                                                          is_employee=False, store=instance.store)
+
+                    add_projects.append(option.name)
+
+                if exist_projects and add_projects == []:
+                    raise CustomError(u'该客户{}项目已存在!'.format(exist_projects))
+                if add_projects:
+                    return response_ok(u'该客户{}项目已添加成功!'.format(add_projects))
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e: