:art: maintenance point

huangqimin001 3 年之前
父节点
当前提交
1b2a5cb9b3
共有 5 个文件被更改,包括 94 次插入3 次删除
  1. 68 0
      api/maintenance_views.py
  2. 11 2
      api/urls.py
  3. 1 1
      maintenance/admin.py
  4. 9 0
      maintenance/models.py
  5. 5 0
      utils/error/errno_utils.py

+ 68 - 0
api/maintenance_views.py

@@ -0,0 +1,68 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from __future__ import division
4
+
5
+from django_logit import logit
6
+from django_response import response
7
+
8
+from maintenance.models import MaintenacePointInfo
9
+from utils.error.errno_utils import MaintenacePointStatusCode
10
+
11
+
12
+@logit
13
+def maintenance_point_add(request):
14
+    name = request.POST.get('name', '')
15
+    province = request.POST.get('province', '')
16
+    location = request.POST.get('location', '')
17
+    postcode = request.POST.get('postcode', '')
18
+
19
+    point = MaintenacePointInfo.objects.create(name=name, province=province, location=location, postcode=postcode)
20
+
21
+    return response(data={
22
+        'point_id': point.id,
23
+    })
24
+
25
+
26
+@logit
27
+def maintenance_point_delete(request):
28
+    point_id = request.POST.get('point_id', '')
29
+
30
+    MaintenacePointInfo.objects.filter(id=point_id).update(status=False)
31
+
32
+    return response()
33
+
34
+
35
+@logit
36
+def maintenance_point_update(request):
37
+    point_id = request.POST.get('point_id', '')
38
+    name = request.POST.get('name', '')
39
+    province = request.POST.get('province', '')
40
+    location = request.POST.get('location', '')
41
+    postcode = request.POST.get('postcode', '')
42
+
43
+    try:
44
+        point = MaintenacePointInfo.objects.get(id=point_id)
45
+    except MaintenacePointInfo.DoesNotExist:
46
+        return response(MaintenacePointStatusCode.MAINTENACE_POINT_NOT_FOUND)
47
+
48
+    if name:
49
+        point.name = name
50
+    if province:
51
+        point.province = province
52
+    if location:
53
+        point.location = location
54
+    if postcode:
55
+        point.postcode = postcode
56
+    point.save()
57
+
58
+    return response()
59
+
60
+
61
+@logit
62
+def maintenance_point_list(request):
63
+    points = MaintenacePointInfo.objects.filter(status=True)
64
+    points = [point.data for point in points]
65
+
66
+    return response(data={
67
+        'points': points,
68
+    })

+ 11 - 2
api/urls.py

@@ -3,8 +3,9 @@
3 3
 from django.conf.urls import url
4 4
 from django_file_upload import views as file_views
5 5
 
6
-from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, log_views, mch_views,
7
-                 member_views, model_views, operator_views, refresh_views, sr_views, staff_views, wx_views)
6
+from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, log_views,
7
+                 maintenance_views, mch_views, member_views, model_views, operator_views, refresh_views, sr_views,
8
+                 staff_views, wx_views)
8 9
 from miniapp import qy_views
9 10
 from miniapp import views as mini_views
10 11
 from page import oauth_views, sale_views, screen_views
@@ -246,3 +247,11 @@ urlpatterns += [
246 247
     url(r'^admin/complement/code/audit$', admin_views.complement_code_audit, name='complement_code_audit'),
247 248
     url(r'^admin/complement/code/contacted$', admin_views.complement_code_contacted, name='complement_code_contacted'),
248 249
 ]
250
+
251
+# 维修点
252
+urlpatterns += [
253
+    url(r'^maintenance/point/add$', maintenance_views.maintenance_point_add, name='maintenance_point_add'),
254
+    url(r'^maintenance/point/delete$', maintenance_views.maintenance_point_delete, name='maintenance_point_delete'),
255
+    url(r'^maintenance/point/update$', maintenance_views.maintenance_point_update, name='maintenance_point_update'),
256
+    url(r'^maintenance/point/list$', maintenance_views.maintenance_point_list, name='maintenance_point_list'),
257
+]

+ 1 - 1
maintenance/admin.py

@@ -2,7 +2,7 @@
2 2
 
3 3
 from django.contrib import admin
4 4
 
5
-from maintenance.models import MaintenacePointInfo, ExpressCompanyInfo, MaintenaceInfo
5
+from maintenance.models import ExpressCompanyInfo, MaintenaceInfo, MaintenacePointInfo
6 6
 
7 7
 
8 8
 class MaintenacePointInfoAdmin(admin.ModelAdmin):

+ 9 - 0
maintenance/models.py

@@ -18,6 +18,15 @@ class MaintenacePointInfo(BaseModelMixin):
18 18
     def __unicode__(self):
19 19
         return '%d' % self.pk
20 20
 
21
+    @property
22
+    def data(self):
23
+        return {
24
+            'name': self.name,
25
+            'province': self.province,
26
+            'location': self.location,
27
+            'postcode': self.postcode,
28
+        }
29
+
21 30
 
22 31
 class ExpressCompanyInfo(BaseModelMixin):
23 32
     name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'名称')

+ 5 - 0
utils/error/errno_utils.py

@@ -108,6 +108,11 @@ class MarketCodeStatusCode(BaseStatusCode):
108 108
     MARKET_CODE_NOT_FOUND = StatusCodeField(505001, 'Market Code Not Found', description=u'一物一码不存在')
109 109
 
110 110
 
111
+class MaintenacePointStatusCode(BaseStatusCode):
112
+    """ 维修点相关错误码 5060xx """
113
+    MAINTENACE_POINT_NOT_FOUND = StatusCodeField(506001, 'Maintenace Point Not Found', description=u'维修点不存在')
114
+
115
+
111 116
 class AdministratorStatusCode(BaseStatusCode):
112 117
     """ 操作员相关错误码 4002xx """
113 118
     ADMINISTRATOR_NOT_FOUND = StatusCodeField(400201, 'Administrator Not Found', description=u'管理员不存在')