1004
-    try:
1005
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1006
-    except AdministratorInfo.DoesNotExist:
1007
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1008
-
1009 790
     try:
1010 791
         log = MemberActivityInfo.objects.get(activity_id=activity_id)
1011 792
     except MemberActivityInfo.DoesNotExist:
@@ -1016,9 +797,8 @@ def member_activity_detail(request):
1016 797
     })
1017 798
 
1018 799
 
1019
-def member_activity_update(request):
1020
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1021
-    admin_id = request.POST.get('admin_id', '')
800
+@check_admin
801
+def member_activity_update(request, administrator):
1022 802
     activity_id = request.POST.get('activity_id', '')
1023 803
     activity_type = int(request.POST.get('activity_type', 0))
1024 804
     title = request.POST.get('title', '')
@@ -1042,14 +822,6 @@ def member_activity_update(request):
1042 822
     share_h5_link = request.POST.get('share_h5_link', '')
1043 823
     activity_state = int(request.POST.get('activity_state', 0))
1044 824
 
1045
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1046
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1047
-
1048
-    try:
1049
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1050
-    except AdministratorInfo.DoesNotExist:
1051
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1052
-
1053 825
     try:
1054 826
         log = MemberActivityInfo.objects.get(activity_id=activity_id, status=True)
1055 827
     except MemberActivityInfo.DoesNotExist:
@@ -1082,9 +854,8 @@ def member_activity_update(request):
1082 854
     return response(200, 'MemberActivityInfo Update Success', u'会员活动更新成功')
1083 855
 
1084 856
 
1085
-def member_activity_create(request):
1086
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1087
-    admin_id = request.POST.get('admin_id', '')
857
+@check_admin
858
+def member_activity_create(request, administrator):
1088 859
     activity_type = int(request.POST.get('activity_type', 0))
1089 860
     title = request.POST.get('title', '')
1090 861
     subtitle = request.POST.get('subtitle', '')
@@ -1107,14 +878,6 @@ def member_activity_create(request):
1107 878
     share_h5_link = request.POST.get('share_h5_link', '')
1108 879
     activity_state = int(request.POST.get('activity_state', 0))
1109 880
 
1110
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1111
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1112
-
1113
-    try:
1114
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1115
-    except AdministratorInfo.DoesNotExist:
1116
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1117
-
1118 881
     MemberActivityInfo.objects.create(
1119 882
         brand_id=administrator.brand_id,
1120 883
         activity_type=activity_type,
@@ -1144,21 +907,12 @@ def member_activity_create(request):
1144 907
     return response(200, 'MemberActivityInfo Create Success', u'会员活动创建成功')
1145 908
 
1146 909
 
1147
-def member_activity_share_list(request):
1148
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1149
-    admin_id = request.POST.get('admin_id', '')
910
+@check_admin
911
+def member_activity_share_list(request, administrator):
1150 912
     activity_id = request.POST.get('activity_id', '')
1151 913
     page = int(request.POST.get('page', 1))
1152 914
     num = int(request.POST.get('num', 20))
1153 915
 
1154
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1155
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1156
-
1157
-    try:
1158
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1159
-    except AdministratorInfo.DoesNotExist:
1160
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1161
-
1162 916
     logs = MemberActivityGroupShareInfo.objects.filter(activity_id=activity_id, status=True)
1163 917
 
1164 918
     total_integral = logs.aggregate(Sum('integral'))['integral__sum']
@@ -1176,21 +930,12 @@ def member_activity_share_list(request):
1176 930
     })
1177 931
 
1178 932
 
1179
-def member_activity_register_list(request):
1180
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1181
-    admin_id = request.POST.get('admin_id', '')
933
+@check_admin
934
+def member_activity_register_list(request, administrator):
1182 935
     activity_id = request.POST.get('activity_id', '')
1183 936
     page = int(request.POST.get('page', 1))
1184 937
     num = int(request.POST.get('num', 20))
1185 938
 
1186
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1187
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1188
-
1189
-    try:
1190
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1191
-    except AdministratorInfo.DoesNotExist:
1192
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1193
-
1194 939
     logs = MemberActivitySignupInfo.objects.filter(activity_id=activity_id, status=True)
1195 940
 
1196 941
     count = logs.count()
