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