"lines-code">
+from django.test import TestCase
2
+
3
+# Create your tests here.

+ 3 - 0
apps/contract/views.py

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

+ 0 - 0
apps/lensman/activity/__init__.py


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

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

+ 6 - 0
apps/lensman/activity/apps.py

@@ -0,0 +1,6 @@
1
+from django.apps import AppConfig
2
+
3
+
4
+class ActivityConfig(AppConfig):
5
+    default_auto_field = 'django.db.models.BigAutoField'
6
+    name = 'apps.lensman.activity'

+ 32 - 0
apps/lensman/activity/migrations/0001_initial.py

@@ -0,0 +1,32 @@
1
+# Generated by Django 3.2.8 on 2024-08-09 04:36
2
+
3
+from django.db import migrations, models
4
+
5
+
6
+class Migration(migrations.Migration):
7
+
8
+    initial = True
9
+
10
+    dependencies = [
11
+    ]
12
+
13
+    operations = [
14
+        migrations.CreateModel(
15
+            name='LensmanContributionActivityIncomeExpensesInfo',
16
+            fields=[
17
+                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18
+                ('status', models.BooleanField(default=True, help_text='Status', verbose_name='status')),
19
+                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
20
+                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
21
+                ('user_id', models.CharField(blank=True, db_index=True, help_text='用户唯一标识', max_length=32, null=True, verbose_name='user_id')),
22
+                ('lensman_id', models.CharField(blank=True, db_index=True, help_text='摄影师唯一标识', max_length=32, null=True, verbose_name='lensman_id')),
23
+                ('activity_id', models.CharField(blank=True, db_index=True, help_text='活动唯一标识', max_length=32, null=True, verbose_name='activity_id')),
24
+                ('contribution_id', models.CharField(blank=True, db_index=True, help_text='活动投稿唯一标识', max_length=32, null=True, verbose_name='contribution_id')),
25
+                ('amount', models.IntegerField(default=0, help_text='金额(分)', verbose_name='amount')),
26
+            ],
27
+            options={
28
+                'verbose_name': '摄影师投稿活动收入费用信息',
29
+                'verbose_name_plural': '摄影师投稿活动收入费用信息',
30
+            },
31
+        ),
32
+    ]

+ 0 - 0
apps/lensman/activity/migrations/__init__.py


+ 37 - 0
apps/lensman/activity/models.py

@@ -0,0 +1,37 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.db import models
4
+from django.utils.translation import ugettext_lazy as _
5
+from django_models_ext import BaseModelMixin
6
+from TimeConvert import TimeConvert as tc
7
+
8
+class LensmanContributionActivityIncomeExpensesInfo(BaseModelMixin):
9
+    user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True)
10
+    lensman_id = models.CharField(_(u'lensman_id'), max_length=32, blank=True, null=True, help_text=u'摄影师唯一标识', db_index=True)
11
+
12
+    activity_id = models.CharField(_(u'activity_id'), max_length=32, blank=True, null=True, help_text=u'活动唯一标识', db_index=True)
13
+    contribution_id = models.CharField(_(u'contribution_id'), max_length=32, blank=True, null=True, help_text=u'活动投稿唯一标识', db_index=True)
14
+
15
+    amount = models.IntegerField(_(u'amount'), default=0, help_text=u'金额(分)')
16
+
17
+    class Meta:
18
+        verbose_name = _(u'摄影师投稿活动收入费用信息')
19
+        verbose_name_plural = _(u'摄影师投稿活动收入费用信息')
20
+
21
+    def __unicode__(self):
22
+        return '%d' % self.pk
23
+    
24
+    @property
25
+    def data(self):
26
+        return {
27
+            'lensman_id': self.lensman_id,
28
+            'activity_id': self.activity_id,
29
+            'contribution_id': self.contribution_id,
30
+            'amount': self.amount,
31
+            'created_at': tc.local_string(utc_dt=self.created_at, format='%Y-%m-%d %H:%M:%S'),
32
+            'updated_at': tc.local_string(utc_dt=self.updated_at, format='%Y-%m-%d %H:%M:%S')
33
+        }
34
+    
35
+    @property
36
+    def admindata(self):
37
+        return self.data

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

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

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

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

