ソースを参照

流量套餐过期|激活消息推送

zhangdongming 3 年 前
コミット
878e3e0306
1 ファイル変更30 行追加8 行削除
  1. 30 8
      Controller/ComboCron/ComboCronPushController.py

+ 30 - 8
Controller/ComboCron/ComboCronPushController.py

@@ -157,12 +157,20 @@ class ComboCronPushView(View):
                 usage = cls.flow_split(item.flow_total_usage)
                 total = cls.flow_split(item.flow_total)
                 usable = cls.flow_split(item.flow_total - item.flow_total_usage)
-                user_qs = Device_User.objects.filter(userID=user_id).values('phone')
-                if user_qs.exists() and user_qs.first()['phone']:
-                    params = u'{"devname":"' + item.serial_no + '","usage":"流量' + usage + '","usable":"流量' + \
-                             usable + '","total":"流量共' + total + '"}'
-                    cls.send_aliyun_sms(user_qs.first()['phone'], params, 'SMS_246100414')
-
+                msg = False
+                if item.type != 0 and item != 1:
+                    unicom_order_qs = UnicomComboOrderInfo.objects.filter(id=item.combo_order_id) \
+                        .values('combo__combo_name')
+                    combo_name = unicom_order_qs.first()['combo__combo_name'] if unicom_order_qs.exists() else ''
+                    sys_msg = cls.get_sys_msg_text(item.serial_no, combo_name, item.type)
+                    msg = True
+                else:
+                    user_qs = Device_User.objects.filter(userID=user_id).values('phone')
+                    if user_qs.exists() and user_qs.first()['phone']:
+                        params = u'{"devname":"' + item.serial_no + '","usage":"流量' + usage + '","usable":"流量' + \
+                                 usable + '","total":"流量共' + total + '"}'
+                        cls.send_aliyun_sms(user_qs.first()['phone'], params, 'SMS_246100414')
+                    sys_msg = cls.get_msg_text(item.serial_no, push_qs[0]['lang'], total, usage, usable)
                 for push_vo in push_qs:
                     kwargs = {
                         'n_time': now_time,
@@ -176,14 +184,14 @@ class ComboCronPushView(View):
 
                     # 获取推送所需数据
                     msg_title = GatewayPushService.get_msg_title(app_bundle_id, item.serial_no)
-                    sys_msg_text = cls.get_msg_text(item.serial_no, lang, total, usage, usable)
+                    sys_msg_text = sys_msg if msg else cls.get_msg_text(item.serial_no, lang, total, usage, usable)
                     kwargs['app_bundle_id'] = app_bundle_id
                     kwargs['token_val'] = token_val
                     kwargs['msg_title'] = msg_title
                     kwargs['msg_text'] = sys_msg_text
-                    cls.sys_msg_save(user_id, item.serial_no, now_time, sys_msg_text)
                     if not cls.msg_push(push_type, **kwargs):
                         continue
+                cls.sys_msg_save(user_id, item.serial_no, now_time, sys_msg)
                 # 修改推送状态
                 UnicomFlowPush.objects.filter(id=item.id).update(status=1)
             except Exception as e:
@@ -245,3 +253,17 @@ class ComboCronPushView(View):
             return str(round(flow, 2)) + "G"
         else:
             return str(round(flow, 2)) + "M"
+
+    @staticmethod
+    def get_sys_msg_text(serial_no, combo_name, sys_type):
+        """
+        获取系统消息文本
+        @return:
+        """
+        if sys_type == 4:
+            sys_msg_text = "温馨提示:尊敬的客户,您" + serial_no + "设备当前4G" + combo_name + "已到期"
+        elif sys_type == 3:
+            sys_msg_text = "温馨提示:尊敬的客户,您" + serial_no + "设备当前4G" + combo_name + "已激活"
+        else:
+            sys_msg_text = "温馨提示:尊敬的客户,您" + serial_no + "设备当前4G" + combo_name + "已用完"
+        return sys_msg_text