feat(news): 支持新闻中心多站点隔离功能

新增站点编码配置,支持新闻分类与文章按站点隔离。主要变更包括:
- 数据库表增加 site_code 字段及索引
- 后台管理界面支持按站点筛选
- 前台接口支持通过查询参数或请求头指定站点
- 新增站点配置与解析逻辑
This commit is contained in:
2026-05-05 15:09:49 +08:00
parent d129d64ebd
commit 3daa0273a4
76 changed files with 592 additions and 114 deletions

View File

@@ -7,11 +7,15 @@
</resultMap>
<select id="selectAll" resultMap="newsCategoryResult">
SELECT * FROM f_news_category WHERE del_flag = 0 ORDER BY sort_order ASC
SELECT * FROM f_news_category WHERE del_flag = 0
<if test="siteCode != null and siteCode != ''">AND site_code = #{siteCode}</if>
ORDER BY sort_order ASC
</select>
<select id="selectPublished" resultMap="newsCategoryResult">
SELECT * FROM f_news_category WHERE del_flag = 0 AND is_published = 1 ORDER BY sort_order ASC
SELECT * FROM f_news_category WHERE del_flag = 0 AND is_published = 1
<if test="siteCode != null and siteCode != ''">AND site_code = #{siteCode}</if>
ORDER BY sort_order ASC
</select>
<select id="selectById" resultMap="newsCategoryResult">
@@ -19,13 +23,14 @@
</select>
<insert id="insert" useGeneratedKeys="true" keyProperty="newsCategoryId" keyColumn="category_id">
INSERT INTO f_news_category (name_zh, name_en, sort_order, is_published, create_by, remark)
VALUES (#{nameZh}, #{nameEn}, #{sortOrder}, #{isPublished}, #{createBy}, #{remark})
INSERT INTO f_news_category (site_code, name_zh, name_en, sort_order, is_published, create_by, remark)
VALUES (#{siteCode}, #{nameZh}, #{nameEn}, #{sortOrder}, #{isPublished}, #{createBy}, #{remark})
</insert>
<update id="update" parameterType="com.wuhansaga.server.entity.NewsCategory">
UPDATE f_news_category
<set>
<if test="siteCode != null">site_code = #{siteCode},</if>
<if test="nameZh != null">name_zh = #{nameZh},</if>
<if test="nameEn != null">name_en = #{nameEn},</if>
<if test="sortOrder != null">sort_order = #{sortOrder},</if>