:art: iSort & iCheck

huangqimin001 9 月之前
父節點
當前提交
b580e80550

+ 2 - 1
account/admin.py

@@ -3,7 +3,7 @@
3 3
 from django.contrib import admin
4 4
 from django_admin import ChangeOnlyModelAdmin, ReadOnlyModelAdmin
5 5
 
6
-from account.models import UserInfo, UserIntegralIncomeExpensesInfo, LensmanInfo
6
+from account.models import LensmanInfo, UserInfo, UserIntegralIncomeExpensesInfo
7 7
 from mch.models import ConsumeInfoSubmitLogInfo
8 8
 
9 9
 
@@ -24,6 +24,7 @@ class LensmanInfoAdmin(ChangeOnlyModelAdmin, admin.ModelAdmin):
24 24
     list_filter = ('lensman_status', 'status')
25 25
     search_fields = ('user_id', 'name', 'phone')
26 26
 
27
+
27 28
 class UserIntegralIncomeExpensesInfoAdmin(ChangeOnlyModelAdmin, admin.ModelAdmin):
28 29
     list_display = ('user_id', 'brand_id', 'brand_name', 'model_id', 'model_name', 'code', 'integral_from', 'integral', 'final_integral', 'remark', 'updated_at', 'created_at')
29 30
     list_filter = ('integral_from', 'status')

+ 10 - 9
account/models.py

@@ -1,12 +1,13 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+import datetime
4
+
3 5
 from django.conf import settings
4 6
 from django.db import models
5 7
 from django.utils.translation import ugettext_lazy as _
6 8
 from django_models_ext import BaseModelMixin, SexModelMixin
7 9
 from shortuuidfield import ShortUUIDField
8 10
 from TimeConvert import TimeConvert as tc
9
-import datetime
10 11
 
11 12
 from kodo.basemodels import LensmanTypeBoolMixin
12 13
 from mch.models import ConsumeInfoSubmitLogInfo, MaintenancemanInfo, SaleclerkInfo
@@ -271,7 +272,7 @@ class UserInfo(BaseModelMixin, LensmanTypeBoolMixin):
271 272
             'identity_card_name': self.identity_card_name,
272 273
 
273 274
             'tenancy_shot_permission': self.tenancy_shot_permission,
274
-            #摄影师
275
+            # 摄影师
275 276
             'is_lensman': bool(self.lensmaninfo),
276 277
             'lensman_info': self.lensmaninfo,
277 278
         }
@@ -376,7 +377,6 @@ class LensmanInfo(BaseModelMixin):
376 377
         (DISABLED, u'已禁用'),
377 378
     )
378 379
 
379
-
380 380
     lensman_id = ShortUUIDField(_(u'lensman_id'), max_length=32, blank=True, null=True, help_text=u'摄影师唯一标识', db_index=True, unique=True)
381 381
 
382 382
     user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)
@@ -408,7 +408,7 @@ class LensmanInfo(BaseModelMixin):
408 408
 
409 409
     def __unicode__(self):
410 410
         return '%d' % self.pk
411
-    
411
+
412 412
     @property
413 413
     def is_expired(self):
414 414
         now_time = datetime.datetime.now()
@@ -448,6 +448,7 @@ class LensmanInfo(BaseModelMixin):
448 448
             'created_at': tc.local_string(utc_dt=self.created_at),
449 449
         }
450 450
 
451
+
451 452
 class UserIntegralIncomeExpensesInfo(BaseModelMixin):
452 453
     PRODUCT = 0
453 454
     SHARE = 1
@@ -500,7 +501,7 @@ class UserIntegralIncomeExpensesInfo(BaseModelMixin):
500 501
             'expired_at': self.expired_at if self.expired_at else '',
501 502
             'created_at': tc.local_string(utc_dt=self.created_at),
502 503
         }
503
-    
504
+
504 505
     @property
505 506
     def lensman_userdata(self):
506 507
         act = MemberActivityInfo.objects.get(activity_id=self.activity_id)
@@ -513,7 +514,7 @@ class UserIntegralIncomeExpensesInfo(BaseModelMixin):
513 514
             'expired_at': self.expired_at if self.expired_at else '',
514 515
             'created_at': tc.local_string(utc_dt=self.created_at),
515 516
         }
516
-    
517
+
517 518
 
518 519
 class LensmanIntegralIncomeExpensesInfo(BaseModelMixin):
519 520
     user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)
