:art: TEMPLATE_ID_TRACKING

huangqimin001 4 年之前
父节点
当前提交
3f2106d26c
共有 3 个文件被更改,包括 38 次插入5 次删除
  1. 3 0
      kodo/settings.py
  2. 34 4
      member/admin.py
  3. 1 1
      member/models.py

+ 3 - 0
kodo/settings.py

@@ -417,6 +417,9 @@ DJANGO_WE_COMPONENT_CALLBACK_TEMPLATE = 'page/preauth/preauth_success.html'
417 417
 # Test Settings
418 418
 DEBUG_STATISTIC_DATA_FLAG = False
419 419
 
420
+# 微信模版消息/订阅消息
421
+TEMPLATE_ID_TRACKING = 'T5pvO7McZbDZkNwfpwQCAoqo8fWOu3iD45sLE__EiBc'
422
+
420 423
 KODO_BRAND_NAME = ''
421 424
 
422 425
 KODO_DEFAULT_BRAND_PK = 0

+ 34 - 4
member/admin.py

@@ -1,10 +1,13 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
+from django.conf import settings
3 4
 from django.contrib import admin
4 5
 from django_admin import DeleteModelAdmin
5 6
 
7
+from account.models import UserInfo
6 8
 from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityGroupShareInfo, MemberActivityInfo,
7 9
                            MemberActivitySigninInfo, MemberActivitySignupInfo, RightInfo, ShotTypeInfo)
10
+from pre.custom_message import sendwxasubscribemessage
8 11
 from utils.redis.rshot import update_member_shot_data
9 12
 
10 13
 
@@ -20,12 +23,39 @@ class GoodsOrderInfoAdmin(admin.ModelAdmin):
20 23
     def save_model(self, request, obj, form, change):
21 24
         obj.save()
22 25
 
23
-        if obj.has_send_template_message:
26
+        if obj.good_type != GoodsInfo.PHYSICAL or not obj.tracking_number or obj.has_send_template_message:
24 27
             return
25 28
 
26
-        if obj.good_type == GoodsInfo.PHYSICAL:
27
-            # TODO: 立即推送模版消息,兑换成功,快递已发送(商品,快递单号,扣除的积分)
28
-            pass
29
+        obj.has_send_template_message = True
30
+        obj.save()
31
+
32
+        # 校验用户是否存在
33
+        try:
34
+            user = UserInfo.objects.get(user_id=obj.user_id)
35
+        except UserInfo.DoesNotExist:
36
+            return
37
+
38
+        # TODO: 立即推送模版消息,兑换成功,快递已发送(商品,快递单号,扣除的积分)
39
+        data = {
40
+            "thing6": {
41
+                "value": obj.title,
42
+                "color": "#173177"
43
+            },
44
+            "character_string7": {
45
+                "value": obj.tracking_number,
46
+                "color": "#173177"
47
+            },
48
+            "number2": {
49
+                "value": obj.integral,
50
+                "color": "#173177"
51
+            },
52
+            "thing5": {
53
+                "value": u"您的礼品正在快马加鞭赶来,请耐心等待呦~",
54
+                "color": "#173177"
55
+            },
56
+        }
57
+
58
+        sendwxasubscribemessage(openid=user.openid_miniapp, template_id=settings.TEMPLATE_ID_TRACKING, data=data, miniprogram_state=None, lang=None, page=None)
29 59
 
30 60
 
31 61
 class RightInfoAdmin(admin.ModelAdmin):

+ 1 - 1
member/models.py

@@ -173,7 +173,7 @@ class GoodsOrderInfo(BaseModelMixin):
173 173
 
174 174
     integral = models.IntegerField(_(u'integral'), default=99999, help_text=u'兑换所需积分')
175 175
 
176
-    has_send_template_message = models.BooleanField(_(u'has_send_template_message'), default=True, help_text=u'是否已发送模版消息')
176
+    has_send_template_message = models.BooleanField(_(u'has_send_template_message'), default=False, help_text=u'是否已发送模版消息')
177 177
 
178 178
     class Meta:
179 179
         verbose_name = _(u'会员商品订单信息')