作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

@@ -28,7 +28,7 @@ class RemainDay extends Command @@ -28,7 +28,7 @@ class RemainDay extends Command
28 * @var 按上线时间统计 28 * @var 按上线时间统计
29 */ 29 */
30 protected $projectId = [ 30 protected $projectId = [
31 - 1434,1812 31 + 1434,1812,276
32 ];//需要单独处理的项目 32 ];//需要单独处理的项目
33 33
34 /** 34 /**
@@ -232,4 +232,17 @@ class Arr extends \Illuminate\Support\Arr @@ -232,4 +232,17 @@ class Arr extends \Illuminate\Support\Arr
232 } 232 }
233 } 233 }
234 } 234 }
  235 +
  236 + /**
  237 + * 一行一行的转为数组
  238 + * @author zbj
  239 + * @date 2024/9/6
  240 + */
  241 + public static function lineToArray($arr){
  242 + $arr = is_array($arr) ? $arr : [$arr];
  243 + $array = array_merge(...array_map(function($item) {
  244 + return array_map('trim', preg_split('/\r?\n/', $item));
  245 + }, $arr));
  246 + return array_values(array_unique(array_filter($array)));
  247 + }
235 } 248 }
@@ -12,6 +12,7 @@ use App\Http\Logic\Bside\User\UserLoginLogic; @@ -12,6 +12,7 @@ use App\Http\Logic\Bside\User\UserLoginLogic;
12 use App\Models\Domain\DomainInfo; 12 use App\Models\Domain\DomainInfo;
13 use App\Models\Product\Category; 13 use App\Models\Product\Category;
14 use App\Models\Product\CategoryRelated; 14 use App\Models\Product\CategoryRelated;
  15 +use App\Models\Product\Keyword;