@@ -549,14 +550,14 @@ class LensmanIntegralIncomeExpensesInfo(BaseModelMixin):
549 550
             'expired_at': self.expired_at if self.expired_at else '',
550 551
             'created_at': tc.local_string(utc_dt=self.created_at),
551 552
         }
552
-    
553
+
553 554
     @property
554 555
     def userdata(self):
555 556
         if self.activity_id:
556 557
             act = MemberActivityInfo.objects.get(activity_id=self.activity_id)
557 558
         else:
558 559
             act = None
559
-        
560
+
560 561
         return {
561 562
             'integral': self.integral,
562 563
             'remark': self.remark,
@@ -564,4 +565,4 @@ class LensmanIntegralIncomeExpensesInfo(BaseModelMixin):
564 565
             'activity_id': self.activity_id,
565 566
             'expired_at': self.expired_at if self.expired_at else '',
566 567
             'created_at': tc.local_string(utc_dt=self.created_at),
567
-        }
568
+        }

+ 1 - 2
api/admin_views.py

@@ -1027,7 +1027,6 @@ def member_activity_contribute_welfare_unlock(request, administrator):
1027 1027
     except MemberActivityInfo.DoesNotExist:
1028 1028
         return (MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
1029 1029
 
1030
-
1031 1030
     data = {
1032 1031
         "thing1": {
1033 1032
             "value": act.title[:20],
@@ -1045,7 +1044,7 @@ def member_activity_contribute_welfare_unlock(request, administrator):
1045 1044
 
1046 1045
     res = sendwxasubscribemessage(openid=user.openid_miniapp, template_id=settings.TEMPLATE_ID_UNLOCKING_WELFARE, data=data, miniprogram_state=None, lang=None, page='/pages/member/activity/activity?unlocking_id={}'.format(unlocking_info.unlocking_id))
1047 1046
     # sendtemplatemessage(openid=user.openid, template_id=settings.TEMPLATE_ID_UNLOCKING_WELFARE, data=data, miniappid=appid, minipagepath='/pages/member/activity/activity?unlocking_id={}'.format(unlocking_info.unlocking_id))
1048
-    
1047
+
1049 1048
     unlocking_info.send_template_message_res = json.dumps(res)
1050 1049
     unlocking_info.save()
1051 1050
 

+ 2 - 3
api/consumer_admin_view.py

@@ -2,16 +2,15 @@
2 2
 
3 3
 from __future__ import division
4 4
 
5
-from paginator import pagination
6
-
7 5
 from django.db import transaction
8 6
 from django.db.models import Q
9 7
 from django_logit import logit
10 8
 from django_response import response
9
+from paginator import pagination
11 10
 from TimeConvert import TimeConvert as tc
12 11
 
13
-from kodo.decorators import check_admin
14 12
 from account.models import UserInfo
13
+from kodo.decorators import check_admin
15 14
 from mch.models import AdministratorInfo, ConsumeShotUnbindingInfo
16 15
 
17 16
 

+ 2 - 2
api/lensman/contract_admin_views.py

@@ -23,11 +23,11 @@ def get_signed_contribtion_contract_file_api(request, administrator):
23 23
     BusinessType = 'FLOW'
24 24
     BusinessIds = [contract.flow_id]
25 25
     FileType = 'PDF'
26
-    UrlTtl = '86400' # 过期时间
26
+    UrlTtl = '86400'  # 过期时间
27 27
 
28 28
     # TODO: 获取合同文件 https://qian.tencent.com/developers/companyApis/templatesAndFiles/DescribeFileUrls
29 29
     FileUrls = []
30 30
 
31 31
     return response(200, data={
32 32
         'file_url': FileUrls[0].Url
33
-    })
33
+    })

+ 4 - 2
api/lensman/lensman_urls.py

@@ -1,12 +1,14 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3 3
 from django.conf.urls import include, url
4
-from api.lensman import contract_admin_views, contract_mp_views, activity_admin_views
4
+
5
+from api.lensman import activity_admin_views, contract_admin_views, contract_mp_views
6
+
5 7
 
6 8
 urlpatterns = [
7 9
     url(r'^mp/lensman/contribution/contract/get$', contract_mp_views.get_contribtion_contract_api, name='get_contribtion_contract_api'),
8 10
     url(r'^mp/lensman/contribution/contract/status/get$', contract_mp_views.get_contribtion_contract_status_api, name='get_contribtion_contract_status_api'),
9
-    
11
+
10 12
     url(r'^mp/ess/callback$', contract_mp_views.ess_callback, name='ess_callback'),
11 13
 ]
12 14
 

+ 2 - 3
api/lensman_admin_views.py

@@ -5,9 +5,9 @@ from __future__ import division
5 5
 from datetime import datetime
6 6
 
7 7
 from django.conf import settings
8
+from django.db.models import Q
8 9
 from django_logit import logit
9 10
 from django_response import response
10
-from django.db.models import Q
11 11
 from paginator import pagination
12 12
 from TimeConvert import TimeConvert as tc
13 13
 
@@ -29,8 +29,7 @@ def lensman_list(request, administrator):
29 29
     logs = LensmanInfo.objects.filter(status=True).order_by('-pk')
30 30
 
31 31
     if query:
32
-        logs = logs.filter(Q(name__icontains=query) |
33
-                           Q(phone__icontains=query))
32
+        logs = logs.filter(Q(name__icontains=query) | Q(phone__icontains=query))
34 33
 
35 34
     if lensman_status:
36 35
         logs = logs.filter(lensman_status=lensman_status)

+ 17 - 17
api/lensman_mp_views.py

@@ -8,6 +8,7 @@ from django_response import response
8 8
 
9 9
 from account.models import LensmanInfo, LensmanIntegralIncomeExpensesInfo
10 10
 
11
+
11 12
 @logit
12 13
 def lensman_register(request):
13 14
     user_id = request.POST.get('user_id', '')
@@ -27,29 +28,28 @@ def lensman_register(request):
27 28
 
28 29
 @logit
29 30
 def lensman_detail(request):
30
-  user_id = request.POST.get('user_id', '')
31
+    user_id = request.POST.get('user_id', '')
31 32
 
32
-  try:
33
-    lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
34
-  except LensmanInfo.DoesNotExist:
35
-    return response(200, 'Lensman Not Found', u'摄影师不存在')
33
+    try:
34
+        lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
35
+    except LensmanInfo.DoesNotExist:
36
+        return response(200, 'Lensman Not Found', u'摄影师不存在')
36 37
 
37
-  return response(200, 'Get Lensman Detail Success', u'获取摄影师信息成功', data=lensman.data)
38
+    return response(200, 'Get Lensman Detail Success', u'获取摄影师信息成功', data=lensman.data)
38 39
 
39 40
 
40 41
 @logit
41 42
 def lensman_integral_list(request):
42
-  user_id = request.POST.get('user_id', '')
43
-  brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
43
+    user_id = request.POST.get('user_id', '')
44
+    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
45
+
46
+    try:
47
+        lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
48
+    except LensmanInfo.DoesNotExist:
49
+        return response(200, 'Lensman Not Found', u'摄影师不存在')
44 50
 
45
-  try:
46
-    lensman = LensmanInfo.objects.get(user_id=user_id, status=True)
47
-  except LensmanInfo.DoesNotExist:
48
-    return response(200, 'Lensman Not Found', u'摄影师不存在')
49
-  
50
-  integrals = LensmanIntegralIncomeExpensesInfo.objects.filter(user_id=user_id, status=True).order_by('-pk')
51
+    integrals = LensmanIntegralIncomeExpensesInfo.objects.filter(user_id=user_id, status=True).order_by('-pk')
51 52
 
52
-  integrals = [integral.userdata for integral in integrals]
53
-  
53
+    integrals = [integral.userdata for integral in integrals]
54 54
 
55
-  return response(200, 'Get Lensman Integral List Success', u'获取摄影师积分列表成功', data=integrals)    
55
+    return response(200, 'Get Lensman Integral List Success', u'获取摄影师积分列表成功', data=integrals)

+ 3 - 3
api/mch_views.py

@@ -17,9 +17,9 @@ from TimeConvert import TimeConvert as tc
17 17
 from account.models import UserInfo
18 18
 from coupon.models import CouponInfo, UserCouponInfo
19 19
 from integral.models import SaleclerkSubmitLogInfo
20
-from logs.models import AdministratorLoginLogInfo, MchInfoEncryptLogInfo, ComplementCodeLogInfo
21
-from mch.models import (ActivityInfo, AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo,
22
-                        LatestAppInfo, LatestAppScreenInfo, ModelInfo, OperatorInfo, ConsumeShotUnbindingInfo)
20
+from logs.models import AdministratorLoginLogInfo, ComplementCodeLogInfo, MchInfoEncryptLogInfo
21
+from mch.models import (ActivityInfo, AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, ConsumeShotUnbindingInfo,
22
+                        DistributorInfo, LatestAppInfo, LatestAppScreenInfo, ModelInfo, OperatorInfo)
23 23
 from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo
24 24
 from utils.error.errno_utils import (AdministratorStatusCode, OperatorStatusCode, ProductBrandStatusCode,
25 25
                                      ProductModelStatusCode, UserStatusCode)

+ 8 - 7
api/salesman_mp_views.py

@@ -28,16 +28,17 @@ def distributor_list(request):
28 28
         'left': left,
29 29
     })
