正在显示
3 个修改的文件
包含
34 行增加
和
23 行删除
| @@ -75,8 +75,6 @@ class InquiryForwardController extends BaseController | @@ -75,8 +75,6 @@ class InquiryForwardController extends BaseController | ||
| 75 | 'ip' => 'required',//ip | 75 | 'ip' => 'required',//ip |
| 76 | 'forward_url' => 'required',//转发网址 | 76 | 'forward_url' => 'required',//转发网址 |
| 77 | 'message' => 'required',//发送内容 | 77 | 'message' => 'required',//发送内容 |
| 78 | - 'inquiry_diff' => 'required',//发送时区 | ||
| 79 | - 'inquiry_date' => 'required',//发送时间 | ||
| 80 | ], [ | 78 | ], [ |
| 81 | 'id.required' => 'ID不能为空', | 79 | 'id.required' => 'ID不能为空', |
| 82 | 'name.required' => '名称不能为空', | 80 | 'name.required' => '名称不能为空', |
| @@ -85,8 +83,6 @@ class InquiryForwardController extends BaseController | @@ -85,8 +83,6 @@ class InquiryForwardController extends BaseController | ||
| 85 | 'ip.required' => 'ip不能为空', | 83 | 'ip.required' => 'ip不能为空', |
| 86 | 'forward_url.required' => '转发网址不能为空', | 84 | 'forward_url.required' => '转发网址不能为空', |
| 87 | 'message.required' => '内容不能为空', | 85 | 'message.required' => '内容不能为空', |
| 88 | - 'inquiry_diff.required' => '发送时区不能为空', | ||
| 89 | - 'inquiry_date.required' => '发送时间不能为空', | ||
| 90 | ]); | 86 | ]); |
| 91 | } | 87 | } |
| 92 | 88 | ||
| @@ -151,18 +147,6 @@ class InquiryForwardController extends BaseController | @@ -151,18 +147,6 @@ class InquiryForwardController extends BaseController | ||
| 151 | } | 147 | } |
| 152 | 148 | ||
| 153 | /** | 149 | /** |
| 154 | - * 获取询盘发送时区 | ||
| 155 | - * @param AreaTimezone $areaTimezone | ||
| 156 | - * @author Akun | ||
| 157 | - * @date 2025/02/28 11:51 | ||
| 158 | - */ | ||
| 159 | - public function getTimeZone(AreaTimezone $areaTimezone) | ||
| 160 | - { | ||
| 161 | - $list = $areaTimezone->list([], 'id', ['name', 'diff'], 'asc'); | ||
| 162 | - $this->response('success', Code::SUCCESS, $list); | ||
| 163 | - } | ||
| 164 | - | ||
| 165 | - /** | ||
| 166 | * 设置询盘无效 | 150 | * 设置询盘无效 |
| 167 | * @param InquiryForwardLogic $inquiryForwardLogic | 151 | * @param InquiryForwardLogic $inquiryForwardLogic |
| 168 | * @throws \App\Exceptions\AsideGlobalException | 152 | * @throws \App\Exceptions\AsideGlobalException |
| @@ -7,6 +7,7 @@ use App\Helper\Gpt; | @@ -7,6 +7,7 @@ use App\Helper\Gpt; | ||
| 7 | use App\Helper\Translate; | 7 | use App\Helper\Translate; |
| 8 | use App\Http\Logic\Aside\BaseLogic; | 8 | use App\Http\Logic\Aside\BaseLogic; |
| 9 | use App\Models\Ai\AiCommand; | 9 | use App\Models\Ai\AiCommand; |
| 10 | +use App\Models\Inquiry\AreaTimezone; | ||
| 10 | use App\Models\Inquiry\InquiryInfo; | 11 | use App\Models\Inquiry\InquiryInfo; |
| 11 | use App\Models\Inquiry\InquiryProject; | 12 | use App\Models\Inquiry\InquiryProject; |
| 12 | use App\Models\Inquiry\InquiryProjectRoute; | 13 | use App\Models\Inquiry\InquiryProjectRoute; |
| @@ -105,14 +106,41 @@ class InquiryForwardLogic extends BaseLogic | @@ -105,14 +106,41 @@ class InquiryForwardLogic extends BaseLogic | ||
| 105 | $is_v6 = $project_version->version == 6 ? 1 : 0; | 106 | $is_v6 = $project_version->version == 6 ? 1 : 0; |
| 106 | 107 | ||
| 107 | 108 | ||
| 108 | - //计算发送时间 | ||
| 109 | - if ($this->param['inquiry_diff'] > 0) { | ||
| 110 | - $start_at = date('Y-m-d H:i:s', strtotime($this->param['inquiry_date'] . ' -' . $this->param['inquiry_diff'] . ' hours')); | ||
| 111 | - } elseif ($this->param['inquiry_diff'] < 0) { | ||
| 112 | - $start_at = date('Y-m-d H:i:s', strtotime($this->param['inquiry_date'] . ' +' . abs($this->param['inquiry_diff']) . ' hours')); | 109 | + //获取发送时间 |
| 110 | + if (isset($this->param['inquiry_date']) && $this->param['inquiry_date']) { | ||
| 111 | + //填写了时间 | ||
| 112 | + $date = $this->param['inquiry_date']; | ||
| 113 | } else { | 113 | } else { |
| 114 | - $start_at = $this->param['inquiry_date']; | 114 | + //未填写时间 |
| 115 | + $hour = date('H'); | ||
| 116 | + if ($hour < 18) { | ||
| 117 | + //当前时间为18点前 | ||
| 118 | + $day = date('Y-m-d'); | ||
| 119 | + $start_hour = $hour < 10 ? 10 : $hour; | ||
| 120 | + } else { | ||
| 121 | + //当前时间为18点后,顺延一天 | ||
| 122 | + $day = date('Y-m-d', strtotime('+1 day')); | ||
| 123 | + $start_hour = 10; | ||
| 124 | + } | ||
| 125 | + $start_time = strtotime($day . ' ' . $start_hour . ':00:00'); | ||
| 126 | + $end_time = strtotime($day . ' 18:00:00'); | ||
| 127 | + $random_timestamp = mt_rand($start_time, $end_time); | ||
| 128 | + $date = date('Y-m-d H:i:s', $random_timestamp); | ||
| 115 | } | 129 | } |
| 130 | + | ||
| 131 | + //根据时区换算发送的国内时间 | ||
| 132 | + $timezoneModel = new AreaTimezone(); | ||
| 133 | + $country_area = $timezoneModel->read(['name' => $info['country']], ['diff']); | ||
| 134 | + $diff = $country_area ? $country_area['diff'] : 0; | ||
| 135 | + if ($diff > 0) { | ||
| 136 | + $start_at = date('Y-m-d H:i:s', strtotime($date . ' -' . $diff . ' hours')); | ||
| 137 | + } elseif ($diff < 0) { | ||
| 138 | + $start_at = date('Y-m-d H:i:s', strtotime($date . ' +' . abs($diff) . ' hours')); | ||
| 139 | + } else { | ||
| 140 | + $start_at = $date; | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + //换算后国内时间小于当前时间,使用当前时间 | ||
| 116 | if ($start_at < $now) { | 144 | if ($start_at < $now) { |
| 117 | $start_at = $now; | 145 | $start_at = $now; |
| 118 | } | 146 | } |
| @@ -348,7 +348,6 @@ Route::middleware(['aloginauth'])->group(function () { | @@ -348,7 +348,6 @@ Route::middleware(['aloginauth'])->group(function () { | ||
| 348 | Route::any('/getInquiryIp', [Aside\Optimize\InquiryForwardController::class, 'getInquiryIp'])->name('admin.inquiry_forward_getInquiryIp'); | 348 | Route::any('/getInquiryIp', [Aside\Optimize\InquiryForwardController::class, 'getInquiryIp'])->name('admin.inquiry_forward_getInquiryIp'); |
| 349 | Route::any('/searchInquiryKeywords', [Aside\Optimize\InquiryForwardController::class, 'searchInquiryKeywords'])->name('admin.inquiry_forward_searchInquiryKeywords'); | 349 | Route::any('/searchInquiryKeywords', [Aside\Optimize\InquiryForwardController::class, 'searchInquiryKeywords'])->name('admin.inquiry_forward_searchInquiryKeywords'); |
| 350 | Route::any('/aiRewriteInquiry', [Aside\Optimize\InquiryForwardController::class, 'aiRewriteInquiry'])->name('admin.inquiry_forward_aiRewriteInquiry'); | 350 | Route::any('/aiRewriteInquiry', [Aside\Optimize\InquiryForwardController::class, 'aiRewriteInquiry'])->name('admin.inquiry_forward_aiRewriteInquiry'); |
| 351 | - Route::any('/getTimeZone', [Aside\Optimize\InquiryForwardController::class, 'getTimeZone'])->name('admin.inquiry_forward_getTimeZone'); | ||
| 352 | Route::any('/setInquiryExpired', [Aside\Optimize\InquiryForwardController::class, 'setInquiryExpired'])->name('admin.inquiry_forward_setInquiryExpired'); | 351 | Route::any('/setInquiryExpired', [Aside\Optimize\InquiryForwardController::class, 'setInquiryExpired'])->name('admin.inquiry_forward_setInquiryExpired'); |
| 353 | }); | 352 | }); |
| 354 | 353 |
-
请 注册 或 登录 后发表评论