コード例 #1
0
ファイル: views.py プロジェクト: xingx001/camel-store-api
 def get(self, request, *args, **kwargs):
     for shop in Shop.objects.filter(status=Shop.OPEN):
         feedbackquantities = FeedBack.objects.filter(shop=shop,
                                                      solve=False).count()
         orderquantities = Items.objects.filter(
             order__shop=shop, send_type=Items.SENDING).count()
         data = {
             'business': getattr(settings, 'SHOP_NAME'),
             'orderquantities': orderquantities,
             'feedbackquantities': feedbackquantities,
         }
         manage = []
         for admin in shop.admin.all():
             if admin.phone and SmsSwitch.get('daily_remind'):
                 send_sms(admin.phone, data, 'SMS_157276765')
             if admin.email:
                 manage.append(admin.email)
         if manage:
             subject = '每日未处理订单和客户反馈提醒'
             store = getattr(settings, 'SHOP_NAME')
             text_content = html = \
                 f"尊敬的{store}商家你好,您的小店有{orderquantities}个订单" \
                 f"和{feedbackquantities}个客户反馈正在等待处理," \
                 f"请登录管理后台及时处理。"
             send_email(subject, text_content, html, manage)
     return Response('success')
コード例 #2
0
def remind_lower_shelf(shop, goods_name):
    """
    商品下架短信提醒
    """
    if not SmsSwitch.get('exhaustion_notice'):
        return
    if not shop:
        return
    for admin in User.objects.filter(shop=shop):
        if admin.phone:
            store = getattr(settings, 'SHOP_NAME')
            send_sms(admin.phone, {
                "business": store,
                "commodity": goods_name
            }, 'SMS_157070808')
コード例 #3
0
def remind_new_order(shop):
    """
    新待处理订单通知
    """
    if not shop:
        return
    manage = []
    for admin in User.objects.filter(shop=shop):
        if admin.email:
            manage.append(admin.email)
        if admin.phone and SmsSwitch.get('order_notice'):
            send_sms(admin.phone, {"business": getattr(settings, 'SHOP_NAME')},
                     'SMS_157070785')
    if manage:
        store = getattr(settings, 'SHOP_NAME')
        text_content = f"【骆驼小店】尊敬的{store}商家你好,您的小店有新的订单,请登录管理后台及时处理和发货。"
        html = text_content
        send_email('新订单通知', text_content, html, manage)
コード例 #4
0
def feedback_save(sender, **kwargs):
    instance = kwargs.get('instance')
    created = kwargs.get('created')
    if created:
        manage = []
        data = {
            "business": getattr(settings, 'SHOP_NAME'),
            "member": instance.user.nickname,
            "feedbackdetails": instance.content,
            "phonenumber": instance.phone,
        }
        for admin in instance.shop.admin.all():
            if admin.phone and SmsSwitch.get('feedback_notice'):
                send_sms(admin.phone, data, 'SMS_157283313')
            if admin.email:
                manage.append(admin.email)
        if manage:
            subject = '新用户反馈通知'
            text_content = html = f"尊敬的{data.get('business')}商家你好,您小店的客户{data.get('member')}反馈了一条消息," \
                                  f"反馈消息详情:{data.get('feedbackdetails')}   客户手机号{data.get('phonenumber')}, 可直接联系客户及时回复处理。"
            send_email(subject, text_content, html, manage)
コード例 #5
0
def delivery_notice(item):
    """
    发货短信通知
    """
    if not SmsSwitch.get('delivery_notice'):
        return
    purchaser_phone = None
    receiver_phone = None
    try:
        receiver_phone = item.order.delivery_address.mobile_phone
        purchaser_phone = item.order.user.info.phone
    except AttributeError as e:
        print(e)

    if receiver_phone == purchaser_phone:  # 手机号一致,只发给收件人
        purchaser_phone = None
    if purchaser_phone:
        data = {
            "member": item.order.user.nickname,
            "commodity": item.goods_backup.goods_name,
            "business": getattr(settings, 'SHOP_NAME')
        }
        send_sms(purchaser_phone, data, 'SMS_157100140')
    if receiver_phone:
        #根据不同配送方式发送不同的通知短信
        data = {
            "receiver": item.order.delivery_address.sign_name,
            "commodity": item.goods_backup.goods_name,
            "business": getattr(settings, 'SHOP_NAME'),
        }
        if item.goods_backup.delivery_method == 'own':  # 自配送
            send_sms(receiver_phone, data, 'SMS_157100062')
        if item.goods_backup.delivery_method == 'express':  # 快递物流
            data.update({
                "expresscompany": item.express_company,
                "trackingnumber": item.express_num,
            })
            send_sms(receiver_phone, data, 'SMS_157100132')
        if item.goods_backup.delivery_method == 'buyer':  # 自提
            data.update({
                "address": item.order.shop.address,
                "store": item.order.shop.name,
            })
            send_sms(receiver_phone, data, 'SMS_157100093')