30 30
 
31
+
31 32
 @logit
32 33
 def salesman_detail(request):
33
-  user_id = request.POST.get('user_id', '')
34
+    user_id = request.POST.get('user_id', '')
34 35
 
35
-  try:
36
-    salesman = SaleclerkInfo.objects.get(user_id=user_id, status=True)
37
-  except SaleclerkInfo.DoesNotExist:
38
-    return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
36
+    try:
37
+        salesman = SaleclerkInfo.objects.get(user_id=user_id, status=True)
38
+    except SaleclerkInfo.DoesNotExist:
39
+        return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
39 40
 
40
-  return response(200, 'Get Salesman Detail Success', u'获取销售员信息成功', data=salesman.data)
41
+    return response(200, 'Get Salesman Detail Success', u'获取销售员信息成功', data=salesman.data)
41 42
 
42 43
 
43 44
 @logit
@@ -72,4 +73,4 @@ def salesman_register(request):
72 73
 
73 74
     clerk, _ = SaleclerkInfo.objects.update_or_create(brand_id=brand_id, unionid=unionid, defaults=fields)
74 75
 
75
-    return response(200, 'Submit Success', u'提交成功', {})
76
+    return response(200, 'Submit Success', u'提交成功', {})

+ 1 - 1
api/tenancy_admin_views.py

