brand_domain

Brightcells лет %!s(int64=7): %!d(string=назад)
Родитель
Сommit
b90bf186bc
9 измененных файлов с 55 добавлено и 18 удалено
  1. 2 4
      api/mch_views.py
  2. 2 1
      api/urls.py
  3. 2 2
      kodo/settings.py
  4. 9 6
      mch/admin.py
  5. 25 0
      mch/migrations/0022_auto_20180522_1355.py
  6. 10 0
      mch/models.py
  7. 1 1
      page/info_views.py
  8. 2 2
      page/oauth_views.py
  9. 2 2
      statistic/views.py

+ 2 - 4
api/mch_views.py

@@ -25,7 +25,7 @@ WECHAT = settings.WECHAT
25 25
 
26 26
 
27 27
 @logit
28
-def login_api(request):
28
+def optor_login_api(request):
29 29
     phone = request.POST.get('phone', '')
30 30
     password = request.POST.get('password', '')
31 31
 
@@ -40,9 +40,7 @@ def login_api(request):
40 40
     if not check_password(password, operator.encryption):
41 41
         return response(OperatorStatusCode.OPERATOR_PASSWORD_ERROR)
42 42
 
43
-    return response(200, data={
44
-        'optor_id': operator.operator_id,
45
-    })
43
+    return response(200, 'Optor Login Success', u'操作员登录成功', data=operator.kododata)
46 44
 
47 45
 
48 46
 @logit

+ 2 - 1
api/urls.py

@@ -188,7 +188,8 @@ urlpatterns += [
188 188
 
189 189
 # Kodo
190 190
 urlpatterns += [
191
-    url(r'^login$', mch_views.login_api, name='login_api'),
191
+    url(r'^login$', mch_views.optor_login_api, name='login_api'),
192
+    url(r'^optor/login$', mch_views.optor_login_api, name='optor_login_api'),
192 193
     url(r'^admin/login$', mch_views.admin_login_api, name='admin_login_api'),
193 194
 ]
194 195
 

+ 2 - 2
kodo/settings.py

@@ -378,8 +378,8 @@ DJANGO_LOGIT_ENABLED = True
378 378
 # Test Settings
379 379
 DEBUG_STATISTIC_DATA_FLAG = False
380 380
 
381
-KODO_DEFAULT_BRAND = ''
382
-
381
+KODO_DEFAULT_BRAND_ID = ''
382
+KODO_DEFAULT_BRAND_DOMAIN = ''
383 383
 
384 384
 KODO_CLERK_AUTH_URL = 'http://pai.ai/w/o?r=http%3A%2F%2Fkodo.xfoto.com.cn%2Fp%2Fclerk%3Fbrand_id%3D{0}'
385 385
 

+ 9 - 6
mch/admin.py

@@ -8,9 +8,8 @@ from django_admin import DeleteModelAdmin, ReadOnlyModelAdmin
8 8
 from django_models_ext import ProvinceShortModelMixin
9 9
 from pysnippets.strsnippets import strip
10 10
 
11
-from integral.models import SaleclerkIntegralIncomeExpensesInfo, SaleclerkSubmitLogInfo
12
-from mch.models import (AdministratorInfo, BrandInfo, BrandModelDistributorPriceInfo, ConsumeInfoSubmitLogInfo,
13
-                        DistributorInfo, LatestAppInfo, ModelImageInfo, ModelInfo, OperatorInfo, SaleclerkInfo)
11
+from mch.models import (AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, LatestAppInfo,
12
+                        ModelInfo, OperatorInfo, SaleclerkInfo)
14 13
 
15 14
 
16 15
 class AdministratorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
@@ -35,9 +34,9 @@ class AdministratorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
35 34
 
36 35
 
37 36
 class OperatorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
38
-    list_display = ('operator_id', 'phone', 'password', 'encryption', 'name', 'brand_id', 'brand_name', 'user_status', 'status', 'created_at', 'updated_at')
37
+    list_display = ('operator_id', 'phone', 'password', 'encryption', 'name', 'brand_id', 'brand_name', 'brand_domain', 'user_status', 'status', 'created_at', 'updated_at')
39 38
     list_filter = ('user_status', 'status', 'brand_name')
40
-    readonly_fields = ('encryption', 'brand_name')
39
+    readonly_fields = ('brand_domain', 'encryption', 'brand_name')
41 40
 
42 41
     def save_model(self, request, obj, form, change):
43 42
         obj.phone = strip(obj.phone)
@@ -56,7 +55,11 @@ class OperatorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
56 55
 
57 56
 
58 57
 class BrandInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
59
-    list_display = ('brand_id', 'brand_name', 'brand_descr', 'brand_logo', 'position', 'status', 'created_at', 'updated_at')
58
+    list_display = ('brand_id', 'brand_name', 'brand_descr', 'brand_logo', 'brand_domain', 'position', 'status', 'created_at', 'updated_at')
59
+
60
+    def save_model(self, request, obj, form, change):
61
+        obj.save()
62
+        OperatorInfo.objects.filter(brand_id=obj.brand_id).update(brand_domain=obj.brand_domain)
60 63
 
61 64
 
62 65
 class ModelInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):

