From 05e39d2d656b9c45180a7c45c5f5580168a66905 Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Sat, 29 Nov 2025 17:50:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=A2=E5=8D=95=E8=BD=AC=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InquiryTransmitController.php | 16 ++++--- .../service/InquiryTransmitConfigService.php | 36 +++++++++++++++ app/common/service/InquiryTransmitService.php | 44 ++++++++++++++++++- config/route.php | 18 ++++++++ 4 files changed, 108 insertions(+), 6 deletions(-) diff --git a/app/admin/controller/InquiryTransmitController.php b/app/admin/controller/InquiryTransmitController.php index 95655df..a3d932c 100644 --- a/app/admin/controller/InquiryTransmitController.php +++ b/app/admin/controller/InquiryTransmitController.php @@ -3,6 +3,7 @@ namespace app\admin\controller; use app\common\controller\BaseController; use app\common\model\InquiryTransmit; +use app\common\model\InquiryTransmitConfig; use app\common\traits\crud\CrudControllerTrait; use app\common\service\InquiryTransmitService; use support\Log; @@ -45,11 +46,16 @@ class InquiryTransmitController extends BaseController { try { $params = $request->all(); - - var_dump($params); - - $mailto = '1696136552@qq.com'; - $fromDomain = 'magicbridgeauto.com'; + $url = $request->header('referer'); + $domain = parse_url($url, PHP_URL_HOST); + $transmitConfig = InquiryTransmitConfig::where('domain', $domain)->first(); + if ($transmitConfig) { + $mailto = $transmitConfig->mailto; + $fromDomain = $domain; + } else { + $mailto = '1696136552@qq.com'; + $fromDomain = 'referer Failed to obtain'; + } if ($request->method() == 'GET') { $config = [ diff --git a/app/common/service/InquiryTransmitConfigService.php b/app/common/service/InquiryTransmitConfigService.php index c0e915a..930124a 100644 --- a/app/common/service/InquiryTransmitConfigService.php +++ b/app/common/service/InquiryTransmitConfigService.php @@ -5,6 +5,7 @@ namespace app\common\service; use app\common\validate\InquiryTransmitConfigValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\InquiryTransmitConfig; +use support\Request; class InquiryTransmitConfigService { @@ -28,4 +29,39 @@ class InquiryTransmitConfigService { return new $this->validator; } + + /** + * 构造 CrudUtil 查询配置 + */ + protected function buildQueryConfig(Request $request, string $scene = 'default'): array + { + $p = $request->all(); + + $config = []; + $config['model'] = $this->modelClass; + switch ($scene) { + case 'default': + $config['where']['status'] = 1; + $config['order']['id'] = 'desc'; + break; + case 'index': + $config['where']['status'] = 1; + $config['order']['id'] = 'desc'; + break; + case 'show': + $config['where']['id'] = $p['id']; + $config['where']['status'] = 1; + break; + case 'store': + break; + case 'update': + $config['where']['id'] = $p['id']; + break; + case 'destroy': + $config['where']['id'] = $p['id']; + break; + } + + return $config; + } } \ No newline at end of file diff --git a/app/common/service/InquiryTransmitService.php b/app/common/service/InquiryTransmitService.php index 46265f9..4563dc7 100644 --- a/app/common/service/InquiryTransmitService.php +++ b/app/common/service/InquiryTransmitService.php @@ -30,7 +30,6 @@ class InquiryTransmitService return new $this->validator; } - /** 创建 */ public function serviceStore(Request $request, array $data = []) { @@ -46,4 +45,47 @@ class InquiryTransmitService return InquiryTransmit::create($data); } + + /** + * 构造 CrudUtil 查询配置 + */ + protected function buildQueryConfig(Request $request, string $scene = 'default'): array + { + $p = $request->all(); + + $config = []; + $config['model'] = $this->modelClass; + switch ($scene) { + case 'default': + $config['order']['id'] = 'desc'; + break; + case 'index': + // 域名 + if (isset($p['domain']) && !empty($p['domain'])) { + $config['where']['domain'] = $p['domain']; + } + // 关键字 + if (isset($p['keyword']) && $p['keyword']) { + $k = '%' . $p['keyword'] . '%'; + foreach (['email', 'name', 'tel', 'country', 'message', 'form_url'] as $col) { + $config['orWhere'][] = [$col, 'like', $k]; + } + } + $config['order']['id'] = 'desc'; + break; + case 'show': + $config['where']['id'] = $p['id']; + break; + case 'store': + break; + case 'update': + $config['where']['id'] = $p['id']; + break; + case 'destroy': + $config['where']['id'] = $p['id']; + break; + } + + return $config; + } } \ No newline at end of file diff --git a/config/route.php b/config/route.php index 82e2ced..7b092f3 100644 --- a/config/route.php +++ b/config/route.php @@ -220,6 +220,24 @@ Route::group('/admin', function () { }); }); + // 询单转发 + Route::group('/inquiry', function () { + Route::group('/transmit', function () { + Route::any('/list', [app\admin\controller\InquiryTransmitController::class, 'index']); + Route::any('/show', [app\admin\controller\InquiryTransmitController::class, 'show']); + Route::any('/store', [app\admin\controller\InquiryTransmitController::class, 'store']); + Route::any('/update', [app\admin\controller\InquiryTransmitController::class, 'update']); + Route::any('/destroy', [app\admin\controller\InquiryTransmitController::class, 'destroy']); + }); + Route::group('/config', function () { + Route::any('/list', [app\admin\controller\InquiryTransmitConfigController::class, 'index']); + Route::any('/show', [app\admin\controller\InquiryTransmitConfigController::class, 'show']); + Route::any('/store', [app\admin\controller\InquiryTransmitConfigController::class, 'store']); + Route::any('/update', [app\admin\controller\InquiryTransmitConfigController::class, 'update']); + Route::any('/destroy', [app\admin\controller\InquiryTransmitConfigController::class, 'destroy']); + }); + }); + // crm Route::group('/crm', function () { Route::group('/customer', function () {