Merge remote-tracking branch 'origin/master' into akun
正在显示
13 个修改的文件
包含
209 行增加
和
146 行删除
| @@ -43,38 +43,50 @@ class RankData extends BaseCommands | @@ -43,38 +43,50 @@ class RankData extends BaseCommands | ||
| 43 | */ | 43 | */ |
| 44 | public function do() | 44 | public function do() |
| 45 | { | 45 | { |
| 46 | - Log::channel('rank_data')->info('开始-排名数据'); | ||
| 47 | - //同步api_no | ||
| 48 | - $this->SyncApiNo(); | 46 | + try { |
| 49 | 47 | ||
| 50 | - //所有项目 今日是否达标 重置 | ||
| 51 | - //有失败会重跑任务,导致达标又被重置 加缓存一天只重置一次 | ||
| 52 | - if(!Cache::get('clear_remain_today_'.date('Y-m-d'))){ | ||
| 53 | - Project::where('is_remain_today', 1)->update(['is_remain_today' => 0]); | ||
| 54 | - Cache::set('clear_remain_today_'.date('Y-m-d'), 1, 24 * 3600); | ||
| 55 | - } | ||
| 56 | 48 | ||
| 57 | - $error = 0; | ||
| 58 | - $api = new QuanqiusouApi(); | ||
| 59 | - //有排名api编号的项目 | ||
| 60 | - $list = DeployOptimize::where('api_no', '>' , 0)->select('api_no','minor_languages','project_id')->get(); | ||
| 61 | - Log::channel('rank_data')->info('开始-排名数据-'.count($list)); | ||
| 62 | - //当日所有站点谷歌收录数据 | ||
| 63 | - $site_res = $api->getSiteRes(); | ||
| 64 | - if(!$site_res){ | ||
| 65 | - return false; | ||
| 66 | - } | ||
| 67 | - foreach ($list as $item){ | ||
| 68 | - echo $item['api_no'] . PHP_EOL; | 49 | + Log::channel('rank_data')->info('开始-排名数据'); |
| 50 | + //同步api_no | ||
| 69 | try { | 51 | try { |
| 70 | - (new RankDataLogic())->syncRankData($item['api_no'], $site_res); | ||
| 71 | - }catch (\Exception $e){ | ||
| 72 | - Log::channel('rank_data')->error('RankData:失败 ' . $item['api_no'] . $e->getMessage()); | ||
| 73 | - $error++; | ||
| 74 | - continue; | 52 | + $this->SyncApiNo(); |
| 53 | + } catch (\Exception $e) { | ||
| 54 | + Log::channel('rank_data')->error('同步api_no失败:' . $e->getMessage()); | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + | ||
| 58 | + //所有项目 今日是否达标 重置 | ||
| 59 | + //有失败会重跑任务,导致达标又被重置 加缓存一天只重置一次 | ||
| 60 | + if (!Cache::get('clear_remain_today_' . date('Y-m-d'))) { | ||
| 61 | + Project::where('is_remain_today', 1)->update(['is_remain_today' => 0]); | ||
| 62 | + Cache::set('clear_remain_today_' . date('Y-m-d'), 1, 24 * 3600); | ||
| 75 | } | 63 | } |
| 64 | + | ||
| 65 | + $error = 0; | ||
| 66 | + $api = new QuanqiusouApi(); | ||
| 67 | + //有排名api编号的项目 | ||
| 68 | + $list = DeployOptimize::where('api_no', '>', 0)->select('api_no', 'minor_languages', 'project_id')->get(); | ||
| 69 | + Log::channel('rank_data')->info('开始-排名数据-' . count($list)); | ||
| 70 | + //当日所有站点谷歌收录数据 | ||
| 71 | + $site_res = $api->getSiteRes(); | ||
| 72 | + if (!$site_res) { | ||
| 73 | + return false; | ||
| 74 | + } | ||
| 75 | + foreach ($list as $item) { | ||
| 76 | + echo $item['api_no'] . PHP_EOL; | ||
| 77 | + try { | ||
| 78 | + (new RankDataLogic())->syncRankData($item['api_no'], $site_res); | ||
| 79 | + } catch (\Exception $e) { | ||
| 80 | + Log::channel('rank_data')->error('RankData:失败 ' . $item['api_no'] . $e->getMessage()); | ||
| 81 | + $error++; | ||
| 82 | + continue; | ||
| 83 | + } | ||
| 84 | + } | ||
| 85 | + return !$error; | ||
| 86 | + } catch (\Exception $e) { | ||
| 87 | + Log::channel('rank_data')->error('排名数据任务失败 ' . $e->getMessage()); | ||
| 88 | + throw new \Exception($e->getMessage()); | ||
| 76 | } | 89 | } |
| 77 | - return !$error; | ||
| 78 | } | 90 | } |
| 79 | 91 | ||
| 80 | /** | 92 | /** |
| @@ -93,16 +105,17 @@ class RankData extends BaseCommands | @@ -93,16 +105,17 @@ class RankData extends BaseCommands | ||
| 93 | 105 | ||
| 94 | $api = new QuanqiusouApi(); | 106 | $api = new QuanqiusouApi(); |
| 95 | $ai_nos = $api->getWebApiNo(); | 107 | $ai_nos = $api->getWebApiNo(); |
| 96 | - | ||
| 97 | - foreach ($deploy_optimizes as $deploy_optimize){ | ||
| 98 | - $domain = DomainInfo::where('id', $deploy_optimize['domain'])->value('domain'); | ||
| 99 | - if(!$domain){ | ||
| 100 | - continue; | ||
| 101 | - } | ||
| 102 | - $api_no = array_search($domain, $ai_nos); | ||
| 103 | - if($api_no){ | ||
| 104 | - $deploy_optimize->api_no = $api_no; | ||
| 105 | - $deploy_optimize->save(); | 108 | + if($ai_nos){ |
| 109 | + foreach ($deploy_optimizes as $deploy_optimize){ | ||
| 110 | + $domain = DomainInfo::where('id', $deploy_optimize['domain'])->value('domain'); | ||
| 111 | + if(!$domain){ | ||
| 112 | + continue; | ||
| 113 | + } | ||
| 114 | + $api_no = array_search($domain, $ai_nos); | ||
| 115 | + if($api_no){ | ||
| 116 | + $deploy_optimize->api_no = $api_no; | ||
| 117 | + $deploy_optimize->save(); | ||
| 118 | + } | ||
| 106 | } | 119 | } |
| 107 | } | 120 | } |
| 108 | } | 121 | } |
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * @remark : | ||
| 4 | + * @name :RecommendedSuppliers.php | ||
| 5 | + * @author :lyh | ||
| 6 | + * @method :post | ||
| 7 | + * @time :2024/3/5 11:27 | ||
| 8 | + */ | ||
| 9 | + | ||
| 10 | +namespace App\Console\Commands\Suppliers; | ||
| 11 | + | ||
| 12 | +use App\Models\Com\Purchaser; | ||
| 13 | +use App\Models\Product\Keyword; | ||
| 14 | +use App\Models\Project\DeployBuild; | ||
| 15 | +use App\Models\Project\Project; | ||
| 16 | +use App\Services\ProjectServer; | ||
| 17 | +use Illuminate\Console\Command; | ||
| 18 | +use Illuminate\Support\Facades\DB; | ||
| 19 | +use Illuminate\Support\Facades\Log; | ||
| 20 | + | ||
| 21 | +class RecommendedSuppliers extends Command | ||
| 22 | +{ | ||
| 23 | + /** | ||
| 24 | + * The name and signature of the console command. | ||
| 25 | + * | ||
| 26 | + * @var string | ||
| 27 | + */ | ||
| 28 | + protected $signature = 'recommended_suppliers'; | ||
| 29 | + | ||
| 30 | + /** | ||
| 31 | + * The console command description. | ||
| 32 | + * | ||
| 33 | + * @var string | ||
| 34 | + */ | ||
| 35 | + protected $description = '推荐供应商'; | ||
| 36 | + | ||
| 37 | + /** | ||
| 38 | + * Create a new command instance. | ||
| 39 | + * | ||
| 40 | + * @return void | ||
| 41 | + */ | ||
| 42 | + public function __construct() | ||
| 43 | + { | ||
| 44 | + parent::__construct(); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * @return bool | ||
| 50 | + */ | ||
| 51 | + public function handle() | ||
| 52 | + { | ||
| 53 | + $projectModel = new DeployBuild(); | ||
| 54 | + $project_list = $projectModel->list(['is_supplier'=>1]);//TODO::已开启推荐供应商 | ||
| 55 | + foreach ($project_list as $k => $v){ | ||
| 56 | + echo date('Y-m-d H:i:s') . 'project_id:'.$v['project_id'] . PHP_EOL; | ||
| 57 | + ProjectServer::useProject($v['id']); | ||
| 58 | + $info = Keyword::inRandomOrder()->first(); | ||
| 59 | + if(empty($info)){ | ||
| 60 | + continue; | ||
| 61 | + } | ||
| 62 | + $keywordInfo = $this->getPurchaser($info['title']); | ||
| 63 | + if($keywordInfo !== false){ | ||
| 64 | + continue; | ||
| 65 | + } | ||
| 66 | + echo date('Y-m-d H:i:s') . '开始:'.$v['project_id'] . PHP_EOL; | ||
| 67 | + $this->savePurchaser($v['id'],$info['title']); | ||
| 68 | + DB::disconnect('custom_mysql'); | ||
| 69 | + } | ||
| 70 | + return true; | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + public function getPurchaser($keyword){ | ||
| 74 | + $purchaserModel = new Purchaser(); | ||
| 75 | + return $purchaserModel->read(['keyword'=>$keyword]); | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + /** | ||
| 79 | + * @remark :保存供应商 | ||
| 80 | + * @name :getPurchaser | ||
| 81 | + * @author :lyh | ||
| 82 | + * @method :post | ||
| 83 | + * @time :2024/3/5 11:38 | ||
| 84 | + */ | ||
| 85 | + public function savePurchaser($project_id,$keyword,$row = 10){ | ||
| 86 | + $url = 'https://admin.hagro.cn/api/company_list'; | ||
| 87 | + $data = [ | ||
| 88 | + 'prod_desc'=>$keyword = 'led', | ||
| 89 | + 'total'=>$row ?? 10, | ||
| 90 | + ]; | ||
| 91 | + ksort($data); | ||
| 92 | + $token = 'company_list+'.date('Y-m-d').'+'.http_build_query($data); | ||
| 93 | + echo date('Y-m-d H:i:s') . '加密token:'.md5($token) . PHP_EOL; | ||
| 94 | + $param = [ | ||
| 95 | + 'prod_desc'=>$keyword, | ||
| 96 | + 'token'=>md5($token), | ||
| 97 | + 'total'=>$this->param['row'] ?? 10, | ||
| 98 | + ]; | ||
| 99 | + $res = http_post($url,json_encode($param)); | ||
| 100 | + if(!empty($res) && $res['code'] == 200){ | ||
| 101 | + $saveData = [ | ||
| 102 | + 'project_id'=>$project_id, | ||
| 103 | + 'keyword'=>$keyword, | ||
| 104 | + 'data'=>json_encode($res['data']) | ||
| 105 | + ]; | ||
| 106 | + $purchaserModel = new Purchaser(); | ||
| 107 | + $purchaserModel->add($saveData); | ||
| 108 | + } | ||
| 109 | + return true; | ||
| 110 | + } | ||
| 111 | +} |
| @@ -265,25 +265,26 @@ class Demo extends Command | @@ -265,25 +265,26 @@ class Demo extends Command | ||
| 265 | // print_r($include); | 265 | // print_r($include); |
| 266 | // } | 266 | // } |
| 267 | public function handle(){ | 267 | public function handle(){ |
| 268 | - $projectModel = new Project(); | ||
| 269 | - $list = $projectModel->list(['delete_status'=>0,'type'=>['!=',0]]); | ||
| 270 | - foreach ($list as $v1){ | ||
| 271 | - ProjectServer::useProject($v1['id']); | ||
| 272 | - echo date('Y-m-d H:i:s') . '项目id:'.$v1['id'] . PHP_EOL; | ||
| 273 | - $navGroupModel = new BNavGroup(); | ||
| 274 | - $groupList = $navGroupModel->list(['sort_list'=>['!=','']]); | ||
| 275 | - if(empty($groupList)){ | ||
| 276 | - continue; | ||
| 277 | - } | ||
| 278 | - foreach ($groupList as $k=>$v){ | ||
| 279 | - if(!empty($v['sort_list'])){ | ||
| 280 | - $sort_list = json_decode($v['sort_list']); | ||
| 281 | - $sort = 0; | ||
| 282 | - $this->subSort($sort_list,$sort); | ||
| 283 | - } | ||
| 284 | - } | ||
| 285 | - DB::disconnect('custom_mysql'); | ||
| 286 | - } | 268 | + echo '加密字符串:'.md5('company_list+2024-03-05+prod_desc=led&total=10'); |
| 269 | +// $projectModel = new Project(); | ||
| 270 | +// $list = $projectModel->list(['delete_status'=>0,'type'=>['!=',0]]); | ||
| 271 | +// foreach ($list as $v1){ | ||
| 272 | +// ProjectServer::useProject($v1['id']); | ||
| 273 | +// echo date('Y-m-d H:i:s') . '项目id:'.$v1['id'] . PHP_EOL; | ||
| 274 | +// $navGroupModel = new BNavGroup(); | ||
| 275 | +// $groupList = $navGroupModel->list(['sort_list'=>['!=','']]); | ||
| 276 | +// if(empty($groupList)){ | ||
| 277 | +// continue; | ||
| 278 | +// } | ||
| 279 | +// foreach ($groupList as $k=>$v){ | ||
| 280 | +// if(!empty($v['sort_list'])){ | ||
| 281 | +// $sort_list = json_decode($v['sort_list']); | ||
| 282 | +// $sort = 0; | ||
| 283 | +// $this->subSort($sort_list,$sort); | ||
| 284 | +// } | ||
| 285 | +// } | ||
| 286 | +// DB::disconnect('custom_mysql'); | ||
| 287 | +// } | ||
| 287 | return true; | 288 | return true; |
| 288 | } | 289 | } |
| 289 | 290 |
| @@ -167,7 +167,7 @@ class UpdateSeoTdk extends Command | @@ -167,7 +167,7 @@ class UpdateSeoTdk extends Command | ||
| 167 | $ai_commands = AiCommand::where('is_batch', 1)->select('key', 'scene', 'ai')->get()->toArray(); | 167 | $ai_commands = AiCommand::where('is_batch', 1)->select('key', 'scene', 'ai')->get()->toArray(); |
| 168 | $ai_commands = Arr::setValueToKey($ai_commands, 'key'); | 168 | $ai_commands = Arr::setValueToKey($ai_commands, 'key'); |
| 169 | foreach ($this->maps as $table => $map) { | 169 | foreach ($this->maps as $table => $map) { |
| 170 | - $update[$table] = ['total_page'=>0, 'title'=>0, 'keyword'=>0, 'des'=>0]; | 170 | + $update[$table] = ['total_page'=>0, 'title'=>0, 'keyword'=>0, 'des'=>0,'keyword_title'=>0,'keyword_content'=>0]; |
| 171 | echo date('Y-m-d H:i:s') . '更新--' . $table . ': 项目id' . $project_id . PHP_EOL; | 171 | echo date('Y-m-d H:i:s') . '更新--' . $table . ': 项目id' . $project_id . PHP_EOL; |
| 172 | $list = DB::connection('custom_mysql')->table($table)->select('id')->get(); | 172 | $list = DB::connection('custom_mysql')->table($table)->select('id')->get(); |
| 173 | if (!empty($list)) { | 173 | if (!empty($list)) { |
| @@ -312,7 +312,7 @@ class WebTraffic extends Command | @@ -312,7 +312,7 @@ class WebTraffic extends Command | ||
| 312 | $other = DB::connection('projects_mysql')->table('projects')->where('switch', 1)->pluck('domain')->toArray(); | 312 | $other = DB::connection('projects_mysql')->table('projects')->where('switch', 1)->pluck('domain')->toArray(); |
| 313 | $data = []; | 313 | $data = []; |
| 314 | foreach ($list as $project) { | 314 | foreach ($list as $project) { |
| 315 | - $lang = WebLanguage::getLangById($this->project['main_lang_id']??1)['short']; | 315 | + $lang = WebLanguage::getLangById($project['main_lang_id']??1)['short']; |
| 316 | if(empty($project->domainInfo['domain'])){ | 316 | if(empty($project->domainInfo['domain'])){ |
| 317 | continue; | 317 | continue; |
| 318 | } | 318 | } |
| @@ -42,6 +42,8 @@ class Kernel extends ConsoleKernel | @@ -42,6 +42,8 @@ class Kernel extends ConsoleKernel | ||
| 42 | // $schedule->command('website_data')->dailyAt('01:00')->withoutOverlapping(1); // 向AICC推送数据 | 42 | // $schedule->command('website_data')->dailyAt('01:00')->withoutOverlapping(1); // 向AICC推送数据 |
| 43 | // $schedule->command('project_file_pdf')->dailyAt('00:00')->withoutOverlapping(1); // 网站项目数据,生成PDF文件 | 43 | // $schedule->command('project_file_pdf')->dailyAt('00:00')->withoutOverlapping(1); // 网站项目数据,生成PDF文件 |
| 44 | $schedule->command('sync_manager')->dailyAt('01:00')->withoutOverlapping(1); //TODO::手机号码同步 每天执行一次 | 44 | $schedule->command('sync_manager')->dailyAt('01:00')->withoutOverlapping(1); //TODO::手机号码同步 每天执行一次 |
| 45 | + | ||
| 46 | + $schedule->command('recommended_suppliers')->dailyAt('01:00')->withoutOverlapping(1); //每天凌晨1点执行一次生成推荐商 | ||
| 45 | } | 47 | } |
| 46 | 48 | ||
| 47 | /** | 49 | /** |
| @@ -802,14 +802,15 @@ class ProjectController extends BaseController | @@ -802,14 +802,15 @@ class ProjectController extends BaseController | ||
| 802 | ]; | 802 | ]; |
| 803 | foreach ($data as $k => $v){ | 803 | foreach ($data as $k => $v){ |
| 804 | if(isset($item[$k])){ | 804 | if(isset($item[$k])){ |
| 805 | - $item[$k] = Arr::s2a($item[$k]); | ||
| 806 | - $item[$k] = $v.'总条数:'.$item[$k]['total_page']. | ||
| 807 | - ', title更新数:'.$item[$k]['title']. | ||
| 808 | - ',keyword更新数据:'.$item[$k]['keyword']. | ||
| 809 | - ',des更新数据:'.$item[$k]['des']; | 805 | + $data = Arr::s2a($item[$k]); |
| 806 | + //{"des": 3500, "title": 0, "keyword": 3501, "total_page": 8458, "keyword_title": 3500, "keyword_content": 3500} | ||
| 807 | + $item[$k] = $v.'总条数:'.$data['total_page']. | ||
| 808 | + ', title更新数:'.$data['title']. | ||
| 809 | + ',keyword更新数:'.$data['keyword']. | ||
| 810 | + ',des更新数:'.$data['des']; | ||
| 810 | if($k == 'gl_product_keyword'){ | 811 | if($k == 'gl_product_keyword'){ |
| 811 | - $item[$k] .= ',keyword_title更新数据:'.$item[$k]['keyword_title']; | ||
| 812 | - $item[$k] .= ',keyword_content更新数据:'.$item[$k]['keyword_content']; | 812 | + $item[$k] .= ',keyword_title更新数:'.($data['keyword_title']??0); |
| 813 | + $item[$k] .= ',keyword_content更新数:'.($data['keyword_content']??0); | ||
| 813 | } | 814 | } |
| 814 | } | 815 | } |
| 815 | 816 |
| @@ -336,14 +336,17 @@ class ComController extends BaseController | @@ -336,14 +336,17 @@ class ComController extends BaseController | ||
| 336 | * @time :2024/3/4 10:10 | 336 | * @time :2024/3/4 10:10 |
| 337 | */ | 337 | */ |
| 338 | public function recommendedPurchaser(){ | 338 | public function recommendedPurchaser(){ |
| 339 | - $data = []; | ||
| 340 | $purchaserModel = new Purchaser(); | 339 | $purchaserModel = new Purchaser(); |
| 341 | - $info = $purchaserModel->read(['project_id'=>$this->user['project_id']]); | ||
| 342 | - if($info === false){ | ||
| 343 | - PurchaserJob::dispatch(['keyword'=>$this->param['keyword'] ?? 'led','row'=>$this->param['row'] ?? 10,'project_id'=>$this->user['project_id']]); | ||
| 344 | - }else{ | ||
| 345 | - $data = json_decode($info['data']); | 340 | + $data = []; |
| 341 | + $lists = $purchaserModel->list(['project_id'=>$this->user['project_id']]); | ||
| 342 | + if(!empty($lists)){ | ||
| 343 | + foreach ($lists as $v){ | ||
| 344 | + $resultData = json_decode($v['data']); | ||
| 345 | + foreach ($resultData as $value){ | ||
| 346 | + $data[] = $value; | ||
| 347 | + } | ||
| 348 | + } | ||
| 346 | } | 349 | } |
| 347 | - $this->response('数据生成中',Code::SUCCESS,$data); | 350 | + $this->response('success',Code::SUCCESS,$data); |
| 348 | } | 351 | } |
| 349 | } | 352 | } |
| @@ -39,12 +39,11 @@ class LoginController extends BaseController | @@ -39,12 +39,11 @@ class LoginController extends BaseController | ||
| 39 | */ | 39 | */ |
| 40 | public function login(){ | 40 | public function login(){ |
| 41 | $this->request->validate([ | 41 | $this->request->validate([ |
| 42 | - 'mobile'=>['required', 'regex:/^1[3-9]\d{9}$/'], | 42 | + 'mobile'=>['required'], |
| 43 | 'password'=>['required'], | 43 | 'password'=>['required'], |
| 44 | ],[ | 44 | ],[ |
| 45 | 'mobile.required'=>'电话号码必须填写', | 45 | 'mobile.required'=>'电话号码必须填写', |
| 46 | 'password.required'=>'内容必须填写', | 46 | 'password.required'=>'内容必须填写', |
| 47 | - 'mobile.regex' => '请输入正确的手机号码', | ||
| 48 | ]); | 47 | ]); |
| 49 | $userLogic = new UserLoginLogic(); | 48 | $userLogic = new UserLoginLogic(); |
| 50 | $project = $userLogic->login(); | 49 | $project = $userLogic->login(); |
| @@ -67,7 +67,7 @@ class MailController extends BaseController | @@ -67,7 +67,7 @@ class MailController extends BaseController | ||
| 67 | public function unreadNum(&$mailUserModel,$total){ | 67 | public function unreadNum(&$mailUserModel,$total){ |
| 68 | //已读数量 | 68 | //已读数量 |
| 69 | $count = $mailUserModel->where(['user_id'=>$this->uid])->count(); | 69 | $count = $mailUserModel->where(['user_id'=>$this->uid])->count(); |
| 70 | - $num = $total - $count; | 70 | + $num = ($total - $count > 0) ? $total - $count : 0; |
| 71 | return $num; | 71 | return $num; |
| 72 | } | 72 | } |
| 73 | 73 |
| @@ -604,6 +604,9 @@ class ProjectLogic extends BaseLogic | @@ -604,6 +604,9 @@ class ProjectLogic extends BaseLogic | ||
| 604 | if($rs === false){ | 604 | if($rs === false){ |
| 605 | $this->fail('error'); | 605 | $this->fail('error'); |
| 606 | } | 606 | } |
| 607 | + //更新当前项目所有账号状态 | ||
| 608 | + $userModel = new UserModel(); | ||
| 609 | + $userModel->edit(['status'=>1],['project_id'=>$this->param['id']]); | ||
| 607 | return $this->success(); | 610 | return $this->success(); |
| 608 | } | 611 | } |
| 609 | 612 |
| @@ -55,7 +55,7 @@ class UserLoginLogic | @@ -55,7 +55,7 @@ class UserLoginLogic | ||
| 55 | $projectArr[] = $v['project_id']; | 55 | $projectArr[] = $v['project_id']; |
| 56 | } | 56 | } |
| 57 | $projectModel = new Project(); | 57 | $projectModel = new Project(); |
| 58 | - $project_list = $projectModel->list(['id'=>['in',$projectArr]],'id',['id','title']); | 58 | + $project_list = $projectModel->list(['id'=>['in',$projectArr],'delete_status'=>0],'id',['id','title']); |
| 59 | //登录选择项目的有效时间 | 59 | //登录选择项目的有效时间 |
| 60 | Cache::add('login-project-'.$this->param['mobile'],1,300); | 60 | Cache::add('login-project-'.$this->param['mobile'],1,300); |
| 61 | return $this->success($project_list); | 61 | return $this->success($project_list); |
app/Jobs/PurchaserJob.php
已删除
100644 → 0
| 1 | -<?php | ||
| 2 | -/** | ||
| 3 | - * @remark : | ||
| 4 | - * @name :PurchaserJob.php | ||
| 5 | - * @author :lyh | ||
| 6 | - * @method :post | ||
| 7 | - * @time :2024/3/4 11:06 | ||
| 8 | - */ | ||
| 9 | - | ||
| 10 | -namespace App\Jobs; | ||
| 11 | - | ||
| 12 | -use App\Models\Com\Purchaser; | ||
| 13 | -use Illuminate\Bus\Queueable; | ||
| 14 | -use Illuminate\Contracts\Queue\ShouldQueue; | ||
| 15 | -use Illuminate\Foundation\Bus\Dispatchable; | ||
| 16 | -use Illuminate\Queue\InteractsWithQueue; | ||
| 17 | -use Illuminate\Queue\SerializesModels; | ||
| 18 | - | ||
| 19 | -class PurchaserJob implements ShouldQueue | ||
| 20 | -{ | ||
| 21 | - use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | ||
| 22 | - public $tries = 3; // 可配置任务重试次数 | ||
| 23 | - | ||
| 24 | - protected $param; | ||
| 25 | - | ||
| 26 | - /** | ||
| 27 | - * Create a new job instance. | ||
| 28 | - * | ||
| 29 | - * @param CopyImageFile $event | ||
| 30 | - * @return void | ||
| 31 | - */ | ||
| 32 | - public function __construct($data) | ||
| 33 | - { | ||
| 34 | - $this->param = $data; | ||
| 35 | - } | ||
| 36 | - | ||
| 37 | - /** | ||
| 38 | - * Handle the event. | ||
| 39 | - * | ||
| 40 | - * @param UpdateHtml $event | ||
| 41 | - * @return void | ||
| 42 | - */ | ||
| 43 | - public function handle() | ||
| 44 | - { | ||
| 45 | - $this->param['keyword'] = 'led'; | ||
| 46 | - $url = 'https://admin.hagro.cn/api/company_list'; | ||
| 47 | - $data = [ | ||
| 48 | - 'prod_desc'=>$this->param['keyword'], | ||
| 49 | - 'total'=>$this->param['row'] ?? 10, | ||
| 50 | - ]; | ||
| 51 | - arsort($data); | ||
| 52 | - $token = 'company_list+'.date('Y-m-d').'+'.http_build_query($data); | ||
| 53 | - $param = [ | ||
| 54 | - 'prod_desc'=>$this->param['keyword'], | ||
| 55 | - 'token'=>md5($token), | ||
| 56 | - 'total'=>$this->param['row'] ?? 10, | ||
| 57 | - ]; | ||
| 58 | - $res = http_post($url,json_encode($param)); | ||
| 59 | - if(!empty($res) && $res['code'] == 200){ | ||
| 60 | - $saveData = [ | ||
| 61 | - 'project_id'=>$this->param['project_id'], | ||
| 62 | - 'keyword'=>$this->param['keyword'], | ||
| 63 | - 'data'=>json_encode($res['data']) | ||
| 64 | - ]; | ||
| 65 | - $purchaserModel = new Purchaser(); | ||
| 66 | - $purchaserModel->add($saveData); | ||
| 67 | - } | ||
| 68 | - return true; | ||
| 69 | - } | ||
| 70 | -} |
-
请 注册 或 登录 后发表评论