@@ -1204,21 +949,12 @@ def member_activity_register_list(request):
1204 949
     })
1205 950
 
1206 951
 
952
+@check_admin
1207 953
 @transaction.atomic
1208
-def member_activity_contribute_audit(request):
1209
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1210
-    admin_id = request.POST.get('admin_id', '')
954
+def member_activity_contribute_audit(request, administrator):
1211 955
     contribution_id = request.POST.get('contribution_id', '')
1212 956
     audit = get_query_value(request, 'audit', val_cast_type='int')
1213 957
 
1214
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1215
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1216
-
1217
-    try:
1218
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1219
-    except AdministratorInfo.DoesNotExist:
1220
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1221
-
1222 958
     try:
1223 959
         contribution = MemberActivityContributionInfo.objects.select_for_update().get(contribution_id=contribution_id, status=True)
1224 960
     except MemberActivityContributionInfo.DoesNotExist:
@@ -1230,21 +966,12 @@ def member_activity_contribute_audit(request):
1230 966
     return response(200, 'Member Activity Contribution Audit Success', u'会员活动投稿审批成功')
1231 967
 
1232 968
 
969
+@check_admin
1233 970
 @transaction.atomic
1234
-def member_activity_contribute_selected(request):
1235
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1236
-    admin_id = request.POST.get('admin_id', '')
971
+def member_activity_contribute_selected(request, administrator):
1237 972
     contribution_id = request.POST.get('contribution_id', '')
1238 973
     selected = get_query_value(request, 'selected', val_cast_type='int')
1239 974
 
1240
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1241
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1242
-
1243
-    try:
1244
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1245
-    except AdministratorInfo.DoesNotExist:
1246
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1247
-
1248 975
     try:
1249 976
         contribution = MemberActivityContributionInfo.objects.select_for_update().get(contribution_id=contribution_id, status=True)
1250 977
     except MemberActivityContributionInfo.DoesNotExist:
@@ -1256,22 +983,13 @@ def member_activity_contribute_selected(request):
1256 983
     return response(200, 'Member Activity Contribution Selected Success', u'会员活动投稿入围成功')
1257 984
 
1258 985
 
1259
-def member_activity_contribute_welfare_list(request):
1260
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1261
-    admin_id = request.POST.get('admin_id', '')
986
+@check_admin
987
+def member_activity_contribute_welfare_list(request, administrator):
1262 988
     welfare_type = request.POST.get('welfare_type', '')
1263 989
     welfare_title = request.POST.get('welfare_title', '')
1264 990
     page = request.POST.get('page', 1)
1265 991
     num = request.POST.get('num', 20)
1266 992
 
1267
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1268
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1269
-
1270
-    try:
1271
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1272
-    except AdministratorInfo.DoesNotExist:
1273
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1274
-
1275 993
     welfares = MemberActivityContributionWelfareInfo.objects.filter(status=True)
1276 994
 
1277 995
     if welfare_type:
@@ -1293,19 +1011,10 @@ def member_activity_contribute_welfare_list(request):
1293 1011
     })
1294 1012
 
1295 1013
 
1296
-def member_activity_contribute_welfare_detail(request):
1297
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1298
-    admin_id = request.POST.get('admin_id', '')
1014
+@check_admin
1015
+def member_activity_contribute_welfare_detail(request, administrator):
1299 1016
     welfare_id = request.POST.get('welfare_id', '')
1300 1017
 
1301
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1302
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1303
-
1304
-    try:
1305
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1306
-    except AdministratorInfo.DoesNotExist:
1307
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1308
-
1309 1018
     try:
1310 1019
         welfare = MemberActivityContributionWelfareInfo.objects.get(welfare_id=welfare_id)
1311 1020
     except MemberActivityContributionWelfareInfo.DoesNotExist:
@@ -1316,9 +1025,8 @@ def member_activity_contribute_welfare_detail(request):
1316 1025
     })
1317 1026
 
1318 1027
 
1319
-def member_activity_contribute_welfare_update(request):
1320
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1321
-    admin_id = request.POST.get('admin_id', '')
1028
+@check_admin
1029
+def member_activity_contribute_welfare_update(request, administrator):
1322 1030
     welfare_id = request.POST.get('welfare_id', '')