+ 44 - 19
kodo/settings.py

@@ -74,6 +74,8 @@ INSTALLED_APPS = (
74 74
     'statistic',
75 75
     'tenancy',
76 76
     'website',
77
+    'apps.contract',
78
+    'apps.lensman.activity'
77 79
 )
78 80
 
79 81
 INSTALLED_APPS += ('multidomain', )
@@ -262,9 +264,12 @@ QINIU = {
262 264
 # 图片链接设置
263 265
 FILE_URL_TYPE = 'AUTO'  # QINIU / SERVER / AUTO
264 266
 QINIU_FILE_URL_HTTPS = True
265
-QINIU_FILE_URL_BEFORE = 'https://img.tamron.kodo.com.cn'  # QINIU_FILE_URL_HTTPS False 时必填
266
-QINIU_FILE_URL_BEFORE2 = 'https://img.tamron.kodo.com.cn'  # QINIU_FILE_URL_HTTPS False 时必填
267
-QINIU_FILE_URL_AFTER = 'http://img.tamron.kodo.com.cn'  # QINIU_FILE_URL_HTTPS False 时必填
267
+# QINIU_FILE_URL_HTTPS False 时必填
268
+QINIU_FILE_URL_BEFORE = 'https://img.tamron.kodo.com.cn'
269
+# QINIU_FILE_URL_HTTPS False 时必填
270
+QINIU_FILE_URL_BEFORE2 = 'https://img.tamron.kodo.com.cn'
271
+# QINIU_FILE_URL_HTTPS False 时必填
272
+QINIU_FILE_URL_AFTER = 'http://img.tamron.kodo.com.cn'
268 273
 
269 274
 # 图片设置
270 275
 # https://docs.djangoproject.com/en/5.0/releases/1.10/#maximum-size-of-a-request-body-and-the-number-of-get-post-parameters-is-limited
@@ -280,10 +285,12 @@ CURTAIL_UUID_LENGTH = 7  # Used in django-curtail-uuid==1.0.0
280 285
 
281 286
 # 水印设置
282 287
 WATERMARK_OR_NOT = False  # 水印是否开启
283
-WATERMARK_LOGO_PATH = os.path.join(PROJ_DIR, 'static/kodo/img/paiai_water_mark.png').replace('\\', '/')  # 水印图片路径
288
+WATERMARK_LOGO_PATH = os.path.join(
289
+    PROJ_DIR, 'static/kodo/img/paiai_water_mark.png').replace('\\', '/')  # 水印图片路径
284 290
 
285 291
 # 原图设置
286
-LENSMAN_PHOTO_ORIGIN_EXPIRED_MSEL = 604800000  # 摄影师原图过期毫秒数,7d = 7 * 24 * 3600 * 1000msel
292
+# 摄影师原图过期毫秒数,7d = 7 * 24 * 3600 * 1000msel
293
+LENSMAN_PHOTO_ORIGIN_EXPIRED_MSEL = 604800000
287 294
 
288 295
 # 缩略图设置
289 296
 THUMBNAIL_MAX_WIDTH = 540
@@ -292,19 +299,27 @@ THUMBNAIL_MAX_WIDTH2 = 1080
292 299
 # 首页设置
293 300
 PAI2_HOME_PER_PAGE = 20  # 首页照片每页数量
294 301
 PAI2_HOME_MAX_PAGE = 20  # 首页照片最大页数
295
-PAI2_HOME_MAX_ROWS = 400  # 首页照片最大数量,PAI2_HOME_PER_PAGE * PAI2_HOME_MAX_PAGE = 20 * 20 = 400
302
+# 首页照片最大数量,PAI2_HOME_PER_PAGE * PAI2_HOME_MAX_PAGE = 20 * 20 = 400
303
+PAI2_HOME_MAX_ROWS = 400
296 304
 
297 305
 # 下载页设置
298
-TMPL_DOWNLOAD_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
306
+TMPL_DOWNLOAD_PAGE_PATH = os.path.join(
307
+    BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
299 308
 
300
-PAI2_USER_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_user_adr_download.html').replace('\\', '/')
301
-PAI2_USER_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_user_ios_download.html').replace('\\', '/')
309
+PAI2_USER_DOWNLOAD_ADR_PAGE_PATH = os.path.join(
310
+    BASE_DIR, 'page/templates/page/kodo_user_adr_download.html').replace('\\', '/')
311
+PAI2_USER_DOWNLOAD_IOS_PAGE_PATH = os.path.join(
312
+    BASE_DIR, 'page/templates/page/kodo_user_ios_download.html').replace('\\', '/')
302 313
 
303
-PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_lensman_adr_download.html').replace('\\', '/')
304
-PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_lensman_ios_download.html').replace('\\', '/')
314
+PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH = os.path.join(
315
+    BASE_DIR, 'page/templates/page/kodo_lensman_adr_download.html').replace('\\', '/')
316
+PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH = os.path.join(
317
+    BASE_DIR, 'page/templates/page/kodo_lensman_ios_download.html').replace('\\', '/')
305 318
 
306
-PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_tourguide_adr_download.html').replace('\\', '/')
307
-PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_tourguide_ios_download.html').replace('\\', '/')
319
+PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH = os.path.join(
320
+    BASE_DIR, 'page/templates/page/kodo_tourguide_adr_download.html').replace('\\', '/')
321
+PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH = os.path.join(
322
+    BASE_DIR, 'page/templates/page/kodo_tourguide_ios_download.html').replace('\\', '/')
308 323
 
309 324
 # 下载设置
310 325
 PAI2_USER_DOWNLOAD_WX_URL = 'https://a.app.qq.com/o/simple.jsp?pkgname=ai.pai.client'
@@ -490,7 +505,8 @@ WEBSITE_MOBI = '{0}/pc/'.format(DOMAIN)
490 505
 
491 506
 # 依赖 local_settings 中的配置
492 507
 # 微信授权设置
493
-WECHAT_OAUTH2_REDIRECT_URI = '{0}/we/we_oauth2?scope={{0}}redirect_url={{1}}'.format(DOMAIN_HTTP)
508
+WECHAT_OAUTH2_REDIRECT_URI = '{0}/we/we_oauth2?scope={{0}}redirect_url={{1}}'.format(
509
+    DOMAIN_HTTP)
494 510
 WECHAT_BASE_REDIRECT_URI = '{0}/we/base_redirect'.format(DOMAIN_HTTP)
495 511
 WECHAT_USERINFO_REDIRECT_URI = '{0}/we/userinfo_redirect'.format(DOMAIN_HTTP)
496 512
 
@@ -500,13 +516,18 @@ SYSTEM_MESSAGE_AVATAR = PAI2_LOGO_URL
500 516
 COMMENT_MESSAGE_AVATAR = PAI2_LOGO_URL
501 517
 THUMBUP_MESSAGE_AVATAR = PAI2_LOGO_URL
502 518
 
503
-KODO_CLERK_AUTH_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fclerk%3Fbrand_id%3D{{0}}'.format(OAUTH_DOMAIN, BASE_DOMAIN)
504
-KODO_SCREEN_AUTH_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fscreen%2Fadmin%2Foauth%3Fbrand_id%3D{{0}}'.format(OAUTH_DOMAIN, BASE_DOMAIN)
505
-KODO_SCREEN_LOGIN_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fscreen%2Fadmin%2Flogin%3Fbrand_id%3D{{0}}%26token%3D{{1}}'.format(OAUTH_DOMAIN, BASE_DOMAIN)
519
+KODO_CLERK_AUTH_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fclerk%3Fbrand_id%3D{{0}}'.format(
520
+    OAUTH_DOMAIN, BASE_DOMAIN)
521
+KODO_SCREEN_AUTH_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fscreen%2Fadmin%2Foauth%3Fbrand_id%3D{{0}}'.format(
522
+    OAUTH_DOMAIN, BASE_DOMAIN)
523
+KODO_SCREEN_LOGIN_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fscreen%2Fadmin%2Flogin%3Fbrand_id%3D{{0}}%26token%3D{{1}}'.format(
524
+    OAUTH_DOMAIN, BASE_DOMAIN)
506 525
 
