123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
- namespace App\Modules\OrangeSite\Services\CheckReport;
- use App\Modules\OrangeSite\Services\OrangeSiteRechargeReportCheckContext;
- use App\Modules\OrangeSite\Services\OrangeSiteReportSettingService;
- use Closure;
- use Log;
- class RechargeAmountCheck
- {
- /**
- * 判断金额回传区间
- * @param $context OrangeSiteRechargeReportCheckContext
- * @param Closure $next
- * @return mixed
- */
- public function handle($context, Closure $next)
- {
- $rechargeAmountRange = OrangeSiteReportSettingService::buildRechargeAmountRange($context->channelCallbackConfig);
- if (OrangeSiteReportSettingService::judgeRechargeAmountRange($context->order->price, $rechargeAmountRange)) {
- return $next($context);
- } else {
- Log::debug('[orangeSiteRechargeReport]充值金额不满足配置区间', [
- 'orderPrice' => $context->order->price,
- 'rechargeAmountRange' => $rechargeAmountRange,
- 'traceInfo' => $context->traceContext->getTraceInfo()]);
- $context->result = [
- 'type' => 'amount_filter',
- 'firstReason' => 'RechargeAmountCheck',
- 'result' => false,
- 'content' => "订单金额:{$context->order->price}元不满足回传金额上下限[{$rechargeAmountRange['minStr']} - {$rechargeAmountRange['maxStr']}]",
- ];
- return $context;
- }
- }
- }
|