You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
993 B

<?php
namespace app\controller;
use app\BaseController;
use app\service\CardService;
use app\service\OrderService;
class Card extends BaseController
{
// POST api/card/generate — 生成新号码牌
public function generate(CardService $cardService)
{
$cardNo = $cardService->generate();
return json(['code' => 0, 'data' => ['cardNo' => $cardNo], 'msg' => 'ok']);
}
// GET api/card/check?no=K182 — 校验号码牌
public function check(CardService $cardService, OrderService $orderService)
{
$no = $this->request->get('no', '');
if (!preg_match('/^[A-Z]\d{3}$/', $no)) {
return json(['code' => -1, 'data' => null, 'msg' => '号码牌格式错误']);
}
$orders = $orderService->listByCard($no);
return json([
'code' => 0,
'data' => [
'valid' => true,
'orders' => $orders,
],
'msg' => 'ok',
]);
}
}