507
-KODO_SUPERSR_AUTH_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fsupersr%2Foauth%3Fbrand_id%3D{{0}}'.format(OAUTH_DOMAIN, BASE_DOMAIN)
526
+KODO_SUPERSR_AUTH_URL = '{0}/w/o?r=http%3A%2F%2F{1}%2Fp%2Fsupersr%2Foauth%3Fbrand_id%3D{{0}}'.format(
527
+    OAUTH_DOMAIN, BASE_DOMAIN)
508 528
 
509
-DJANGO_WE_COMPONENT_REDIRECT_URI = '{0}/we/component_preauth'.format(PREAUTH_DOMAIN)
529
+DJANGO_WE_COMPONENT_REDIRECT_URI = '{0}/we/component_preauth'.format(
530
+    PREAUTH_DOMAIN)
510 531
 
511 532
 # Redis 连接
512 533
 REDIS_CACHE = connector(REDIS.get('default', {}))
@@ -569,3 +590,7 @@ DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
569 590
 
570 591
 DEFAULT_START_DATE = '1970-01-02'
571 592
 DEFAULT_END_DATE = '9999-12-03'
593
+
594
+# 腾讯电子签配置
595
+CONTRACT_LENSMAN_CONTRIBUTION_TEMPLATE_ID = 'yDCp3UU05rgksnUXtZsEvdrK1tRGb7ax'
596
+CONTRACT_LENSMAN_CONTRIBUTION_OPERATOR_ID = 'yDCp3UU055m70lUx6jaTk1RVkiVkKenJ'

