n rel="diff-200e8d3f895d5812f8045693e044efcb3c858025L14">14 14
 from utils.error.errno_utils import ProductModelStatusCode, ProductStatusCode, SaleclerkStatusCode
15 15
 
@@ -47,9 +47,52 @@ def clerk_sale_submit_api(request):
47 47
 
48 48
     file_path = request.POST.get('file_path', '')
49 49
 
50
+    try:
51
+        clerk = SaleclerkInfo.objects.get(user_id=user_id)
52
+    except SaleclerkInfo.DoesNotExist:
53
+        return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
54
+
55
+    # 店员提交记录
56
+    SaleclerkSubmitLogInfo.objects.create(
57
+        franchiser_id=clerk.franchiser_id,
58
+        clerk_id=clerk.clerk_id,
59
+        code=serialNo,
60
+        consumer_name=consumer_name,
61
+        consumer_phone=consumer_phone,
62
+        lat=lat,
63
+        lon=lon,
64
+        image=file_path,
65
+    )
66
+
67
+    if SaleclerkIntegralIncomeExpensesInfo.objects.filter(code=serialNo, status=True).exists():
68
+        return response(SaleclerkStatusCode.DUPLICATE_SUBMIT)
69
+
70
+    # 店员积分
71
+    # TODO: 序列号 vs. 积分
72
+    integral = 100
73
+
74
+    clerk.integral += integral
75
+    clerk.total_integral += integral
76
+    clerk.save()
77
+
78
+    # 店员积分记录
79
+    SaleclerkIntegralIncomeExpensesInfo.objects.create(
80
+        franchiser_id=clerk.franchiser_id,
81
+        clerk_id=clerk.clerk_id,
82
+        type=SaleclerkIntegralIncomeExpensesInfo.INCOME,
83
+        code=serialNo,
84
+        consumer_name=consumer_name,
85
+        consumer_phone=consumer_phone,
86
+        lat=lat,
87
+        lon=lon,
88
+        image=file_path,
89
+        integral=integral,
90
+        left_integral=clerk.total_integral,
91
+    )
92
+
50 93
     return response(200, data={
51
-        'integral': 123,
52
-        'total_integral': 12345,
94
+        'integral': integral,
95
+        'total_integral': clerk.integral,
53 96
     })
54 97
 
55 98
 

+ 2 - 0
utils/error/errno_utils.py

@@ -16,6 +16,8 @@ class SaleclerkStatusCode(BaseStatusCode):
16 16
     # 状态
17 17
     CLERK_ALREADY_NOT_UNVERIFIED = StatusCodeField(500110, 'Clerk Already Not Unverified', description=u'店员帐号已激活')
18 18
     CLERK_NOT_ACTIVATED = StatusCodeField(500115, 'Clerk Not Activated', description=u'店员帐号未激活')
19
+    # 上传
20
+    DUPLICATE_SUBMIT = StatusCodeField(500199, 'Duplicate Submit', description=u'重复提交')
19 21
 
20 22
 
21 23
 class ProductModelStatusCode(BaseStatusCode):

pai2 - Gogs: Go Git Service

拍爱

Brightcells: 3114315824 add pc official website 10 年 前
..
__init__.py 3114315824 add pc official website 10 年 前