15 use App\Models\Product\Product; 16 use App\Models\Product\Product;
16 use App\Models\Project\OnlineCheck; 17 use App\Models\Project\OnlineCheck;
17 use App\Models\Project\Project; 18 use App\Models\Project\Project;
@@ -151,11 +152,7 @@ class PrivateController extends BaseController @@ -151,11 +152,7 @@ class PrivateController extends BaseController
151 } 152 }
152 153
153 /** 154 /**
154 - * @remark :模拟登录返回token  
155 - * @name :getToken  
156 - * @author :lyh  
157 - * @method :post  
158 - * @time :2024/3/29 16:19 155 + * 模拟登录返回token
159 */ 156 */
160 public function getAutoToken(){ 157 public function getAutoToken(){
161 $this->request->validate([ 158 $this->request->validate([
@@ -201,4 +198,96 @@ class PrivateController extends BaseController @@ -201,4 +198,96 @@ class PrivateController extends BaseController
201 $product_route = Product::where(['status' => Product::STATUS_ON])->whereNotIn('id', $feature_product)->pluck('route')->toArray(); 198 $product_route = Product::where(['status' => Product::STATUS_ON])->whereNotIn('id', $feature_product)->pluck('route')->toArray();
202 return $this->success($product_route); 199 return $this->success($product_route);
203 } 200 }
  201 +
  202 + /**
  203 + * 获取项目信息---站群服务
  204 + * @param Request $request
  205 + * @return false|string
  206 + */
  207 + public function getProjectByDomain(Request $request)
  208 + {
  209 + $domain = trim($request->input('domain'));
  210 + if (empty($domain)) {
  211 + return $this->error('非法参数!');
  212 + }
  213 +
  214 + $project = Project::getProjectByDomain($domain);
  215 + if (empty($project)) {
  216 + return $this->error('未找到当前域名对应的项目!');
  217 + }
  218 + $optimize = $project->optimize;
  219 + $keyword = $project->project_keyword;
  220 + $keywords = explode("\r\n", $keyword ? $keyword->main_keyword : []);
  221 + $result = [
  222 + 'company' => $project->company,
  223 + 'company_en_name' => $optimize ? $optimize->company_en_name : '',
  224 + 'company_en_description' => $optimize ? $optimize->company_en_description : '',
  225 + 'keywords' => $keywords
  226 + ];
  227 + return $this->success($result);
  228 + }
  229 +
  230 + /**
  231 + * 获取产品信息---站群服务
  232 + * @param Request $request
  233 + * @return false|string
  234 + */
  235 + public function getProjectProduct(Request $request)
  236 + {
  237 + $domain = trim($request->input('domain'));
  238 + $page_size = intval($request->input('page_size', 20));
  239 + if (empty($domain)) {
  240 + return $this->error('非法参数!');
  241 + }
  242 +
  243 + $project = Project::getProjectByDomain($domain);
  244 + if (empty($project)) {
  245 + return $this->error('未找到当前域名对应的项目!');
  246 + }
  247 + ProjectServer::useProject($project->id);
  248 + $products = Product::with('category')->where(['status' => Product::STATUS_ON])->paginate($page_size);
  249 +
  250 +// $products_ids = $products->pluck('id')->toArray();
  251 +// $category_ids = CategoryRelated::whereIn('product_id', $products_ids)->pluck('cate_id')->toArray();
  252 +// $category = Category::whereIn('id', $category_ids)->pluck('title', 'id')->toArray();
  253 +
  254 + $keyword_id = $products->pluck('keyword_id')->toArray();
  255 + $keyword_ids = array_reduce($keyword_id, 'array_merge', array());
  256 + $keyword = Keyword::whereIn('id', $keyword_ids)->pluck('title', 'id')->toArray();
  257 +
  258 + $result = [];
  259 + foreach ($products as $product) {
  260 + $product_keyword = [];
  261 + foreach ($product->keyword_id as $k_id) {
  262 + array_push($product_keyword, $keyword[$k_id]);
  263 + }
  264 + $product_category = $product->category->pluck('title')->toArray();
  265 + $result[] = [
  266 + 'title' => $product->title,
  267 + 'thumb' => $product->thumb,
  268 + 'gallery' => $product->gallery,
  269 + 'intro' => $product->intro,
  270 + 'content' => $product->content,
  271 + 'category' => $product_category,
  272 + 'keyword' => $product_keyword,
  273 + 'route' => $product->route
  274 + ];
  275 + }
  276 + return $this->success($result);
  277 + }
  278 +
  279 + /**
  280 + * 获取上线项目 --- 监控服务
  281 + * @param Request $request
  282 + * @return false|string
  283 + */
  284 + public function getProjectOnline(Request $request)
  285 + {
  286 + $page_size = intval($request->input('page_size', 20));
  287 + $projects = Project::select(['id', 'title', 'company', 'type', 'finish_remain_day', 'remain_day'])->whereIn('type', [2, 3, 4, 6])->where('delete_status', 0)->paginate($page_size);
  288 + foreach ($projects as $project) {
  289 + $project->domain = $project->domainInfo ? $project->domainInfo->domain : '';
  290 + }
  291 + return $this->success($projects);
  292 + }
204 } 293 }
  1 +<?php
  2 +/**
  3 + * @remark :
  4 + * @name :ExtensionModuleController.php
  5 + * @author :lyh
  6 + * @method :post
  7 + * @time :2024/8/7 16:15
  8 + */
  9 +
  10 +namespace App\Http\Controllers\Bside\ExtensionModule;
  11 +
  12 +use App\Enums\Common\Code;
  13 +use App\Http\Controllers\Bside\BaseController;
  14 +use App\Http\Logic\Bside\ExtensionModule\ExtensionModuleFieldLogic;
  15 +use App\Models\ExtentModule\Extension2205ModuleValueLog;
  16 +use App\Models\ExtentModule\ExtensionModule;
  17 +use App\Models\ExtentModule\ExtensionModuleField;
  18 +use App\Models\ExtentModule\ExtensionModuleValue;
  19 +use Illuminate\Support\Facades\DB;
  20 +
  21 +/**
  22 + * @remark :单独处理2205项目扩展
  23 + * @name :Extension2205ModuleController
  24 + * @author :lyh
  25 + * @method :post
  26 + * @time :2024/9/4 14:32
  27 + */
  28 +class Extension2205ModuleController extends BaseController
  29 +{
  30 + /**
  31 + * @remark :
  32 + * @name :get2205List
  33 + * @author :lyh
  34 + * @method :post
  35 + * @time :2024/9/4 16:28
  36 + */
  37 + public function get2205List(){
  38 + $this->request->validate([
  39 + 'uuid'=>'required',
  40 + ],[
  41 + 'uuid.required' => 'uuid不能为空',
  42 + ]);
  43 + $log2205Model = new Extension2205ModuleValueLog();
  44 + $lists = $log2205Model->list(['module_id'=>1,'uuid'=>$this->param['uuid']]);
  45 + $this->response('success',Code::SUCCESS,$lists);
  46 + }
  47 +
  48 + /**
  49 + * @remark :流程控制处理(2205)
  50 + * @name :save2205Status
  51 + * @author :lyh
  52 + * @method :post
  53 + * @time :2024/9/4 14:34
  54 + */
  55 + public function save2205Status(){
  56 + $this->request->validate([
  57 + 'uuid'=>'required',
  58 + 'status'=>'required',
  59 + 'date'=>'required',
  60 + ],[
  61 + 'uuid.required' => 'uuid不能为空',
  62 + 'status.required' => 'status不能为空',
  63 + 'date.required' => 'status不能为空',
  64 + ]);
  65 + if(empty($this->param['status']) || empty($this->param['date'])){
  66 + $this->response('success');
  67 + }
  68 + if($this->user['project_id'] != 2205){
  69 + $this->fail('当前接口为2205私有接口');
  70 + }
  71 + $this->param['module_id'] = $this->param['module_id'] ?? 1;
  72 + $filedModel = new ExtensionModuleField();
  73 + $fileInfo = $filedModel->read(['id'=>12]);//获取当前下拉框的数据
  74 + if($fileInfo === false){
  75 + $this->fail('当前字段不存在');
  76 + }
  77 + $statusData = json_decode($fileInfo['data'],true);
  78 + $data = [];
  79 + $number = 1;
  80 + foreach ($statusData as $v){
  81 + $data[$v] = $number;
  82 + $number++;
  83 + }
  84 + $log2205Model = new Extension2205ModuleValueLog();
  85 + $log2205Info = $log2205Model->read(['module_id'=>$this->param['module_id'],'uuid'=>$this->param['uuid'],'status'=>$this->param['status']]);
  86 + if($log2205Info == false){
  87 + $data = [
  88 + 'module_id'=>$this->param['module_id'],
  89 + 'uuid'=>$this->param['uuid'],
  90 + 'status'=>$this->param['status'],
  91 + 'date'=>$this->param['date'],
  92 + 'remark'=>$this->param['remark'] ?? ''
  93 + ];
  94 + $id = $log2205Model->addReturnId($data);
  95 + }else{
  96 + $id = $log2205Info['id'];
  97 + $data = [
  98 + 'date'=>$this->param['date'],
  99 + 'remark'=>$this->param['remark'] ?? ''
  100 + ];
  101 + $log2205Model->edit($data,['id'=>$log2205Info['id']]);
  102 + }
  103 + $this->response('success',Code::SUCCESS,['id'=>$id]);
  104 + }
  105 +}
@@ -184,6 +184,13 @@ class ExtensionModuleController extends BaseController @@ -184,6 +184,13 @@ class ExtensionModuleController extends BaseController
184 foreach ($data as $k => $v){ 184 foreach ($data as $k => $v){
185 $info = $moduleValueModel->read(['uuid'=>$this->param['uuid'],'field_id'=>$v['field_id'],'module_id'=>$this->param['module_id']]); 185 $info = $moduleValueModel->read(['uuid'=>$this->param['uuid'],'field_id'=>$v['field_id'],'module_id'=>$this->param['module_id']]);
186 if($info === false){ 186 if($info === false){
  187 + if($this->user['project_id'] == 2205 && $this->param['module_id'] == 1){
  188 + if($v['field_id'] == 12 && !empty($v['value'])){//下拉框数据
  189 + if($v['value'] != 'Ordered'){
  190 + $this->fail('请从第一个流程开始选择。');
  191 + }
  192 + }
  193 + }
187 $data = [ 194 $data = [
188 'uuid'=>$this->param['uuid'], 195 'uuid'=>$this->param['uuid'],
189 'module_id'=>$this->param['module_id'], 196 'module_id'=>$this->param['module_id'],
@@ -192,12 +199,29 @@ class ExtensionModuleController extends BaseController @@ -192,12 +199,29 @@ class ExtensionModuleController extends BaseController
192 ]; 199 ];
193 $moduleValueModel->addReturnId($data); 200 $moduleValueModel->addReturnId($data);
194 }else{ 201 }else{
  202 + if($this->user['project_id'] == 2205 && $this->param['module_id'] == 1){
  203 + if($v['field_id'] == 12 && (!empty($v['value']) && !empty($info['value']))){//下拉框数据
  204 + $filedModel = new ExtensionModuleField();
  205 + $fileInfo = $filedModel->read(['id'=>12]);//获取当前下拉框的数据
  206 + $statusData = json_decode($fileInfo['data'],true);
  207 + $status_data = [];
  208 + $number = 1;
  209 + foreach ($statusData as $value){
  210 + $status_data[$value] = $number;
  211 + $number++;
  212 + }
  213 + if($status_data[$info['value']] > $status_data[$v['value']]){
  214 + $this->fail('流程控制不能回滚');
  215 + }
  216 + }
  217 + }
195 $moduleValueModel->edit(['value'=>$v['value'] ?? ''],['id'=>$info['id']]); 218 $moduleValueModel->edit(['value'=>$v['value'] ?? ''],['id'=>$info['id']]);
196 } 219 }
197 } 220 }
198 $this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]); 221 $this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]);
199 } 222 }
200 223
  224 +
