后台管理系统发送订阅消息

FFIB 4 jaren geleden
bovenliggende
commit
9f79cd6def
2 gewijzigde bestanden met toevoegingen van 45 en 7 verwijderingen
  1. 41 4
      api/admin_views.py
  2. 4 3
      pre/custom_message.py

+ 41 - 4
api/admin_views.py

@@ -25,6 +25,7 @@ from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatistic
25 25
 from utils.error.errno_utils import (AdministratorStatusCode, ComplementCodeStatusCode, ProductBrandStatusCode,
26 26
                                      ProductCouponStatusCode, ProductMachineStatusCode, UserStatusCode)
27 27
 
28
+from pre.custom_message import sendwxasubscribemessage
28 29
 
29 30
 WECHAT = settings.WECHAT
30 31
 
@@ -824,7 +825,8 @@ def member_goods_order_update(request):
824 825
     except AdministratorInfo.DoesNotExist:
825 826
         return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
826 827
 
827
-    GoodsOrderInfo.objects.filter(order_id=order_id, status=True).update(tracking_number=tracking_number)
828
+    if not send_trackingNumber_message(order_id, tracking_number):
829
+        return response(400001, 'Member Goods Order Update Failure', u'会员商品订单修改失败')
828 830
 
829 831
     return response(200, 'Member Goods Order Update Success', u'会员商品订单修改成功')
830 832
 
@@ -844,9 +846,7 @@ def member_goods_order_batch_update(request):
844 846
 
845 847
     err_orders = []
846 848
     for order in orders:
847
-        try:
848
-            GoodsOrderInfo.objects.filter(order_id=order['order_id'], status=True).update(tracking_number=order['tracking_number'])
849
-        except GoodsOrderInfo.DoesNotExist:
849
+        if not send_trackingNumber_message(order['order_id'], order['tracking_number']):
850 850
             err_orders.append(order['order_id'])
851 851
 
852 852
     if err_orders:
@@ -856,6 +856,43 @@ def member_goods_order_batch_update(request):
856 856
 
857 857
     return response(200, 'Member Goods Order Update Success', u'会员商品订单修改成功')
858 858
 
859
+def send_trackingNumber_message(order_id, tracking_number):
860
+    try:
861
+        order = GoodsOrderInfo.objects.get(order_id=order_id, status=True)
862
+        order.tracking_number = tracking_number
863
+        if tracking_number and order.good_type == GoodsInfo.PHYSICAL and not order.has_send_template_message:
864
+            order.has_send_template_message = True
865
+
866
+            # 校验用户是否存在
867
+            user = UserInfo.objects.get(user_id=order.user_id)
868
+
869
+            data = {
870
+                "thing6": {
871
+                    "value": order.title,
872
+                    "color": "#173177"
873
+                },
874
+                "character_string7": {
875
+                    "value": tracking_number,
876
+                    "color": "#173177"
877
+                },
878
+                "number2": {
879
+                    "value": order.integral,
880
+                    "color": "#173177"
881
+                },
882
+                "thing5": {
883
+                    "value": u"您的礼品正在快马加鞭赶来,请耐心等待呦~",
884
+                    "color": "#173177"
885
+                },
886
+            }
887
+
888
+            sendwxasubscribemessage(openid=user.openid_miniapp, template_id=settings.TEMPLATE_ID_TRACKING, data=data, miniprogram_state=None, lang=None, page=None)
889
+
890
+        order.save()
891
+
892
+        return True
893
+    except:
894
+        return False
895
+
859 896
 
860 897
 def record_warehouse(request):
861 898
     brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)

+ 4 - 3
pre/custom_message.py

@@ -38,7 +38,6 @@ def sendcustomwxamessage(openid=None, miniappid=None, pagepath=None, thumb_media
38 38
 
39 39
     try:
40 40
         res = send_custom_wxa_message(openid=openid, miniappid=miniappid, pagepath=pagepath, thumb_media_id=thumb_media_id, title=title, appid=appid, secret=secret, token=None, storage=RedisStorage(r))
41
-        print(res)
42 41
     except Exception as e:
43 42
         logger.info(e)
44 43
 
@@ -52,9 +51,10 @@ def sendtemplatemessage(openid=None, template_id=None, data=None, url=None, mini
52 51
 
53 52
     try:
54 53
         res = send_template_message(user_id=openid, template_id=template_id, data=data, url=url, miniappid=miniappid, minipagepath=minipagepath, appid=appid, secret=secret, storage=RedisStorage(r))
55
-        print(res)
54
+        return res
56 55
     except Exception as e:
57 56
         logger.info(e)
57
+        return e
58 58
 
59 59
 
60 60
 # 发送订阅消息 - 小程序
@@ -66,6 +66,7 @@ def sendwxasubscribemessage(openid=None, template_id=None, data=None, miniprogra
66 66
 
67 67
     try:
68 68
         res = send_wxa_subscribe_template_message(user_id=openid, template_id=template_id, data=data, page=page, miniprogram_state=miniprogram_state, lang=lang, appid=appid, secret=secret, storage=RedisStorage(r))
69
-        print(res)
69
+        return res
70 70
     except Exception as e:
71 71
         logger.info(e)
72
+        return e