@@ -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() |
@@ -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: |
@@ -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 |
+ ] |
@@ -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 |
|