1323 1031
     welfare_type = int(request.POST.get('welfare_type', 0))
1324 1032
     welfare_title = request.POST.get('welfare_title', '')
@@ -1326,14 +1034,6 @@ def member_activity_contribute_welfare_update(request):
1326 1034
     welfare_value = request.POST.get('welfare_value', '')
1327 1035
     welfare_image_path = request.POST.get('welfare_image_path', '')
1328 1036
 
1329
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1330
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1331
-
1332
-    try:
1333
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1334
-    except AdministratorInfo.DoesNotExist:
1335
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1336
-
1337 1037
     try:
1338 1038
         welfare = MemberActivityContributionWelfareInfo.objects.get(welfare_id=welfare_id, status=True)
1339 1039
     except MemberActivityContributionWelfareInfo.DoesNotExist:
@@ -1349,23 +1049,14 @@ def member_activity_contribute_welfare_update(request):
1349 1049
     return response(200, 'Update Member Activity Contribute Welfare Success', u'更新会员活动投稿福利成功')
1350 1050
 
1351 1051
 
1352
-def member_activity_contribute_welfare_create(request):
1353
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1354
-    admin_id = request.POST.get('admin_id', '')
1052
+@check_admin
1053
+def member_activity_contribute_welfare_create(request, administrator):
1355 1054
     welfare_type = int(request.POST.get('welfare_type', 0))
1356 1055
     welfare_title = request.POST.get('welfare_title', '')
1357 1056
     welfare_detail = request.POST.get('welfare_detail', '')
1358 1057
     welfare_value = request.POST.get('welfare_value', '')
1359 1058
     welfare_image_path = request.POST.get('welfare_image_path', '')
1360 1059
 
1361
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1362
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1363
-
1364
-    try:
1365
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1366
-    except AdministratorInfo.DoesNotExist:
1367
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1368
-
1369 1060
     MemberActivityContributionWelfareInfo.objects.create(
1370 1061
         brand_id=administrator.brand_id,
1371 1062
         welfare_type=welfare_type,
@@ -1378,23 +1069,14 @@ def member_activity_contribute_welfare_create(request):
1378 1069
     return response(200, 'Create Member Activity Contribute Welfare Success', u'创建会员活动投稿福利成功')
1379 1070
 
1380 1071
 
1381
-def coupon_list(request):
1382
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1383
-    admin_id = request.POST.get('admin_id', '')
1072
+@check_admin
1073
+def coupon_list(request, administrator):
1384 1074
     title = request.POST.get('title', '')
1385 1075
     start_time = request.POST.get('start_time', '')
1386 1076
     end_time = request.POST.get('end_time', '')
1387 1077
     page = request.POST.get('page', 1)
1388 1078
     num = request.POST.get('num', 20)
1389 1079
 
1390
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1391
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1392
-
1393
-    try:
1394
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1395
-    except AdministratorInfo.DoesNotExist:
1396
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1397
-
1398 1080
     logs = CouponInfo.objects.filter(coupon_title__icontains=title, status=True)
1399 1081
 
1400 1082
     if start_time and end_time:
@@ -1415,19 +1097,10 @@ def coupon_list(request):
1415 1097
     })
1416 1098
 
1417 1099
 
1418
-def coupon_detail(request):
1419
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1420
-    admin_id = request.POST.get('admin_id', '')
1100
+@check_admin
1101
+def coupon_detail(request, administrator):
1421 1102
     coupon_id = request.POST.get('coupon_id', '')
1422 1103
 
1423
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1424
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1425
-
1426
-    try:
1427
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1428
-    except AdministratorInfo.DoesNotExist:
1429
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1430
-
1431 1104
     try:
1432 1105
         log = CouponInfo.objects.get(coupon_id=coupon_id)
1433 1106
     except CouponInfo.DoesNotExist:
@@ -1440,9 +1113,8 @@ def coupon_detail(request):
1440 1113
     })
1441 1114
 
1442 1115
 
1443
-def coupon_create(request):
1444
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1445
-    admin_id = request.POST.get('admin_id', '')
1116
+@check_admin
1117
+def coupon_create(request, administrator):
1446 1118
     coupon_title = request.POST.get('coupon_title', '')
