代码拉取完成,页面将自动刷新
<?php
//引入基础类文件
include 'BaseController.php';
//引入订单处理文件
include 'Service/OrderService.php';
class Order extends Base{
const orderStatusArr=['pending','completed','cancelled'];//订单状态值
//创建订单
public function createOrder(){
$product_id = $this->getParameter('product_id')?:1;
$quantity = $this->getParameter('quantity')?:2;
try {
// 检查是否接收到商品ID和数量
if ($product_id && $quantity) {
// 获取用户输入的商品ID和数量
$OrderService=new OrderService();
$res=$OrderService->create($product_id,$quantity);
if(!$res){
$this->error('订单创建失败');
}
// 输出成功消息
$this->success('订单生成成功',$res);
} else {
// 输出错误消息
$this->error('商品id或数量不存在');
}
} catch (PDOException $e) {
// 输出错误消息
$this->error($e->getMessage());
}
}
//更改订单状态
public function updateOrderStatus(){
$orderStatusArr=self::orderStatusArr;
$order_id = $this->getParameter('order_id')?:1;
$status = $this->getParameter('status')?:'completed';
if(!in_array($status,$orderStatusArr)){
$this->error('参数错误');
}
try {
// 检查是否接收到订单ID和状态值
if ($order_id && $status) {
$OrderService=new OrderService();
//查询当前订单状态
$order=$OrderService->getById($order_id);
if(!$order){
$this->error('订单不存在');
}
if($order['status']!='pending'){
$this->error('该状态不允许修改');
}
$res=$OrderService->updateStatus($order_id,$status);
if(!$res){
$this->error('订单修改失败');
}
// 输出成功消息
$this->success('订单修改成功');
} else {
// 输出错误消息
$this->error('订单id或状态值不存在');
}
} catch (PDOException $e) {
// 输出错误消息
$this->error($e->getMessage());
}
}
//查看订单详情
public function getOrder(){
$order_id = $this->getParameter('order_id')?:14;
try {
// 检查是否接收到订单ID
if ($order_id) {
$OrderService=new OrderService();
//查询当前订单状态
$order=$OrderService->getById($order_id);
if(!$order){
$this->error('订单不存在');
}
$this->success('success',$order);
} else {
// 输出错误消息
$this->error('订单id不存在');
}
} catch (PDOException $e) {
// 输出错误消息
$this->error($e->getMessage());
}
}
//支付回调
public function payNotice(){
//解析回调信息合法性
//////////
//验证成功获取到订单号
$order_no='';
$OrderService=new OrderService();
//查询当前订单状态
$order=$OrderService->getByNo($order_no);
if(!$order){
echo '订单不存在';
}
if($order['pay_status']==2){
echo '订单已经支付';
}
//更新订单支付状态
$res=$OrderService->updatePayOk($order['id']);
if($res){
echo 'success';
}
echo 'fail';
}
}
$methodName=$_GET['a'];
$exampleObj = new Order();
$exampleObj->$methodName();
?>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。