@@ -79,7 +79,6 @@ def shot_create(request, administrator):
79 79
     if TenancyShotInfo.objects.filter(model_id=model_id, sn=sn).exists():
80 80
         return response(TenancyStatusCode.TENANCY_SHOT_ALREADY_EXIST)
81 81
 
82
-
83 82
     shot = TenancyShotInfo.objects.create(
84 83
         model_id=model_id,
85 84
         model_name=model_name,
@@ -256,6 +255,7 @@ def shot_request_update(request, administrator):
256 255
         'req': req.admindata,
257 256
     })
258 257
 
258
+
259 259
 @logit
260 260
 @check_admin
261 261
 def shot_request_delete(request, administrator):

+ 9 - 9
api/urls.py

@@ -3,10 +3,11 @@
3 3
 from django.conf.urls import include, 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, express_views, log_views,
7
-                 maintenance_point_views, maintenance_views, mch_views, member_views, model_views, operator_views,
8
-                 refresh_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, tencentcloud_views, wx_views,
9
-                 wxa_views, consumer_admin_view, salesman_mp_views, lensman_mp_views, lensman_admin_views)
6
+from api import (admin_views, clerk_views, complement_views, consumer_admin_view, distributor_views, encrypt_views,
7
+                 express_views, lensman_admin_views, lensman_mp_views, log_views, maintenance_point_views,
8
+                 maintenance_views, mch_views, member_views, model_views, operator_views, refresh_views,
9
+                 salesman_mp_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, tencentcloud_views,
10
+                 wx_views, wxa_views)
10 11
 from miniapp import qy_views
11 12
 from miniapp import views as mini_views
12 13
 from page import oauth_views, sale_views, screen_views
@@ -277,7 +278,7 @@ urlpatterns += [
277 278
     url(r'^admin/complement/code/contacted$', admin_views.complement_code_contacted, name='complement_code_contacted'),
278 279
 ]
279 280
 