1447 1119
     coupon_detail = request.POST.get('coupon_detail', '')
1448 1120
     coupon_value = int(request.POST.get('coupon_value', 0))
@@ -1452,16 +1124,8 @@ def coupon_create(request):
1452 1124
     coupon_expire_at = request.POST.get('coupon_expire_at', '')
1453 1125
     is_coupon_admin_writeoff = int(request.POST.get('is_coupon_admin_writeoff', 1))
1454 1126
 
1455
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1456
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1457
-
1458
-    try:
1459
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1460
-    except AdministratorInfo.DoesNotExist:
1461
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1462
-
1463 1127
     info = CouponInfo.objects.create(
1464
-        brand_id=brand_id,
1128
+        brand_id=administrator.brand_id,
1465 1129
         coupon_title=coupon_title,
1466 1130
         coupon_detail=coupon_detail,
1467 1131
         coupon_value=coupon_value,
@@ -1478,9 +1142,8 @@ def coupon_create(request):
1478 1142
     return response(200, 'CouponInfo Create Success', u'劵创建成功')
1479 1143
 
1480 1144
 
1481
-def coupon_update(request):
1482
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1483
-    admin_id = request.POST.get('admin_id', '')
1145
+@check_admin
1146
+def coupon_update(request, administrator):
1484 1147
     coupon_id = request.POST.get('coupon_id', '')
1485 1148
     coupon_title = request.POST.get('coupon_title', '')
1486 1149
     coupon_detail = request.POST.get('coupon_detail', '')
@@ -1491,20 +1154,12 @@ def coupon_update(request):
1491 1154
     coupon_expire_at = request.POST.get('coupon_expire_at', '')
1492 1155
     is_coupon_admin_writeoff = int(request.POST.get('is_coupon_admin_writeoff', 1))
1493 1156
 
1494
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1495
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1496
-
1497
-    try:
1498
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1499
-    except AdministratorInfo.DoesNotExist:
1500
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1501
-
1502 1157
     try:
1503 1158
         log = CouponInfo.objects.get(coupon_id=coupon_id, status=True)
1504 1159
     except CouponInfo.DoesNotExist:
1505 1160
         return response()
1506 1161
 
1507
-    log.brand_id = brand_id
1162
+    log.brand_id = administrator.brand_id
1508 1163
     log.coupon_title = coupon_title
1509 1164
     log.coupon_detail = coupon_detail
1510 1165
     log.coupon_value = coupon_value
@@ -1519,19 +1174,10 @@ def coupon_update(request):
1519 1174
     return response(200, 'CouponInfo Update Success', u'劵更新成功')
1520 1175
 
1521 1176
 
1522
-def coupon_delete(request):
1523
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1524
-    admin_id = request.POST.get('admin_id', '')
1177
+@check_admin
1178
+def coupon_delete(request, administrator):
1525 1179
     coupon_id = request.POST.get('activity_id', '')
1526 1180
 
1527
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1528
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1529
-
1530
-    try:
1531
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1532
-    except AdministratorInfo.DoesNotExist:
1533
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1534
-
1535 1181
     try:
1536 1182
         log = CouponInfo.objects.get(coupon_id=coupon_id, status=True)
1537 1183
     except CouponInfo.DoesNotExist:
@@ -1543,26 +1189,18 @@ def coupon_delete(request):
1543 1189
     return response(200, 'CouponInfo Delete Success', u'劵删除成功')
1544 1190
 
1545 1191
 
1546
-def member_goods_list(request):
1547
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1548
-    admin_id = request.POST.get('admin_id', '')
1192
+@check_admin
1193
+def member_goods_list(request, administrator):
1549 1194
     title = request.POST.get('title', '')
1550 1195
     page = request.POST.get('page', 1)
1551 1196
     num = request.POST.get('num', 20)
1552 1197
 
1553
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1554
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1555
-
1556
-    try:
1557
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1558
-    except AdministratorInfo.DoesNotExist:
1559
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1560
-
1561 1198
     logs = GoodsInfo.objects.filter(title__icontains=title, only_for_member=False).order_by('-pk')
1562 1199
 
1563 1200
     count = logs.count()
1564 1201
     logs, left = pagination(logs, page, num)
1565 1202
     logs = [log.admindata for log in logs]
1203
+
1566 1204
     return response(200, 'Get Member Goods Success', u'获取会员商品成功', data={
1567 1205
         'logs': logs,
1568 1206
         'left': left,
@@ -1570,19 +1208,10 @@ def member_goods_list(request):
1570 1208
     })
1571 1209
 
1572 1210
 
1573
-def member_goods_detail(request):
1574
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1575
-    admin_id = request.POST.get('admin_id', '')
1211
+@check_admin
1212
+def member_goods_detail(request, administrator):
1576 1213
     good_id = request.POST.get('good_id', '')
1577 1214
 
1578
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1579
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1580
-
1581
-    try:
1582
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1583
-    except AdministratorInfo.DoesNotExist:
1584
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1585
-
1586 1215
     try:
1587 1216
         log = GoodsInfo.objects.get(good_id=good_id)
1588 1217
     except GoodsInfo.DoesNotExist:
@@ -1595,9 +1224,8 @@ def member_goods_detail(request):
1595 1224
     })
