diff --git a/app/common/enum/OrderEnum.php b/app/common/enum/OrderEnum.php index b77115f5..c6ea7ec5 100644 --- a/app/common/enum/OrderEnum.php +++ b/app/common/enum/OrderEnum.php @@ -85,6 +85,8 @@ class OrderEnum const PAY = 1; const BACK = 0; + /**小程序下单**/ + const ONLINE = [1,2]; /** * 账户类型 * @USER 用户 diff --git a/app/common/logic/store_order/StoreOrderLogic.php b/app/common/logic/store_order/StoreOrderLogic.php index 8c921d69..7b067a90 100644 --- a/app/common/logic/store_order/StoreOrderLogic.php +++ b/app/common/logic/store_order/StoreOrderLogic.php @@ -202,6 +202,33 @@ class StoreOrderLogic extends BaseLogic return $order->toArray(); } + //核销列表 + public function writeList($params) + { + $pageNo = $params['page_no']; + $pageSize = $params['page_size']; + unset($params['page_no'],$params['page_size']); + $params['paid'] = YesNoEnum::YES; + $params['is_writeoff'] = YesNoEnum::YES; + $order = StoreOrder::with(['user', 'staff', 'product' => function ($query) { + $query->field(['id', 'oid', 'product_id', 'cart_info']); + }])->where($params)->whereIn('shipping_type',OrderEnum::ONLINE) + ->page($pageNo, $pageSize) + ->select()->toArray(); + + foreach ($order as &$value){ + $value['pay_time'] = $value['pay_time'] > 0 ? date('Y-m-d H:i:s', $value['pay_time']) : ''; + $value['status_name'] = OrderEnum::getOrderType($value['status']) ?? ''; + $value['refund_status_name'] = OrderEnum::refundStatus($value['refund_status']) ?? ''; + $value['refund_type_name'] = OrderEnum::refundType($value['refund_type']) ?? ''; + $value['pay_type_name'] =PayEnum::getPaySceneDesc($value['pay_type']) ?? ''; + } + return $order; + } + + + + /** * 订单统计 * @param $storeId diff --git a/app/store/controller/store_order/StoreOrderController.php b/app/store/controller/store_order/StoreOrderController.php index 24f79e3a..0dda0ad5 100644 --- a/app/store/controller/store_order/StoreOrderController.php +++ b/app/store/controller/store_order/StoreOrderController.php @@ -251,4 +251,42 @@ class StoreOrderController extends BaseAdminController } return $this->fail('核销失败' . OrderLogic::getError()); } + + + #[ + ApiDoc\Title('订单已核销列表'), + ApiDoc\url('/store/store_order/storeOrder/writeoff_list'), + ApiDoc\Method('POST'), + ApiDoc\NotHeaders(), + ApiDoc\Author('中国队长'), + ApiDoc\Header(ref: [Definitions::class, "token"]), + ApiDoc\Query(name: 'page_no', type: 'int', require: false, desc: '页数 默认1'), + ApiDoc\Query(name: 'page_size', type: 'int', require: false, desc: '每页条数 默认15'), + ApiDoc\ResponseSuccess("data", type: "array"), + ] + public function writeoff_list(StoreOrderLogic $orderLogic) + { + $page_no = (int)$this->request->post('page_no', 1); + $page_size = (int)$this->request->post('page_size', 15); + $params = $this->request->post(); + $params['page_no'] = $page_no; + $params['page_size'] = $page_size; + if (empty($page_no) || empty($page_size)) { + $params['page_no'] = 1; + $params['page_size'] = 15; + } + $params['store_id'] =$this->request->adminInfo['store_id']; + $result = $orderLogic->writeList($params); + + $data = [ + 'lists' => $result, + 'count' => count($result), + 'page_no' => $params['page_no'], + 'page_size' =>$params['page_size'], + ]; + return $this->success('ok',$data); + + } + + }