Merge branch 'tamron' of http://git.xfoto.com.cn/Kodo/kodo into tamron

FFIB vor 3 Jahren
Ursprung
Commit
93e424f1c3

+ 1 - 1
commands/management/commands/cpon2.py

@@ -28,7 +28,7 @@ class Command(CompatibilityBaseCommand):
28 28
             k, v = r.blpopjson(MEMBER_SEND_COUPON_LIST2, 60)
29 29
 
30 30
             if not v:
31
-                continue
31
+                break
32 32
 
33 33
             close_old_connections()
34 34
 

+ 28 - 0
commands/management/commands/qiniu.py

@@ -6,6 +6,7 @@ import os
6 6
 from django_six import CompatibilityBaseCommand, close_old_connections
7 7
 
8 8
 from integral.models import SaleclerkSubmitLogInfo
9
+from logs.models import ComplementCodeLogInfo
9 10
 from utils.qiniucdn import upload_file_path
10 11
 from utils.redis.connect import r
11 12
 from utils.redis.rkeys import QINIU_UPLOAD_LIST
@@ -62,4 +63,31 @@ class Command(CompatibilityBaseCommand):
62 63
                 ssli.is_upload_qiniu = is_upload_qiniu
63 64
                 ssli.save()
64 65
 
66
+            elif model == 'ComplementCodeLogInfo':
67
+                try:
68
+                    ccli = ComplementCodeLogInfo.objects.get(pk=pk)
69
+                except ComplementCodeLogInfo.DoesNotExist:
70
+                    continue
71
+
72
+                is_upload_qiniu = True
73
+
74
+                if ccli.shot_image:
75
+                    try:
76
+                        if os.path.exists(ccli.shot_image.path):
77
+                            upload_file_path(ccli.shot_image.path, key=ccli.shot_image.name, bucket='tamron')
78
+                            os.remove(ccli.shot_image.path)
79
+                    except Exception:
80
+                        is_upload_qiniu = False
81
+
82
+                if ccli.invoice_image:
83
+                    try:
84
+                        if os.path.exists(ccli.invoice_image.path):
85
+                            upload_file_path(ccli.invoice_image.path, key=ccli.invoice_image.name, bucket='tamron')
86
+                            os.remove(ccli.invoice_image.path)
87
+                    except Exception:
88
+                        is_upload_qiniu = False
89
+
90
+                ccli.is_upload_qiniu = is_upload_qiniu
91
+                ccli.save()
92
+
65 93
             close_old_connections()

+ 8 - 1
commands/management/commands/qiniuproducer.py

@@ -5,6 +5,7 @@ import logging
5 5
 from django_six import CompatibilityBaseCommand
6 6
 
7 7
 from integral.models import SaleclerkSubmitLogInfo
8
+from logs.models import ComplementCodeLogInfo
8 9
 from utils.redis.connect import r
9 10
 from utils.redis.rkeys import QINIU_UPLOAD_LIST
10 11
 
@@ -18,9 +19,15 @@ class Command(CompatibilityBaseCommand):
18 19
         logger.info('Upload image qiniu producer is dealing')
19 20
 
20 21
         sslis = SaleclerkSubmitLogInfo.objects.filter(is_upload_qiniu=False)
21
-
22 22
         for ssli in sslis:
23 23
             r.rpushjson(QINIU_UPLOAD_LIST, {
24 24
                 'model': 'SaleclerkSubmitLogInfo',
25 25
                 'pk': ssli.pk,
26 26
             })
27
+
28
+        cclis = ComplementCodeLogInfo.objects.filter(is_upload_qiniu=False)
29
+        for ccli in cclis:
30
+            r.rpushjson(QINIU_UPLOAD_LIST, {
31
+                'model': 'ComplementCodeLogInfo',
32
+                'pk': ccli.pk,
33
+            })

+ 4 - 1
kodo/settings.py

@@ -220,7 +220,10 @@ WECHAT = {
220 220
         'mch_key': '',
221 221
         'redpack': {
222 222
 
223
-        }
223
+        },
224
+        'marketcode': {
225
+            'iv': '',
226
+        },
224 227
     },
225 228
 }
226 229
 

+ 2 - 2
logs/admin.py

@@ -29,8 +29,8 @@ class MchSearchModelAndCameraLogInfoAdmin(admin.ModelAdmin):
29 29
 
30 30
 
31 31
 class ComplementCodeLogInfoAdmin(admin.ModelAdmin):