1596 1225
 
1597 1226
 
1598
-def member_goods_update(request):
1599
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1600
-    admin_id = request.POST.get('admin_id', '')
1227
+@check_admin
1228
+def member_goods_update(request, administrator):
1601 1229
     good_id = request.POST.get('good_id', '')
1602 1230
     title = request.POST.get('title', '')
1603 1231
     desc = request.POST.get('desc', '')
@@ -1609,14 +1237,6 @@ def member_goods_update(request):
1609 1237
     integral = int(request.POST.get('integral', 0))
1610 1238
     fee = int(request.POST.get('fee', 0))
1611 1239
 
1612
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1613
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1614
-
1615
-    try:
1616
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1617
-    except AdministratorInfo.DoesNotExist:
1618
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1619
-
1620 1240
     try:
1621 1241
         log = GoodsInfo.objects.get(good_id=good_id, status=True)
1622 1242
     except GoodsInfo.DoesNotExist:
@@ -1636,9 +1256,8 @@ def member_goods_update(request):
1636 1256
     return response(200, 'GoodsInfo Update Success', u'积分商品更新成功')
1637 1257
 
1638 1258
 
1639
-def member_goods_create(request):
1640
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1641
-    admin_id = request.POST.get('admin_id', '')
1259
+@check_admin
1260
+def member_goods_create(request, administrator):
1642 1261
     good_type = int(request.POST.get('good_type', 0))
1643 1262
     title = request.POST.get('title', '')
1644 1263
     desc = request.POST.get('desc', '')
@@ -1650,14 +1269,6 @@ def member_goods_create(request):
1650 1269
     integral = int(request.POST.get('integral', 0))
1651 1270
     fee = int(request.POST.get('fee', 0))
1652 1271
 
1653
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1654
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1655
-
1656
-    try:
1657
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1658
-    except AdministratorInfo.DoesNotExist:
1659
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1660
-
1661 1272
     GoodsInfo.objects.create(
1662 1273
         brand_id=administrator.brand_id,
1663 1274
         good_type=good_type,
@@ -1675,23 +1286,14 @@ def member_goods_create(request):
1675 1286
     return response(200, 'GoodsInfo Create Success', u'积分商品创建成功')
1676 1287
 
1677 1288
 
1678
-def complement_code_list(request):
1679
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1680
-    admin_id = request.POST.get('admin_id', '')
1681
-    page = request.POST.get('page', 1)
1682
-    num = request.POST.get('num', 20)
1289
+@check_admin
1290
+def complement_code_list(request, administrator):
1683 1291
     start_time = request.POST.get('start_time', '')
1684 1292
     end_time = request.POST.get('end_time', '')
1685 1293
     type_ = request.POST.get('type', '')
1686 1294
     query = request.POST.get('query', '')
1687
-
1688
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1689
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1690
-
1691
-    try:
1692
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1693
-    except AdministratorInfo.DoesNotExist:
1694
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1295
+    page = request.POST.get('page', 1)
1296
+    num = request.POST.get('num', 20)
1695 1297
 
1696 1298
     logs = ComplementCodeLogInfo.objects.filter(status=True)
1697 1299
 
@@ -1723,21 +1325,14 @@ def complement_code_list(request):
1723 1325
     })
