|
@@ -219,14 +219,16 @@ class NewsService implements NewsServiceInterface
|
|
|
public function categoryList(array $data): array
|
|
|
{
|
|
|
$where[] = [
|
|
|
- 'pid','=',$data['pid']
|
|
|
+ 'pid',
|
|
|
+ '=',
|
|
|
+ $data['pid']
|
|
|
];
|
|
|
- if(isset($data['name'])){
|
|
|
- array_push($where, ['category.name','like','%'.$data['name'].'%']);
|
|
|
+ if (isset($data['name'])) {
|
|
|
+ array_push($where, ['category.name', 'like', '%' . $data['name'] . '%']);
|
|
|
}
|
|
|
var_dump($where);
|
|
|
- $result = Category::where($where)->select('category.*','category.id as category_id')->get();
|
|
|
- if(empty($result)){
|
|
|
+ $result = Category::where($where)->select('category.*', 'category.id as category_id')->get();
|
|
|
+ if (empty($result)) {
|
|
|
return Result::error("没有栏目数据");
|
|
|
}
|
|
|
return Result::success($result);
|
|
@@ -748,7 +750,7 @@ class NewsService implements NewsServiceInterface
|
|
|
// return Result::success($data['website_id']);
|
|
|
$category = WebsiteCategory::where('website_id', $data['website_id'])->pluck('category_id');
|
|
|
$category = array_values(array_unique($category->toArray()));
|
|
|
-
|
|
|
+
|
|
|
if ($category) {
|
|
|
$placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
|
|
|
$where = [
|
|
@@ -968,7 +970,7 @@ class NewsService implements NewsServiceInterface
|
|
|
* @param array $data
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function getWebsiteArticleList(array $data): array
|
|
|
+ public function getWebsiteArticleList(array $data): array
|
|
|
{
|
|
|
// return Result::success($data);
|
|
|
$where[] = ['status', '=', 1];
|
|
@@ -1403,7 +1405,8 @@ class NewsService implements NewsServiceInterface
|
|
|
'article.copyfrom',
|
|
|
'article.catid',
|
|
|
'article.department_arr_id',
|
|
|
- 'article.city_arr_id',)
|
|
|
+ 'article.city_arr_id',
|
|
|
+ )
|
|
|
->orderBy("updated_at", "desc")
|
|
|
->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
->limit($data['pageSize'])
|
|
@@ -1437,12 +1440,9 @@ class NewsService implements NewsServiceInterface
|
|
|
*/
|
|
|
public function getWebsiteCatidArticle(array $data): array
|
|
|
{
|
|
|
- // return Result::success($data);
|
|
|
$where = [
|
|
|
- // 'category.status' => 1,
|
|
|
'website_category.category_id' => $data['catid'],
|
|
|
'website_category.website_id' => $data['website_id'],
|
|
|
- // 'article.status' => 1,
|
|
|
];
|
|
|
// $category = WebsiteCategory::where($where);
|
|
|
if (isset($data['child_catnum']) && !empty($data['child_catnum'])) {
|
|
@@ -1481,10 +1481,6 @@ class NewsService implements NewsServiceInterface
|
|
|
$subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0");
|
|
|
})->orWhereNull("ignore_ids");
|
|
|
})
|
|
|
- // ->where(function ($query) {
|
|
|
- // $query->whereNull('imgurl')
|
|
|
- // ->orWhere('imgurl', '');
|
|
|
- // })
|
|
|
->select('*')
|
|
|
->orderBy('updated_at', 'desc')
|
|
|
->limit($data['child_textnum'])
|
|
@@ -1513,11 +1509,6 @@ class NewsService implements NewsServiceInterface
|
|
|
$category['text'] = WebsiteCategory::where($where)
|
|
|
->leftJoin('article', 'article.catid', 'website_category.category_id')
|
|
|
->where('article.status', 1)
|
|
|
-
|
|
|
- // ->where(function ($query) {
|
|
|
- // $query->whereNull('article.imgurl')
|
|
|
- // ->orWhere('article.imgurl', '');
|
|
|
- // })
|
|
|
->select('article.*', 'website_category.category_id', 'website_category.alias')
|
|
|
->orderBy('article.updated_at', 'desc')
|
|
|
->limit($data['text_num'])
|
|
@@ -1922,55 +1913,64 @@ class NewsService implements NewsServiceInterface
|
|
|
$data = json_decode($input['id'] ?? '', true) ?? [];
|
|
|
$result['goods'] = array_map(function ($item) use ($input) {
|
|
|
// 检查parent元素是否存在且不是undefined
|
|
|
- if (isset($item['level']) && $item['level'] != 'undefined' && $item['level']!= "") {
|
|
|
- list($Levelid, $goodStart,$goodNum) = explode(',', $item['level']);
|
|
|
- $website = $input['website_id'];
|
|
|
- $query = Good::where('good.status', 2)
|
|
|
- ->where('good.website_id', $website);
|
|
|
- switch ($Levelid) {
|
|
|
- case 1:
|
|
|
- case 2:
|
|
|
- case 3:
|
|
|
- $goods = $query->where(function($q) use ($Levelid) {
|
|
|
- $q->whereRaw("JSON_CONTAINS(good.level, '". intval($Levelid). "') = 1")
|
|
|
- ->orWhereRaw("JSON_CONTAINS(good.level, '\"". intval($Levelid). "\"') = 1");
|
|
|
- });
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- $goods = $query;
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- $goods = $query->where('type_id',1);
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- $goods = $query->where('type_id',2);
|
|
|
- break;
|
|
|
- default:
|
|
|
- return [];
|
|
|
- }
|
|
|
- $all_goods = $goods
|
|
|
- ->select('good.id', 'good.name', 'good.imgurl', 'good.description',
|
|
|
- 'good.updated_at', 'good.catid','good.type_id','good.price','good.level',
|
|
|
- 'good.website_id')
|
|
|
- ->orderBy('updated_at','desc')
|
|
|
- ->offset($goodStart)
|
|
|
- ->limit($goodNum)
|
|
|
- ->get();
|
|
|
- $web['website_id'] = $website;
|
|
|
- $all_goods = $this->processGoods($all_goods, $web);
|
|
|
+ if (isset($item['level']) && $item['level'] != 'undefined' && $item['level'] != "") {
|
|
|
+ list($Levelid, $goodStart, $goodNum) = explode(',', $item['level']);
|
|
|
+ $website = $input['website_id'];
|
|
|
+ $query = Good::where('good.status', 2)
|
|
|
+ ->where('good.website_id', $website);
|
|
|
+ switch ($Levelid) {
|
|
|
+ case 1:
|
|
|
+ case 2:
|
|
|
+ case 3:
|
|
|
+ $goods = $query->where(function ($q) use ($Levelid) {
|
|
|
+ $q->whereRaw("JSON_CONTAINS(good.level, '" . intval($Levelid) . "') = 1")
|
|
|
+ ->orWhereRaw("JSON_CONTAINS(good.level, '\"" . intval($Levelid) . "\"') = 1");
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ $goods = $query;
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ $goods = $query->where('type_id', 1);
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ $goods = $query->where('type_id', 2);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return [];
|
|
|
+ }
|
|
|
+ $all_goods = $goods
|
|
|
+ ->select(
|
|
|
+ 'good.id',
|
|
|
+ 'good.name',
|
|
|
+ 'good.imgurl',
|
|
|
+ 'good.description',
|
|
|
+ 'good.updated_at',
|
|
|
+ 'good.catid',
|
|
|
+ 'good.type_id',
|
|
|
+ 'good.price',
|
|
|
+ 'good.level',
|
|
|
+ 'good.website_id'
|
|
|
+ )
|
|
|
+ ->orderBy('updated_at', 'desc')
|
|
|
+ ->offset($goodStart)
|
|
|
+ ->limit($goodNum)
|
|
|
+ ->get();
|
|
|
+ $web['website_id'] = $website;
|
|
|
+ $all_goods = $this->processGoods($all_goods, $web);
|
|
|
}
|
|
|
- return $all_goods;
|
|
|
- }, $data);
|
|
|
- $website = $input['website_id'];
|
|
|
- $result['article'] = Article::where(function ($query) use ($website) {
|
|
|
- $query->where(function ($subQuery) use ($website) {
|
|
|
- $subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($website) . "') = 0");
|
|
|
- })->orWhereNull("ignore_ids");
|
|
|
- })
|
|
|
- ->where('catid', $catid)
|
|
|
- ->where('article.status', 1)
|
|
|
- ->leftJoin('article_data', 'article_data.article_id', 'article.id')
|
|
|
- ->select('article.id', 'article.title', 'article.updated_at', 'introduce', 'islink', 'linkurl','article_data.content')
|
|
|
+ return $all_goods;
|
|
|
+ }, $data);
|
|
|
+ $website = $input['website_id'];
|
|
|
+ $result['article'] = Article::where(function ($query) use ($website) {
|
|
|
+ $query->where(function ($subQuery) use ($website) {
|
|
|
+ $subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($website) . "') = 0");
|
|
|
+ })->orWhereNull("ignore_ids");
|
|
|
+ })
|
|
|
+ ->where('catid', $catid)
|
|
|
+ ->where('article.status', 1)
|
|
|
+ ->leftJoin('article_data', 'article_data.article_id', 'article.id')
|
|
|
+ ->select('article.id', 'article.title', 'article.updated_at', 'introduce', 'islink', 'linkurl', 'article_data.content')
|
|
|
->orderBy('article.updated_at', 'desc')
|
|
|
->first();
|
|
|
return Result::success($result);
|
|
@@ -2086,31 +2086,43 @@ class NewsService implements NewsServiceInterface
|
|
|
->orWhereRaw("JSON_CONTAINS(good.city_arr_id, '\"" . intval($data['city_id']) . "\"') = 1");
|
|
|
});
|
|
|
})
|
|
|
- ->select('good.id', 'good.name', 'good.imgurl', 'good.description', 'good.updated_at',
|
|
|
- 'good.catid','good.type_id','good.website_id','good.cat_arr_id','good.created_at','good.city_id')
|
|
|
+ ->select(
|
|
|
+ 'good.id',
|
|
|
+ 'good.name',
|
|
|
+ 'good.imgurl',
|
|
|
+ 'good.description',
|
|
|
+ 'good.updated_at',
|
|
|
+ 'good.com',
|
|
|
+ 'good.catid',
|
|
|
+ 'good.type_id',
|
|
|
+ 'good.website_id',
|
|
|
+ 'good.cat_arr_id',
|
|
|
+ 'good.created_at',
|
|
|
+ 'good.city_id'
|
|
|
+ )
|
|
|
->latest('updated_at');
|
|
|
- $result['type1_count'] = $query->clone()->where('type_id', 1)->count();
|
|
|
- // 获取 type_id 为 1 的数据
|
|
|
- $result['type1'] = $this->processGoods(
|
|
|
- $query->clone()
|
|
|
- ->where('type_id', 1)
|
|
|
- ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
- ->limit($data['pageSize'])
|
|
|
- ->get(),
|
|
|
- $data
|
|
|
- );
|
|
|
- $result['type2_count'] = $query->clone()->where('type_id', 2)->count();
|
|
|
- // 获取 type_id 为 2 的数据
|
|
|
- $result['type2'] = $this->processGoods(
|
|
|
- $query->clone()
|
|
|
- ->where('type_id', 2)
|
|
|
- ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
- ->limit($data['pageSize'])
|
|
|
- ->get(),
|
|
|
- $data
|
|
|
- );
|
|
|
- if(empty($result)){
|
|
|
- return Result::error("查询失败", 0);
|
|
|
+ $result['type1_count'] = $query->clone()->where('type_id', 1)->count();
|
|
|
+ // 获取 type_id 为 1 的数据
|
|
|
+ $result['type1'] = $this->processGoods(
|
|
|
+ $query->clone()
|
|
|
+ ->where('type_id', 1)
|
|
|
+ ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
+ ->limit($data['pageSize'])
|
|
|
+ ->get(),
|
|
|
+ $data
|
|
|
+ );
|
|
|
+ $result['type2_count'] = $query->clone()->where('type_id', 2)->count();
|
|
|
+ // 获取 type_id 为 2 的数据
|
|
|
+ $result['type2'] = $this->processGoods(
|
|
|
+ $query->clone()
|
|
|
+ ->where('type_id', 2)
|
|
|
+ ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
+ ->limit($data['pageSize'])
|
|
|
+ ->get(),
|
|
|
+ $data
|
|
|
+ );
|
|
|
+ if (empty($result)) {
|
|
|
+ return Result::error("查询失败", 0);
|
|
|
}
|
|
|
|
|
|
return Result::success($result);
|
|
@@ -2126,7 +2138,7 @@ class NewsService implements NewsServiceInterface
|
|
|
'good.status' => 2,
|
|
|
'good.website_id' => $data['website_id'],
|
|
|
'good.id' => $data['id'],
|
|
|
- ];
|
|
|
+ ];
|
|
|
$goods = Good::where($where)
|
|
|
->where('good.id', $data['id'])
|
|
|
->leftJoin('website_category', 'website_category.category_id', 'good.catid')
|
|
@@ -2168,7 +2180,8 @@ class NewsService implements NewsServiceInterface
|
|
|
});
|
|
|
}
|
|
|
// 封装处理由问题
|
|
|
- function processJob($job, $data) {
|
|
|
+ function processJob($job, $data)
|
|
|
+ {
|
|
|
return $job->map(function ($job) use ($data) {
|
|
|
$category = $job->cat_arr_id ?? '';
|
|
|
$cityid = $job->city_arr_id ?? '';
|
|
@@ -2201,35 +2214,35 @@ class NewsService implements NewsServiceInterface
|
|
|
}
|
|
|
}
|
|
|
// 获取简历最后一级地区
|
|
|
- if(isset($job->city_id) &&!empty($job->city_id)){
|
|
|
+ if (isset($job->city_id) && !empty($job->city_id)) {
|
|
|
$city = District::where('id', $job->city_id)->first(['name']);
|
|
|
- $job->hunt_cityname = $city->name?? '';
|
|
|
+ $job->hunt_cityname = $city->name ?? '';
|
|
|
}
|
|
|
// 组合详细地址
|
|
|
- if(isset($job->address_arr_id) && !empty($job->address_arr_id)){
|
|
|
+ if (isset($job->address_arr_id) && !empty($job->address_arr_id)) {
|
|
|
$address_id = json_decode($job->address_arr_id, true) ?? [];
|
|
|
- if(is_array($address_id) && !empty($address_id)){
|
|
|
+ if (is_array($address_id) && !empty($address_id)) {
|
|
|
$address = District::whereIn('id', $address_id)
|
|
|
- ->orderBy('level', 'asc')
|
|
|
- ->get(['name'])
|
|
|
- ->pluck('name')
|
|
|
- ->implode('');
|
|
|
+ ->orderBy('level', 'asc')
|
|
|
+ ->get(['name'])
|
|
|
+ ->pluck('name')
|
|
|
+ ->implode('');
|
|
|
// $job->address_name = $address ?? '';
|
|
|
$job->address_name = ($address ?? '') . ($job->address ?? '');
|
|
|
}
|
|
|
}
|
|
|
// 取行业
|
|
|
- if(!empty($job->hy_id) || !empty($job->industry) || !empty($job->company_hy_id)){
|
|
|
+ if (!empty($job->hy_id) || !empty($job->industry) || !empty($job->company_hy_id)) {
|
|
|
$hy_name = JobIndustry::when($job, function ($query) use ($job) {
|
|
|
- if(!empty($job->industry)){
|
|
|
+ if (!empty($job->industry)) {
|
|
|
$query->where('hyid', $job->industry);
|
|
|
- }else if(!empty($job->hy_id)){
|
|
|
+ } else if (!empty($job->hy_id)) {
|
|
|
$query->where('hyid', $job->hy_id);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
$query->where('hyid', $job->company_hy_id);
|
|
|
}
|
|
|
})->first(['hyname']);
|
|
|
- $job->hy_name = $hy_name->hyname?? '';
|
|
|
+ $job->hy_name = $hy_name->hyname ?? '';
|
|
|
}
|
|
|
// 取职位
|
|
|
if ((isset($job->zw_id) && !empty($job->zw_id)) || (isset($job->job) && !empty($job->job))) {
|
|
@@ -2419,11 +2432,12 @@ class NewsService implements NewsServiceInterface
|
|
|
'book.cat_id',
|
|
|
'book.description',
|
|
|
'book.updated_at',
|
|
|
- DB::raw("'$child_pinyin' as pinyin"))
|
|
|
+ DB::raw("'$child_pinyin' as pinyin")
|
|
|
+ )
|
|
|
->orderBy('updated_at', 'desc')
|
|
|
->limit($childImgNum)
|
|
|
->get()->all();
|
|
|
- // 查询子栏目文字新闻
|
|
|
+ // 查询子栏目文字新闻
|
|
|
$childTextArticles = Book::where('cat_id', $childCatId)
|
|
|
->where('status', 2)
|
|
|
->leftJoin('website_category', function ($join) use ($website) {
|
|
@@ -2440,7 +2454,8 @@ class NewsService implements NewsServiceInterface
|
|
|
'book.cat_id',
|
|
|
'book.description',
|
|
|
'book.updated_at',
|
|
|
- DB::raw("'$child_pinyin' as pinyin"))
|
|
|
+ DB::raw("'$child_pinyin' as pinyin")
|
|
|
+ )
|
|
|
->orderBy('updated_at', 'desc')
|
|
|
->limit($childTextNum)
|
|
|
->get()->all();
|
|
@@ -2481,8 +2496,16 @@ class NewsService implements NewsServiceInterface
|
|
|
$categorys = WebsiteCategory::where('website_id', $data['website_id'])
|
|
|
->where('pid', $category['pid'])
|
|
|
->select(
|
|
|
- 'category_id','alias','aLIas_pinyin','pid','sort','is_url','web_url',
|
|
|
- 'seo_title','seo_keywords','seo_description',
|
|
|
+ 'category_id',
|
|
|
+ 'alias',
|
|
|
+ 'aLIas_pinyin',
|
|
|
+ 'pid',
|
|
|
+ 'sort',
|
|
|
+ 'is_url',
|
|
|
+ 'web_url',
|
|
|
+ 'seo_title',
|
|
|
+ 'seo_keywords',
|
|
|
+ 'seo_description',
|
|
|
DB::raw("CONCAT('$parent_pinyin', '/', aLIas_pinyin) as pinyin")
|
|
|
)
|
|
|
->orderBy('sort')
|
|
@@ -2507,13 +2530,13 @@ class NewsService implements NewsServiceInterface
|
|
|
$query = clone $query;
|
|
|
$Book = $query
|
|
|
->limit($data['pageSize'])
|
|
|
- ->offset(($data['page']-1)*$data['pageSize'])
|
|
|
+ ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
->get()->all();
|
|
|
-
|
|
|
+
|
|
|
$result = [
|
|
|
'category' => $categorys,
|
|
|
'books' => $Book,
|
|
|
- 'count' =>$count,
|
|
|
+ 'count' => $count,
|
|
|
];
|
|
|
// if(empty($result)){
|
|
|
// return Result::error("查询失败", 0);
|
|
@@ -2527,8 +2550,8 @@ class NewsService implements NewsServiceInterface
|
|
|
* */
|
|
|
public function getWebsiteBookInfo(array $data): array
|
|
|
{
|
|
|
- $web = Website::where('id', $data['website_id'])->first(['id','website_name']);
|
|
|
- if(empty($web)){
|
|
|
+ $web = Website::where('id', $data['website_id'])->first(['id', 'website_name']);
|
|
|
+ if (empty($web)) {
|
|
|
return Result::error("查询失败", 0);
|
|
|
}
|
|
|
$book = Book::where('status', 2)
|
|
@@ -2557,7 +2580,15 @@ class NewsService implements NewsServiceInterface
|
|
|
}
|
|
|
}
|
|
|
$categorys = $query->where('pid', $pid)
|
|
|
- ->select('category_id','alias','aLIas_pinyin','pid','sort','is_url','web_url','category_arr_id as cat_arr_id',
|
|
|
+ ->select(
|
|
|
+ 'category_id',
|
|
|
+ 'alias',
|
|
|
+ 'aLIas_pinyin',
|
|
|
+ 'pid',
|
|
|
+ 'sort',
|
|
|
+ 'is_url',
|
|
|
+ 'web_url',
|
|
|
+ 'category_arr_id as cat_arr_id',
|
|
|
)
|
|
|
->orderBy('sort')
|
|
|
->get();
|
|
@@ -2568,7 +2599,7 @@ class NewsService implements NewsServiceInterface
|
|
|
];
|
|
|
return Result::success($result);
|
|
|
}
|
|
|
- /**
|
|
|
+ /**
|
|
|
* 尝试
|
|
|
* @param array $data
|
|
|
* @return array
|
|
@@ -2577,7 +2608,7 @@ class NewsService implements NewsServiceInterface
|
|
|
{
|
|
|
$input['id'] = $data['id'];
|
|
|
$input['website_id'] = $data['website_id'];
|
|
|
- // 将 JSON 字符串转换为 PHP 数组
|
|
|
+ // 将 JSON 字符串转换为 PHP 数组
|
|
|
$data = json_decode($input['id'], true);
|
|
|
$result = [];
|
|
|
$article = $data;
|
|
@@ -2633,6 +2664,30 @@ class NewsService implements NewsServiceInterface
|
|
|
return $article;
|
|
|
});
|
|
|
}
|
|
|
+ /**
|
|
|
+ * c端-获取招工招聘下拉选框
|
|
|
+ * @param array $data
|
|
|
+ * @return array
|
|
|
+ * */
|
|
|
+ public function getWebsiteJobSelect(array $data): array
|
|
|
+ {
|
|
|
+ $web = Website::where('id', $data['website_id'])->first();
|
|
|
+ if(empty($web)){
|
|
|
+ return Result::error("该网站不存在", 0);
|
|
|
+ }
|
|
|
+ $hy = JobIndustry::get()->all();
|
|
|
+ $zw = JobPosition::where('zwpid',0)->get()->all();
|
|
|
+ $jtzw = JobPosition::where('zwpid','!=',0)->get()->all();
|
|
|
+ $result = [
|
|
|
+ 'hy' => $hy,
|
|
|
+ 'zw' => $zw,
|
|
|
+ 'jtzw' => $jtzw,
|
|
|
+ ];
|
|
|
+ if(empty($result)){
|
|
|
+ return Result::error("查询失败", 0);
|
|
|
+ }
|
|
|
+ return Result::success($result);
|
|
|
+ }
|
|
|
/**
|
|
|
* c端-获取招工招聘
|
|
|
* @param array $data
|
|
@@ -2651,8 +2706,8 @@ class NewsService implements NewsServiceInterface
|
|
|
$q->WhereRaw("JSON_CONTAINS(job_hunting.city_arr_id, '" . intval($data['city_id']) . "') = 1");
|
|
|
});
|
|
|
})
|
|
|
- ->select('job_hunting.id','job_hunting.cat_arr_id','job_hunting.job','job_hunting.industry',
|
|
|
- 'job_hunting.city_arr_id','job_hunting.experience','job_hunting.updated_at','job_hunting.salary')
|
|
|
+ ->select('job_hunting.id','job_hunting.cat_arr_id','job_hunting.job_name_get','job_hunting.industry','job_hunting.name','job_hunting.sexy'
|
|
|
+ ,'job_hunting.origin','job_hunting.city_arr_id','job_hunting.experience','job_hunting.updated_at','job_hunting.salary')
|
|
|
->orderBy('updated_at', 'desc')
|
|
|
->limit($data['job1_num'])
|
|
|
->get();
|
|
@@ -2662,6 +2717,7 @@ class NewsService implements NewsServiceInterface
|
|
|
} else {
|
|
|
$job_huntings = $this->processJob($job_hunting, $web);
|
|
|
}
|
|
|
+ // 0:待审核 1:已通过 2:已拒绝
|
|
|
$job_recruiting = JobRecruiting::where('job_recruiting.status', 1)
|
|
|
->where('job_recruiting.website_id', $data['website_id'])
|
|
|
->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
|
|
@@ -2670,10 +2726,21 @@ class NewsService implements NewsServiceInterface
|
|
|
});
|
|
|
})
|
|
|
->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
|
|
|
- ->select('job_recruiting.id','job_recruiting.cat_arr_id','job_recruiting.title',
|
|
|
- 'job_recruiting.jtzw_id','job_recruiting.hy_id','job_recruiting.city_arr_id',
|
|
|
- 'job_recruiting.due_data','job_recruiting.updated_at','job_recruiting.experience',
|
|
|
- 'job_recruiting.educational','job_recruiting.salary','job_recruiting.zw_id','job_company.business_name')
|
|
|
+ ->select(
|
|
|
+ 'job_recruiting.id',
|
|
|
+ 'job_recruiting.cat_arr_id',
|
|
|
+ 'job_recruiting.title',
|
|
|
+ 'job_recruiting.jtzw_id',
|
|
|
+ 'job_recruiting.hy_id',
|
|
|
+ 'job_recruiting.city_arr_id',
|
|
|
+ 'job_recruiting.due_data',
|
|
|
+ 'job_recruiting.updated_at',
|
|
|
+ 'job_recruiting.experience',
|
|
|
+ 'job_recruiting.educational',
|
|
|
+ 'job_recruiting.salary',
|
|
|
+ 'job_recruiting.zw_id',
|
|
|
+ 'job_company.business_name'
|
|
|
+ )
|
|
|
->orderBy('updated_at', 'desc')
|
|
|
->limit($data['job2_num'])
|
|
|
->get();
|
|
@@ -2682,15 +2749,10 @@ class NewsService implements NewsServiceInterface
|
|
|
} else {
|
|
|
$job_recruitings = $this->processJob($job_recruiting, $web);
|
|
|
}
|
|
|
- $hy = JobIndustry::get()->all();
|
|
|
- $zw = JobPosition::where('zwpid', 0)->get()->all();
|
|
|
- $jtzw = JobPosition::where('zwpid', '!=', 0)->get()->all();
|
|
|
+
|
|
|
$result = [
|
|
|
'job_hunting' => $job_huntings,
|
|
|
'job_recuiting' => $job_recruitings,
|
|
|
- 'hy' => $hy,
|
|
|
- 'zw' => $zw,
|
|
|
- 'jtzw' => $jtzw,
|
|
|
];
|
|
|
return Result::success($result);
|
|
|
}
|
|
@@ -2716,66 +2778,81 @@ class NewsService implements NewsServiceInterface
|
|
|
if (isset($data['jtzw_id']) && !empty($data['jtzw_id'])) {
|
|
|
array_push($where, ['jtzw_id', $data['jtzw_id']]);
|
|
|
}
|
|
|
- $query = JobRecruiting::where('job_recruiting.status', 1)
|
|
|
- ->where('job_recruiting.website_id', $data['website_id'])
|
|
|
- ->where($where)
|
|
|
- ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
|
|
|
- $query->where(function ($q) use ($data) {
|
|
|
- $q->WhereRaw("JSON_CONTAINS(job_recruiting.city_arr_id, '" . intval($data['city_id']) . "') = 1");
|
|
|
- });
|
|
|
- })
|
|
|
- ->when(isset($data['catid']) &&!empty($data['catid']), function ($query) use ($data) {
|
|
|
- $query->where(function($q) use ($data) {
|
|
|
- $q->WhereRaw("JSON_CONTAINS(job_recruiting.cat_arr_id, '". intval($data['catid']). "') = 1");
|
|
|
- });
|
|
|
- })
|
|
|
- ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
|
|
|
- ->select('job_recruiting.id','job_recruiting.hy_id','job_recruiting.title','job_recruiting.zw_id',
|
|
|
- 'job_recruiting.jtzw_id','job_recruiting.city_arr_id','job_recruiting.due_data',
|
|
|
- 'job_recruiting.cat_arr_id','job_recruiting.updated_at')
|
|
|
- ->orderBy('updated_at', 'desc');
|
|
|
- $recruit_count = $query->count();
|
|
|
- $query = clone $query;
|
|
|
- $JobRecruiting = $query
|
|
|
- ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
- ->limit($data['pageSize'])
|
|
|
- ->get();
|
|
|
- if (empty($JobRecruiting)) {
|
|
|
- $JobRecruiting = "暂无相关职位信息";
|
|
|
- } else {
|
|
|
- $JobRecruiting = $this->processJob($JobRecruiting, $website_id);
|
|
|
+ if ((isset($data['type']) && $data['type'] == 1) || !isset($data['type'])) {
|
|
|
+ $query = JobRecruiting::where('job_recruiting.status', 1)
|
|
|
+ ->where('job_recruiting.website_id', $data['website_id'])
|
|
|
+ ->where($where)
|
|
|
+ ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
|
|
|
+ $query->where(function ($q) use ($data) {
|
|
|
+ $q->WhereRaw("JSON_CONTAINS(job_recruiting.city_arr_id, '" . intval($data['city_id']) . "') = 1");
|
|
|
+ });
|
|
|
+ })
|
|
|
+ ->when(isset($data['catid']) && !empty($data['catid']), function ($query) use ($data) {
|
|
|
+ $query->where(function ($q) use ($data) {
|
|
|
+ $q->WhereRaw("JSON_CONTAINS(job_recruiting.cat_arr_id, '" . intval($data['catid']) . "') = 1");
|
|
|
+ });
|
|
|
+ })
|
|
|
+ ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
|
|
|
+ ->select(
|
|
|
+ 'job_recruiting.id',
|
|
|
+ 'job_recruiting.hy_id',
|
|
|
+ 'job_recruiting.title',
|
|
|
+ 'job_recruiting.zw_id',
|
|
|
+ 'job_recruiting.jtzw_id',
|
|
|
+ 'job_recruiting.city_arr_id',
|
|
|
+ 'job_recruiting.due_data',
|
|
|
+ 'job_recruiting.cat_arr_id',
|
|
|
+ 'job_recruiting.updated_at'
|
|
|
+ )
|
|
|
+ ->orderBy('updated_at', 'desc');
|
|
|
+ $recruit_count = $query->count();
|
|
|
+ $query = clone $query;
|
|
|
+ $JobRecruiting = $query
|
|
|
+ ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
+ ->limit($data['pageSize'])
|
|
|
+ ->get();
|
|
|
+ if (empty($JobRecruiting)) {
|
|
|
+ $JobRecruiting = "暂无相关职位信息";
|
|
|
+ } else {
|
|
|
+ $JobRecruiting = $this->processJob($JobRecruiting, $website_id);
|
|
|
+ }
|
|
|
}
|
|
|
- $query = JobHunting::where('status', 2)
|
|
|
- ->where('job_hunting.website_id', $data['website_id'])
|
|
|
- ->where($where)
|
|
|
- ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
|
|
|
- $query->where(function ($q) use ($data) {
|
|
|
- $q->WhereRaw("JSON_CONTAINS(job_hunting.city_arr_id, '" . intval($data['city_id']) . "') = 1");
|
|
|
- });
|
|
|
- })
|
|
|
- ->when(isset($data['catid_id']) && !empty($data['catid_id']), function ($query) use ($data) {
|
|
|
- $query->where(function ($q) use ($data) {
|
|
|
- $q->WhereRaw("JSON_CONTAINS(job_hunting.cat_arr_id, '" . intval($data['catid_id']) . "') = 1");
|
|
|
- });
|
|
|
- })
|
|
|
- ->select('id', 'sexy', 'experience', 'origin', 'industry', 'name', 'job', 'job_name_get', 'city_arr_id', 'cat_arr_id', 'created_at', 'updated_at')
|
|
|
- ->orderBy('updated_at', 'desc');
|
|
|
- $hunt_count = $query->count();
|
|
|
- $query = clone $query;
|
|
|
- $JobHunting = $query
|
|
|
- ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
- ->limit($data['pageSize'])
|
|
|
- ->get();
|
|
|
- if (empty($JobHunting)) {
|
|
|
- $JobRecruiting = "暂无相关简历信息";
|
|
|
- } else {
|
|
|
- $JobHunting = $this->processJob($JobHunting, $website_id);
|
|
|
+ if ((isset($data['type']) && $data['type'] == 2) || !isset($data['type'])) {
|
|
|
+ $query = JobHunting::where('status', 2)
|
|
|
+ ->where('job_hunting.website_id', $data['website_id'])
|
|
|
+ ->where($where)
|
|
|
+ ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
|
|
|
+ $query->where(function ($q) use ($data) {
|
|
|
+ $q->WhereRaw("JSON_CONTAINS(job_hunting.city_arr_id, '" . intval($data['city_id']) . "') = 1");
|
|
|
+ });
|
|
|
+ })
|
|
|
+ ->when(isset($data['catid_id']) && !empty($data['catid_id']), function ($query) use ($data) {
|
|
|
+ $query->where(function ($q) use ($data) {
|
|
|
+ $q->WhereRaw("JSON_CONTAINS(job_hunting.cat_arr_id, '" . intval($data['catid_id']) . "') = 1");
|
|
|
+ });
|
|
|
+ })
|
|
|
+ ->select('id', 'sexy', 'experience', 'origin', 'industry', 'name', 'job', 'job_name_get', 'city_arr_id', 'cat_arr_id', 'created_at', 'updated_at')
|
|
|
+ ->orderBy('updated_at', 'desc');
|
|
|
+ $hunt_count = $query->count();
|
|
|
+ $query = clone $query;
|
|
|
+ $JobHunting = $query
|
|
|
+ ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
+ ->limit($data['pageSize'])
|
|
|
+ ->get();
|
|
|
+ if (empty($JobHunting)) {
|
|
|
+ $JobRecruiting = "暂无相关简历信息";
|
|
|
+ } else {
|
|
|
+ $JobHunting = $this->processJob($JobHunting, $website_id);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$result = [
|
|
|
- 'JobRecruiting' => $JobRecruiting,
|
|
|
- 'recruit_count' => $recruit_count,
|
|
|
- 'JobHunting' => $JobHunting,
|
|
|
- 'hunt_count' => $hunt_count,
|
|
|
+ 'JobRecruiting' => $JobRecruiting ?? [],
|
|
|
+ 'recruit_count' => $recruit_count ?? 0,
|
|
|
+ 'JobHunting' => $JobHunting ?? [],
|
|
|
+ 'hunt_count' => $hunt_count ?? 0,
|
|
|
];
|
|
|
return Result::success($result);
|
|
|
}
|
|
@@ -2977,28 +3054,158 @@ class NewsService implements NewsServiceInterface
|
|
|
public function getWebsiteJobRecruiting(array $data): array
|
|
|
{
|
|
|
$web = Website::where('id', $data['website_id'])->first('id');
|
|
|
- if(empty($web)){
|
|
|
+ if (empty($web)) {
|
|
|
return Result::error("该网站不存在", 0);
|
|
|
}
|
|
|
- $user = User::where('id', $data['user_id'])->first(['id','type_id']);
|
|
|
- if(empty($user) || ($user['type_id']!= 3 && $user['type_id']!= 10000)){
|
|
|
+ $user = User::where('id', $data['user_id'])->first(['id', 'type_id']);
|
|
|
+ if (empty($user) || ($user['type_id'] != 3 && $user['type_id'] != 10000)) {
|
|
|
return Result::error("用户暂无权限!", 0);
|
|
|
}
|
|
|
// '状态 0:待审核;1:已审核通过;(只有企业会员需要审核);2:已拒绝;
|
|
|
$result = JobRecruiting::where('website_id', $data['website_id'])
|
|
|
- ->when(isset($user['type_id']) && $user['type_id']== 3, function ($query) use ($user) {
|
|
|
+ ->when(isset($user['type_id']) && $user['type_id'] == 3, function ($query) use ($user) {
|
|
|
$query->where('user_id', $user['id']);
|
|
|
})
|
|
|
->where('status', 1)
|
|
|
- ->select('id','title','website_id','user_id','updated_at')
|
|
|
+ ->select('id', 'title', 'website_id', 'user_id', 'updated_at')
|
|
|
->orderBy('updated_at', 'desc')
|
|
|
->limit($data['pageSize'])
|
|
|
->get();
|
|
|
- if(empty($result)){
|
|
|
+ if (empty($result)) {
|
|
|
return Result::error("暂无相关职位信息", 0);
|
|
|
}
|
|
|
return Result::success($result);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * c端 - 验证路由
|
|
|
+ * @param array $data
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function checkWebsiteRoute(array $data): array
|
|
|
+ {
|
|
|
+ $web = Website::where('id', $data['website_id'])->first(['id','website_name']);
|
|
|
+ if(empty($web)){
|
|
|
+ return Result::error("该网站不存在", 0);
|
|
|
+ }
|
|
|
+ // 验证栏目路由
|
|
|
+ $last_category = WebsiteCategory::where('website_id', $data['website_id'])
|
|
|
+ ->where('aLIas_pinyin', $data['last_route'])
|
|
|
+ ->first();
|
|
|
+ if(empty($last_category)){
|
|
|
+ return Result::error("该栏目不存在", 0);
|
|
|
+ }
|
|
|
+ if(isset($data['id']) && !empty($data['id'])){
|
|
|
+ // `type` int unsigned DEFAULT '1' COMMENT '类型:1资讯(默认)2商品3书刊音像4招聘5求职类型:1资讯(默认)2商品3书刊音像4招聘5求职6招工招聘'
|
|
|
+ switch ($last_category['type']) {
|
|
|
+ case 1:
|
|
|
+ // 文章
|
|
|
+ // `status` int DEFAULT '1' COMMENT '状态: 2:已拒绝 ;1:已发布,0待发布 草稿箱 404删除(移除)
|
|
|
+ $article = Article::where('status', 1)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->where(function ($query) use ($data) {
|
|
|
+ $query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
|
+ ->orWhereNull("ignore_ids");
|
|
|
+ })
|
|
|
+ ->first(['cat_arr_id']);
|
|
|
+ if(empty($article)){
|
|
|
+ return Result::error("该文章不存在", 0);
|
|
|
+ }
|
|
|
+ // return Result::success($article);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ // 商品
|
|
|
+ // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
|
|
|
+ $article = Good::where('website_id', $data['website_id'])
|
|
|
+ ->where('status', 2)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->first(['cat_arr_id']);
|
|
|
+ if(empty($article)){
|
|
|
+ return Result::error("该商品不存在", 0);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ // 书刊信息
|
|
|
+ // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
|
|
|
+ $article = Book::where('website_id', $data['website_id'])
|
|
|
+ ->where('status', 2)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->first(['id','cat_arr_id']);
|
|
|
+ if(empty($article)){
|
|
|
+ return Result::error("该书刊不存在", 0);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ // 招聘
|
|
|
+ // `status` int DEFAULT '0' COMMENT '状态 0:待审核;1:已审核;(只有企业会员需要审核)',
|
|
|
+ $article = JobRecruiting::where('website_id', $data['website_id'])
|
|
|
+ ->where('status', 1)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->first(['cat_arr_id']);
|
|
|
+ if(empty($article)){
|
|
|
+ return Result::error("该招聘不存在", 0);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ // 求职
|
|
|
+ // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
|
|
|
+ $article = JobHunting::where('website_id', $data['website_id'])
|
|
|
+ ->where('status', 2)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->first(['cat_arr_id']);
|
|
|
+ if(empty($article)){
|
|
|
+ return Result::error("该求职不存在", 0);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ // 招工招聘
|
|
|
+ // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
|
|
|
+ $article = JobRecruiting::where('website_id', $data['website_id'])
|
|
|
+ ->where('status', 1)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->first(['cat_arr_id']);
|
|
|
+ if(empty($article)){
|
|
|
+ $article = JobHunting::where('website_id', $data['website_id'])
|
|
|
+ ->where('status', 2)
|
|
|
+ ->where('id', $data['id'])
|
|
|
+ ->first(['cat_arr_id']);
|
|
|
+ }
|
|
|
+ if(empty($article)){
|
|
|
+ return Result::error("该招工招聘不存在", 0);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return Result::error("该数据不存在", 0);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ $catid = json_decode($article['cat_arr_id'], true);
|
|
|
+ if(empty($catid)){
|
|
|
+ return Result::error("该数据不存在", 0);
|
|
|
+ }
|
|
|
+ $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
|
|
|
+ ->orderByRaw('FIELD(category_id, '. implode(',', $catid). ')')
|
|
|
+ ->whereIn('category_id', $catid)
|
|
|
+ ->pluck('aLIas_pinyin')
|
|
|
+ ->implode('/');
|
|
|
+
|
|
|
+ }
|
|
|
+ if($last_category['pid']!=0){
|
|
|
+ $cat_arr = json_decode($last_category['category_arr_id'], true);
|
|
|
+ $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
|
|
|
+ ->orderByRaw('FIELD(category_id, '. implode(',', $cat_arr). ')')
|
|
|
+ ->whereIn('category_id', $cat_arr)
|
|
|
+ ->pluck('aLIas_pinyin')
|
|
|
+ ->implode('/');
|
|
|
+ }else{
|
|
|
+ $pinyin = $last_category['aLIas_pinyin'];
|
|
|
+ }
|
|
|
+ if(empty($pinyin) || $pinyin!=$data['all_route']){
|
|
|
+ return Result::error('非法路径!');
|
|
|
+ }else{
|
|
|
+ return Result::success($pinyin);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 验证导航名称是否重复
|
|
|
* @return void
|
|
@@ -4759,9 +4966,9 @@ class NewsService implements NewsServiceInterface
|
|
|
//20250422 书刊音像
|
|
|
public function addBook(array $data): array
|
|
|
{
|
|
|
- $user_id = $data['user_id'] ?? 0;
|
|
|
+ // $user_id = $data['user_id'] ?? 0;
|
|
|
$type_id = $data['type_id'] ?? 0;
|
|
|
- $website_id = $data['website_id'] ?? 0;
|
|
|
+ // $website_id = $data['website_id'] ?? 0;
|
|
|
// unset($data['user_id']);
|
|
|
unset($data['type_id']);
|
|
|
// unset($data['website_id']);
|
|
@@ -4852,9 +5059,9 @@ class NewsService implements NewsServiceInterface
|
|
|
public function updateBook(array $data): array
|
|
|
{
|
|
|
|
|
|
- $user_id = $data['user_id'] ?? 0;
|
|
|
+ // $user_id = $data['user_id'] ?? 0;
|
|
|
$type_id = $data['type_id'] ?? 0;
|
|
|
- $website_id = $data['website_id'] ?? 0;
|
|
|
+ // $website_id = $data['website_id'] ?? 0;
|
|
|
unset($data['user_id']);
|
|
|
unset($data['type_id']);
|
|
|
// unset($data['website_id']);
|