+ 0 - 0
utils/amount_utils.py


kodo - Gogs: Go Git Service

Brak opisu

FFIB: c744c23819 输出照片结果 1 rok temu
.venv 06caafb5e7 新增摄影师类型字段 2 lat temu
.vscode 16935a36d3 小程序接口,新增经销商列表,销售员注册,获取销售信息 2 lat temu
account 06caafb5e7 新增摄影师类型字段 2 lat temu
api 59b926c464 update 1 rok temu
apps 06caafb5e7 新增摄影师类型字段 2 lat temu
commands 99c26823a0 :art: Update qiniuonce 2 lat temu
coupon cefcead4b4 coupon 图片返回七牛云链接 3 lat temu
docs 212e3994d1 MP verify file 9 lat temu
guideline 1da9278ecd :art: Change user avatar url 3 lat temu
integral 189368f5ed filefield 增加max_length 3 lat temu
kodo 7ecd5dbbe4 :bug: Params for file upload parse error 1 rok temu
logs acba74980f :art: Opt ComplementCodeLogInfo's image 2 lat temu
maintenance c6f7c0d550 :art: iSort & PEP8 2 lat temu
marketcode 28f8bc3cb9 :art: Models update for tenancy 4 lat temu
mch 275e02f8f5 image2_url 为空时 2 lat temu
member c6f7c0d550 :art: iSort & PEP8 2 lat temu
miniapp 99057eda84 :art: Update get branch_id 3 lat temu
operation e7da55aaf2 :art: Add complement_code 5 lat temu
page 96cbf029bb :art: Make tag normal 2 lat temu
pre df68566eea 发送模板消息,结果写入日志 3 lat temu
sales 1da9278ecd :art: Change user avatar url 3 lat temu
server 018d52f61d Update package django_xxx 8 lat temu
shells 6270484a89 :art: fix_user_coupon_info 5 lat temu
simditor 3e9628d0c9 iSort & Pycodestyle 6 lat temu
src b2c06ede0d 新增摄影师模块 2 lat temu
staff 1ffa40b747 :art: Makemigrations 4 lat temu
statistic e9c4ba1497 :art: Opt year data 2 lat temu
tenancy 49b5100661 fix request_status_at bug 2 lat temu
utils c744c23819 输出照片结果 1 rok temu
website 597ee33ba6 Pai2 => Kodo 8 lat temu
.editorconfig 4defb80fdc gogs first init 11 lat temu
.gitignore 4ce7f5c87b :art: Member Relative APIs 7 lat temu
.isort.cfg afcdf74a49 add api group_data_api 10 lat temu
12167620_tamron.kodo.com.cn_nginx.zip 648c227b37 :art: SSH 2 lat temu
TODO.md d31ffaa118 Update TODO 9 lat temu
check.sh 95c1d32792 put isort and pep8 in check.sh 10 lat temu
isort.sh 3e9628d0c9 iSort & Pycodestyle 6 lat temu
manage.py 597ee33ba6 Pai2 => Kodo 8 lat temu
pep8.sh b580e80550 :art: iSort & iCheck 2 lat temu
requirements.txt 5d34bd84b1 :art: Support ess_callback 2 lat temu
requirements_deploy.txt 5f84d39769 :art: Update requirements_xxx.txt 4 lat temu
requirements_dev.txt 5f84d39769 :art: Update requirements_xxx.txt 4 lat temu
requirements_dj.txt 48fd84ce1d :bug: Fix Bug: TypeError: can only concatenate str (not relativedelta) to str 4 lat temu
requirements_pywe.txt 1a5de6e1cb :art: get_wxa_code 4 lat temu
requirements_redis.txt 48fd84ce1d :bug: Fix Bug: TypeError: can only concatenate str (not relativedelta) to str 4 lat temu
sysctl.sh 34c6774438 Opt 8 lat temu
kodo - Gogs: Go Git Service