1724 1326
 
1725 1327
 
1328
+@check_admin
1726 1329
 @transaction.atomic
1727
-def complement_code_audit(request):
1330
+def complement_code_audit(request, administrator):
1728 1331
     brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1729 1332
     admin_id = request.POST.get('admin_id', '')
1730 1333
     log_id = request.POST.get('log_id', '')
1731 1334
     audit_status = int(request.POST.get('audit_status', 0))  # -1 审核不通过, 1 审核通过
1732 1335
 
1733
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1734
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1735
-
1736
-    try:
1737
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1738
-    except AdministratorInfo.DoesNotExist:
1739
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1740
-
1741 1336
     if audit_status not in [ComplementCodeLogInfo.AUDIT_REFUSED, ComplementCodeLogInfo.AUDIT_PASS]:
1742 1337
         return response(ComplementCodeStatusCode.COMPLEMENT_CODE_STATUS_INVALID)
1743 1338
 
@@ -1820,21 +1415,12 @@ def complement_code_audit(request):
1820 1415
     return response()
1821 1416
 
1822 1417
 
1418
+@check_admin
1823 1419
 @transaction.atomic
1824
-def complement_code_contacted(request):
1825
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1826
-    admin_id = request.POST.get('admin_id', '')
1420
+def complement_code_contacted(request, administrator):
1827 1421
     log_id = request.POST.get('log_id', '')
1828 1422
     is_contacted = int(request.POST.get('is_contacted', 0))  # 0 未联系, 1 已联系
1829 1423
 
1830
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1831
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1832
-
1833
-    try:
1834
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1835
-    except AdministratorInfo.DoesNotExist:
1836
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1837
-
1838 1424
     try:
1839 1425
         log = ComplementCodeLogInfo.objects.select_for_update().get(log_id=log_id, status=True)
1840 1426
     except ComplementCodeLogInfo.DoesNotExist:
@@ -1846,20 +1432,11 @@ def complement_code_contacted(request):
1846 1432
     return response()
1847 1433
 
1848 1434
 
1849
-def administrator_list(request):
1850
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1851
-    admin_id = request.POST.get('admin_id', '')
1435
+@check_admin
1436
+def administrator_list(request, administrator):
1852 1437
     page = request.POST.get('page', 1)
1853 1438
     num = request.POST.get('num', 20)
1854 1439
 
1855
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1856
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1857
-
1858
-    try:
1859
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1860
-    except AdministratorInfo.DoesNotExist:
1861
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1862
-
1863 1440
     if administrator.admin_type != AdministratorInfo.ADMINISTRATOR:
1864 1441
         return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED)
1865 1442
 
@@ -1868,6 +1445,7 @@ def administrator_list(request):
1868 1445
     count = logs.count()
1869 1446
     logs, left = pagination(logs, page, num)
1870 1447
     logs = [log.admindata for log in logs]
1448
+
1871 1449
     return response(200, 'Get Admin List Success', u'获取后台管理员成功', data={
1872 1450
         'logs': logs,
1873 1451
         'left': left,
@@ -1875,31 +1453,21 @@ def administrator_list(request):
1875 1453
     })
1876 1454
 
1877 1455
 
1878
-def administrator_create(request):
1879
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1880
-    admin_id = request.POST.get('admin_id', '')
1881
-
1456
+@check_admin
1457
+def administrator_create(request, administrator):
1882 1458
     admin_type = request.POST.get('admin_type', '')
1883 1459
     phone = request.POST.get('phone', '')
1884 1460
     name = request.POST.get('name', '')
1885 1461
     password = request.POST.get('password', '')
1886 1462
     brand_name = request.POST.get('brand_name', '')
1887 1463
 
1888
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1889
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1890
-
1891
-    try:
1892
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1893
-    except AdministratorInfo.DoesNotExist:
1894
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1895
-
1896 1464
     if administrator.admin_type != AdministratorInfo.ADMINISTRATOR:
1897 1465
         return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED)
1898 1466
 
1899 1467
     encryption = make_password(strip(password), settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER)
1900 1468
 