+ 25 - 0
mch/migrations/0022_auto_20180522_1355.py

@@ -0,0 +1,25 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.11 on 2018-05-22 05:55
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
+        ('mch', '0021_auto_20180522_1100'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='brandinfo',
17
+            name='brand_domain',
18
+            field=models.CharField(blank=True, help_text='\u54c1\u724c\u57df\u540d', max_length=255, null=True, verbose_name='brand_domain'),
19
+        ),
20
+        migrations.AddField(
21
+            model_name='operatorinfo',
22
+            name='brand_domain',
23
+            field=models.CharField(blank=True, help_text='\u54c1\u724c\u57df\u540d', max_length=255, null=True, verbose_name='brand_domain'),
24
+        ),
25
+    ]

+ 10 - 0
mch/models.py

@@ -1,5 +1,6 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+from django.conf import settings
3 4
 from django.db import models
4 5
 from django.utils.translation import ugettext_lazy as _
5 6
 from django_models_ext import (BaseModelMixin, ProvinceShortModelMixin, SexModelMixin, upload_file_path,
@@ -60,6 +61,7 @@ class OperatorInfo(BaseModelMixin):
60 61
 
61 62
     brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)
62 63
     brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')
64
+    brand_domain = models.CharField(_(u'brand_domain'), max_length=255, blank=True, null=True, help_text=u'品牌域名')
63 65
 
64 66
     user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS_TUPLE, default=ACTIVATED, help_text=u'操作员状态', db_index=True)
65 67
 
@@ -78,6 +80,13 @@ class OperatorInfo(BaseModelMixin):
78 80
             'name': self.name,
79 81
         }
80 82
 
83
+    @property
84
+    def kododata(self):
85
+        return {
86
+            'optor_id': self.operator_id,
87
+            'brand_domain': self.brand_domain or settings.KODO_DEFAULT_BRAND_DOMAIN,
88
+        }
89
+
81 90
 
82 91
 class BrandInfo(BaseModelMixin):
83 92
     brand_id = ShortUUIDField(_(u'brand_id'), max_length=32, help_text=u'品牌唯一标识', db_index=True, unique=True)
@@ -85,6 +94,7 @@ class BrandInfo(BaseModelMixin):
85 94
     brand_descr = models.TextField(_(u'brand_descr'), max_length=255, blank=True, null=True, help_text=u'品牌描述')
86 95
 
87 96
     brand_logo = models.ImageField(_(u'brand_logo'), upload_to=upload_path, blank=True, null=True, help_text=u'品牌商标')
97
+    brand_domain = models.CharField(_(u'brand_domain'), max_length=255, blank=True, null=True, help_text=u'品牌域名')
88 98
 
89 99
     position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')
90 100
 

+ 1 - 1
page/info_views.py

@@ -9,7 +9,7 @@ from mch.models import SaleclerkInfo
9 9
 
10 10
 
11 11
 def clerk_info_oauth(request):
12
-    brand_id = request.GET.get('brand_id', settings.KODO_DEFAULT_BRAND)
12
+    brand_id = request.GET.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
13 13
     unionid = request.GET.get('unionid', '')
14 14
 
15 15
     try:

+ 2 - 2
page/oauth_views.py

@@ -57,7 +57,7 @@ def login_qrcode(request):
57 57
 
58 58
 
59 59
 def clerk_oauth(request):
60
-    brand_id = request.GET.get('brand_id', settings.KODO_DEFAULT_BRAND)
60
+    brand_id = request.GET.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
61 61
     unionid = request.GET.get('unionid', '')
62 62
 
63 63
     try:
@@ -85,7 +85,7 @@ def clerk_oauth(request):
85 85
 @transaction.atomic
86 86
 def clerk_submit_api(request):
87 87
     """ 店员授权信息提交 """
88
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND)
88
+    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
89 89
     unionid = request.POST.get('unionid', '')
90 90
     openid = request.POST.get('openid', '')
91 91
     phone = request.POST.get('phone', '')

+ 2 - 2
statistic/views.py

@@ -16,7 +16,7 @@ from utils.rdm_utils import randnum
16 16
 
17 17
 @logit
18 18
 def tj_distributor(request):
19
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND)
19
+    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
20 20
 
21 21
     ymd = int(tc.local_string(format='%Y%m%d'))
22 22
 
@@ -70,7 +70,7 @@ def tj_distributor(request):
70 70
 
71 71
 @logit
72 72
 def tj_consumer(request):
73
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND)
73
+    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
74 74
 
75 75
     ymd = int(tc.local_string(format='%Y%m%d'))
76 76