<?php
namespace eapie\source\request\shop;
use eapie\main;
use eapie\error;
class event extends \eapie\source\request\shop {
public function api_order_payment_complete( $order_id = '' ){
if(object(parent::TABLE_USER_RECOMMEND)->verification_yitao_distribution()){
object(parent::TABLE_USER_RECOMMEND)->no_condition_goods_user_recommend($order_id); }
if(object(parent::TABLE_USER_RECOMMEND)->verification_distribution()){
object(parent::TABLE_USER_RECOMMEND)->goods_user_recommend($order_id); }
$shop_order = object(parent::TABLE_SHOP_ORDER)->find_unbuffered($order_id);
if( empty($shop_order) ){
throw new error('订单数据不存在');
}
if( $shop_order['shop_order_state'] == 0 ){
throw new error('订单已取消');
}
if( $shop_order['shop_order_trash'] == 1 ){
throw new error('订单已回收');
}
if( $shop_order['shop_order_delete_state'] == 1 ){
throw new error('订单已删除');
}
if( $shop_order['shop_order_pay_state'] != 1 ){
throw new error('订单没有支付完成');
}
if( !empty($shop_order['shop_order_json']) ){
$shop_order['shop_order_json'] = cmd(array($shop_order['shop_order_json']), 'json decode');
}else{
$shop_order['shop_order_json'] = array();
}
if( isset($shop_order['shop_order_json']['event_order_payment_complete']) ){
throw new error('订单事件已经执行了,请勿重复执行');
}else{
$shop_order['shop_order_json']['event_order_payment_complete'] = cmd(array(time()), 'time date');
}
object(parent::TABLE_SHOP_ORDER_GOODS)->update_stock_sales($order_id, 2);
object(parent::TABLE_SHOP_ORDER)->update_json($order_id, $shop_order['shop_order_json']);
}
public function api_order_payment_moiety( $order_id = '' ){
}
public function api_order_found( $shop_order_id = '' ){
$shop_order = object(parent::TABLE_SHOP_ORDER)->find_unbuffered($shop_order_id);
if( empty($shop_order) ){
throw new error('订单数据不存在');
}
if( $shop_order['shop_order_state'] == 0 ){
throw new error('订单已取消');
}
if( $shop_order['shop_order_trash'] == 1 ){
throw new error('订单已回收');
}
if( $shop_order['shop_order_delete_state'] == 1 ){
throw new error('订单已删除');
}
if( !empty($shop_order['shop_order_json']) ){
$shop_order['shop_order_json'] = cmd(array($shop_order['shop_order_json']), 'json decode');
}else{
$shop_order['shop_order_json'] = array();
}
if( isset($shop_order['shop_order_json']['event_order_found']) ){
throw new error('订单事件已经执行了,请勿重复执行');
}else{
$shop_order['shop_order_json']['event_order_found'] = cmd(array(time()), 'time date');
}
object(parent::TABLE_SHOP_ORDER_GOODS)->update_stock_sales($shop_order_id, 1);
object(parent::TABLE_SHOP_ORDER)->update_json($shop_order_id, $shop_order['shop_order_json']);
}
public function api_order_shipping_send( $shop_order_id = '' ){
$shop_order = object(parent::TABLE_SHOP_ORDER)->find($shop_order_id);
if( $shop_order['shop_order_state'] == 0 ){
throw new error('订单已取消');
}
if( $shop_order['shop_order_trash'] == 1 ){
throw new error('订单已回收');
}
if( $shop_order['shop_order_delete_state'] == 1 ){
throw new error('订单已删除');
}
if((int)$shop_order['shop_order_shipping_state'] !== 2){
throw new error('订单非发货状态');
}
if( !empty($shop_order['shop_order_json']) ){
$shop_order['shop_order_json'] = cmd(array($shop_order['shop_order_json']), 'json decode');
}else{
$shop_order['shop_order_json'] = array();
}
if( isset($shop_order['shop_order_json']['event_order_shipping_send']) ){
throw new error('订单事件已经执行了,请勿重复执行');
}else{
$shop_order['shop_order_json']['event_order_shipping_send'] = cmd(array(time()), 'time date');
}
object(parent::TABLE_SHOP_ORDER_GOODS)->update_stock_sales($shop_order_id, 3);
object(parent::TABLE_SHOP_ORDER)->update_json($shop_order_id, $shop_order['shop_order_json']);
}
public function api_order_shipping_take( $order_id = '' ){
$shop_order = object(parent::TABLE_SHOP_ORDER)->find($order_id);
if((int)$shop_order['shop_order_shipping_state'] !== 1)
return false;
object(parent::TABLE_SHOP_ORDER_GOODS)->invite_money_reward($order_id);
if(object(parent::TABLE_USER_RECOMMEND)->verification_yitao_distribution()){
object(parent::TABLE_SHOP_ORDER_GOODS)->version_yitao_invite_money_reward($order_id);
}
}
public function api_order_group_refund(){
$event_lock_id = object(parent::TABLE_LOCK)->start("shop.event", "团购订单拼团失败退钱", parent::LOCK_EVENT, 86400);
if( empty($event_lock_id) ){
echo "团购订单拼团失败退钱的锁已被占用";exit;
}
ignore_user_abort ( true ) set_time_limit(0) ini_set('memory_limit', '-1')
$i = 10;
do {
$shop_order_group = object(parent::TABLE_SHOP_ORDER_GROUP)->find_random_refund();
if( empty($shop_order_group) ){
echo "没有需要退款的团购订单";exit;
}
$bool = object(parent::TABLE_SHOP_ORDER_GROUP)->fail_refund($shop_order_group);
$i --;
}while( $i > 0 );
object(parent::REQUEST_SHOP)->event_order_group_refund();
}
}
?>