:art: Add MaintenaceInfo relative

huangqimin001 %!s(int64=3) %!d(string=hace) años
padre
commit
3f48aa7f9e

+ 68 - 0
api/maintenance_point_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
+    })

+ 73 - 32
api/maintenance_views.py

@@ -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
     })

+ 14 - 6
api/urls.py

@@ -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
+]

+ 1 - 1
maintenance/admin.py

@@ -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)

+ 20 - 0
maintenance/migrations/0002_maintenaceinfo_user_id.py

@@ -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
+    ]

+ 24 - 0
maintenance/models.py

@@ -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
+        }

BIN
pre/static/腾龙镜头适用机型V1.xlsx


+ 5 - 0
utils/error/errno_utils.py

@@ -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'管理员不存在')