|
@@ -114,7 +114,7 @@ class NewsService implements NewsServiceInterface
|
|
|
*/
|
|
|
public function addCategory(array $data): array
|
|
|
{
|
|
|
- if(isset($data['id'])){
|
|
|
+ if (isset($data['id'])) {
|
|
|
unset($data['id']);
|
|
|
}
|
|
|
$id = Category::insertGetId($data);
|
|
@@ -566,15 +566,33 @@ class NewsService implements NewsServiceInterface
|
|
|
$placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
|
|
|
$where = [
|
|
|
'status' => 1,
|
|
|
- 'level' => $data['level'],
|
|
|
];
|
|
|
+ var_dump($data, 'data-----------------');
|
|
|
+
|
|
|
+ //如果是4:热点资讯 5:资讯推荐;
|
|
|
+ var_dump($where, 'where-----------------');
|
|
|
+
|
|
|
$result = Article::where($where)
|
|
|
->whereIn("catid", $category)
|
|
|
->where(function ($query) use ($data) {
|
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
|
->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)
|
|
|
->limit($data['pageSize'])
|
|
|
->get();
|
|
@@ -605,14 +623,13 @@ class NewsService implements NewsServiceInterface
|
|
|
$placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
|
|
|
// 级别:0:未分类 1:头条 2:轮播图 3:推荐图 4:热点资讯 5:资讯推荐
|
|
|
if ($data['level'] == 1) {
|
|
|
- $level = [
|
|
|
- 0 => '1',
|
|
|
- 1 => '4',
|
|
|
- 2 => '5',
|
|
|
- 3 => '0',
|
|
|
- ];
|
|
|
+
|
|
|
$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) {
|
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
|
->orWhereNull("ignore_ids");
|
|
@@ -624,7 +641,11 @@ class NewsService implements NewsServiceInterface
|
|
|
} elseif ($data['level'] == 2) {
|
|
|
$level = '2';
|
|
|
$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) {
|
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
|
->orWhereNull("ignore_ids");
|
|
@@ -637,7 +658,11 @@ class NewsService implements NewsServiceInterface
|
|
|
} else {
|
|
|
$level = '3';
|
|
|
$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) {
|
|
|
$query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
|
|
|
->orWhereNull("ignore_ids");
|
|
@@ -751,8 +776,8 @@ class NewsService implements NewsServiceInterface
|
|
|
}
|
|
|
$result['category_id'] = $category['category_id'];
|
|
|
$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);
|
|
|
}
|
|
|
|
|
@@ -899,8 +924,11 @@ class NewsService implements NewsServiceInterface
|
|
|
if (empty($choice)) {
|
|
|
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("参数必填!");
|