From 83d76b16b4a154ae11ca388e904ea1c548ca6ede Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Mon, 27 Oct 2025 10:57:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E5=85=A5=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FinReceiptController.php | 17 +++++++++++++++++ app/common/logic/FinReceiptLogic.php | 4 ++++ app/common/service/FinReceiptService.php | 19 +++++++++++++++++++ config/route.php | 1 + 4 files changed, 41 insertions(+) diff --git a/app/common/controller/FinReceiptController.php b/app/common/controller/FinReceiptController.php index 56d7bfb..486bfde 100644 --- a/app/common/controller/FinReceiptController.php +++ b/app/common/controller/FinReceiptController.php @@ -24,6 +24,23 @@ class FinReceiptController extends BaseController { $this->service = new FinReceiptService(); } + + /** + * 确认入账 + * @param Request $request + * @return \support\Response + */ + public function credit(Request $request) + { + try { + $id = $request->input('id'); + $raw = $this->service->credit($id); + return $this->success($raw); + } catch (\Throwable $e) { + return $this->error($e->getMessage()); + } + } + public function show(Request $request) { try { diff --git a/app/common/logic/FinReceiptLogic.php b/app/common/logic/FinReceiptLogic.php index 5d8f5f3..62db50f 100644 --- a/app/common/logic/FinReceiptLogic.php +++ b/app/common/logic/FinReceiptLogic.php @@ -14,4 +14,8 @@ class FinReceiptLogic */ protected string $modelClass = FinReceipt::class; + public function credit($id) + { + return FinReceipt::where('id', $id)->update(['received_at' => time()]); + } } \ No newline at end of file diff --git a/app/common/service/FinReceiptService.php b/app/common/service/FinReceiptService.php index 155aecd..e2611d7 100644 --- a/app/common/service/FinReceiptService.php +++ b/app/common/service/FinReceiptService.php @@ -2,10 +2,12 @@ namespace app\common\service; +use app\common\logic\FinReceiptLogic; use app\common\model\FinReceiptHis; use app\common\validate\FinReceiptValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\FinReceipt; +use support\exception\BusinessException; use support\Request; class FinReceiptService @@ -23,6 +25,14 @@ class FinReceiptService */ protected $validator = FinReceiptValidate::class; + + protected $logic; + + public function __construct() + { + $this->logic = (new FinReceiptLogic()); + } + /** * 获取验证器 */ @@ -251,4 +261,13 @@ class FinReceiptService return $query->paginate($limit, ['*'], 'page', $page); } + + public function credit($id) + { + $finReceipt = FinReceipt::find($id); + if(!empty($finReceipt->received_at)){ + throw new BusinessException('该记录已将确认入账'); + } + return $this->logic->credit($id); + } } \ No newline at end of file diff --git a/config/route.php b/config/route.php index 3f7477f..ba10155 100644 --- a/config/route.php +++ b/config/route.php @@ -360,6 +360,7 @@ Route::group('/admin', function () { Route::any('/update', [app\common\controller\FinReceiptController::class, 'update']); Route::any('/payment', [app\common\controller\FinReceiptController::class, 'update']); Route::any('/destroy', [app\common\controller\FinReceiptController::class, 'destroy']); + Route::any('/credit', [app\common\controller\FinReceiptController::class, 'credit']); }); // 收款记录历史 Route::group('/receipt/his', function () {