280
-#销售员
281
+# 销售员
281 282
 urlpatterns += [
282 283
     url(r'^mp/distributor/list$', salesman_mp_views.distributor_list, name='mp_distributor_list'),
283 284
     url(r'^mp/salesman/register$', salesman_mp_views.salesman_register, name='mp_salesman_register'),
@@ -371,14 +372,14 @@ urlpatterns += [
371 372
     url(r'', include(('member.urls', 'member'), namespace='member')),
372 373
 ]
373 374
 
374
-#摄影师模块
375
+# 摄影师模块
375 376
 urlpatterns += [
376
-    #小程序
377
+    # 小程序
377 378
     url(r'^mp/lensman/detail$', lensman_mp_views.lensman_detail, name='mp_lensman_detail'),
378 379
     url(r'^mp/lensman/register$', lensman_mp_views.lensman_register, name='mp_lensman_register'),
379 380
     url(r'^mp/lensman/integral/list$', lensman_mp_views.lensman_integral_list, name='mp_lensman_integral_list'),
380 381
 
381
-    #管理后台
382
+    # 管理后台
382 383
     url(r'^admin/lensman/list$', lensman_admin_views.lensman_list, name='admin_lensman_list'),
383 384
     url(r'^admin/lensman/audit$', lensman_admin_views.lensman_audit, name='admin_lensman_audit'),
384 385
     url(r'^admin/lensman/update$', lensman_admin_views.lensman_update, name='admin_lensman_update'),
@@ -387,4 +388,3 @@ urlpatterns += [
387 388
 
388 389
     url(r'', include(('api.lensman.lensman_urls', 'lensman'), namespace='lensman')),
389 390
 ]
390
-

+ 1 - 1
apps/contract/models.py

@@ -69,7 +69,7 @@ class LensmanContributionContractInfo(BaseModelMixin):
69 69
 
70 70
     @property
71 71
     def contract_status(self):
72
-        if(self.tencent_approve_status == 3 and self.tencent_contract_status == 4):
72
+        if self.tencent_approve_status == 3 and self.tencent_contract_status == 4:
73 73
             return 1
74 74
         else:
75 75
             return 0

+ 1 - 0
apps/contract/tests.py

@@ -1,3 +1,4 @@
1 1
 from django.test import TestCase
2 2
 
3
+
3 4
 # Create your tests here.

+ 1 - 0
apps/contract/views.py

@@ -1,3 +1,4 @@
1 1
 from django.shortcuts import render
2 2
 
3
+
3 4
 # Create your views here.

+ 1 - 0
apps/lensman/activity/admin.py

@@ -1,3 +1,4 @@
1 1
 from django.contrib import admin
2 2
 
3
+
3 4
 # Register your models here.

+ 4 - 3
apps/lensman/activity/models.py

@@ -5,6 +5,7 @@ from django.utils.translation import ugettext_lazy as _
5 5
 from django_models_ext import BaseModelMixin
6 6
 from TimeConvert import TimeConvert as tc
7 7
 
8
+
8 9
 class LensmanContributionActivityIncomeExpensesInfo(BaseModelMixin):
9 10
     user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)
10 11
     lensman_id = models.CharField(_(u'lensman_id'), max_length=32, blank=True, null=True, help_text=u'摄影师唯一标识', db_index=True)
@@ -20,7 +21,7 @@ class LensmanContributionActivityIncomeExpensesInfo(BaseModelMixin):
20 21
 
21 22
     def __unicode__(self):
22 23
         return '%d' % self.pk
23
-    
24
+
24 25
     @property
25 26
     def data(self):
26 27
         return {
@@ -31,7 +32,7 @@ class LensmanContributionActivityIncomeExpensesInfo(BaseModelMixin):
31 32
             'created_at': tc.local_string(utc_dt=self.created_at, format='%Y-%m-%d %H:%M:%S'),
32 33
             'updated_at': tc.local_string(utc_dt=self.updated_at, format='%Y-%m-%d %H:%M:%S')
33 34
         }
34
-    
35
+
35 36
     @property
36 37
     def admindata(self):
37
-        return self.data
38
+        return self.data

+ 1 - 0
apps/lensman/activity/tests.py

@@ -1,3 +1,4 @@
1 1
 from django.test import TestCase
2 2
 
3
+
3 4
 # Create your tests here.

+ 1 - 0
apps/lensman/activity/views.py

@@ -1,3 +1,4 @@
1 1
 from django.shortcuts import render
2 2
 
3
+
3 4
 # Create your views here.

+ 2 - 2
mch/admin.py

@@ -10,8 +10,8 @@ from pysnippets.strsnippets import strip
10 10
 
11 11
 from integral.models import SaleclerkSubmitLogInfo
12 12
 from mch.models import (ActivityInfo, AdministratorInfo, BrandInfo, CameraModelInfo, ConsumeInfoSubmitLogInfo,
13
-                        DistributorInfo, LatestAppInfo, LatestAppScreenInfo, MaintenancemanInfo, ModelCameraBodyInfo,
14
-                        ModelInfo, OperatorInfo, SaleclerkInfo, ConsumeShotUnbindingInfo)
13
+                        ConsumeShotUnbindingInfo, DistributorInfo, LatestAppInfo, LatestAppScreenInfo,
14
+                        MaintenancemanInfo, ModelCameraBodyInfo, ModelInfo, OperatorInfo, SaleclerkInfo)
15 15
 from utils.redis.rshot import update_member_shot_data
