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')
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')
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)
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)
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')