|
|
@@ -76,31 +76,42 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
// 构建查询
|
|
|
$query = Website::when($data, function ($query) use ($data) {
|
|
|
if (isset($data['keyword']) && !empty($data['keyword'])) {
|
|
|
- $query->where('website.website_name', 'like', '%' . trim($data['keyword']) . '%');
|
|
|
+ $query->where('zxt_website.website_name', 'like', '%' . trim($data['keyword']) . '%');
|
|
|
}
|
|
|
if (isset($data['website_column_id']) && !empty($data['website_column_id'])) {
|
|
|
- $query->whereJsonContains("website.website_column_arr_id", intval($data['website_column_id']));
|
|
|
+ $query->whereJsonContains("zxt_website.website_column_arr_id", intval($data['website_column_id']));
|
|
|
}
|
|
|
- if (isset($data['city_id']) && !empty($data['city_id'])) {
|
|
|
- $query->whereJsonContains("website.city_arr_id", intval($data['city_id']));
|
|
|
+ if (isset($data['web_type']) && !empty($data['web_type'])) {
|
|
|
+ $query->where('zxt_website.web_type', intval($data['web_type']));
|
|
|
+ }
|
|
|
+ if (isset($data['is_core']) && !empty($data['is_core'])) {
|
|
|
+ $query->where('zxt_website.is_core', intval($data['is_core']));
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- // 执行查询并获取总数和结果
|
|
|
- $queryWithJoins = $query->leftJoin("website_column", "website.website_column_id", "website_column.id")
|
|
|
- ->leftJoin("district", "district.id", "website.city_id");
|
|
|
-
|
|
|
+ $column_name = WebsiteColumn::pluck('column_name', 'id')->all();
|
|
|
+ $queryWithJoins = $query->leftJoin("zxt_website_column", "zxt_website.website_column_id", "zxt_website_column.id");
|
|
|
$count = $queryWithJoins->count();
|
|
|
- $result = $queryWithJoins->select("website.*", "website_column.column_name", "district.name as city_name")
|
|
|
+ $result = $queryWithJoins->select("zxt_website.*", "zxt_website_column.column_name")
|
|
|
->limit($data['pageSize'])
|
|
|
->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
- ->orderBy("website.updated_at", "desc")
|
|
|
- ->get();
|
|
|
+ ->orderBy("zxt_website.updated_at", "desc")
|
|
|
+ ->get()
|
|
|
+ ->all();
|
|
|
+ foreach ($result as $key => $value) {
|
|
|
+ $column_arr = json_decode($value['website_column_arr_id']);
|
|
|
+ $result[$key]['website_url'] = json_decode($value['website_url']);
|
|
|
+ $result[$key]['website_column_arr_id'] = $column_arr;
|
|
|
+ $result[$key]['city_arr_id'] = json_decode($value['city_arr_id'] ?? '[]', true);
|
|
|
+ if(count($column_arr) > 1){
|
|
|
+ $result[$key]['column_name'] = implode('/', array_intersect_key($column_name, array_flip($column_arr)));
|
|
|
+ }
|
|
|
+ }
|
|
|
if (empty($result)) {
|
|
|
return Result::error("没有数据", 0);
|
|
|
}
|
|
|
$data = [
|
|
|
- 'rows' => $result->toArray(),
|
|
|
+ 'rows' => $result,
|
|
|
'count' => $count,
|
|
|
];
|
|
|
return Result::success($data);
|
|
|
@@ -133,6 +144,10 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
'template_id' => $data['template_id'] ?? 0,
|
|
|
'suffix' => $data['suffix'] ?? "",
|
|
|
'ad_key' => $data['ad_key'] ?? "",
|
|
|
+ 'index_img' => $data['index_img'] ?? '',
|
|
|
+ 'qr_code' => $data['qr_code'] ?? '',
|
|
|
+ 'web_type' => $data['web_type'] ?? 0,
|
|
|
+ 'is_core' => $data['is_core'] ?? 0,
|
|
|
];
|
|
|
$result = Website::insertGetId($insertData);
|
|
|
if (empty($result)) {
|
|
|
@@ -167,6 +182,10 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
'template_id' => $data['template_id'] ?? 0,
|
|
|
'suffix' => $data['suffix'] ?? "",
|
|
|
'ad_key' => $data['ad_key'] ?? "",
|
|
|
+ 'index_img' => $data['index_img'] ?? '',
|
|
|
+ 'qr_code' => $data['qr_code'] ?? '',
|
|
|
+ 'web_type' => $data['web_type'] ?? 0,
|
|
|
+ 'is_core' => $data['is_core'] ?? 0,
|
|
|
];
|
|
|
// $web_templsate = WebsiteTemplateInfo::where('website_id', $data['id'])->first();
|
|
|
// `status` tinyint(1) DEFAULT '0' COMMENT '0:未构建 1:未应用 2:已应用',
|
|
|
@@ -250,11 +269,11 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
{
|
|
|
|
|
|
$where = [
|
|
|
- ['website.id', '=', $id],
|
|
|
+ ['zxt_website.id', '=', $id],
|
|
|
];
|
|
|
$result = Website::where($where)
|
|
|
- ->leftJoin("template", "template.id", "website.template_id")
|
|
|
- ->select("website.*", "template.template_name", "template.template_img")
|
|
|
+ ->leftJoin("template", "template.id", "zxt_website.template_id")
|
|
|
+ ->select("zxt_website.*", "template.template_name", "template.template_img")
|
|
|
->first();
|
|
|
if (empty($result)) {
|
|
|
return Result::error("数据不存在", 0);
|
|
|
@@ -287,11 +306,11 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
{
|
|
|
$where = [];
|
|
|
if (isset($data['keyword']) && $data['keyword']) {
|
|
|
- array_push($where, ['website_column.column_name', 'like', '%' . $data['keyword'] . '%']);
|
|
|
+ array_push($where, ['zxt_website_column.column_name', 'like', '%' . $data['keyword'] . '%']);
|
|
|
}
|
|
|
$result = WebsiteColumn::where($where)
|
|
|
- ->leftJoin("website_column as wc", "website_column.pid", "wc.id")
|
|
|
- ->select("website_column.*", "wc.column_name as parent_column_name")
|
|
|
+ ->leftJoin("zxt_website_column as wc", "zxt_website_column.pid", "wc.id")
|
|
|
+ ->select("zxt_website_column.*", "wc.column_name as parent_column_name")
|
|
|
->limit($data['pageSize'])->offset(($data['page'] - 1) * $data['pageSize'])->get();
|
|
|
$count = WebsiteColumn::where($where)->count();
|
|
|
if (empty($result)) {
|
|
|
@@ -1109,7 +1128,7 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
{
|
|
|
$where = [];
|
|
|
if (isset($data['keyword']) && !empty($data['keyword'])) {
|
|
|
- array_push($where, ['website.website_name', 'like', '%' . $data['keyword'] . '%']);
|
|
|
+ array_push($where, ['zxt_website.website_name', 'like', '%' . $data['keyword'] . '%']);
|
|
|
}
|
|
|
$result = Website::where($where)->get();
|
|
|
|
|
|
@@ -1395,10 +1414,10 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
{
|
|
|
$where = [];
|
|
|
if (isset($data['keyword']) && !empty($data['keyword'])) {
|
|
|
- array_push($where, ['website.website_name', 'like', '%' . $data['keyword'] . '%']);
|
|
|
+ array_push($where, ['zxt_website.website_name', 'like', '%' . $data['keyword'] . '%']);
|
|
|
}
|
|
|
if (isset($data['website_column_id']) && !empty($data['website_column_id'])) {
|
|
|
- array_push($where, ['website.website_column_id', '=', $data['website_column_id']]);
|
|
|
+ array_push($where, ['zxt_website.website_column_id', '=', $data['website_column_id']]);
|
|
|
}
|
|
|
$result = Website::where($where)
|
|
|
->with(["websiteCategory" => function ($query) {
|
|
|
@@ -1863,33 +1882,33 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
public function getWebsiteintel(array $data): array
|
|
|
{
|
|
|
//查询所有网站模板信息
|
|
|
- $query = Website::leftJoin("website_template_info", "website_template_info.website_id", "website.id")
|
|
|
+ $query = Website::leftJoin("website_template_info", "website_template_info.website_id", "zxt_website.id")
|
|
|
->leftJoin("template", "template.template_id", "website_template_info.template_id")
|
|
|
->leftJoin("template_class", "template_class.class_id", "template.template_class_id")
|
|
|
- ->leftJoin('website_column', 'website_column.id', 'website.website_column_id')
|
|
|
- ->leftJoin('website_column as parent_column', function ($join) {
|
|
|
- $join->on('website_column.pid', '=', 'parent_column.id')
|
|
|
- ->where('website_column.pid', 2);
|
|
|
+ ->leftJoin('zxt_website_column', 'zxt_website_column.id', 'zxt_website.website_column_id')
|
|
|
+ ->leftJoin('zxt_website_column as parent_column', function ($join) {
|
|
|
+ $join->on('zxt_website_column.pid', '=', 'parent_column.id')
|
|
|
+ ->where('zxt_website_column.pid', 2);
|
|
|
})
|
|
|
->whereRaw('NOT JSON_CONTAINS(website_column_arr_id, \'3\')')
|
|
|
->select(
|
|
|
"website_template_info.id",
|
|
|
"template_class.name",
|
|
|
- "website.id as website_id",
|
|
|
- "website.website_name",
|
|
|
- "website.website_url",
|
|
|
+ "zxt_website.id as website_id",
|
|
|
+ "zxt_website.website_name",
|
|
|
+ "zxt_website.website_url",
|
|
|
"website_template_info.action_id",
|
|
|
"website_template_info.created_at",
|
|
|
"website_template_info.updated_at",
|
|
|
"website_template_info.page_type",
|
|
|
- 'website_column.column_name',
|
|
|
+ 'zxt_website_column.column_name',
|
|
|
'parent_column.column_name as parent_column_name',
|
|
|
DB::raw("COALESCE(website_template_info.status, 0) as template_status"),
|
|
|
"template.template_name"
|
|
|
);
|
|
|
//若存在条件;则在$query的基础上进行筛选
|
|
|
if (isset($data['website_name']) && !empty($data['website_name'])) {
|
|
|
- $query->where('website.website_name', 'like', '%' . $data['website_name'] . '%');
|
|
|
+ $query->where('zxt_website.website_name', 'like', '%' . $data['website_name'] . '%');
|
|
|
}
|
|
|
if (isset($data['status']) && !empty($data['status'])) {
|
|
|
$query->where('website_template_info.status', $data['status']);
|
|
|
@@ -1927,7 +1946,7 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
*/
|
|
|
public function checkWebsiteBuild(array $data): array
|
|
|
{
|
|
|
- $website = Website::where('website.id', $data['website_id'])->first();
|
|
|
+ $website = Website::where('zxt_website.id', $data['website_id'])->first();
|
|
|
if (empty($website)) {
|
|
|
return Result::error("请输入正确的网站id!", 0);
|
|
|
}
|
|
|
@@ -2009,7 +2028,7 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
*/
|
|
|
public function upWebsiteTemplateintel(array $data): array
|
|
|
{
|
|
|
- $web = Website::where('website.id', $data['website_id'])->first();
|
|
|
+ $web = Website::where('zxt_website.id', $data['website_id'])->first();
|
|
|
if (empty($web)) {
|
|
|
return Result::error("请输入正确的网站id!", 0);
|
|
|
}
|
|
|
@@ -2072,7 +2091,7 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
public function getWebsiteTemplateList(array $data): array
|
|
|
{
|
|
|
|
|
|
- $website = Website::where('website.id', $data['website_id'])->first();
|
|
|
+ $website = Website::where('zxt_website.id', $data['website_id'])->first();
|
|
|
if (empty($website)) {
|
|
|
return Result::error("请输入正确的网站id!", 0);
|
|
|
} else {
|
|
|
@@ -2581,15 +2600,15 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
$list = Article::where('article.id', $data['article_id'])
|
|
|
->leftJoin('website_category', 'article.catid', '=', 'website_category.category_id')
|
|
|
// WebsiteCategory::query()->where($where)
|
|
|
- ->leftJoin('website', 'website.id', '=', 'website_category.website_id')
|
|
|
+ ->leftJoin('website', 'zxt_website.id', '=', 'website_category.website_id')
|
|
|
->leftJoinSub(function ($query) use ($data) {
|
|
|
$query->from('article_ignore')
|
|
|
->where('article_ignore.article_id', $data['article_id']);
|
|
|
}, 'article_ignore', function ($join) {
|
|
|
$join->on('website_category.website_id', '=', 'article_ignore.website_id');
|
|
|
})
|
|
|
- ->select('website_category.*', 'website.website_name', DB::raw('IFNULL(article_ignore.c_show_time, "") as c_show_time')) // 选择需要的字段,不存在记录时 c_show_time 为空字符串
|
|
|
- ->distinct('website.website_name') // 使用DISTINCT关键字按website_name过滤重复数据
|
|
|
+ ->select('website_category.*', 'zxt_website.website_name', DB::raw('IFNULL(article_ignore.c_show_time, "") as c_show_time')) // 选择需要的字段,不存在记录时 c_show_time 为空字符串
|
|
|
+ ->distinct('zxt_website.website_name') // 使用DISTINCT关键字按website_name过滤重复数据
|
|
|
->get();
|
|
|
// ->array_map(function ($item) {
|
|
|
// $item['c_show_time'] = json_decode($item['category_arr_id'], true);
|
|
|
@@ -2598,8 +2617,8 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
;
|
|
|
}else{
|
|
|
$list = WebsiteCategory::query()->where($where)
|
|
|
- ->leftJoin('website', 'website.id', '=', 'website_category.website_id')
|
|
|
- ->select('website_category.*', 'website.website_name')
|
|
|
+ ->leftJoin('website', 'zxt_website.id', '=', 'website_category.website_id')
|
|
|
+ ->select('website_category.*', 'zxt_website.website_name')
|
|
|
->distinct()
|
|
|
->get();
|
|
|
}
|
|
|
@@ -2777,8 +2796,8 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
})
|
|
|
->orderBy('updated_at', 'desc');
|
|
|
$count = $query->count();
|
|
|
- $row = $query->leftJoin('website', 'website.id', '=', 'website_img.website_id')
|
|
|
- ->select('website_img.*', 'website.website_name')
|
|
|
+ $row = $query->leftJoin('website', 'zxt_website.id', '=', 'website_img.website_id')
|
|
|
+ ->select('website_img.*', 'zxt_website.website_name')
|
|
|
->limit($data['pageSize'])
|
|
|
->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
->get();
|