|
@@ -121,7 +121,7 @@ class NewsService implements NewsServiceInterface
|
|
*/
|
|
*/
|
|
public function addCategory(array $data): array
|
|
public function addCategory(array $data): array
|
|
{
|
|
{
|
|
- if(isset($data['id'])){
|
|
|
|
|
|
+ if (isset($data['id'])) {
|
|
unset($data['id']);
|
|
unset($data['id']);
|
|
}
|
|
}
|
|
$id = Category::insertGetId($data);
|
|
$id = Category::insertGetId($data);
|
|
@@ -264,7 +264,6 @@ class NewsService implements NewsServiceInterface
|
|
var_dump($data, '----------12-----------1');
|
|
var_dump($data, '----------12-----------1');
|
|
var_dump($data, '----------12-----------1');
|
|
var_dump($data, '----------12-----------1');
|
|
unset($data['user_type']);
|
|
unset($data['user_type']);
|
|
- // unset($data['web_site_id']);
|
|
|
|
unset($data['nav_add_pool_id']);
|
|
unset($data['nav_add_pool_id']);
|
|
// $data['cat_arr_id'] = is_string($data['cat_arr_id']) ? json_encode($data['cat_arr_id']) : '';
|
|
// $data['cat_arr_id'] = is_string($data['cat_arr_id']) ? json_encode($data['cat_arr_id']) : '';
|
|
Db::beginTransaction();
|
|
Db::beginTransaction();
|
|
@@ -277,8 +276,9 @@ class NewsService implements NewsServiceInterface
|
|
unset($data['is_survey']);
|
|
unset($data['is_survey']);
|
|
unset($data['survey_name']);
|
|
unset($data['survey_name']);
|
|
unset($data['suvey_array']);
|
|
unset($data['suvey_array']);
|
|
- unset($data['website_id']);
|
|
|
|
- $data['web_site_id'] = is_array($data['web_site_id']) ? json_encode($data['web_site_id']) : ($data['web_site_id']);
|
|
|
|
|
|
+ // unset($data['website_id']);
|
|
|
|
+ // unset($data['web_site_id']);
|
|
|
|
+ // $data['web_site_id'] = is_array($data['web_site_id']) ? json_encode($data['web_site_id']) : ($data['web_site_id']);
|
|
if ($data['hits'] == '') {
|
|
if ($data['hits'] == '') {
|
|
$data['hits'] = 0;
|
|
$data['hits'] = 0;
|
|
}
|
|
}
|
|
@@ -578,15 +578,33 @@ class NewsService implements NewsServiceInterface
|
|
$placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
|
|
$placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
|
|
$where = [
|
|
$where = [
|
|
'status' => 1,
|
|
'status' => 1,
|
|
- 'level' => $data['level'],
|
|
|
|
];
|
|
];
|
|
|
|
+ var_dump($data, 'data-----------------');
|
|
|
|
+
|
|
|
|
+ //如果是4:热点资讯 5:资讯推荐;
|
|
|
|
+ var_dump($where, 'where-----------------');
|
|
|
|
+
|
|
$result = Article::where($where)
|
|
$result = Article::where($where)
|
|
->whereIn("catid", $category)
|
|
->whereIn("catid", $category)
|
|
->where(function ($query) use ($data) {
|
|
->where(function ($query) use ($data) {
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
->orWhereNull("ignore_ids");
|
|
->orWhereNull("ignore_ids");
|
|
})
|
|
})
|
|
- ->orderBy("updated_at", "desc")
|
|
|
|
|
|
+ //$data['level'] == 4 || $data['level'] == 5 查询随机
|
|
|
|
+ ->when($data['level'] == 5, function ($query) {
|
|
|
|
+ $query->inRandomOrder()
|
|
|
|
+ //updated_at最近三十天;
|
|
|
|
+ ->where('updated_at', '>', date("Y-m-d H:i:s", strtotime("-30 day")));
|
|
|
|
+ })
|
|
|
|
+ ->when($data['level'] != 5, function ($query) {
|
|
|
|
+ $query->orderBy("updated_at", "desc");
|
|
|
|
+ })
|
|
|
|
+ ->when(!empty($data['level']), function ($query) use ($data) {
|
|
|
|
+ if ($data['level'] != 4 && $data['level'] != 5) {
|
|
|
|
+ $query->whereRaw("JSON_CONTAINS(level, '" . intval($data['level']) . "') = 1")
|
|
|
|
+ ->orWhereNull("level");
|
|
|
|
+ }
|
|
|
|
+ })
|
|
->offset($placeid)
|
|
->offset($placeid)
|
|
->limit($data['pageSize'])
|
|
->limit($data['pageSize'])
|
|
->get();
|
|
->get();
|
|
@@ -617,14 +635,13 @@ class NewsService implements NewsServiceInterface
|
|
$placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
|
|
$placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
|
|
// 级别:0:未分类 1:头条 2:轮播图 3:推荐图 4:热点资讯 5:资讯推荐
|
|
// 级别:0:未分类 1:头条 2:轮播图 3:推荐图 4:热点资讯 5:资讯推荐
|
|
if ($data['level'] == 1) {
|
|
if ($data['level'] == 1) {
|
|
- $level = [
|
|
|
|
- 0 => '1',
|
|
|
|
- 1 => '4',
|
|
|
|
- 2 => '5',
|
|
|
|
- 3 => '0',
|
|
|
|
- ];
|
|
|
|
|
|
+
|
|
$result = Article::where($where)
|
|
$result = Article::where($where)
|
|
- ->whereIn('level', $level)
|
|
|
|
|
|
+ ->where(function ($query) use ($data) {
|
|
|
|
+ $query->whereRaw("JSON_CONTAINS(level, '" . intval($data['level']) . "') = 1")
|
|
|
|
+ ->orWhereNull("level")
|
|
|
|
+ ->orWhereRaw("level = '[]'");
|
|
|
|
+ })
|
|
->where(function ($query) use ($data) {
|
|
->where(function ($query) use ($data) {
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
->orWhereNull("ignore_ids");
|
|
->orWhereNull("ignore_ids");
|
|
@@ -636,7 +653,11 @@ class NewsService implements NewsServiceInterface
|
|
} elseif ($data['level'] == 2) {
|
|
} elseif ($data['level'] == 2) {
|
|
$level = '2';
|
|
$level = '2';
|
|
$result = Article::where($where)
|
|
$result = Article::where($where)
|
|
- ->where('level', $level)
|
|
|
|
|
|
+ ->where(function ($query) use ($data) {
|
|
|
|
+ $query->whereRaw("JSON_CONTAINS(level, '" . intval($data['level']) . "') = 1")
|
|
|
|
+ ->orWhereNull("level")
|
|
|
|
+ ->orWhereRaw("level = '[]'");
|
|
|
|
+ })
|
|
->where(function ($query) use ($data) {
|
|
->where(function ($query) use ($data) {
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
->orWhereNull("ignore_ids");
|
|
->orWhereNull("ignore_ids");
|
|
@@ -649,7 +670,11 @@ class NewsService implements NewsServiceInterface
|
|
} else {
|
|
} else {
|
|
$level = '3';
|
|
$level = '3';
|
|
$result = Article::where($where)
|
|
$result = Article::where($where)
|
|
- ->where('level', $level)
|
|
|
|
|
|
+ ->where(function ($query) use ($data) {
|
|
|
|
+ $query->whereRaw("JSON_CONTAINS(level, '" . intval($data['level']) . "') = 1")
|
|
|
|
+ ->orWhereNull("level")
|
|
|
|
+ ->orWhereRaw("level = '[]'");
|
|
|
|
+ })
|
|
->where(function ($query) use ($data) {
|
|
->where(function ($query) use ($data) {
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
->orWhereNull("ignore_ids");
|
|
->orWhereNull("ignore_ids");
|
|
@@ -703,14 +728,15 @@ class NewsService implements NewsServiceInterface
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- ->where(function ($query) use ($data) {
|
|
|
|
- $query->whereRaw("JSON_CONTAINS(ignore_ids, '".intval($data['website_id'])."') = 0")
|
|
|
|
- ->orWhereNull("ignore_ids");
|
|
|
|
- })
|
|
|
|
- ->orderBy("updated_at", "desc")
|
|
|
|
- ->limit($data['pageSize'])
|
|
|
|
- ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
|
- ->get();
|
|
|
|
|
|
+ ->where(function ($query) use ($data) {
|
|
|
|
+ $query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
|
|
+ ->orWhereNull("ignore_ids");
|
|
|
|
+ })
|
|
|
|
+ ->orderBy("updated_at", "desc")
|
|
|
|
+ ->limit($data['pageSize'])
|
|
|
|
+ ->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
|
+ ->get();
|
|
|
|
+
|
|
$count = Article::where(function ($query) use ($where) {
|
|
$count = Article::where(function ($query) use ($where) {
|
|
foreach ($where as $condition) {
|
|
foreach ($where as $condition) {
|
|
if ($condition[1] === 'in') {
|
|
if ($condition[1] === 'in') {
|
|
@@ -743,15 +769,14 @@ class NewsService implements NewsServiceInterface
|
|
'article.id' => $data['id'],
|
|
'article.id' => $data['id'],
|
|
'article.status' => 1,
|
|
'article.status' => 1,
|
|
];
|
|
];
|
|
-
|
|
|
|
- $result = Article::where($where)->leftJoin("article_data","article.id","article_data.article_id")
|
|
|
|
- ->where(function ($query) use ($data) {
|
|
|
|
- $query->whereRaw("JSON_CONTAINS(ignore_ids, '".intval($data['website_id'])."') = 0")
|
|
|
|
- ->orWhereNull("ignore_ids");
|
|
|
|
- })
|
|
|
|
- ->first();
|
|
|
|
- if(empty($result)){
|
|
|
|
- return Result::error("暂无此新闻!",0);
|
|
|
|
|
|
+ $result = Article::where($where)->leftJoin("article_data", "article.id", "article_data.article_id")
|
|
|
|
+ ->where(function ($query) use ($data) {
|
|
|
|
+ $query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
|
|
+ ->orWhereNull("ignore_ids");
|
|
|
|
+ })
|
|
|
|
+ ->first();
|
|
|
|
+ if (empty($result)) {
|
|
|
|
+ return Result::error("暂无此新闻!", 0);
|
|
}
|
|
}
|
|
$category = WebsiteCategory::leftJoin('website', 'website.id', '=', 'website_category.website_id')
|
|
$category = WebsiteCategory::leftJoin('website', 'website.id', '=', 'website_category.website_id')
|
|
->select('website_category.*', 'website.website_name', 'website.suffix')
|
|
->select('website_category.*', 'website.website_name', 'website.suffix')
|
|
@@ -763,8 +788,8 @@ class NewsService implements NewsServiceInterface
|
|
}
|
|
}
|
|
$result['category_id'] = $category['category_id'];
|
|
$result['category_id'] = $category['category_id'];
|
|
$result['cat_name'] = $category['alias'];
|
|
$result['cat_name'] = $category['alias'];
|
|
- $result['website_name'] = $category['website_name']??"";
|
|
|
|
- $result['suffix'] = $category['suffix']??"";
|
|
|
|
|
|
+ $result['website_name'] = $category['website_name'] ?? "";
|
|
|
|
+ $result['suffix'] = $category['suffix'] ?? "";
|
|
return Result::success($result);
|
|
return Result::success($result);
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
@@ -911,8 +936,11 @@ class NewsService implements NewsServiceInterface
|
|
if (empty($choice)) {
|
|
if (empty($choice)) {
|
|
return Result::error("请选择已有的选项!", 0);
|
|
return Result::error("请选择已有的选项!", 0);
|
|
}
|
|
}
|
|
|
|
+ $retult_survey = ArticleSurvey::where('website_id', $data['website_id'])
|
|
|
|
+ ->where('sur_id', $data['sur_id'])
|
|
|
|
+ ->get();
|
|
|
|
|
|
- return Result::success($choice);
|
|
|
|
|
|
+ return Result::success($retult_survey);
|
|
|
|
|
|
}
|
|
}
|
|
return Result::error("参数必填!");
|
|
return Result::error("参数必填!");
|
|
@@ -943,7 +971,7 @@ class NewsService implements NewsServiceInterface
|
|
array_push($where, ['is_survey', '=', $data['is_survey']]);
|
|
array_push($where, ['is_survey', '=', $data['is_survey']]);
|
|
}
|
|
}
|
|
// return Result::success($where);
|
|
// return Result::success($where);
|
|
-
|
|
|
|
|
|
+
|
|
if (!empty($where)) {
|
|
if (!empty($where)) {
|
|
$query = Article::where($where)->where(function ($q) {
|
|
$query = Article::where($where)->where(function ($q) {
|
|
$q->whereNotNull('survey_name')->where('survey_name', '!=', '');
|
|
$q->whereNotNull('survey_name')->where('survey_name', '!=', '');
|
|
@@ -953,7 +981,7 @@ class NewsService implements NewsServiceInterface
|
|
$q->whereNotNull('survey_name')->where('survey_name', '!=', '');
|
|
$q->whereNotNull('survey_name')->where('survey_name', '!=', '');
|
|
});
|
|
});
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
$count = $query->count();
|
|
$count = $query->count();
|
|
$survey = $query->orderByDesc('id')
|
|
$survey = $query->orderByDesc('id')
|
|
->limit($data['pageSize'])
|
|
->limit($data['pageSize'])
|
|
@@ -1017,7 +1045,7 @@ class NewsService implements NewsServiceInterface
|
|
return Result::success($result);
|
|
return Result::success($result);
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
|
|
+ /**
|
|
* 前端-搜索新闻列表
|
|
* 前端-搜索新闻列表
|
|
* @param array $data
|
|
* @param array $data
|
|
* @return array
|
|
* @return array
|