No Description

FFIB: fa4319da16 fix # -*- coding: utf-8 -*- 4 years ago
..
0001_initial.py 3d0d214667 :sparkles: Member Infos 7 years ago
0002_auto_20191119_1428.py 2941e5a938 :art: Right Type 7 years ago
0003_auto_20191119_1446.py 7ba2bde353 :art: Levelx 7 years ago
0004_auto_20191119_2342.py 598d0be866 :art: Add more field for MemberActivity 7 years ago
0005_memberactivityinfo_city.py 8cca797a82 :bug: Fix Bug: response error 7 years ago
0006_auto_20191201_2110.py 4ce7f5c87b :art: Member Relative APIs 7 years ago
0007_auto_20191212_0952.py 608f25d6bc coupons 7 years ago
0008_auto_20191212_1742.py 75ab3f5097 :art: Coupons 7 years ago
0009_auto_20191212_1749.py 75ab3f5097 :art: Coupons 7 years ago
0010_auto_20191212_1821.py 75ab3f5097 :art: Coupons 7 years ago
0011_auto_20191212_1827.py 75ab3f5097 :art: Coupons 7 years ago
0012_auto_20191221_1419.py a8239c077f :art: CouponInfo for coupon app 6 years ago
0013_goodsinfo_only_for_member.py ec4c2109cc only_for_member 6 years ago
0014_auto_20191221_1613.py d1b712e035 Opt coupon 6 years ago
0015_auto_20191221_2058.py e3ff618d3b :art: Filter left_num gt 0 6 years ago
0016_auto_20191223_1808.py d2fce27cd4 :bug: Fix Bug: CouponInfo 6 years ago
0017_goodsorderinfo_integral.py a29f70f92b migrate 6 years ago
0018_memberactivityinfo_is_signup.py 019d571675 MemberActivityInfo 添加 is_signup 6 years ago
0019_auto_20201202_1203.py 6a9e324f6f :art: Re Makemigrations 6 years ago
0020_memberactivityinfo_group_share_max_integral.py 7c5d960672 :art: Makemigrations 6 years ago
0021_auto_20201203_1140.py 8d41a46f32 add default = '' 6 years ago
0022_auto_20201203_1500.py b2220dd77c MemberActivityInfo default 6 years ago
0023_memberactivityinfo_activity_state.py dfa7892487 MemberActivityInfo add activity_state 6 years ago
0024_auto_20201204_1831.py 3794a9fc67 添加接口 admin/member/activity/share/list 6 years ago
0025_auto_20210107_1834.py 2f29c70d66 :art: TEMPLATE_ID_TRACKING 5 years ago
0026_goodsorderinfo_send_template_message_res.py 5de59f57d6 记录发送订阅消息结果 5 years ago
0027_goodsorderinfo_remark.py 5444cf4170 添加备注,支持自定义模板消息备注 5 years ago
0028_auto_20210115_1108.py 3cc529c04c fix 会员活动分享 group_share_id 唯一 5 years ago
0029_goodsinfo_only_once.py 3a0e43ca50 :art: Support GOOD_EXCHANGE_ONLY_ONCE 5 years ago
0030_rightinfo_is_continue_send_coupon.py aa2144ebb6 :art: RightInfoAdmin 5 years ago
0031_auto_20211124_1850.py 14e27ba300 :art: is_upload_qiniu 5 years ago
0032_auto_20220704_2001.py b1998d68a0 记录后台管理员登录日志 4 years ago
0033_auto_20221021_2212.py 0a3d06d643 :art: Update member_activity 4 years ago
0034_memberactivityinfo_limit_image_num.py 0a3d06d643 :art: Update member_activity 4 years ago
0035_memberactivitycontributioninfo.py deb2b19881 :art: Support activity_contribute 4 years ago
0036_memberactivitycontributioninfo_video_url.py 852b7bb5d4 :art: Support activity_contribute_list / activity_contribute_detail 4 years ago
0037_auto_20221023_2010.py ffff9d77ff :art: Support member_activity_contribute_audit / member_activity_contribute_selected 4 years ago
0038_auto_20221025_0141.py a37357f66d :art: Support Member Activity Contribute Welfare 4 years ago
0039_memberactivitycontributionwelfareinfo_is_upload_qiniu.py a37357f66d :art: Support Member Activity Contribute Welfare 4 years ago
0040_memberactivitycontributionwelfareinfo_activity_id.py 06b0f769ce :art: Add activity_id for MemberActivityContributionWelfareInfo & Change is_audit_pass to audit_status for MemberActivityContributionInfo 4 years ago
0041_auto_20221025_1236.py 06b0f769ce :art: Add activity_id for MemberActivityContributionWelfareInfo & Change is_audit_pass to audit_status for MemberActivityContributionInfo 4 years ago
0042_memberactivitycontributionwelfareunlockinginfo.py 2986e79e27 :art: Add MemberActivityContributionWelfareUnlockingInfo 4 years ago
0043_auto_20221026_0221.py 2986e79e27 :art: Add MemberActivityContributionWelfareUnlockingInfo 4 years ago
0044_auto_20221026_1402.py c3085071d6 update migrate 4 years ago
0045_auto_20221026_2102.py fa4319da16 fix # -*- coding: utf-8 -*- 4 years ago
__init__.py 3d0d214667 :sparkles: Member Infos 7 years ago