1901 1469
     AdministratorInfo.objects.create(
1902
-        brand_id=brand_id,
1470
+        brand_id=administrator.brand_id,
1903 1471
         brand_name=brand_name,
1904 1472
         admin_type=admin_type,
1905 1473
         phone=phone,
@@ -1911,24 +1479,14 @@ def administrator_create(request):
1911 1479
     return response(200, 'Create Admin Success', u'创建后台管理员成功')
1912 1480
 
1913 1481
 
1914
-def administrator_update(request):
1915
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1916
-    admin_id = request.POST.get('admin_id', '')
1917
-
1482
+@check_admin
1483
+def administrator_update(request, administrator):
1918 1484
     target_admin_id = request.POST.get('target_admin_id', '')
1919 1485
     admin_type = int(request.POST.get('admin_type', -1))
1920 1486
     phone = request.POST.get('phone', '')
1921 1487
     name = request.POST.get('name', '')
1922 1488
     password = request.POST.get('password', '')
1923 1489
 
1924
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1925
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1926
-
1927
-    try:
1928
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1929
-    except AdministratorInfo.DoesNotExist:
1930
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1931
-
1932 1490
     if administrator.admin_type != AdministratorInfo.ADMINISTRATOR:
1933 1491
         return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED)
1934 1492
 
@@ -1953,19 +1511,10 @@ def administrator_update(request):
1953 1511
     return response(200, 'Update Admin Success', u'更新后台管理员成功')
1954 1512
 
1955 1513
 
1956
-def administrator_delete(request):
1957
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1958
-    admin_id = request.POST.get('admin_id', '')
1514
+@check_admin
1515
+def administrator_delete(request, administrator):
1959 1516
     target_admin_id = request.POST.get('target_admin_id', '')
1960 1517
 
1961
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1962
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1963
-
1964
-    try:
1965
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1966
-    except AdministratorInfo.DoesNotExist:
1967
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1968
-
1969 1518
     if administrator.admin_type != AdministratorInfo.ADMINISTRATOR:
1970 1519
         return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED)
1971 1520
 
@@ -1974,21 +1523,12 @@ def administrator_delete(request):
1974 1523
     return response(200, 'Delete Admin Success', u'删除后台管理员成功')
1975 1524
 
1976 1525
 
1977
-def administrator_login_list(request):
1978
-    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
1979
-    admin_id = request.POST.get('admin_id', '')
1526
+@check_admin
1527
+def administrator_login_list(request, administrator):
1980 1528
     page = request.POST.get('page', 1)
1981 1529
     num = request.POST.get('num', 20)
1982 1530
     target_admin_id = request.POST.get('target_admin_id', '')
1983 1531
 
1984
-    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
1985
-        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
1986
-
1987
-    try:
1988
-        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
1989
-    except AdministratorInfo.DoesNotExist:
1990
-        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
1991
-
1992 1532
     if administrator.admin_type != AdministratorInfo.ADMINISTRATOR:
1993 1533
         return response(AdministratorStatusCode.ADMINISTRATOR_PERMISSION_DENIED)
1994 1534
 

+ 39 - 0
kodo/decorators.py

@@ -0,0 +1,39 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from __future__ import division
4
+
5
+from functools import wraps
6
+
7
+from django.conf import settings
8
+from django_response import response
9
+
10
+from mch.models import AdministratorInfo
11
+from utils.error.errno_utils import AdministratorStatusCode, ProductBrandStatusCode
12
+
13
+
14
+def check_admin(func=None):
15
+    def decorator(func):
16
+        @wraps(func)
17
+        def returned_wrapper(request, *args, **kwargs):
18
+            brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
19
+            admin_id = request.POST.get('admin_id', '')
20
+
21
+            if brand_id != settings.KODO_DEFAULT_BRAND_ID:
22
+                return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
23
+
24
+            try:
25
+                administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
26
+            except AdministratorInfo.DoesNotExist:
27
+                return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
28
+
29
+            return func(request, administrator=administrator, *args, **kwargs)
30
+
31
+        return returned_wrapper
32
+
33
+    if not func:
34
+        def foo(func):
35
+            return decorator(func)
36
+
37
+        return foo
38
+
39
+    return decorator(func)

kodo - Gogs: Go Git Service

暂无描述

tests.py 126B

    # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.test import TestCase # Create your tests here.