收款统计
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace app\admin\controller\dashboard;
|
||||
|
||||
use app\common\controller\BaseController;
|
||||
use app\common\model\FinReceipt;
|
||||
use support\Request;
|
||||
|
||||
class FinStatisticsController extends BaseController
|
||||
{
|
||||
/**
|
||||
* 收款记录统计
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function statistics(Request $request)
|
||||
{
|
||||
try {
|
||||
$query = FinReceipt::where('payment_apply_id','>',0);
|
||||
|
||||
$result = [];
|
||||
//已认领数量
|
||||
$result['claimed_num'] = $query->count();
|
||||
//已认领金额
|
||||
$result['claimed_amount'] = $query->sum('amount');
|
||||
|
||||
|
||||
$query = FinReceipt::whereNull('payment_apply_id');
|
||||
|
||||
//未认领数量
|
||||
$result['unclaimed_num'] = $query->count();
|
||||
//未认领金额
|
||||
$result['unclaimed_amount'] = $query->sum('amount');
|
||||
|
||||
//已超时未认领数量
|
||||
$result['timeout'] = $query->where('created_at','<',time()-24*3600)->count();
|
||||
|
||||
return $this->success($result);
|
||||
} catch (\Throwable $e) {
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -147,4 +147,19 @@ class FinReceiptController extends BaseController
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 收款记录统计
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function statistics(Request $request)
|
||||
{
|
||||
try {
|
||||
$raw = $this->service->statistics();
|
||||
return $this->success($raw);
|
||||
} catch (\Throwable $e) {
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -279,7 +279,7 @@ class FinReceiptService
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新计算折让金额
|
||||
* 更新:绑定收款记录,计算折让金额
|
||||
* @param Request $request
|
||||
* @param array $data
|
||||
* @param string $scene
|
||||
@@ -296,9 +296,24 @@ class FinReceiptService
|
||||
//折让金额
|
||||
$payment = FinPaymentApply::where('id', $payment_apply_id)->first();
|
||||
$receipt = FinReceipt::find($id);
|
||||
$data['discount_amount'] = $payment->amount - $payment->amount ?? 0;
|
||||
$data['discount_amount'] = $payment->amount - $receipt->amount ?? 0;
|
||||
|
||||
$updated = $this->logicUpdateBy($config, $data);
|
||||
return $this->postProcess(ucfirst($scene), $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 收款记录统计
|
||||
* @return bool|int
|
||||
*/
|
||||
public function statistics()
|
||||
{
|
||||
$finReceipt = FinReceipt::find($id);
|
||||
if(!empty($finReceipt->received_at)){
|
||||
throw new BusinessException('该记录已将确认入账');
|
||||
}
|
||||
$res = $this->logic->credit($id);
|
||||
$this->afterServiceUpdate(['id'=>$id]);
|
||||
return $res;
|
||||
}
|
||||
}
|
||||
@@ -368,6 +368,10 @@ Route::group('/admin', function () {
|
||||
Route::any('/show', [app\common\controller\FinReceiptHisController::class, 'show']);
|
||||
});
|
||||
|
||||
Route::group('/fin', function () {
|
||||
Route::any('/statistics', [app\admin\controller\dashboard\FinStatisticsController::class, 'statistics']);
|
||||
});
|
||||
|
||||
// 付款申请
|
||||
Route::group('/payment', function () {
|
||||
Route::any('/list', [app\common\controller\FinPaymentApplyController::class, 'index']);
|
||||
|
||||
Reference in New Issue
Block a user