CancelController.class.php 1.4 KB
<?php
/**
 * 取消订单
 * User: yingcai
 * Date: 2018/2/2
 * Time: 下午4:46
 */

namespace Apicp\Controller\Order;

use Common\Common\Order;

class CancelController extends AbstractController
{
    /**
     * Cancel
     * @author houyingcai
     * @desc 取消订单接口
     * @param String order_id:true 订单ID
     * @return bool
     */
    public function Index_post()
    {
        $order_id = I('post.order_id');

        if (!$order_id) {
            E('_ERR_ORDER_ID_NOT');
        }

        $orderService = &Order::instance();

        // 获取订单详情
        $orderDetail = $orderService->fetchOrder(['ordId' => $order_id]);

        if (self::ORDER_STATUS_WAITING_PAY == $orderDetail['ordPayStatus'] || self::ORDER_STATUS_PAYING == $orderDetail['ordPayStatus']) {

            $params = [
                'ordId' => $order_id,
                'ordPayStatus' => self::ORDER_STATUS_CANCEL,
                'eaId' => $this->_login->user['eaId'],
            ];
            if (!empty($this->_login->user['eaRealname'])) {
                $params['eaRealname'] = $this->_login->user['eaRealname'];
            }
            if (!empty($this->_login->user['eaMobile'])) {
                $params['eaMobile'] = $this->_login->user['eaMobile'];
            }

            $orderService->updateOrder($params);

        } else {

            E('_ERR_ORDER_STATUS_UPDATE');
        }

        return true;
    }
}