From 5e08f9359c2cd52916c46f24605ba029195f83b1 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Thu, 13 Jun 2024 10:27:56 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=95=86=E6=88=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/store/StoreController.php | 18 ++++++++++++- app/api/logic/store/StoreLogic.php | 27 ++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 app/api/logic/store/StoreLogic.php diff --git a/app/api/controller/store/StoreController.php b/app/api/controller/store/StoreController.php index dde6ba987..6b4dd010d 100644 --- a/app/api/controller/store/StoreController.php +++ b/app/api/controller/store/StoreController.php @@ -4,6 +4,7 @@ namespace app\api\controller\store; use app\api\lists\store\SystemStoreLists; use app\api\controller\BaseApiController; +use app\api\logic\store\StoreLogic; use app\common\service\pay\PayService; use Webman\Config; use hg\apidoc\annotation as ApiDoc; @@ -11,11 +12,26 @@ use hg\apidoc\annotation as ApiDoc; class StoreController extends BaseApiController { - + public $notNeedLogin = ['detail']; public function lists() { return $this->dataLists(new SystemStoreLists()); } + public function detail() + { + $store_id = (int)$this->request->get('store_id'); + $where = [ + 'id' => $store_id + ]; + $info = StoreLogic::search($where); + if ($info) { + return $this->data($info); + } else { + return $this->fail('店铺不存在'); + } + } + + } diff --git a/app/api/logic/store/StoreLogic.php b/app/api/logic/store/StoreLogic.php new file mode 100644 index 000000000..f9fd39616 --- /dev/null +++ b/app/api/logic/store/StoreLogic.php @@ -0,0 +1,27 @@ +field(['id', 'name', 'phone', 'detailed_address', 'image', 'is_show', + 'day_time', 'is_store', 'latitude', 'longitude', 'day_start', 'day_end', 'is_store' + , 'is_send' + ]) + ->find() + ->toArray(); + + + } + + +} \ No newline at end of file From f1015916d6f5dd7861e47b341b0863759b2015f4 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Thu, 13 Jun 2024 11:08:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=94=B6=E9=93=B6=E6=9C=BA=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=B7=B2=E7=BB=8F=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/enum/OrderEnum.php | 2 + .../logic/store_order/StoreOrderLogic.php | 27 +++++++++++++ .../store_order/StoreOrderController.php | 38 +++++++++++++++++++ 3 files changed, 67 insertions(+) diff --git a/app/common/enum/OrderEnum.php b/app/common/enum/OrderEnum.php index b77115f58..c6ea7ec5b 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 8c921d69a..7b067a90d 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 24f79e3a7..0dda0ad55 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); + + } + + }