收银机展示小程序已经核销的

This commit is contained in:
liu 2024-06-13 11:08:37 +08:00
parent 5e08f9359c
commit f1015916d6
3 changed files with 67 additions and 0 deletions

View File

@ -85,6 +85,8 @@ class OrderEnum
const PAY = 1;
const BACK = 0;
/**小程序下单**/
const ONLINE = [1,2];
/**
* 账户类型
* @USER 用户

View File

@ -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

View File

@ -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);
}
}