lass="lines-num lines-num-old"> 124
@logit
@@ -165,4 +165,4 @@ def get_userinfo_api2(request):
user.city = userinfo.get('city', '')
user.save()
- return response(200, 'Mini App Get Userinfo Success', u'微信小程序获取用户信息成功', user.data)
+ return response(200, 'Mini App Get Userinfo Success', '微信小程序获取用户信息成功', user.data)
@@ -79,4 +79,4 @@ urlpatterns += [ |
||
79 | 79 |
|
80 | 80 |
urlpatterns += [ |
81 | 81 |
url(r'^mp/branch/campus/list$', branch_campus_views.get_branch_campus_list, name='get_branch_campus_list'), |
82 |
-] |
|
82 |
+] |
@@ -5,21 +5,23 @@ from django.utils.translation import ugettext_lazy as _ |
||
5 | 5 |
|
6 | 6 |
|
7 | 7 |
class BaseModelMixin(models.Model): |
8 |
- status = models.BooleanField(_(u'status'), default=True, help_text=_(u'状态'), db_index=True) |
|
9 |
- created_at = models.DateTimeField(_(u'created_at'), auto_now_add=True, editable=True, help_text=_(u'创建时间')) |
|
10 |
- updated_at = models.DateTimeField(_(u'updated_at'), auto_now=True, editable=True, help_text=_(u'更新时间')) |
|
8 |
+ status = models.BooleanField(_('status'), default=True, help_text=_('状态'), db_index=True) |
|
9 |
+ created_at = models.DateTimeField(_('created_at'), auto_now_add=True, editable=True, help_text=_('创建时间')) |
|
10 |
+ updated_at = models.DateTimeField(_('updated_at'), auto_now=True, editable=True, help_text=_('更新时间')) |
|
11 | 11 |
|
12 | 12 |
class Meta: |
13 | 13 |
abstract = True |
14 | 14 |
|
15 | 15 |
|
16 | 16 |
class SexChoicesMixin(models.Model): |
17 |
+ UNKNOWN = 0 |
|
17 | 18 |
MALE = 1 |
18 |
- FEMALE = 0 |
|
19 |
+ FEMALE = 2 |
|
19 | 20 |
|
20 |
- SEX_TYPE = ( |
|
21 |
- (MALE, u'男'), |
|
22 |
- (FEMALE, u'女'), |
|
21 |
+ SEX_TUPLE = ( |
|
22 |
+ (UNKNOWN, '未知'), |
|
23 |
+ (MALE, '男'), |
|
24 |
+ (FEMALE, '女'), |
|
23 | 25 |
) |
24 | 26 |
|
25 | 27 |
class Meta: |
@@ -9,4 +9,4 @@ stopasgroup=true |
||
9 | 9 |
killasgroup=true |
10 | 10 |
stdout_logfile=/var/log/supervisor_pollqueue_access.log |
11 | 11 |
stderr_logfile=/var/log/supervisor_pollqueue_error.log |
12 |
-user=diors |
|
12 |
+user=paiai |
@@ -9,4 +9,4 @@ stopasgroup=true |
||
9 | 9 |
killasgroup=true |
10 | 10 |
stdout_logfile=/var/log/supervisor_rlistlog_access.log |
11 | 11 |
stderr_logfile=/var/log/supervisor_rlistlog_error.log |
12 |
-user=diors |
|
12 |
+user=paiai |
@@ -14,4 +14,4 @@ EMAIL_HOST_USER = 'error.notify@exmail.com' |
||
14 | 14 |
EMAIL_HOST_PASSWORD = '<^_^>pwd<^_^>' |
15 | 15 |
DEFAULT_FROM_EMAIL = 'error.notify <error.notify@exmail.com>' |
16 | 16 |
ADMINS = [('Zhang San', 'san.zhang@exmail.com'), ('Li Si', 'si.li@exmail.com')] |
17 |
-EMAIL_SUBJECT_PREFIX = u'[Hanyuan] ' |
|
17 |
+EMAIL_SUBJECT_PREFIX = '[Hanyuan] ' |
@@ -282,7 +282,7 @@ ADMINS = [('Zhang San', 'san.zhang@exmail.com'), ('Li Si', 'si.li@exmail.com')] |
||
282 | 282 |
MANAGERS = ADMINS |
283 | 283 |
# Subject-line prefix for email messages send with django.core.mail.mail_admins |
284 | 284 |
# or ...mail_managers. Make sure to include the trailing space. |
285 |
-EMAIL_SUBJECT_PREFIX = u'[Hanyuan] ' |
|
285 |
+EMAIL_SUBJECT_PREFIX = '[Hanyuan] ' |
|
286 | 286 |
|
287 | 287 |
# Django-Admin Settings |
288 | 288 |
DJANGO_ADMIN_DISABLE_DELETE_SELECTED = False |
@@ -402,3 +402,6 @@ LOGGING = { |
||
402 | 402 |
# 64 bit 9223372036854775807, 32 bit 2147483647 |
403 | 403 |
from django.db.models import BigIntegerField # isort:skip |
404 | 404 |
MAX_BIGINT = BigIntegerField.MAX_BIGINT |
405 |
+ |
|
406 |
+# DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' |
|
407 |
+DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' |
@@ -14,7 +14,7 @@ class BranchCampusInfoAdmin(admin.ModelAdmin): |
||
14 | 14 |
|
15 | 15 |
|
16 | 16 |
class BranchCampusAdministratorInfoAdmin(admin.ModelAdmin): |
17 |
- list_display = ('admin_id', 'campus_id', 'campus_name', 'admin_type', 'name', 'phone', 'password', 'encryption', 'user_status', 'updated_at', 'created_at') |
|
17 |
+ list_display = ('admin_id', 'campus_id', 'campus_name', 'admin_type', 'name', 'phone', 'password', 'encryption', 'user_status', 'status', 'updated_at', 'created_at') |
|
18 | 18 |
|
19 | 19 |
def save_model(self, request, obj, form, change): |
20 | 20 |
password = obj.password or obj.phone[-6:] |
@@ -23,15 +23,15 @@ class BranchCampusAdministratorInfoAdmin(admin.ModelAdmin): |
||
23 | 23 |
|
24 | 24 |
|
25 | 25 |
class CourseInfoAdmin(admin.ModelAdmin): |
26 |
- list_display = ('course_id', 'course_name', 'authorities', 'updated_at', 'created_at') |
|
26 |
+ list_display = ('course_id', 'course_name', 'authorities', 'status', 'updated_at', 'created_at') |
|
27 | 27 |
|
28 | 28 |
|
29 | 29 |
class CourseRegisterFieldPoolInfoAdmin(admin.ModelAdmin): |
30 |
- list_display = ('field_type', 'field_key', 'field_name', 'field_options', 'updated_at', 'created_at') |
|
30 |
+ list_display = ('field_type', 'field_key', 'field_name', 'field_options', 'status', 'updated_at', 'created_at') |
|
31 | 31 |
|
32 | 32 |
|
33 | 33 |
class CourseRegisterFieldInfoAdmin(admin.ModelAdmin): |
34 |
- list_display = ('field_id', 'course_id', 'course_name', 'fields', 'limit_scene_qrcode_url', 'updated_at', 'created_at') |
|
34 |
+ list_display = ('field_id', 'course_id', 'course_name', 'fields', 'limit_scene_qrcode_url', 'status', 'updated_at', 'created_at') |
|
35 | 35 |
|
36 | 36 |
def save_model(self, request, obj, form, change): |
37 | 37 |
obj.save() |
@@ -44,11 +44,11 @@ class CourseRegisterFieldInfoAdmin(admin.ModelAdmin): |
||
44 | 44 |
|
45 | 45 |
|
46 | 46 |
class CourseRegisterInfoAdmin(admin.ModelAdmin): |
47 |
- list_display = ('campus_id', 'campus_name', 'admin_id', 'admin_name', 'user_id', 'field_id', 'course_id', 'course_name', 'fields', 'updated_at', 'created_at') |
|
47 |
+ list_display = ('campus_id', 'campus_name', 'admin_id', 'admin_name', 'user_id', 'field_id', 'course_id', 'course_name', 'fields', 'status', 'updated_at', 'created_at') |
|
48 | 48 |
|
49 | 49 |
|
50 | 50 |
class UserCourseRegisterInfoAdmin(admin.ModelAdmin): |
51 |
- list_display = ('campus_id', 'campus_name', 'admin_id', 'admin_name', 'user_id', 'course_id', 'course_name', 'user_status', 'fields', 'updated_at', 'created_at') |
|
51 |
+ list_display = ('campus_id', 'campus_name', 'admin_id', 'admin_name', 'user_id', 'course_id', 'course_name', 'user_status', 'fields', 'status', 'updated_at', 'created_at') |
|
52 | 52 |
|
53 | 53 |
|
54 | 54 |
admin.site.register(BranchCampusInfo, BranchCampusInfoAdmin) |
@@ -67,14 +67,14 @@ class BranchCampusAdministratorInfo(BaseModelMixin): |
||
67 | 67 |
|
68 | 68 |
name = models.CharField(_('name'), max_length=255, blank=True, null=True, help_text='管理员姓名') |
69 | 69 |
phone = models.CharField(_('phone'), max_length=11, blank=True, null=True, help_text='管理员电话', db_index=True) |
70 |
- password = models.CharField(_(u'password'), max_length=255, blank=True, null=True, help_text=u'管理员密码') |
|
71 |
- encryption = models.CharField(_(u'encryption'), max_length=255, blank=True, null=True, help_text=u'管理员密码') |
|
70 |
+ password = models.CharField(_('password'), max_length=255, blank=True, null=True, help_text='管理员密码') |
|
71 |
+ encryption = models.CharField(_('encryption'), max_length=255, blank=True, null=True, help_text='管理员密码') |
|
72 | 72 |
|
73 | 73 |
user_status = models.IntegerField(_('user_status'), choices=USER_STATUS_TUPLE, default=PENDING, help_text='管理员状态', db_index=True) |
74 | 74 |
|
75 | 75 |
class Meta: |
76 |
- verbose_name = _(u'分院管理员信息') |
|
77 |
- verbose_name_plural = _(u'分院管理员信息') |
|
76 |
+ verbose_name = _('分院管理员信息') |
|
77 |
+ verbose_name_plural = _('分院管理员信息') |
|
78 | 78 |
|
79 | 79 |
def __unicode__(self): |
80 | 80 |
return '%d' % self.pk |
@@ -256,11 +256,11 @@ class UserCourseRegisterInfo(BaseModelMixin): |
||
256 | 256 |
CERTIFICATE = 'certificate' |
257 | 257 |
|
258 | 258 |
USER_STATUS_TUPLE = ( |
259 |
- (INCLASS, '上课中'), |
|
259 |
+ (INCLASS, '上课中'), |
|
260 | 260 |
(GRADUATED, '已毕业'), |
261 | 261 |
(CERTIFICATE, '已发证'), |
262 | 262 |
) |
263 |
- |
|
263 |
+ |
|
264 | 264 |
campus_id = models.CharField(_('campus_id'), max_length=32, blank=True, null=True, help_text='分院唯一标识', db_index=True) |
265 | 265 |
campus_name = models.CharField(_('campus_name'), max_length=255, blank=True, null=True, help_text='分院名称') |
266 | 266 |
|
@@ -274,7 +274,6 @@ class UserCourseRegisterInfo(BaseModelMixin): |
||
274 | 274 |
|
275 | 275 |
user_status = models.CharField(_('user_status'), max_length=32, choices=USER_STATUS_TUPLE, default=INCLASS, help_text='用户状态') |
276 | 276 |
|
277 |
- |
|
278 | 277 |
# { |
279 | 278 |
# 'field_id': '', |
280 | 279 |
# 'fields': [] |
@@ -1,4 +1,4 @@ |
||
1 |
-Django==3.2.4 |
|
1 |
+Django==3.2.6 |
|
2 | 2 |
django-admin==2.0.1 |
3 | 3 |
django-detect==1.0.20 |
4 | 4 |
django-file==1.0.4 |
@@ -5,32 +5,32 @@ from StatusCode import BaseStatusCode, StatusCodeField |
||
5 | 5 |
|
6 | 6 |
class ParamStatusCode(BaseStatusCode): |
7 | 7 |
""" 4000xx 参数相关错误码 """ |
8 |
- PARAM_NOT_FOUND = StatusCodeField(400000, 'Param Not Found', description=u'参数不存在') |
|
8 |
+ PARAM_NOT_FOUND = StatusCodeField(400000, 'Param Not Found', description='参数不存在') |
|
9 | 9 |
|
10 | 10 |
|
11 | 11 |
class ProfileStatusCode(BaseStatusCode): |
12 | 12 |
""" 4001xx 用户相关错误码 """ |
13 |
- PROFILE_NOT_FOUND = StatusCodeField(400101, 'Profile Not Found', description=u'用户不存在') |
|
13 |
+ PROFILE_NOT_FOUND = StatusCodeField(400101, 'Profile Not Found', description='用户不存在') |
|
14 | 14 |
|
15 | 15 |
|
16 | 16 |
class PhoneStatusCode(BaseStatusCode): |
17 | 17 |
""" 4002xx 手机相关错误码 """ |
18 |
- INVALID_PHONE = StatusCodeField(400200, 'Invalid Phone', description=u'非法手机号') |
|
19 |
- PHONE_NOT_FOUND = StatusCodeField(400201, 'Phone Not Found', description=u'手机号不存在') |
|
20 |
- PHONE_ALREADY_EXISTS = StatusCodeField(400202, 'Phone Already Exists', description=u'手机号已存在') |
|
18 |
+ INVALID_PHONE = StatusCodeField(400200, 'Invalid Phone', description='非法手机号') |
|
19 |
+ PHONE_NOT_FOUND = StatusCodeField(400201, 'Phone Not Found', description='手机号不存在') |
|
20 |
+ PHONE_ALREADY_EXISTS = StatusCodeField(400202, 'Phone Already Exists', description='手机号已存在') |
|
21 | 21 |
|
22 | 22 |
|
23 | 23 |
class OrderStatusCode(BaseStatusCode): |
24 | 24 |
""" 4040xx 订单/支付相关错误码 """ |
25 |
- UNIFIED_ORDER_FAIL = StatusCodeField(404000, 'Unified Order Fail', description=u'统一下单失败') |
|
26 |
- ORDER_NOT_FOUND = StatusCodeField(404001, 'Order Not Found', description=u'订单不存在') |
|
25 |
+ UNIFIED_ORDER_FAIL = StatusCodeField(404000, 'Unified Order Fail', description='统一下单失败') |
|
26 |
+ ORDER_NOT_FOUND = StatusCodeField(404001, 'Order Not Found', description='订单不存在') |
|
27 | 27 |
# 订单支付状态 |
28 |
- ORDER_NOT_PAY = StatusCodeField(404011, 'Order Not Pay', description=u'订单未支付') |
|
29 |
- ORDER_PAYING = StatusCodeField(404012, 'Order Paying', description=u'订单支付中') |
|
30 |
- ORDER_PAY_FAIL = StatusCodeField(404013, 'Order Pay Fail', description=u'微信支付失败') |
|
28 |
+ ORDER_NOT_PAY = StatusCodeField(404011, 'Order Not Pay', description='订单未支付') |
|
29 |
+ ORDER_PAYING = StatusCodeField(404012, 'Order Paying', description='订单支付中') |
|
30 |
+ ORDER_PAY_FAIL = StatusCodeField(404013, 'Order Pay Fail', description='微信支付失败') |
|
31 | 31 |
# 通知校验状态 |
32 |
- SIGN_CHECK_FAIL = StatusCodeField(404090, 'Sign Check Fail', description=u'签名校验失败') |
|
33 |
- FEE_CHECK_FAIL = StatusCodeField(404091, 'FEE Check Fail', description=u'金额校验失败') |
|
32 |
+ SIGN_CHECK_FAIL = StatusCodeField(404090, 'Sign Check Fail', description='签名校验失败') |
|
33 |
+ FEE_CHECK_FAIL = StatusCodeField(404091, 'FEE Check Fail', description='金额校验失败') |
|
34 | 34 |
|
35 | 35 |
|
36 | 36 |
class PayStatusCode(BaseStatusCode): |
@@ -39,39 +39,39 @@ class PayStatusCode(BaseStatusCode): |
||
39 | 39 |
|
40 | 40 |
class WithdrawStatusCode(BaseStatusCode): |
41 | 41 |
""" 4042xx 提现相关错误码 """ |
42 |
- BALANCE_INSUFFICIENT = StatusCodeField(404200, 'Balance Insufficient', description=u'提现金额不足') |
|
42 |
+ BALANCE_INSUFFICIENT = StatusCodeField(404200, 'Balance Insufficient', description='提现金额不足') |
|
43 | 43 |
|
44 | 44 |
|
45 | 45 |
class TokenStatusCode(BaseStatusCode): |
46 | 46 |
""" 4090xx 票据相关错误码 """ |
47 |
- TOKEN_NOT_FOUND = StatusCodeField(409001, 'Token Not Found', description=u'票据不存在') |
|
47 |
+ TOKEN_NOT_FOUND = StatusCodeField(409001, 'Token Not Found', description='票据不存在') |
|
48 | 48 |
|
49 | 49 |
|
50 | 50 |
class SignatureStatusCode(BaseStatusCode): |
51 | 51 |
""" 4091xx 签名校验错误 """ |
52 |
- SIGNATURE_ERROR = StatusCodeField(409101, 'Signature Error', description=u'签名错误') |
|
52 |
+ SIGNATURE_ERROR = StatusCodeField(409101, 'Signature Error', description='签名错误') |
|
53 | 53 |
|
54 | 54 |
|
55 | 55 |
class GVCodeStatusCode(BaseStatusCode): |
56 | 56 |
""" 4092xx 图形验证码相关错误码 """ |
57 |
- GRAPHIC_VCODE_ERROR = StatusCodeField(409201, 'Graphic VCode Error', description=u'图形验证码错误') |
|
57 |
+ GRAPHIC_VCODE_ERROR = StatusCodeField(409201, 'Graphic VCode Error', description='图形验证码错误') |
|
58 | 58 |
|
59 | 59 |
|
60 | 60 |
class SVCodeStatusCode(BaseStatusCode): |
61 | 61 |
""" 4093xx 短信验证码相关错误码 """ |
62 |
- SMS_QUOTA_LIMIT = StatusCodeField(409300, 'SMS Quota Limit', description=u'短信次数超限') |
|
63 |
- SMS_VCODE_ERROR = StatusCodeField(409301, 'SMS VCode Error', description=u'验证码错误,请稍后重试') |
|
64 |
- SMS_VCODE_HAS_SEND = StatusCodeField(409302, 'SMS VCode Has Send', description=u'验证码已发送,请勿重复获取') |
|
62 |
+ SMS_QUOTA_LIMIT = StatusCodeField(409300, 'SMS Quota Limit', description='短信次数超限') |
|
63 |
+ SMS_VCODE_ERROR = StatusCodeField(409301, 'SMS VCode Error', description='验证码错误,请稍后重试') |
|
64 |
+ SMS_VCODE_HAS_SEND = StatusCodeField(409302, 'SMS VCode Has Send', description='验证码已发送,请勿重复获取') |
|
65 | 65 |
|
66 | 66 |
|
67 | 67 |
class InsufficientStatusCode(BaseStatusCode): |
68 | 68 |
""" 4095xx 不足相关错误码 """ |
69 |
- BALANCE_INSUFFICIENT = StatusCodeField(409501, 'Balance Insufficient', description=u'余额不足') |
|
70 |
- INTEGRAL_INSUFFICIENT = StatusCodeField(409502, 'Integral Insufficient', description=u'积分不足') |
|
69 |
+ BALANCE_INSUFFICIENT = StatusCodeField(409501, 'Balance Insufficient', description='余额不足') |
|
70 |
+ INTEGRAL_INSUFFICIENT = StatusCodeField(409502, 'Integral Insufficient', description='积分不足') |
|
71 | 71 |
|
72 | 72 |
|
73 | 73 |
class PermissionStatusCode(BaseStatusCode): |
74 | 74 |
""" 4099xx 权限相关错误码 """ |
75 |
- PERMISSION_DENIED = StatusCodeField(409900, 'Permission Denied', description=u'权限不足') |
|
76 |
- UPLOAD_PERMISSION_DENIED = StatusCodeField(409910, 'Upload Permission Denied', description=u'上传权限不足') |
|
77 |
- UPDATE_PERMISSION_DENIED = StatusCodeField(409930, 'Update Permission Denied', description=u'更新权限不足') |
|
75 |
+ PERMISSION_DENIED = StatusCodeField(409900, 'Permission Denied', description='权限不足') |
|
76 |
+ UPLOAD_PERMISSION_DENIED = StatusCodeField(409910, 'Upload Permission Denied', description='上传权限不足') |
|
77 |
+ UPDATE_PERMISSION_DENIED = StatusCodeField(409930, 'Update Permission Denied', description='更新权限不足') |