16 16
 
17 17
 

+ 1 - 1
mch/models.py

@@ -9,8 +9,8 @@ from jsonfield import JSONField
9 9
 from shortuuidfield import ShortUUIDField
10 10
 from TimeConvert import TimeConvert as tc
11 11
 
12
-from kodo.basemodels import BrandInfoMixin
13 12
 from coupon.models import CouponInfo
13
+from kodo.basemodels import BrandInfoMixin
14 14
 
15 15
 
16 16
 class AdministratorInfo(BaseModelMixin):

+ 2 - 3
member/activity_admin_views.py

@@ -9,8 +9,8 @@ from django_response import response
9 9
 from paginator import pagination
10 10
 from TimeConvert import TimeConvert as tc
11 11
 
12
-from member.models import MemberActivityInfo, MemberActivitySignupInfo, MemberActivityContributionInfo
13 12
 from kodo.decorators import check_admin
13
+from member.models import MemberActivityContributionInfo, MemberActivityInfo, MemberActivitySignupInfo
14 14
 from utils.error.errno_utils import MemberActivityStatusCode
15 15
 
16 16
 
@@ -255,11 +255,10 @@ def activity_signup_list(request, administrator):
255 255
 
256 256
     if is_signin:
257 257
         logs = logs.filter(is_signin=is_signin)
258
-    
258
+
259 259
     if audit_status:
260 260
         logs = logs.filter(audit_status=audit_status)
261 261
 
262
-
263 262
     count = logs.count()
264 263
     logs, left = pagination(logs, page, num)
265 264
     logs = [log.admindata for log in logs]

+ 6 - 3
member/activity_mp_views.py

@@ -7,8 +7,9 @@ from django_query import get_query_value
7 7
 from django_response import response
8 8
 from paginator import pagination
9 9
 
10
-from account.models import UserInfo, LensmanInfo
11
-from member.models import MemberActivityContributionInfo, MemberActivityInfo, MemberActivitySignupInfo, MemberActivityDataInfo
10
+from account.models import LensmanInfo, UserInfo
11
+from member.models import (MemberActivityContributionInfo, MemberActivityDataInfo, MemberActivityInfo,
12
+                           MemberActivitySignupInfo)
12 13
 from utils.error.errno_utils import MemberActivityContributionStatusCode, MemberActivityStatusCode, UserStatusCode
13 14
 
14 15
 
@@ -38,6 +39,7 @@ def activity_list(request):
38 39
         'activitys': activitys,
39 40
     })
40 41
 
42
+
41 43
 @logit
42 44
 def activity_list_v2(request):
43 45
     brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
@@ -51,6 +53,7 @@ def activity_list_v2(request):
51 53
         'activitys': activitys,
52 54
     })
53 55
 
56
+
54 57
 @logit
55 58
 def activity_series_list(request):
56 59
     brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
@@ -95,7 +98,7 @@ def activity_signup(request):
95 98
         act = MemberActivityInfo.objects.get(activity_id=activity_id, status=True)
96 99
     except MemberActivityInfo.DoesNotExist:
97 100
         return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
98
-    
101
+
99 102
     MemberActivitySignupInfo.objects.update_or_create(user_id=user_id, activity_id=activity_id, defaults={
100 103
         'title': act.title,
101 104
         'lensman_id': lensman_id,

+ 3 - 2
member/admin.py

@@ -7,8 +7,8 @@ from django_admin import DeleteModelAdmin
7 7
 from account.models import UserInfo
8 8
 from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo,
9 9
                            MemberActivityContributionWelfareInfo, MemberActivityContributionWelfareUnlockingInfo,
10
-                           MemberActivityGroupShareInfo, MemberActivityInfo, MemberActivitySigninInfo,
11
-                           MemberActivitySignupInfo, RightInfo, ShotTypeInfo, MemberActivityDataInfo)
10
+                           MemberActivityDataInfo, MemberActivityGroupShareInfo, MemberActivityInfo,
11
+                           MemberActivitySigninInfo, MemberActivitySignupInfo, RightInfo, ShotTypeInfo)
12 12
 from pre.custom_message import sendwxasubscribemessage
