Merge remote-tracking branch 'origin/master' into akun
正在显示
18 个修改的文件
包含
379 行增加
和
24 行删除
| @@ -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 | +} |
| @@ -72,9 +72,13 @@ class InquiryForm extends Base | @@ -72,9 +72,13 @@ class InquiryForm extends Base | ||
| 72 | unset($data['globalso-domain']); | 72 | unset($data['globalso-domain']); |
| 73 | unset($data['globalso-edition']); | 73 | unset($data['globalso-edition']); |
| 74 | unset($data['globalso-date']); | 74 | unset($data['globalso-date']); |
| 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 | } |
app/Models/Inquiry/PhoneData.php
0 → 100644
| 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 | //自定义小语种文本信息 |
-
请 注册 或 登录 后发表评论