jh-admin/addon/ali1688/shop/controller/Order.php

117 lines
2.9 KiB
PHP

<?php
namespace addon\ali1688\shop\controller;
use app\shop\controller\BaseShop;
use addon\ali1688\model\Order as orderModel;
class Order extends BaseShop
{
/**
* Common: 进入订单列表
* Author: wu-hui
* Time: 2023/09/05 10:59
* @return array|mixed
*/
public function lists()
{
if (request()->isAjax()) {
// 参数获取
$search = request()->all();
$search['site_id'] = $this->site_id;
return (new OrderModel())->getOrderList($search);
} else {
$this->forthMenu();
return $this->fetch("order/lists");
}
}
/***
* 获取子菜单
* @return array|mixed
*/
public function seeSubOrder()
{
$order_id = input('order_id', 0);
if (request()->isAjax()) {
$search = request()->all();
$res = (new orderModel())->getSubOrder($this->site_id, $order_id,$search);
return $res;
}
return $this->fetch('order/sub_list', ['order_id' => $order_id]);
}
/**
* Common: 请求重新下单
* Author: wu-hui
* Time: 2023/09/05 11:18
* @return array
*/
public function reorder()
{
// 参数获取
$orderId = input('order_id', 0);
if ((int)$orderId <= 0) return error(-1, '订单不存在!');
// 获取订单信息
$orderInfo = model('order')->getInfo([
['order_id', '=', $orderId]
]);
if($orderInfo['pay_status']!=1) return error(-1, '买家未付款无需下单!');
$res = (new orderModel())->orderCreateRequest($orderId);
return $res;
}
/**
* Common: 子订单 - 单个商品申请退款
* Author: wu-hui
* Time: 2023/09/06 16:12
* @return array
*/
public function subOrderRefund()
{
$info = input('info', []);
$info['site_id'] = $this->site_id;
(new orderModel())->refundOrder($info);
return success(0, '退款申请成功!');
}
/***
* 发起免密支付
* @return void
*/
public function buyPay()
{
$id = input('order_id', 0);
if (request()->isAjax()) {
$res = (new orderModel())->noPasswordPay($this->site_id, $id);
return $res;
}
}
/***
* 在线支付
* @return array|void|null
*/
public function onlinePay()
{
$id = input('order_id', 0);
if (request()->isAjax()) {
$res = (new orderModel())->onlinePay($this->site_id, $id);
return $res;
}
}
/***
* 取消订单
* @return array|void|null
*/
public function cancelOrder()
{
if (request()->isAjax()) {
$data = request()->all();
$res = (new orderModel())->cancelOrder($this->site_id, $data['order_id'], $data['cancelReason']);
return $res;
}
}
}