<?php namespace Phpcmf\Controllers\Member;
class Operation extends \Phpcmf\Common {
private $order;
public function __construct(...$params)
{
parent::__construct(...$params);
$id = (int)\Phpcmf\Service::L('Input')->get('id');
$this->order = \Phpcmf\Service::M('Order', 'store')->info($id);
!$this->order && exit($this->_json(0, dr_lang('订单不存在')));
$this->uid != $this->order['uid'] && exit($this->_json(0, dr_lang('无权限操作此订单')));
}
public function delivery() {
$this->order['deliver_status'] != 1 && exit($this->_json(0, dr_lang('此订单还未发货')));
$rt = \Phpcmf\Service::M('Order', 'store')->receipt($this->order, dr_lang('买家确认收货'));
$rt && !$rt['code'] && $this->_json(0, $rt['msg']);
$this->_json(1, dr_lang('操作成功'));
}
public function close() {
if (IS_POST) {
$this->order['status'] != 1 && exit($this->_json(0, dr_lang('无权限关闭订单')));
$this->order['pay_status'] == 1 && exit($this->_json(0, dr_lang('订单已经付款,请申请退款')));
$note = \Phpcmf\Service::L('Input')->post('note');
!$note && $this->_json(0, dr_lang('关闭原因必须填写'), ['field' => 'note']);
$rt = \Phpcmf\Service::M('Order', 'store')->close($this->order, $note);
$rt && !$rt['code'] && $this->_json(0, $rt['msg']);
$this->_json(1, dr_lang('操作成功'));
} else {
\Phpcmf\Service::V()->assign([
'order' => $this->order,
'value' => @explode(PHP_EOL, $this->mall_info['order']['data_close']),
]);
\Phpcmf\Service::V()->display('opt_close.html');exit;
}
}
public function refund() {
if (IS_POST) {
$this->order['status'] != 2 && exit($this->_json(0, dr_lang('无权限退款订单')));
$this->order['pay_status'] == 0 && exit($this->_json(0, dr_lang('订单未付款,请关闭订单')));
$note = \Phpcmf\Service::L('Input')->post('note');
!$note && $this->_json(0, dr_lang('退款原因必须填写'), ['field' => 'note']);
$rt = \Phpcmf\Service::M('Order', 'store')->refund($this->order, $note);
$rt && !$rt['code'] && $this->_json(0, $rt['msg']);
$this->_json(1, dr_lang('操作成功'));
} else {
\Phpcmf\Service::V()->assign([
'order' => $this->order,
'value' => @explode(PHP_EOL, $this->mall_info['order']['data_refund']),
]);
\Phpcmf\Service::V()->display('opt_refund.html');exit;
}
}
}