13 13
 from utils.redis.rshot import update_member_shot_data
14 14
 
@@ -89,6 +89,7 @@ class MemberActivitySignupInfoAdmin(admin.ModelAdmin):
89 89
 class MemberActivitySignupInfoAdmin(admin.ModelAdmin):
90 90
     list_display = ('signup_id', 'user_id', 'activity_id', 'title', 'name', 'phone', 'status', 'created_at', 'updated_at')
91 91
 
92
+
92 93
 class MemberActivityDataInfoAdmin(admin.ModelAdmin):
93 94
     list_display = ('data_id', 'user_id', 'activity_id', 'title', 'lensman_id', 'status', 'created_at', 'updated_at')
94 95
 

+ 2 - 1
member/admin_urls.py

@@ -4,6 +4,7 @@ from django.conf.urls import url
4 4
 
5 5
 from member import activity_admin_views, lensman_activity_admin_views
6 6
 
7
+
7 8
 # activity
8 9
 urlpatterns = [
9 10
     url(r'^member/activity/list$', activity_admin_views.activity_list, name='admin_member_activity_list'),  # 获取会员活动列表
@@ -18,7 +19,7 @@ urlpatterns += [
18 19
     url(r'^member/activity/signup/audit$', lensman_activity_admin_views.activity_signup_audit, name='admin_member_activity_signup_audit'),
19 20
 ]
20 21
 
21
-#activity data
22
+# activity data
22 23
 urlpatterns += [
23 24
     url(r'^member/activity/data/list$', lensman_activity_admin_views.activity_data_list, name='admin_member_activity_data_list'),
24 25
     url(r'^member/activity/integral/add$', lensman_activity_admin_views.activity_integral_add, name='admin_member_activity_integral_add'),

+ 4 - 3
member/lensman_activity_admin_views.py

@@ -6,9 +6,9 @@ from django_logit import logit
6 6
 from django_response import response
7 7
 from paginator import pagination
8 8
 
9
-from account.models import LensmanIntegralIncomeExpensesInfo, UserInfo, LensmanInfo
10
-from member.models import  MemberActivitySignupInfo, MemberActivityDataInfo
9
+from account.models import LensmanInfo, LensmanIntegralIncomeExpensesInfo, UserInfo
11 10
 from kodo.decorators import check_admin
11
+from member.models import MemberActivityDataInfo, MemberActivitySignupInfo
12 12
 from utils.error.errno_utils import UserStatusCode
13 13
 
14 14
 
@@ -37,13 +37,14 @@ def activity_data_list(request, administrator):
37 37
     count = logs.count()
38 38
     logs, left = pagination(logs, page, num)
39 39
     logs = [log.admindata for log in logs]
40
-    
40
+
41 41
     return response(200, 'Get Member Activity Data List Success', u'获取会员活动数据列表成功', data={
42 42
         'logs': logs,
43 43
         'count': count,
44 44
         'left': left,
45 45
     })
46 46
 
47
+
47 48
 @check_admin
48 49
 def activity_integral_add(request, administrator):
49 50
     activity_id = request.POST.get('activity_id', '')

+ 6 - 6
member/lensman_activity_mp_views.py

@@ -1,14 +1,16 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3 3
 from django.conf import settings
4
-from django_logit import logit
5 4
 from django.db.models import Q
5
+from django_logit import logit
6 6
 from django_response import response
7 7
 
8 8
 from account.models import LensmanInfo
9
-from member.models import MemberActivityInfo, MemberActivityDataInfo, MemberActivitySignupInfo, MemberActivityContributionInfo
9
+from member.models import (MemberActivityContributionInfo, MemberActivityDataInfo, MemberActivityInfo,
10
+                           MemberActivitySignupInfo)
10 11
 from utils.error.errno_utils import MemberActivityStatusCode
11 12
 
13
+
12 14
 @logit
13 15
 def activity_data_submit(request):
14 16
     user_id = request.POST.get('user_id', '')
@@ -20,7 +22,7 @@ def activity_data_submit(request):
20 22
         act = MemberActivityInfo.objects.get(activity_id=activity_id, status=True)
21 23
     except MemberActivityInfo.DoesNotExist:
22 24
         return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
23
-    
25
+
24 26
     try:
25 27
         lensman = LensmanInfo.objects.get(lensman_id=lensman_id, status=True)
26 28
     except LensmanInfo.DoesNotExist:
@@ -82,10 +84,8 @@ def activity_message_read(request):
82 84
 
83 85
     if signup_id:
84 86
         MemberActivitySignupInfo.objects.filter(user_id=user_id, signup_id=signup_id).update(is_read=True)
85
-    
87
+
86 88
     if contribution_id:
87 89
         MemberActivityContributionInfo.objects.filter(user_id=user_id, contribution_id=contribution_id).update(is_read=True)
88 90
 
89 91
     return response(200, 'Activity Message Has Read Success', '活动消息已读')
90
-
91
-

+ 3 - 5
member/models.py

@@ -507,7 +507,7 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
507 507
     def is_contributed(self, user_id):
508 508
         # 是否投稿
509 509
         return MemberActivityContributionInfo.objects.filter(user_id=user_id, activity_id=self.activity_id, status=True).exists()
510
-    
510
+
511 511
     def is_signup_passed(self, user_id):
512 512
         return MemberActivitySignupInfo.objects.filter(user_id=user_id, activity_id=self.activity_id, audit_status=MemberActivitySignupInfo.PASSED, status=True).exists()
513 513
 
@@ -780,7 +780,6 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):
780 780
     @property
781 781
     def final_avatar(self):
782 782
         return self.avatar and self.avatar.replace(settings.QINIU_FILE_URL_BEFORE, settings.QINIU_FILE_URL_AFTER).replace(settings.QINIU_FILE_URL_BEFORE2, settings.QINIU_FILE_URL_AFTER)
783
-    
784 783
 
785 784
     @property
786 785
     def data(self):
@@ -810,7 +809,8 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):
810 809
             'is_signin': self.is_signin,
