123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?php
- namespace Modules\CpManage\Http\Controllers;
- use Catch\Base\CatchController as Controller;
- use Catch\Exceptions\FailedException;
- use Illuminate\Http\Request;
- use Modules\CpManage\Http\Requests\CpRequest;
- use Modules\CpManage\Models\Cp\CpCollection;
- use Modules\CpManage\Models\Cp\Cps;
- use Modules\CpManage\Services\CpManage\CpService;
- class CpListController extends Controller
- {
-
- public function __construct(protected readonly Cps $model,protected readonly CpCollection $cpCollectionModel)
- {
- }
-
- public function index(Request $request)
- {
- $where =[ ['is_deleted','=',0]];
- if (!empty($request->get("cp_name", ''))){
- $where[] = ['cp_name','like',"%".$request->get("cp_name", ''). "%"];
- }
- if (!empty($request->get("cp_company", ''))) {
- $where[] = ['cp_company','like',"%".$request->get("cp_company", ''). "%"];
- }
- return CpService::getCpList($where,$request->get('limit',15));
- }
-
- public function store(CpRequest $request)
- {
- $params = $request->all();
- return $this->model->storeBy($params);
- }
-
- public function show($id)
- {
- $cp = $this->model->where('cp_id', $id)->first();
-
- return $cp;
- }
-
- public function update($id, CpRequest $request)
- {
- $params = $request->all();
-
- if(isset($params['cp_name'])){
- unset($params['cp_name']);
- }
- return $this->model->updateBy($id, $params);
- }
-
- public function destroy($id)
- {
- return $this->model->deleteBy($id);
- }
-
- public function selectOptions(Request $request)
- {
- $cpName = $request->input('cp_name','');
- return CpService::selectOptions($cpName);
- }
-
- public function cpCollection(Request $request){
- $cpName = $request->get('cp_name');
- $cpId = $request->get('cp_id');
- if(empty($cpName) || empty($cpId) ){
- throw new FailedException('缺少参数');
- }
- $status = $this->cpCollectionModel->where('cp_id',$cpId)->whereIn('spider_status',[0,1])->count();
- if($status >0){
- throw new FailedException('正在采集中');
- }
- $this->cpCollectionModel->create(['cp_id'=>$cpId,'cp_name'=>$cpName,'spider_status'=>0,'spider_result'=>'']);
- return [];
- }
- }
|