32
-    list_display = ('user_id', 'log_id', 'name', 'phone', 'model_id', 'model_name', 'sn', 'shot_image', 'invoice_image', 'audit_status', 'ciphertext', 'is_contacted', 'status', 'created_at', 'updated_at')
33
-    list_filter = ('model_id', 'audit_status', 'is_contacted', 'status')
32
+    list_display = ('user_id', 'log_id', 'name', 'phone', 'model_id', 'model_name', 'sn', 'shot_image', 'invoice_image', 'audit_status', 'ciphertext', 'is_contacted', 'is_upload_qiniu', 'status', 'created_at', 'updated_at')
33
+    list_filter = ('model_id', 'audit_status', 'is_contacted', 'is_upload_qiniu', 'status')
34 34
 
35 35
 
36 36
 admin.site.register(MchInfoDecryptLogInfo, MchInfoDecryptLogInfoAdmin)

+ 20 - 0
logs/migrations/0017_complementcodeloginfo_is_upload_qiniu.py

@@ -0,0 +1,20 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.29 on 2021-11-01 07:08
3
+from __future__ import unicode_literals
4
+
5
+from django.db import migrations, models
6
+
7
+
8
+class Migration(migrations.Migration):
9
+
10
+    dependencies = [
11
+        ('logs', '0016_auto_20210107_1438'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='complementcodeloginfo',
17
+            name='is_upload_qiniu',
18
+            field=models.BooleanField(default=False, help_text='\u662f\u5426\u5df2\u4e0a\u4f20\u4e03\u725b', verbose_name='is_upload_qiniu'),
19
+        ),
20
+    ]

+ 5 - 2
logs/models.py

@@ -7,6 +7,7 @@ from shortuuidfield import ShortUUIDField
7 7
 from TimeConvert import TimeConvert as tc
8 8
 
9 9
 from mch.models import ModelInfo, OperatorInfo
10
+from utils.qiniucdn import qiniu_file_url
10 11
 
11 12
 
12 13
 class MchInfoEncryptLogInfo(BaseModelMixin):
@@ -147,6 +148,8 @@ class ComplementCodeLogInfo(BaseModelMixin):
147 148
 
148 149
     is_contacted = models.BooleanField(_(u'is_contacted'), default=False, help_text=u'是否已联系用户')
149 150
 
151
+    is_upload_qiniu = models.BooleanField(_(u'is_upload_qiniu'), default=False, help_text=_(u'是否已上传七牛'))
152
+
150 153
     class Meta:
151 154
         verbose_name = _(u'补码记录')
152 155
         verbose_name_plural = _(u'补码记录')
@@ -156,7 +159,7 @@ class ComplementCodeLogInfo(BaseModelMixin):
156 159
 
157 160
     @property
158 161
     def shot_image_url(self):
159
-        return upload_file_url(self.shot_image)
162
+        return qiniu_file_url(self.shot_image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.shot_image)
160 163
 
161 164
     @property
162 165
     def shot_image_path(self):
@@ -164,7 +167,7 @@ class ComplementCodeLogInfo(BaseModelMixin):
164 167
 
165 168
     @property
166 169
     def invoice_image_url(self):
167
-        return upload_file_url(self.invoice_image)
170
+        return qiniu_file_url(self.invoice_image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.invoice_image)
168 171
 
169 172
     @property
170 173
     def invoice_image_path(self):

+ 1 - 0
marketcode/admin.py

@@ -7,6 +7,7 @@ from marketcode.models import MarketCodeInfo
7 7
 
8 8
 class MarketCodeInfoAdmin(admin.ModelAdmin):
9 9
     list_display = ('isv_application_id', 'application_id', 'code', 'code_url', 'has_used', 'status', 'created_at', 'updated_at')
10
+    list_filter = ('isv_application_id', 'application_id', 'has_used', 'status')
10 11
 
11 12
 
12 13
 admin.site.register(MarketCodeInfo, MarketCodeInfoAdmin)

+ 2 - 1
pre/market_code.py

@@ -11,11 +11,12 @@ from utils.redis.connect import r
11 11
 WECHAT = settings.WECHAT
12 12
 
13 13
 
14
-def marketcodedownload(application_id, code_start, code_end, isv_application_id='', iv=''):
14
+def marketcodedownload(application_id, code_start, code_end, isv_application_id=''):
15 15
     wxcfg = WECHAT.get('JSAPI', {})
16 16
 
17 17
     appid = wxcfg.get('appID')
18 18
     secret = wxcfg.get('appsecret')
19
+    iv = wxcfg.get('marketcode', {}).get('iv')
19 20
 
20 21
     codes = applycodedownload(application_id=application_id, code_start=code_start, code_end=code_end, appid=appid, secret=secret, token=None, storage=RedisStorage(r), iv=iv)
21 22