811 810
             'audit_status': self.audit_status,
812 811
         }
813
-    
812
+
813
+
814 814
 class MemberActivityDataInfo(BaseModelMixin, BrandInfoMixin):
815 815
     data_id = ShortUUIDField(_(u'data_id'), max_length=32, blank=True, null=True, help_text=u'活动数据唯一标识', db_index=True, unique=True)
816 816
 
@@ -953,7 +953,6 @@ class MemberActivityContributionInfo(BaseModelMixin, BrandInfoMixin):
953 953
 
954 954
     is_read = models.BooleanField(_(u'is_read'), default=False, help_text=u'审核消息是否已读')
955 955
 
956
-
957 956
     class Meta:
958 957
         verbose_name = _(u'会员活动投稿信息')
959 958
         verbose_name_plural = _(u'会员活动投稿信息')
@@ -1101,7 +1100,6 @@ class MemberActivityContributionWelfareUnlockingInfo(BaseModelMixin, BrandInfoMi
1101 1100
 
1102 1101
     send_template_message_res = JSONField(_(u'send_template_message_res'), blank=True, null=True, help_text=u'send_template_message_res')
1103 1102
 
1104
-
1105 1103
     class Meta:
1106 1104
         verbose_name = _(u'会员活动投稿福利解锁信息')
1107 1105
         verbose_name_plural = _(u'会员活动投稿福利解锁信息')

+ 3 - 2
member/mp_urls.py

@@ -4,6 +4,7 @@ from django.conf.urls import url
4 4
 
5 5
 from member import activity_mp_views, lensman_activity_mp_views
6 6
 
7
+
7 8
 # activity
8 9
 urlpatterns = [
9 10
     url(r'^member/activity/home$', activity_mp_views.activity_home, name='mp_member_activity_home'),  # 获取会员活动首页
@@ -37,8 +38,8 @@ urlpatterns += [
37 38
     url(r'^member/activity/contribute/detail/lastest$', activity_mp_views.activity_contribute_detail_lastest, name='member_activity_contribute_detail_lastest'),
38 39
 ]
39 40
 
40
-#activity message
41
+# activity message
41 42
 urlpatterns += [
42 43
     url(r'^member/activity/message$', lensman_activity_mp_views.activity_message, name='mp_member_activity_message'),
43 44
     url(r'^member/activity/message/read$', lensman_activity_mp_views.activity_message_read, name='mp_member_activity_message_read'),
44
-]
45
+]

+ 2 - 1
pep8.sh

@@ -5,5 +5,6 @@
5 5
 # Ignoring error codes
6 6
 #  -- E128 continuation line under-indented for visual indent
7 7
 #  -- E501 line too long
8
+#  -- E731 do not assign a lambda expression, use a def
8 9
 
9
-pycodestyle --exclude=migrations --ignore=E128,E501 .
10
+pycodestyle --exclude=migrations --ignore=E128,E501,E731 .