def on_create_order(order): """ 买家创建了订单 :param order: 订单对象 (参考:https://doc.lvxingpai.com/pages/viewpage.action?pageId=12451934#id-订单相关接口-SimpleOrder简单) :return: """ consumer_id = order['consumerId'] # 订单信息 order = get_order(order['orderId'], consumer_id) # 买家信息 consumer = get_user_info(consumer_id) _log_order(order, 'onCreateOrder') # 是否为开发环境 is_dev = _is_developer(consumer_id) # 设置超时任务 now = long(time.time() * 1000) payment_expire = now + settings.EVENT_PAYMENT_EXPIRE_TIMEOUT * 1000 \ if hasattr(settings, 'EVENT_PAYMENT_EXPIRE_TIMEOUT') and is_dev else order['expireTime'] # 过期前半小时 payment_will_expire = now + settings.EVENT_PAYMENT_WILL_EXPIRE_TIMEOUT * 1000 \ if hasattr(settings, 'EVENT_PAYMENT_WILL_EXPIRE_TIMEOUT') and is_dev else order['expireTime'] - 1800 * 1000 # 支付即将超时提醒 handler_url = urljoin(VIAE_GATEWAY_BASE_URL, '/tasks') requests.post(handler_url, json={ 'task': 'viae.event.marketplace.onPaymentWillExpire', 'kwargs': { 'order': order }, 'countdown': (payment_will_expire - now) / 1000 }) requests.post(handler_url, json={ 'task': 'viae.event.marketplace.onPaymentExpire', 'kwargs': { 'order': order }, 'countdown': (payment_expire - now) / 1000 }) # 发送邮件提醒 commodity = order['commodity'] seller = commodity['seller'] send_email_to_group.apply_async(kwargs={ 'groups': 'MARKETPLACE', 'subject': u'用户已创建新订单', 'body': u'订单号: #%d, 订单金额: %.2f, 商品: %d / %s, 商家: %d / %s, 买家: %d / %s' % ( order['orderId'], order['totalPrice'] - order.get('discount', 0), commodity['commodityId'], commodity['title'], seller['sellerId'], seller['name'], consumer_id, consumer['nickName'] )})
def on_pay_order(order): """ 买家支付了订单 :param order: 订单对象 :return: """ consumer_id = order['consumerId'] # 订单信息 order = get_order(order['orderId'], consumer_id) # 买家信息 consumer = get_user_info(consumer_id) # 卖家信息 seller_id = order['commodity']['seller']['sellerId'] # 金额 amount = order['totalPrice'] - order['discount'] _log_order(order, 'onPayOrder') # 是否为开发环境 is_dev = _is_developer(consumer_id) # 给商家发送通知 send_order_message.apply_async(kwargs={ 'sender': 10002, 'receiver': seller_id, 'order_id': order['orderId'], 'title': u'买家已付款:¥%.2f' % amount, 'commodity': order['commodity']['title'], 'message': u'买家已支付%s元。请于%s前确认订单,超过确认期限系统将自动退款给买家。' % (amount, datetime_format(order['expireTime'])) }) # 设置超时任务 now = long(time.time() * 1000) committing_expire = now + settings.EVENT_PAYMENT_EXPIRE_TIMEOUT * 1000 \ if hasattr(settings, 'EVENT_PAYMENT_EXPIRE_TIMEOUT') and is_dev else order['expireTime'] # 4小时 committing_will_expire = now + settings.EVENT_PAYMENT_WILL_EXPIRE_TIMEOUT * 1000 \ if hasattr(settings, 'EVENT_PAYMENT_WILL_EXPIRE_TIMEOUT') and is_dev else order['expireTime'] - 4 * 3600 * 1000 # 支付即将超时提醒 handler_url = urljoin(VIAE_GATEWAY_BASE_URL, '/tasks') requests.post(handler_url, json={ 'task': 'viae.event.marketplace.onCommittingWillExpire', 'kwargs': { 'order': order, }, 'countdown': (committing_will_expire - now) / 1000 }) requests.post(handler_url, json={ 'task': 'viae.event.marketplace.onCommittingExpire', 'kwargs': { 'order': order }, 'countdown': (committing_expire - now) / 1000 }) # 发送邮件提醒 commodity = order['commodity'] seller = commodity['seller'] send_email_to_group.apply_async(kwargs={ 'groups': 'MARKETPLACE', 'subject': u'用户已支付订单', 'body': u'订单号: #%d, 订单金额: %.2f, 商品: %d / %s, 商家: %d / %s, 买家: %d / %s' % ( order['orderId'], order['totalPrice'] - order.get('discount', 0), commodity['commodityId'], commodity['title'], seller['sellerId'], seller['name'], consumer_id, consumer['nickName'] )})