Redpack Relative

Kimi.Huang преди 5 години
родител
ревизия
d6c61f8404
променени са 4 файла, в които са добавени 46 реда и са изтрити 2 реда
  1. 1 0
      api/hb_views.py
  2. 6 2
      api/mch_views.py
  3. 35 0
      logs/migrations/0008_auto_20190813_1708.py
  4. 4 0
      logs/models.py

+ 1 - 0
api/hb_views.py

@@ -10,6 +10,7 @@ def exec_send_jsapi_hb(user, elog, amount):
10 10
     send_jsapi_hb(user.openid, amount, transfer=False)
11 11
 
12 12
     elog.has_send_redpack = True
13
+    elog.redpack_send_amount = amount
13 14
     elog.user_id = user.user_id
14 15
     elog.nickname = user.nickname
15 16
     elog.save()

+ 6 - 2
api/mch_views.py

@@ -2,6 +2,8 @@
2 2
 
3 3
 from __future__ import division
4 4
 
5
+import random
6
+
5 7
 from django.conf import settings
6 8
 from django.contrib.auth.hashers import check_password
7 9
 from django.db import transaction
@@ -392,8 +394,10 @@ def consumer_info_api(request):
392 394
     except MchInfoEncryptLogInfo.MultipleObjectsReturned:
393 395
         elog = None
394 396
 
395
-    if elog and not dupload:
396
-        amount = 100
397
+    if elog and (not dupload) and elog.is_send_redpack and (not elog.has_send_redpack) and (elog.redpack_amount or elog.redpack_max_amount):
398
+        amount = elog.redpack_amount
399
+        if elog.redpack_max_amount:
400
+            amount = random.randint(100, elog.redpack_max_amount)
397 401
         if user.openid:
398 402
             exec_send_jsapi_hb(user, elog, amount)
399 403
         else:

+ 35 - 0
logs/migrations/0008_auto_20190813_1708.py

@@ -0,0 +1,35 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.22 on 2019-08-13 09: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', '0007_redpacksendloginfo'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='mchinfoencryptloginfo',
17
+            name='is_send_redpack',
18
+            field=models.BooleanField(db_index=True, default=False, help_text='\u662f\u5426\u53d1\u653e\u7ea2\u5305', verbose_name='is_send_redpack'),
19
+        ),
20
+        migrations.AddField(
21
+            model_name='mchinfoencryptloginfo',
22
+            name='redpack_amount',
23
+            field=models.IntegerField(default=0, help_text='\u7ea2\u5305\u56fa\u5b9a\u91d1\u989d\uff0c\u5355\u4f4d\uff1a\u5206', verbose_name='redpack_amount'),
24
+        ),
25
+        migrations.AddField(
26
+            model_name='mchinfoencryptloginfo',
27
+            name='redpack_max_amount',
28
+            field=models.IntegerField(default=0, help_text='\u7ea2\u5305\u91d1\u989d\u8303\u56f4\uff0c\u5355\u4f4d\uff1a\u5206\uff09', verbose_name='redpack_max_amount'),
29
+        ),
30
+        migrations.AddField(
31
+            model_name='mchinfoencryptloginfo',
32
+            name='redpack_send_amount',
33
+            field=models.IntegerField(default=0, help_text='\u7ea2\u5305\u53d1\u653e\u91d1\u989d\uff0c\u5355\u4f4d\uff1a\u5206\uff09', verbose_name='redpack_send_amount'),
34
+        ),
35
+    ]

+ 4 - 0
logs/models.py

@@ -20,7 +20,11 @@ class MchInfoEncryptLogInfo(BaseModelMixin):
20 20
 
21 21
     operator_id = models.CharField(_(u'operator_id'), max_length=32, blank=True, null=True, help_text=u'操作员唯一标识', db_index=True)
22 22
 
23
+    is_send_redpack = models.BooleanField(_(u'is_send_redpack'), default=False, help_text=u'是否发放红包', db_index=True)
24
+    redpack_amount = models.IntegerField(_(u'redpack_amount'), default=0, help_text=u'红包固定金额,单位:分')
25
+    redpack_max_amount = models.IntegerField(_(u'redpack_max_amount'), default=0, help_text=u'红包金额范围,单位:分)')
23 26
     has_send_redpack = models.BooleanField(_(u'has_send_redpack'), default=False, help_text=u'是否已发放红包', db_index=True)
27
+    redpack_send_amount = models.IntegerField(_(u'redpack_send_amount'), default=0, help_text=u'红包发放金额,单位:分)')
24 28
     user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识(红包)', db_index=True)
25 29
     nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户昵称')
26 30