| @@ -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 | 
| @@ -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): | 
| @@ -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'会员商品订单信息') |