@@ -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 |
+ }) |
@@ -5,64 +5,105 @@ from __future__ import division |
||
5 | 5 |
from django_logit import logit |
6 | 6 |
from django_response import response |
7 | 7 |
|
8 |
-from maintenance.models import MaintenacePointInfo |
|
9 |
-from utils.error.errno_utils import MaintenacePointStatusCode |
|
8 |
+from maintenance.models import MaintenaceInfo |
|
9 |
+from utils.error.errno_utils import MaintenaceStatusCode |
|
10 | 10 |
|
11 | 11 |
|
12 | 12 |
@logit |
13 |
-def maintenance_point_add(request): |
|
13 |
+def maintenance_add(request): |
|
14 |
+ user_id = request.POST.get('user_id', '') |
|
14 | 15 |
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) |
|
16 |
+ phone = request.POST.get('phone', '') |
|
17 |
+ address = request.POST.get('address', '') |
|
18 |
+ sn = request.POST.get('sn', '') |
|
19 |
+ desc = request.POST.get('desc', '') |
|
20 |
+ point_id = request.POST.get('point_id', '') |
|
21 |
+ point_name = request.POST.get('point_name', '') |
|
22 |
+ express_name = request.POST.get('express_name', '') |
|
23 |
+ tracking_number = request.POST.get('tracking_number', '') |
|
24 |
+ maintenace_status = request.POST.get('maintenace_status', '') |
|
25 |
+ |
|
26 |
+ maintenace = MaintenaceInfo.objects.create( |
|
27 |
+ user_id=user_id, |
|
28 |
+ name=name, |
|
29 |
+ phone=phone, |
|
30 |
+ address=address, |
|
31 |
+ sn=sn, |
|
32 |
+ desc=desc, |
|
33 |
+ point_id=point_id, |
|
34 |
+ point_name=point_name, |
|
35 |
+ express_name=express_name, |
|
36 |
+ tracking_number=tracking_number, |
|
37 |
+ maintenace_status=maintenace_status, |
|
38 |
+ ) |
|
20 | 39 |
|
21 | 40 |
return response(data={ |
22 |
- 'point_id': point.id, |
|
41 |
+ 'maintenace_id': maintenace.id, |
|
23 | 42 |
}) |
24 | 43 |
|
25 | 44 |
|
26 | 45 |
@logit |
27 |
-def maintenance_point_delete(request): |
|
28 |
- point_id = request.POST.get('point_id', '') |
|
46 |
+def maintenance_delete(request): |
|
47 |
+ maintenace_id = request.POST.get('maintenace_id', '') |
|
48 |
+ user_id = request.POST.get('user_id', '') |
|
29 | 49 |
|
30 |
- MaintenacePointInfo.objects.filter(id=point_id).update(status=False) |
|
50 |
+ MaintenaceInfo.objects.filter(id=maintenace_id, user_id=user_id).update(status=False) |
|
31 | 51 |
|
32 | 52 |
return response() |
33 | 53 |
|
34 | 54 |
|
35 | 55 |
@logit |
36 |
-def maintenance_point_update(request): |
|
37 |
- point_id = request.POST.get('point_id', '') |
|
56 |
+def maintenance_update(request): |
|
57 |
+ maintenace_id = request.POST.get('maintenace_id', '') |
|
58 |
+ user_id = request.POST.get('user_id', '') |
|
38 | 59 |
name = request.POST.get('name', '') |
39 |
- province = request.POST.get('province', '') |
|
40 |
- location = request.POST.get('location', '') |
|
41 |
- postcode = request.POST.get('postcode', '') |
|
60 |
+ phone = request.POST.get('phone', '') |
|
61 |
+ address = request.POST.get('address', '') |
|
62 |
+ sn = request.POST.get('sn', '') |
|
63 |
+ desc = request.POST.get('desc', '') |
|
64 |
+ point_id = request.POST.get('point_id', '') |
|
65 |
+ point_name = request.POST.get('point_name', '') |
|
66 |
+ express_name = request.POST.get('express_name', '') |
|
67 |
+ tracking_number = request.POST.get('tracking_number', '') |
|
68 |
+ maintenace_status = request.POST.get('maintenace_status', '') |
|
42 | 69 |
|
43 | 70 |
try: |
44 |
- point = MaintenacePointInfo.objects.get(id=point_id) |
|
45 |
- except MaintenacePointInfo.DoesNotExist: |
|
46 |
- return response(MaintenacePointStatusCode.MAINTENACE_POINT_NOT_FOUND) |
|
71 |
+ maintenace = MaintenaceInfo.objects.get(id=maintenace_id, user_id=user_id, status=True) |
|
72 |
+ except MaintenaceInfo.DoesNotExist: |
|
73 |
+ return response(MaintenaceStatusCode.MAINTENACE_NOT_FOUND) |
|
47 | 74 |
|
48 | 75 |
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() |
|
76 |
+ maintenace.name = name |
|
77 |
+ if phone: |
|
78 |
+ maintenace.phone = phone |
|
79 |
+ if address: |
|
80 |
+ maintenace.address = address |
|
81 |
+ if sn: |
|
82 |
+ maintenace.sn = sn |
|
83 |
+ if desc: |
|
84 |
+ maintenace.desc = desc |
|
85 |
+ if point_id: |
|
86 |
+ maintenace.point_id = point_id |
|
87 |
+ if point_name: |
|
88 |
+ maintenace.point_name = point_name |
|
89 |
+ if express_name: |
|
90 |
+ maintenace.express_name = express_name |
|
91 |
+ if tracking_number: |
|
92 |
+ maintenace.tracking_number = tracking_number |
|
93 |
+ if maintenace_status: |
|
94 |
+ maintenace.maintenace_status = maintenace_status |
|
95 |
+ maintenace.save() |
|
57 | 96 |
|
58 | 97 |
return response() |
59 | 98 |
|
60 | 99 |
|
61 | 100 |
@logit |
62 |
-def maintenance_point_list(request): |
|
63 |
- points = MaintenacePointInfo.objects.filter(status=True) |
|
64 |
- points = [point.data for point in points] |
|
101 |
+def maintenance_list(request): |
|
102 |
+ user_id = request.POST.get('user_id', '') |
|
103 |
+ |
|
104 |
+ maintenaces = MaintenaceInfo.objects.filter(user_id=user_id, status=True) |
|
105 |
+ maintenaces = [maintenace.data for maintenace in maintenaces] |
|
65 | 106 |
|
66 | 107 |
return response(data={ |
67 |
- 'points': points, |
|
108 |
+ 'maintenaces': maintenaces, |
|
68 | 109 |
}) |
@@ -4,8 +4,8 @@ from django.conf.urls import url |
||
4 | 4 |
from django_file_upload import views as file_views |
5 | 5 |
|
6 | 6 |
from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views, |
7 |
- maintenance_views, mch_views, member_views, model_views, operator_views, refresh_views, sr_views, |
|
8 |
- staff_views, wx_views) |
|
7 |
+ maintenance_point_views, maintenance_views, mch_views, member_views, model_views, operator_views, |
|
8 |
+ refresh_views, sr_views, staff_views, wx_views) |
|
9 | 9 |
from miniapp import qy_views |
10 | 10 |
from miniapp import views as mini_views |
11 | 11 |
from page import oauth_views, sale_views, screen_views |
@@ -250,10 +250,10 @@ urlpatterns += [ |
||
250 | 250 |
|
251 | 251 |
# 维修点 |
252 | 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'), |
|
253 |
+ url(r'^maintenance/point/add$', maintenance_point_views.maintenance_point_add, name='maintenance_point_add'), |
|
254 |
+ url(r'^maintenance/point/delete$', maintenance_point_views.maintenance_point_delete, name='maintenance_point_delete'), |
|
255 |
+ url(r'^maintenance/point/update$', maintenance_point_views.maintenance_point_update, name='maintenance_point_update'), |
|
256 |
+ url(r'^maintenance/point/list$', maintenance_point_views.maintenance_point_list, name='maintenance_point_list'), |
|
257 | 257 |
] |
258 | 258 |
|
259 | 259 |
# 快递公司 |
@@ -263,3 +263,11 @@ urlpatterns += [ |
||
263 | 263 |
url(r'^express/update$', express_views.express_update, name='express_update'), |
264 | 264 |
url(r'^express/list$', express_views.express_list, name='express_list'), |
265 | 265 |
] |
266 |
+ |
|
267 |
+# 维修 |
|
268 |
+urlpatterns += [ |
|
269 |
+ url(r'^maintenance/add$', maintenance_views.maintenance_add, name='maintenance_add'), |
|
270 |
+ url(r'^maintenance/delete$', maintenance_views.maintenance_delete, name='maintenance_delete'), |
|
271 |
+ url(r'^maintenance/update$', maintenance_views.maintenance_update, name='maintenance_update'), |
|
272 |
+ url(r'^maintenance/list$', maintenance_views.maintenance_list, name='maintenance_list'), |
|
273 |
+] |
@@ -14,7 +14,7 @@ class ExpressCompanyInfoAdmin(admin.ModelAdmin): |
||
14 | 14 |
|
15 | 15 |
|
16 | 16 |
class MaintenaceInfoAdmin(admin.ModelAdmin): |
17 |
- list_display = ('name', 'phone', 'address', 'sn', 'desc', 'point_id', 'point_name', 'express_name', 'tracking_number', 'maintenace_status', 'status', 'created_at', 'updated_at') |
|
17 |
+ list_display = ('user_id', 'name', 'phone', 'address', 'sn', 'desc', 'point_id', 'point_name', 'express_name', 'tracking_number', 'maintenace_status', 'status', 'created_at', 'updated_at') |
|
18 | 18 |
|
19 | 19 |
|
20 | 20 |
admin.site.register(MaintenacePointInfo, MaintenacePointInfoAdmin) |
@@ -0,0 +1,20 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+# Generated by Django 1.11.29 on 2021-09-15 07:17 |
|
3 |
+from __future__ import unicode_literals |
|
4 |
+ |
|
5 |
+from django.db import migrations, models |
|
6 |
+ |
|
7 |
+ |
|
8 |
+class Migration(migrations.Migration): |
|
9 |
+ |
|
10 |
+ dependencies = [ |
|
11 |
+ ('maintenance', '0001_initial'), |
|
12 |
+ ] |
|
13 |
+ |
|
14 |
+ operations = [ |
|
15 |
+ migrations.AddField( |
|
16 |
+ model_name='maintenaceinfo', |
|
17 |
+ name='user_id', |
|
18 |
+ field=models.CharField(blank=True, db_index=True, help_text='\u7528\u6237\u552f\u4e00\u6807\u8bc6', max_length=32, null=True, verbose_name='user_id'), |
|
19 |
+ ), |
|
20 |
+ ] |
@@ -3,6 +3,7 @@ |
||
3 | 3 |
from django.db import models |
4 | 4 |
from django.utils.translation import ugettext_lazy as _ |
5 | 5 |
from django_models_ext import BaseModelMixin |
6 |
+from TimeConvert import TimeConvert as tc |
|
6 | 7 |
|
7 | 8 |
|
8 | 9 |
class MaintenacePointInfo(BaseModelMixin): |
@@ -21,6 +22,7 @@ class MaintenacePointInfo(BaseModelMixin): |
||
21 | 22 |
@property |
22 | 23 |
def data(self): |
23 | 24 |
return { |
25 |
+ 'id': self.pk, |
|
24 | 26 |
'name': self.name, |
25 | 27 |
'province': self.province, |
26 | 28 |
'location': self.location, |
@@ -41,11 +43,14 @@ class ExpressCompanyInfo(BaseModelMixin): |
||
41 | 43 |
@property |
42 | 44 |
def data(self): |
43 | 45 |
return { |
46 |
+ 'id': self.pk, |
|
44 | 47 |
'name': self.name, |
45 | 48 |
} |
46 | 49 |
|
47 | 50 |
|
48 | 51 |
class MaintenaceInfo(BaseModelMixin): |
52 |
+ user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True) |
|
53 |
+ |
|
49 | 54 |
name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'姓名') |
50 | 55 |
phone = models.CharField(_(u'phone'), max_length=11, blank=True, null=True, help_text=u'电话') |
51 | 56 |
address = models.CharField(_(u'address'), max_length=255, blank=True, null=True, help_text=u'地址') |
@@ -67,3 +72,22 @@ class MaintenaceInfo(BaseModelMixin): |
||
67 | 72 |
|
68 | 73 |
def __unicode__(self): |
69 | 74 |
return '%d' % self.pk |
75 |
+ |
|
76 |
+ @property |
|
77 |
+ def data(self): |
|
78 |
+ return { |
|
79 |
+ 'id': self.pk, |
|
80 |
+ 'user_id': self.user_id, |
|
81 |
+ 'name': self.name, |
|
82 |
+ 'phone': self.phone, |
|
83 |
+ 'address': self.address, |
|
84 |
+ 'sn': self.sn, |
|
85 |
+ 'desc': self.desc, |
|
86 |
+ 'point_id': self.point_id, |
|
87 |
+ 'point_name': self.point_name, |
|
88 |
+ 'express_name': self.express_name, |
|
89 |
+ 'tracking_number': self.tracking_number, |
|
90 |
+ 'maintenace_status': self.maintenace_status, |
|
91 |
+ 'created_at': tc.local_string(utc_dt=self.created_at), |
|
92 |
+ 'updated_at': tc.local_string(utc_dt=self.updated_at), |
|
93 |
+ } |
@@ -118,6 +118,11 @@ class ExpressStatusCode(BaseStatusCode): |
||
118 | 118 |
EXPRESS_NOT_FOUND = StatusCodeField(507001, 'Express Not Found', description=u'快递公司不存在') |
119 | 119 |
|
120 | 120 |
|
121 |
+class MaintenaceStatusCode(BaseStatusCode): |
|
122 |
+ """ 维修相关错误码 5080xx """ |
|
123 |
+ MAINTENACE_NOT_FOUND = StatusCodeField(508001, 'Maintenace Not Found', description=u'维修不存在') |
|
124 |
+ |
|
125 |
+ |
|
121 | 126 |
class AdministratorStatusCode(BaseStatusCode): |
122 | 127 |
""" 操作员相关错误码 4002xx """ |
123 | 128 |
ADMINISTRATOR_NOT_FOUND = StatusCodeField(400201, 'Administrator Not Found', description=u'管理员不存在') |