|
...
|
...
|
@@ -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;
|
|
|
|
}
|
...
|
...
|
|