站点设置模块 (business-site-setting)
模块概述
站点设置模块提供站点设置相关的业务功能,包括意见反馈、关于我们、帮助中心等功能。
模块结构
business-site-setting/
├── business-site-setting-bean/ # Bean层(Entity、DTO、VO、Convert)
│ └── src/main/java/com/jeesharp/business/modules/setting/
│ ├── convert/ # 转换器
│ │ ├── FeedbackConvert.java # 意见反馈转换器
│ │ └── AboutUsConvert.java # 关于我们转换器
│ ├── dto/ # 数据传输对象
│ │ ├── FeedbackSubmitDTO.java # 意见反馈提交DTO
│ │ ├── FeedbackHandleDTO.java # 意见反馈处理DTO
│ │ └── AboutUsSaveDTO.java # 关于我们保存DTO
│ ├── entity/ # 实体类
│ │ ├── Feedback.java # 意见反馈实体
│ │ └── AboutUs.java # 关于我们实体
│ └── vo/ # 视图对象
│ ├── FeedbackQueryVO.java # 意见反馈查询VO
│ ├── FeedbackVO.java # 意见反馈VO
│ ├── AboutUsQueryVO.java # 关于我们查询VO
│ └── AboutUsVO.java # 关于我们VO
│
├── business-site-setting-service/ # Service层(Service、Mapper)
│ └── src/main/java/com/jeesharp/business/modules/setting/
│ ├── mapper/ # MyBatis Mapper
│ │ ├── FeedbackMapper.java # 意见反馈Mapper
│ │ ├── AboutUsMapper.java # 关于我们Mapper
│ │ └── xml/ # Mapper XML
│ │ ├── FeedbackMapper.xml
│ │ └── AboutUsMapper.xml
│ └── service/ # 领域服务
│ ├── FeedbackService.java # 意见反馈服务接口
│ ├── AboutUsService.java # 关于我们服务接口
│ └── impl/ # 服务实现
│ ├── FeedbackServiceImpl.java
│ └── AboutUsServiceImpl.java
│
├── business-site-setting-application/ # Application层(应用服务)
│ └── src/main/java/com/jeesharp/business/modules/setting/
│ └── application/
│ ├── FeedbackApplicationService.java # 意见反馈应用服务
│ └── AboutUsApplicationService.java # 关于我们应用服务
│
├── business-site-setting-controller/ # Controller层(控制器,后台管理用)
│ └── src/main/java/com/jeesharp/business/modules/setting/
│ └── controller/
│ ├── FeedbackController.java # 意见反馈管理控制器
│ └── AboutUsController.java # 关于我们管理控制器
│
├── site_setting_sql_index.sql # SQL 执行说明与推荐顺序
├── site_setting_schema.sql # 全量建表(新建库)
├── site_setting_alter.sql # 已有库增量 ALTER
├── site_setting_mock_data.sql # 演示/种子数据(可选)
└── site_setting_menu_permission.sql # 管理端菜单与权限
模块依赖关系
后台管理Controller → Application → Service → Bean
│ │ │ │
└────────────────────┴────────────┴─────────┴──→ jeesharp-spring-boot-starter-mybatis
移动端接口(business-mobile-gateway)→ Application → Service → Bean
注意:
business-site-setting-controller 是给后台管理使用的,提供管理后台的接口
business-mobile-gateway 是给移动端使用的,提供APP/小程序/H5的接口
功能特性
意见反馈
- 提交反馈:用户可提交功能建议、问题反馈等
- 反馈列表:查看自己的反馈历史记录
- 反馈详情:查看反馈的详细信息和处理结果
- 状态跟踪:反馈状态包括待处理、处理中、已处理、已关闭
关于我们
- 多应用支持:支持不同应用(APP/微信小程序/微信公众号/H5等)配置不同的关于我们信息
- 富文本内容:支持富文本编辑,展示公司介绍、联系方式等信息
- 完整信息:包含公司名称、地址、联系方式、版权信息、ICP备案号等
- 版本管理:支持版本号管理,便于版本追踪
帮助中心
- 分类管理:支持多级分类,便于组织帮助内容
- 文章管理:支持富文本编辑,包含标题、内容、摘要、封面图片等
- 常见问题:支持标记常见问题,方便用户快速查找
- 多应用支持:不同应用可配置不同的帮助内容
- 数据统计:支持浏览次数、点赞次数统计
- 搜索功能:支持按标题、内容搜索帮助文章
API 接口
移动端接口(business-mobile-gateway)
接口基础路径:/mobile/setting/feedback
| 接口 |
方法 |
URL |
说明 |
| 提交反馈 |
POST |
/submit |
提交意见反馈 |
| 获取详情 |
GET |
/detail?id=xxx |
获取反馈详细信息 |
| 我的反馈列表 |
POST |
/myList |
分页查询我的反馈列表 |
| 我的反馈列表(简化) |
GET |
/myListSimple |
获取我的反馈列表(不分页) |
关于我们
接口基础路径:/mobile/setting/aboutUs
| 接口 |
方法 |
URL |
说明 |
| 获取关于我们 |
GET |
/info?app=xxx |
根据应用标识获取关于我们信息 |
帮助中心
接口基础路径:/mobile/setting/helpCenter
| 接口 |
方法 |
URL |
说明 |
| 获取分类列表 |
GET |
/categories?app=xxx |
根据应用标识获取帮助分类列表 |
| 获取文章列表 |
GET |
/articles?app=xxx&categoryId=xxx |
获取帮助文章列表(可选分类筛选) |
| 获取文章详情 |
GET |
/article/detail?id=xxx |
获取帮助文章详情(自动增加浏览次数) |
| 获取常见问题 |
GET |
/faq?app=xxx |
获取常见问题列表 |
| 点赞文章 |
POST |
/article/like?id=xxx |
点赞文章(增加点赞次数) |
| 获取首页数据 |
GET |
/index?app=xxx |
获取帮助中心首页数据(分类+常见问题) |
后台管理接口(business-site-setting-controller)
首页/商城轮播图
接口基础路径:${jeesharp.web.adminPath}/setting/homeBanner/v1
| 接口 |
方法 |
URL |
说明 |
权限标识 |
| 详情 |
GET |
/info?id=xxx |
含跳转字段与 resolvedLinkUrl 预览 |
setting:homeBanner:info |
| 分页列表 |
POST |
/list |
支持按 bannerPosition(HOME/MALL)、平台、状态筛选 |
setting:homeBanner:list |
| 保存 |
POST |
/save |
新增/编辑;保存时校验跳转目标并回写 linkUrl |
setting:homeBanner:save |
| 删除 |
GET |
/delete?ids=xxx |
批量删除 |
setting:homeBanner:delete |
| 跳转目标搜索 |
GET |
/jumpBizOptions?bizType=&keyword= |
配置业务详情时远程搜索候选项 |
setting:homeBanner:info |
跳转类型 jumpType:0-不跳转、1-业务详情、2-业务列表、3-自定义小程序路径、4-H5外链。
业务场景 bizType(节选):TICKET_VENUE、SCENIC_POI、HERITAGE、HOTEL、FOOD_RESTAURANT、LEISURE_VENUE、VILLAGE_DEST、EXPLAIN_PACKAGE、STUDY_PLAN、YEARCARD、CULTURE_ACTIVITY、TRAVEL_STRATEGY、TRAVEL_NEWS、MALL_SPU、COUPON、ROUTE、MARKETING、HOME_GRID_INTRO(详见 HomeBannerBizTypeEnum)。
管理端前端路由:列表 /business/setting/homeBanner,编辑 /business/setting/homeBanner/editor(TravelWebFrontProject 业务仓 asyncRouter 注册,编辑页不在 sys_menu 中单独建菜单)。
移动端轮播(business-mobile-gateway,免登录)
| 接口 |
方法 |
URL |
说明 |
| 首页壳层轮播 |
GET |
/mobile/home/shell 或 /mobile/home/banners |
返回 MiniHomeBannerItemVO 列表(含 linkUrl、jumpType) |
| 按位置轮播 |
GET |
/mobile/setting/homeBanner/list?position=HOME\|MALL |
同上 |
| 商城轮播 |
GET |
/mobile/mall/banners |
banner_position=MALL 的轮播项(含跳转字段) |
意见反馈管理
接口基础路径:${jeesharp.web.adminPath}/setting/feedback/v1
| 接口 |
方法 |
URL |
说明 |
权限标识 |
| 获取详情 |
GET |
/info?id=xxx |
获取反馈详细信息 |
setting:feedback:info |
| 获取列表 |
POST |
/list |
分页查询反馈列表 |
setting:feedback:list |
| 删除反馈 |
GET |
/delete?ids=xxx |
批量删除反馈 |
setting:feedback:delete |
| 处理反馈 |
POST |
/handle |
标记反馈为处理中 |
setting:feedback:handle |
| 完成处理 |
POST |
/complete |
标记反馈为已处理 |
setting:feedback:complete |
| 关闭反馈 |
GET |
/close?id=xxx |
关闭反馈 |
setting:feedback:close |
关于我们管理
接口基础路径:${jeesharp.web.adminPath}/setting/aboutUs/v1
| 接口 |
方法 |
URL |
说明 |
权限标识 |
| 获取详情 |
GET |
/info?id=xxx |
获取关于我们详细信息 |
setting:aboutUs:info |
| 获取列表 |
POST |
/list |
分页查询关于我们列表 |
setting:aboutUs:list |
| 保存 |
POST |
/save |
新增或更新关于我们 |
setting:aboutUs:save |
| 删除 |
GET |
/delete?ids=xxx |
批量删除关于我们 |
setting:aboutUs:delete |
| 禁用 |
GET |
/disable?id=xxx |
禁用关于我们 |
setting:aboutUs:disable |
| 启用 |
GET |
/enable?id=xxx |
启用关于我们 |
setting:aboutUs:enable |
帮助分类管理
接口基础路径:${jeesharp.web.adminPath}/setting/helpCategory/v1
| 接口 |
方法 |
URL |
说明 |
权限标识 |
| 获取详情 |
GET |
/info?id=xxx |
获取帮助分类详细信息 |
setting:helpCategory:info |
| 获取列表 |
POST |
/list |
分页查询帮助分类列表 |
setting:helpCategory:list |
| 保存 |
POST |
/save |
新增或更新帮助分类 |
setting:helpCategory:save |
| 删除 |
GET |
/delete?ids=xxx |
批量删除帮助分类 |
setting:helpCategory:delete |
| 禁用 |
GET |
/disable?id=xxx |
禁用帮助分类 |
setting:helpCategory:disable |
| 启用 |
GET |
/enable?id=xxx |
启用帮助分类 |
setting:helpCategory:enable |
帮助文章管理
接口基础路径:${jeesharp.web.adminPath}/setting/helpArticle/v1
| 接口 |
方法 |
URL |
说明 |
权限标识 |
| 获取详情 |
GET |
/info?id=xxx |
获取帮助文章详细信息 |
setting:helpArticle:info |
| 获取列表 |
POST |
/list |
分页查询帮助文章列表 |
setting:helpArticle:list |
| 保存 |
POST |
/save |
新增或更新帮助文章 |
setting:helpArticle:save |
| 删除 |
GET |
/delete?ids=xxx |
批量删除帮助文章 |
setting:helpArticle:delete |
| 禁用 |
GET |
/disable?id=xxx |
禁用帮助文章 |
setting:helpArticle:disable |
| 启用 |
GET |
/enable?id=xxx |
启用帮助文章 |
setting:helpArticle:enable |
数据库表设计
关于我们表 (app_about_us)
| 字段名 |
类型 |
说明 |
| id |
VARCHAR(64) |
主键ID |
| app |
VARCHAR(32) |
应用标识(APP/WECHAT_MINI/WECHAT_MP/H5等) |
| title |
VARCHAR(100) |
标题 |
| content |
TEXT |
内容(支持富文本) |
| version |
VARCHAR(32) |
版本号 |
| company_name |
VARCHAR(100) |
公司名称 |
| company_address |
VARCHAR(255) |
公司地址 |
| contact_phone |
VARCHAR(50) |
联系电话 |
| contact_email |
VARCHAR(100) |
联系邮箱 |
| official_website |
VARCHAR(255) |
官方网站 |
| wechat_official_account |
VARCHAR(100) |
微信公众号 |
| wechat_mini_program_name |
VARCHAR(100) |
微信小程序名称 |
| copyright |
VARCHAR(255) |
版权信息 |
| icp_license |
VARCHAR(100) |
ICP备案号 |
| sort_order |
INT |
排序号 |
| status |
TINYINT |
状态:0-禁用 1-启用 |
索引设计:
| 索引名 |
字段 |
说明 |
| idx_app |
app |
应用标识查询 |
| idx_status |
status |
状态筛选 |
| idx_sort_order |
sort_order |
排序查询 |
意见反馈表 (app_feedback)
| 字段名 |
类型 |
说明 |
| id |
VARCHAR(64) |
主键ID |
| member_id |
VARCHAR(64) |
会员ID |
| feedback_type |
TINYINT |
反馈类型:1-功能建议 2-问题反馈 3-其他 |
| title |
VARCHAR(100) |
反馈标题 |
| content |
TEXT |
反馈内容 |
| contact |
VARCHAR(50) |
联系方式(手机号或邮箱) |
| images |
TEXT |
图片URL列表(JSON数组格式) |
| status |
TINYINT |
反馈状态:0-待处理 1-处理中 2-已处理 3-已关闭 |
| handler_id |
VARCHAR(64) |
处理人ID |
| handler_name |
VARCHAR(64) |
处理人姓名 |
| handle_date |
DATETIME |
处理时间 |
| handle_result |
TEXT |
处理结果/回复内容 |
| device_info |
TEXT |
设备信息(JSON格式) |
| app_version |
VARCHAR(32) |
应用版本号 |
| os_version |
VARCHAR(32) |
操作系统版本 |
索引设计:
| 索引名 |
字段 |
说明 |
| idx_member_id |
member_id |
会员反馈查询 |
| idx_feedback_type |
feedback_type |
反馈类型筛选 |
| idx_status |
status |
状态筛选 |
| idx_create_date |
create_date |
时间排序 |
帮助分类表 (app_help_category)
| 字段名 |
类型 |
说明 |
| id |
VARCHAR(64) |
主键ID |
| app |
VARCHAR(32) |
应用标识(APP/WECHAT_MINI/WECHAT_MP/H5等) |
| category_name |
VARCHAR(50) |
分类名称 |
| icon |
VARCHAR(500) |
分类图标 |
| description |
VARCHAR(255) |
分类描述 |
| sort_order |
INT |
排序号 |
| status |
TINYINT |
状态:0-禁用 1-启用 |
索引设计:
| 索引名 |
字段 |
说明 |
| idx_app |
app |
应用标识查询 |
| idx_status |
status |
状态筛选 |
| idx_sort_order |
sort_order |
排序查询 |
帮助文章表 (app_help_article)
| 字段名 |
类型 |
说明 |
| id |
VARCHAR(64) |
主键ID |
| app |
VARCHAR(32) |
应用标识(APP/WECHAT_MINI/WECHAT_MP/H5等) |
| category_id |
VARCHAR(64) |
分类ID |
| title |
VARCHAR(200) |
文章标题 |
| content |
TEXT |
文章内容(支持富文本) |
| summary |
VARCHAR(500) |
文章摘要 |
| cover_image |
VARCHAR(500) |
封面图片 |
| is_faq |
TINYINT |
是否常见问题:0-否 1-是 |
| view_count |
INT |
浏览次数 |
| like_count |
INT |
点赞次数 |
| sort_order |
INT |
排序号 |
| status |
TINYINT |
状态:0-禁用 1-启用 |
索引设计:
| 索引名 |
字段 |
说明 |
| idx_app |
app |
应用标识查询 |
| idx_category_id |
category_id |
分类查询 |
| idx_is_faq |
is_faq |
常见问题筛选 |
| idx_status |
status |
状态筛选 |
| idx_sort_order |
sort_order |
排序查询 |
| idx_view_count |
view_count |
热门文章排序 |
使用说明
执行 SQL
# 新建库:先读 site_setting_sql_index.sql,再按需执行,例如:
mysql -u root -p your_database < site_setting_schema.sql
mysql -u root -p your_database < site_setting_mock_data.sql
mysql -u root -p your_database < site_setting_menu_permission.sql
# 已有库补字段(按需):
mysql -u root -p your_database < site_setting_alter.sql
注意事项
- 多租户支持:所有表均包含
tenant_id 和 tenant_code 字段
- 图片存储:图片URL列表以JSON数组格式存储,建议使用OSS等对象存储服务
- 设备信息:设备信息以JSON格式存储,可包含设备型号、系统版本等信息
版本记录
| 版本 |
日期 |
说明 |
| 1.1.0 |
2026-07-03 |
轮播图结构化跳转(jump_type/biz_type/biz_id)、管理端 homeBanner 页面、商城轮播含跳转 |
| 1.0.0 |
2026-02-05 |
初始版本,包含意见反馈、关于我们和帮助中心功能 |