小程序接口,新增经销商列表,销售员注册,获取销售信息

FFIB 1 gadu atpakaļ
vecāks
revīzija
8ee43b8495
3 mainītis faili ar 66 papildinājumiem un 1 dzēšanām
  1. 3 0
      .vscode/settings.json
  2. 55 0
      api/salesman_mp_views.py
  3. 8 1
      api/urls.py

+ 3 - 0
.vscode/settings.json

@@ -0,0 +1,3 @@
1
+{
2
+  "python.formatting.provider": "none"
3
+}

+ 55 - 0
api/salesman_mp_views.py

@@ -0,0 +1,55 @@
1
+
2
+from django.conf import settings
3
+from django.db import transaction
4
+from django_logit import logit
5
+from django_response import response
6
+
7
+from mch.models import BrandInfo, DistributorInfo, SaleclerkInfo
8
+from utils.error.errno_utils import ProductDistributorStatusCode, SaleclerkStatusCode
9
+
10
+
11
+@logit
12
+def salesman_detail(request):
13
+  user_id = request.GET.get('user_id', '')
14
+
15
+  try:
16
+    salesman = SaleclerkInfo.objects.get(user_id=user_id, status=True)
17
+  except SaleclerkInfo.DoesNotExist:
18
+    return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
19
+
20
+  return response(200, 'Get Salesman Detail Success', '获取销售员信息成功', data=salesman.data)
21
+
22
+
23
+@logit
24
+@transaction.atomic
25
+def salesman_register(request):
26
+    """ 店员授权信息提交 """
27
+    user_id = request.POST.get('user_id', '')
28
+    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
29
+    distributor_id = request.POST.get('distributor_id', '')
30
+    unionid = request.POST.get('unionid', '')
31
+    openid = request.POST.get('openid', '')
32
+    phone = request.POST.get('phone', '')
33
+
34
+    if SaleclerkInfo.objects.filter(clerk_phone=phone).exclude(unionid=unionid).exists():
35
+        return response(SaleclerkStatusCode.CLERK_PHONE_ALREADY_EXISTS)
36
+
37
+    try:
38
+        distributor = DistributorInfo.objects.get(distributor_id=distributor_id)
39
+    except DistributorInfo.DoesNotExist:
40
+        return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)
41
+
42
+    fields = {
43
+        'distributor_id': distributor_id,
44
+        'user_id': user_id,
45
+        'distributor_name': distributor.distributor_name,
46
+        'clerk_name': request.POST.get('name', ''),
47
+        'clerk_sex': int(request.POST.get('sex', 1)),
48
+        'clerk_phone': phone,
49
+        'openid': openid,
50
+        'user_status': SaleclerkInfo.UNVERIFIED,
51
+    }
52
+
53
+    clerk, _ = SaleclerkInfo.objects.select_for_update().get_or_create(brand_id=brand_id, unionid=unionid, defaults=fields)
54
+
55
+    return response(200, 'Submit Success', u'提交成功', {})

+ 8 - 1
api/urls.py

@@ -6,7 +6,7 @@ from django_file_upload import views as file_views
6 6
 from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views,
7 7
                  maintenance_point_views, maintenance_views, mch_views, member_views, model_views, operator_views,
8 8
                  refresh_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, tencentcloud_views, wx_views,
9
-                 wxa_views, consumer_admin_view)
9
+                 wxa_views, consumer_admin_view, salesman_mp_views)
10 10
 from miniapp import qy_views
11 11
 from miniapp import views as mini_views
12 12
 from page import oauth_views, sale_views, screen_views
@@ -277,6 +277,13 @@ urlpatterns += [
277 277
     url(r'^admin/complement/code/contacted$', admin_views.complement_code_contacted, name='complement_code_contacted'),
278 278
 ]
279 279
 
280
+#销售员
281
+urlpatterns += [
282
+    url(r'^mp/distributor/list$', distributor_views.distributor_list, name='mp_distributor_list'),
283
+    url(r'^mp/salesman/register$', salesman_mp_views.salesman_register, name='mp_salesman_register'),
284
+    url(r'^mp/salesman/detail$', salesman_mp_views.salesman_detail, name='mp_salesman_detail'),
285
+]
286
+
280 287
 # 维修点
281 288
 urlpatterns += [
282 289
     url(r'^maintenance/point/add$', maintenance_point_views.maintenance_point_add, name='maintenance_point_add'),