作者 刘锟

update

... ... @@ -75,8 +75,6 @@ class InquiryForwardController extends BaseController
'ip' => 'required',//ip
'forward_url' => 'required',//转发网址
'message' => 'required',//发送内容
'inquiry_diff' => 'required',//发送时区
'inquiry_date' => 'required',//发送时间
], [
'id.required' => 'ID不能为空',
'name.required' => '名称不能为空',
... ... @@ -85,8 +83,6 @@ class InquiryForwardController extends BaseController
'ip.required' => 'ip不能为空',
'forward_url.required' => '转发网址不能为空',
'message.required' => '内容不能为空',
'inquiry_diff.required' => '发送时区不能为空',
'inquiry_date.required' => '发送时间不能为空',
]);
}
... ... @@ -151,18 +147,6 @@ class InquiryForwardController extends BaseController
}
/**
* 获取询盘发送时区
* @param AreaTimezone $areaTimezone
* @author Akun
* @date 2025/02/28 11:51
*/
public function getTimeZone(AreaTimezone $areaTimezone)
{
$list = $areaTimezone->list([], 'id', ['name', 'diff'], 'asc');
$this->response('success', Code::SUCCESS, $list);
}
/**
* 设置询盘无效
* @param InquiryForwardLogic $inquiryForwardLogic
* @throws \App\Exceptions\AsideGlobalException
... ...
... ... @@ -7,6 +7,7 @@ use App\Helper\Gpt;
use App\Helper\Translate;
use App\Http\Logic\Aside\BaseLogic;
use App\Models\Ai\AiCommand;
use App\Models\Inquiry\AreaTimezone;
use App\Models\Inquiry\InquiryInfo;
use App\Models\Inquiry\InquiryProject;
use App\Models\Inquiry\InquiryProjectRoute;
... ... @@ -105,14 +106,41 @@ class InquiryForwardLogic extends BaseLogic
$is_v6 = $project_version->version == 6 ? 1 : 0;
//计算发送时间
if ($this->param['inquiry_diff'] > 0) {
$start_at = date('Y-m-d H:i:s', strtotime($this->param['inquiry_date'] . ' -' . $this->param['inquiry_diff'] . ' hours'));
} elseif ($this->param['inquiry_diff'] < 0) {
$start_at = date('Y-m-d H:i:s', strtotime($this->param['inquiry_date'] . ' +' . abs($this->param['inquiry_diff']) . ' hours'));
//获取发送时间
if (isset($this->param['inquiry_date']) && $this->param['inquiry_date']) {
//填写了时间
$date = $this->param['inquiry_date'];
} else {
$start_at = $this->param['inquiry_date'];
//未填写时间
$hour = date('H');
if ($hour < 18) {
//当前时间为18点前
$day = date('Y-m-d');
$start_hour = $hour < 10 ? 10 : $hour;
} else {
//当前时间为18点后,顺延一天
$day = date('Y-m-d', strtotime('+1 day'));
$start_hour = 10;
}
$start_time = strtotime($day . ' ' . $start_hour . ':00:00');
$end_time = strtotime($day . ' 18:00:00');
$random_timestamp = mt_rand($start_time, $end_time);
$date = date('Y-m-d H:i:s', $random_timestamp);
}
//根据时区换算发送的国内时间
$timezoneModel = new AreaTimezone();
$country_area = $timezoneModel->read(['name' => $info['country']], ['diff']);
$diff = $country_area ? $country_area['diff'] : 0;
if ($diff > 0) {
$start_at = date('Y-m-d H:i:s', strtotime($date . ' -' . $diff . ' hours'));
} elseif ($diff < 0) {
$start_at = date('Y-m-d H:i:s', strtotime($date . ' +' . abs($diff) . ' hours'));
} else {
$start_at = $date;
}
//换算后国内时间小于当前时间,使用当前时间
if ($start_at < $now) {
$start_at = $now;
}
... ...
... ... @@ -348,7 +348,6 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/getInquiryIp', [Aside\Optimize\InquiryForwardController::class, 'getInquiryIp'])->name('admin.inquiry_forward_getInquiryIp');
Route::any('/searchInquiryKeywords', [Aside\Optimize\InquiryForwardController::class, 'searchInquiryKeywords'])->name('admin.inquiry_forward_searchInquiryKeywords');
Route::any('/aiRewriteInquiry', [Aside\Optimize\InquiryForwardController::class, 'aiRewriteInquiry'])->name('admin.inquiry_forward_aiRewriteInquiry');
Route::any('/getTimeZone', [Aside\Optimize\InquiryForwardController::class, 'getTimeZone'])->name('admin.inquiry_forward_getTimeZone');
Route::any('/setInquiryExpired', [Aside\Optimize\InquiryForwardController::class, 'setInquiryExpired'])->name('admin.inquiry_forward_setInquiryExpired');
});
... ...