201 /** 225 /**
202 * @remark :新增數據 226 * @remark :新增數據
203 * @name :addModuleValue 227 * @name :addModuleValue
@@ -222,6 +246,13 @@ class ExtensionModuleController extends BaseController @@ -222,6 +246,13 @@ class ExtensionModuleController extends BaseController
222 $data = $this->param['data']; 246 $data = $this->param['data'];
223 $moduleValueModel = new ExtensionModuleValue(); 247 $moduleValueModel = new ExtensionModuleValue();
224 foreach ($data as $k => $v){ 248 foreach ($data as $k => $v){
  249 + if($this->user['project_id'] == 2205 && $this->param['module_id'] == 1){
  250 + if($v['field_id'] == 12 && !empty($v['value'])){//下拉框数据
  251 + if($v['value'] != 'Ordered'){
  252 + $this->fail('请重第一个流程开始选择');
  253 + }
  254 + }
  255 + }
225 $data = [ 256 $data = [
226 'uuid'=>$uuid, 257 'uuid'=>$uuid,
227 'module_id'=>$this->param['module_id'], 258 'module_id'=>$this->param['module_id'],
@@ -7,6 +7,7 @@ use App\Enums\Common\Code; @@ -7,6 +7,7 @@ use App\Enums\Common\Code;
7 use App\Http\Controllers\Bside\BaseController; 7 use App\Http\Controllers\Bside\BaseController;
8 use App\Http\Logic\Bside\Inquiry\InquiryLogic; 8 use App\Http\Logic\Bside\Inquiry\InquiryLogic;
9 use App\Models\Inquiry\InquiryForm; 9 use App\Models\Inquiry\InquiryForm;
  10 +use App\Models\Inquiry\PhoneData;
10 use App\Rules\Ids; 11 use App\Rules\Ids;
11 use App\Services\BatchExportService; 12 use App\Services\BatchExportService;
12 use Illuminate\Http\Request; 13 use Illuminate\Http\Request;
@@ -45,6 +46,35 @@ class InquiryController extends BaseController @@ -45,6 +46,35 @@ class InquiryController extends BaseController
45 }else{ 46 }else{
46 $data = $logic->getApiList(); 47 $data = $logic->getApiList();
47 } 48 }
  49 + if(!empty($data) && !empty($data['list'])){
  50 + foreach ($data['list'] as $k => &$v){
  51 + if(isset($v['phone']) && !empty($v['phone'])){
  52 + $phoneInfo = (new PhoneData())->read(['phone'=>$v['phone']]);
  53 + if($phoneInfo === false){
  54 + $v['phone_data'] = [];
  55 + }else{
  56 + $v['phone_data'] = json_decode($phoneInfo['data']);
  57 + }
  58 + }
  59 + }
  60 + }
  61 + $this->response('success',Code::SUCCESS,$data);
  62 + }
  63 +
  64 + /**
  65 + * @remark :发送请求(获取手机号码对应信息)
  66 + * @name :sendMobileVerifyData
  67 + * @author :lyh
  68 + * @method :post
  69 + * @time :2024/9/5 17:44
  70 + */
  71 + public function sendMobileVerifyData(InquiryLogic $logic){
  72 + $this->request->validate([
  73 + 'phone' => 'required',
  74 + ],[
  75 + 'phone.required' => 'phone不能为空'
  76 + ]);
  77 + $data = $logic->sendMobileVerifyData($this->param['phone']);
48 $this->response('success',Code::SUCCESS,$data); 78 $this->response('success',Code::SUCCESS,$data);
49 } 79 }
50 80
@@ -29,6 +29,9 @@ class EmailController extends BaseController @@ -29,6 +29,9 @@ class EmailController extends BaseController
29 29
30 public function list(Email $emailModel) 30 public function list(Email $emailModel)
31 { 31 {
  32 + if(!empty($this->param['email'])){
  33 + $this->map['email'] = ['like','%'.$this->param['email'].'%'];
  34 + }
32 $lists = $emailModel->lists($this->map, $this->page, $this->row); 35 $lists = $emailModel->lists($this->map, $this->page, $this->row);
33 $this->response('success', Code::SUCCESS, $lists); 36 $this->response('success', Code::SUCCESS, $lists);
34 } 37 }
@@ -489,13 +489,13 @@ class ProjectLogic extends BaseLogic @@ -489,13 +489,13 @@ class ProjectLogic extends BaseLogic
489 */ 489 */
490 public function saveInquiryFilterConfig($config){ 490 public function saveInquiryFilterConfig($config){
491 491
492 - $config['filter_countries'] = Arr::a2s(!empty($config['filter_countries']) ? $config['filter_countries'] : []);  
493 - $config['filter_contents'] = Arr::a2s(!empty($config['filter_contents']) ? $config['filter_contents'] : []);  
494 - $config['filter_referers'] = Arr::a2s(!empty($config['filter_referers']) ? $config['filter_referers'] : []);  
495 - $config['filter_emails'] = Arr::a2s(!empty($config['filter_emails']) ? $config['filter_emails'] : []);  
496 - $config['filter_mobiles'] = Arr::a2s(!empty($config['filter_mobiles']) ? $config['filter_mobiles'] : []);  
497 - $config['filter_names'] = Arr::a2s(!empty($config['filter_names']) ? $config['filter_names'] : []);  
498 - $config['black_ips'] = $config['black_ips'] ?? ''; 492 + $config['filter_countries'] = !empty($config['filter_countries']) ? Arr::lineToArray($config['filter_countries']) : [];
  493 + $config['filter_contents'] = !empty($config['filter_contents']) ? Arr::lineToArray($config['filter_contents']) : [];
  494 + $config['filter_referers'] = !empty($config['filter_referers']) ? Arr::lineToArray($config['filter_referers']) : [];
  495 + $config['filter_emails'] = !empty($config['filter_emails']) ? Arr::lineToArray($config['filter_emails']) : [];
  496 + $config['filter_mobiles'] = !empty($config['filter_mobiles']) ? Arr::lineToArray($config['filter_mobiles']) : [];
  497 + $config['filter_names'] = !empty($config['filter_names']) ? Arr::lineToArray($config['filter_names']) : [];
  498 + $config['black_ips'] = !empty($config['black_ips']) ? Arr::lineToArray($config['black_ips']) : [];
499 499
500 $model = InquiryFilterConfig::where('project_id', $config['project_id'])->first(); 500 $model = InquiryFilterConfig::where('project_id', $config['project_id'])->first();
501 if(!$model){ 501 if(!$model){
@@ -11,6 +11,7 @@ use App\Models\Domain\DomainInfo; @@ -11,6 +11,7 @@ use App\Models\Domain\DomainInfo;
11 use App\Models\Inquiry\InquiryForm; 11 use App\Models\Inquiry\InquiryForm;
12 use App\Models\Inquiry\InquiryFormData; 12 use App\Models\Inquiry\InquiryFormData;
13 use App\Models\Inquiry\InquiryOther; 13 use App\Models\Inquiry\InquiryOther;
  14 +use App\Models\Inquiry\PhoneData;
14 use Illuminate\Support\Facades\DB; 15 use Illuminate\Support\Facades\DB;
15 16
16 /** 17 /**
@@ -175,6 +176,28 @@ class InquiryLogic extends BaseLogic @@ -175,6 +176,28 @@ class InquiryLogic extends BaseLogic
175 return $this->success(); 176 return $this->success();
176 } 177 }
177 178
178 - 179 + /**
  180 + * @remark :获取手机号码下是否拥有wa
  181 + * @name :sendMobileVerifyData
  182 + * @author :lyh
  183 + * @method :post
  184 + * @time :2024/9/5 17:40
  185 + */
  186 + public function sendMobileVerifyData($phone){
  187 + $phoneDataModel = new PhoneData();
  188 + $info = $phoneDataModel->read(['phone'=>$phone]);
  189 + if($info === false){
  190 + $url = 'https://fob.ai.cc/api/mobile_verify_data/'.$phone;
  191 + $data = http_get($url);
  192 + $param = [
  193 + 'phone'=>$phone,
  194 + 'data'=>json_encode($data,true)
  195 + ];
  196 + (new PhoneData())->addReturnId($param);
  197 + }else{
  198 + $data = json_decode($info['data']);
  199 + }
  200 + return $this->success(['data'=>$data]);
  201 + }
179 202
180 } 203 }
@@ -45,8 +45,8 @@ class NewsCategoryLogic extends BaseLogic @@ -45,8 +45,8 @@ class NewsCategoryLogic extends BaseLogic
45 public function newsCategorySave(){ 45 public function newsCategorySave(){
46 //验证名称是否存在 46 //验证名称是否存在
47 $this->verifyParamName($this->param['name']); 47 $this->verifyParamName($this->param['name']);
48 -// DB::beginTransaction();  
49 -// try { 48 + DB::beginTransaction();
  49 + try {
50 if(isset($this->param['id']) && !empty($this->param['id'])){ 50 if(isset($this->param['id']) && !empty($this->param['id'])){
51 $id = $this->param['id']; 51 $id = $this->param['id'];
52 $this->param['alias'] = RouteMap::setRoute($this->param['alias'], RouteMap::SOURCE_NEWS_CATE, $id, $this->user['project_id']); 52 $this->param['alias'] = RouteMap::setRoute($this->param['alias'], RouteMap::SOURCE_NEWS_CATE, $id, $this->user['project_id']);
@@ -62,11 +62,11 @@ class NewsCategoryLogic extends BaseLogic @@ -62,11 +62,11 @@ class NewsCategoryLogic extends BaseLogic
62 $route = RouteMap::setRoute($this->param['alias'], RouteMap::SOURCE_NEWS_CATE, $id, $this->user['project_id']); 62 $route = RouteMap::setRoute($this->param['alias'], RouteMap::SOURCE_NEWS_CATE, $id, $this->user['project_id']);
63 $this->model->edit(['alias'=>$route],['id'=>$id]); 63 $this->model->edit(['alias'=>$route],['id'=>$id]);
64 } 64 }
65 -// DB::commit();  
66 -// }catch (\Exception $e){  
67 -// DB::rollBack();  
68 -// $this->fail('系统错误,请联系管理员');  
69 -// } 65 + DB::commit();
  66 + }catch (\Exception $e){
  67 + DB::rollBack();
  68 + $this->fail('系统错误,请联系管理员');
  69 + }
70 $this->addUpdateNotify(RouteMap::SOURCE_NEWS_CATE,$route); 70 $this->addUpdateNotify(RouteMap::SOURCE_NEWS_CATE,$route);
71 $this->curlDelRoute(['new_route'=>$route]); 71 $this->curlDelRoute(['new_route'=>$route]);
72 return $this->success(['id'=>$id]); 72 return $this->success(['id'=>$id]);
@@ -794,7 +794,6 @@ class RankDataLogic extends BaseLogic @@ -794,7 +794,6 @@ class RankDataLogic extends BaseLogic
794 if (!$rank_week) { 794 if (!$rank_week) {
795 $rank_week = new RankWeekModel(); 795 $rank_week = new RankWeekModel();
796 } 796 }
797 -  
798 $rank_week->project_id = $project_id; 797 $rank_week->project_id = $project_id;
799 $rank_week->data = $res['data'][$api_no] ?? []; 798 $rank_week->data = $res['data'][$api_no] ?? [];
800 $rank_week->date = $res['date']; 799 $rank_week->date = $res['date'];
  1 +<?php
  2 +/**
  3 + * @remark :
  4 + * @name :ExtensionModuleValue.php
  5 + * @author :lyh
  6 + * @method :post
  7 + * @time :2024/8/7 16:10
  8 + */
  9 +
  10 +namespace App\Models\ExtentModule;
  11 +
  12 +use App\Models\Base;
  13 +
  14 +/**
  15 + * @remark :2205单独的类
  16 + * @name :Extension2205ModuleValueLog
  17 + * @author :lyh
  18 + * @method :post
  19 + * @time :2024/9/4 14:50
  20 + */
  21 +class Extension2205ModuleValueLog extends Base
  22 +{
  23 + protected $table = 'gl_extension_module_value_log';
  24 + //连接数据库
  25 + protected $connection = 'custom_mysql';
  26 +}
@@ -75,6 +75,10 @@ class InquiryForm extends Base @@ -75,6 +75,10 @@ class InquiryForm extends Base
75 75
76 foreach ($data as $k => $v){ 76 foreach ($data as $k => $v){
77 if(in_array($k, ['name', 'email', 'message']) && empty($v)){ 77 if(in_array($k, ['name', 'email', 'message']) && empty($v)){
  78 + //特殊处理1986的表单
  79 + if($k == 'message' && $data['project_id'] == 1986){
  80 + continue;
  81 + }
78 unset($data[$k]); 82 unset($data[$k]);
79 } 83 }
80 } 84 }
  1 +<?php
  2 +/**
  3 + * @remark :
  4 + * @name :PhoneData.php
  5 + * @author :lyh
  6 + * @method :post
  7 + * @time :2024/9/5 15:08
  8 + */
  9 +
  10 +namespace App\Models\Inquiry;
  11 +
  12 +use App\Models\Base;
  13 +
  14 +class PhoneData extends Base
  15 +{
  16 + protected $connection = "custom_mysql";
  17 + protected $table = 'gl_phone_data';
  18 +}
@@ -24,6 +24,7 @@ class InquiryFilterConfig extends Base @@ -24,6 +24,7 @@ class InquiryFilterConfig extends Base
24 'filter_emails' => 'array', 24 'filter_emails' => 'array',
25 'filter_mobiles' => 'array', 25 'filter_mobiles' => 'array',
26 'filter_names' => 'array', 26 'filter_names' => 'array',
  27 + 'black_ips' => 'array',
27 ]; 28 ];
28 29
29 /** 30 /**
@@ -271,7 +271,7 @@ class SyncSubmitTaskService @@ -271,7 +271,7 @@ class SyncSubmitTaskService
271 } 271 }
272 //过滤ip 272 //过滤ip
273 if($config['black_ips']){ 273 if($config['black_ips']){
274 - $black_ips = explode("\r\n", $config['black_ips']); 274 + $black_ips = $config['black_ips'];
275 //后端获取的ip 275 //后端获取的ip
276 if(in_array($data['ip'], $black_ips)){ 276 if(in_array($data['ip'], $black_ips)){
277 throw new InquiryFilterException( '过滤黑名单IP:' . $data['ip']); 277 throw new InquiryFilterException( '过滤黑名单IP:' . $data['ip']);
@@ -39,6 +39,15 @@ Route::any('getAutoToken', [\App\Http\Controllers\Api\PrivateController::class, @@ -39,6 +39,15 @@ Route::any('getAutoToken', [\App\Http\Controllers\Api\PrivateController::class,
39 // 特殊项目 有效产品路由 39 // 特殊项目 有效产品路由
40 Route::any('valid_product_route', [\App\Http\Controllers\Api\PrivateController::class, 'getProductRoute'])->name('api.valid_product_route'); 40 Route::any('valid_product_route', [\App\Http\Controllers\Api\PrivateController::class, 'getProductRoute'])->name('api.valid_product_route');
41 41
  42 +// --------------------- 站群服务 ------------------------------------------
  43 +// 获取项目信息
  44 +Route::any('get_project_detail', [\App\Http\Controllers\Api\PrivateController::class, 'getProjectByDomain'])->name('api.project_detail');
  45 +// 获取项目产品信息
  46 +Route::any('get_project_product', [\App\Http\Controllers\Api\PrivateController::class, 'getProjectProduct'])->name('api.project_product');
  47 +// --------------------- 站群服务 ------------------------------------------
  48 +// --------------------- 监控服务 ------------------------------------------
  49 +Route::any('get_project_online', [\App\Http\Controllers\Api\PrivateController::class, 'getProjectOnline'])->name('api.get_project_online');
  50 +
42 //自建站接口转接 51 //自建站接口转接
43 Route::post('selfSiteApi', [\App\Http\Controllers\Api\SelfSiteController::class, 'selfSiteApi']); 52 Route::post('selfSiteApi', [\App\Http\Controllers\Api\SelfSiteController::class, 'selfSiteApi']);
44 Route::post('selfSiteNotify', [\App\Http\Controllers\Api\SelfSiteController::class, 'selfSiteNotify']); 53 Route::post('selfSiteNotify', [\App\Http\Controllers\Api\SelfSiteController::class, 'selfSiteNotify']);
@@ -341,6 +341,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -341,6 +341,7 @@ Route::middleware(['bloginauth'])->group(function () {
341 Route::any('/info', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'info'])->name('inquiry_info'); 341 Route::any('/info', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'info'])->name('inquiry_info');
342 Route::any('/delete', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'delete'])->name('inquiry_delete'); 342 Route::any('/delete', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'delete'])->name('inquiry_delete');
343 Route::any('/export', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'export'])->name('inquiry_export'); 343 Route::any('/export', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'export'])->name('inquiry_export');
  344 + Route::any('/send', [\App\Http\Controllers\Bside\Inquiry\InquiryController::class, 'sendMobileVerifyData'])->name('inquiry_sendMobileVerifyData');
344 }); 345 });
345 346
346 //生成路由 347 //生成路由
@@ -593,6 +594,9 @@ Route::middleware(['bloginauth'])->group(function () { @@ -593,6 +594,9 @@ Route::middleware(['bloginauth'])->group(function () {
593 Route::any('/setSort', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'setSort'])->name('extension_module_setSort'); 594 Route::any('/setSort', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'setSort'])->name('extension_module_setSort');
594 Route::any('/setSearchParam', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'setSearchParam'])->name('extension_module_setSearchParam'); 595 Route::any('/setSearchParam', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'setSearchParam'])->name('extension_module_setSearchParam');
595 Route::any('/delExtensionValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'delExtensionValue'])->name('extension_module_delExtensionValue'); 596 Route::any('/delExtensionValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'delExtensionValue'])->name('extension_module_delExtensionValue');
  597 + //2205项目单独处理
  598 + Route::any('2205/get2205List', [\App\Http\Controllers\Bside\ExtensionModule\Extension2205ModuleController::class, 'get2205List'])->name('extension_module_get2205List');
  599 + Route::any('2205/save2205Status', [\App\Http\Controllers\Bside\ExtensionModule\Extension2205ModuleController::class, 'save2205Status'])->name('extension_module_save2205Status');
596 }); 600 });
597 601
598 //自定义小语种文本信息 602 //自定义小语种文本信息