Просмотр исходного кода

feat(system): 添加平台导航搜索功能和优化代码结构

- 在PlatformNavigation实体类中新增title字段
- 在PlatformNavigationBo和PlatformNavigationVo中同步添加title字段
- 修改getSearchTitle接口支持按标题搜索导航
- 优化代码格式和注释规范
- 更新验证注解格式统一性
hurx 2 дней назад
Родитель
Сommit
8cae9b2097

+ 48 - 38
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/pc/IndexSystemController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.R;
+import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.system.domain.*;
@@ -17,6 +18,7 @@ import java.util.List;
 
 /**
  * 首页
+ *
  * @author
  * @date 2026/1/29 下午3:31
  */
@@ -52,20 +54,23 @@ public class IndexSystemController {
     private final ISysProjectTypeService sysProjectTypeService;
     //获取导航信息
     private final IPlatformNavigationService platformNavigationService;
+
     /**
-    * 平台设置-搜索导航
-    * */
+     * 平台设置-搜索导航
+     */
     @GetMapping("/getSearchTitle")
-    public R<List<PlatformNavigation>> getSearchTitle() {
+    public R<List<PlatformNavigation>> getSearchTitle(@RequestParam(value = "title", required = false) String title) {
         List<PlatformNavigation> list = platformNavigationService.list(Wrappers.<PlatformNavigation>lambdaQuery(PlatformNavigation.class)
             .eq(PlatformNavigation::getNavType, "setting_search")
+            .eq(StringUtils.isNotBlank(title), PlatformNavigation::getTitle, title)
             .orderByAsc(PlatformNavigation::getSort)
         );
         return R.ok(list);
     }
+
     /**
-    * 轮播广告(平台装修-轮播广告)
-    * */
+     * 轮播广告(平台装修-轮播广告)
+     */
     @GetMapping("/getHomeAdList")
     public R<List<SysAdContent>> getHomeAdList() {
         List<SysAdContent> list = sysAdContentService.list(Wrappers.<SysAdContent>lambdaQuery(SysAdContent.class)
@@ -76,8 +81,8 @@ public class IndexSystemController {
     }
 
     /**
-    * 优易咨迅(平台公告)
-    * */
+     * 优易咨迅(平台公告)
+     */
     @GetMapping("/getYouYiZiXunPage")
     public R<List<SysAnnouncement>> getYouYiZiXunPage(PageQuery pageQuery) {
         List<SysAnnouncement> list = sysAnnouncementService.list(Wrappers.<SysAnnouncement>lambdaQuery(SysAnnouncement.class)
@@ -87,8 +92,8 @@ public class IndexSystemController {
     }
 
     /**
-    * 咨迅详情
-    * */
+     * 咨迅详情
+     */
     @GetMapping("/getYouYiZiXunInfo/{id}")
     public R<SysAnnouncement> getYouYiZiXunInfo(@PathVariable Long id) {
         SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id);
@@ -96,8 +101,8 @@ public class IndexSystemController {
     }
 
     /**
-    * 企业会员权益(平台装修-楼层广告-首页图标广告)
-    * */
+     * 企业会员权益(平台装修-楼层广告-首页图标广告)
+     */
     @GetMapping("/getEnterpriseMemberEquityList")
     public R<List<SysAdContent>> getEnterpriseMemberEquityList() {
         List<SysAdContent> list = sysAdContentService.list(Wrappers.<SysAdContent>lambdaQuery(SysAdContent.class)
@@ -106,9 +111,10 @@ public class IndexSystemController {
         );
         return R.ok(list);
     }
+
     /**
      * 首页三联广告(平台装修-楼层广告-首页三联广告)
-     * */
+     */
     @GetMapping("/getHomeThreeAdList")
     public R<List<SysAdContent>> getHomeThreeAdList() {
         List<SysAdContent> list = sysAdContentService.list(Wrappers.<SysAdContent>lambdaQuery(SysAdContent.class)
@@ -121,15 +127,16 @@ public class IndexSystemController {
 
     /**
      * 热门方案标题(平台装修-方案管理)
-     * */
+     */
     @GetMapping("/getHotSchemeTitle")
     public R<SysFloorTitle> getHotSchemeTitle() {
         SysFloorTitle sysFloorTitle = sysFloorTitleService.getById(1);
         return R.ok(sysFloorTitle);
     }
+
     /**
-    * 热门方案列表(平台装修-方案管理)
-    * */
+     * 热门方案列表(平台装修-方案管理)
+     */
     @GetMapping("/getHotSchemeList")
     public R<List<SysFloorAdvertManage>> getHotSchemeList() {
         List<SysFloorAdvertManage> list = sysFloorAdvertManageService.list(Wrappers.lambdaQuery(SysFloorAdvertManage.class)
@@ -137,17 +144,19 @@ public class IndexSystemController {
         );
         return R.ok(list);
     }
+
     /**
      * 场景采购标题(平台装修-产品推荐)
-     * */
+     */
     @GetMapping("/getScenePurchaseTitle")
     public R<SysFloorTitle> getScenePurchaseTitle() {
         SysFloorTitle sysFloorTitle = sysFloorTitleService.getById(7);
         return R.ok(sysFloorTitle);
     }
+
     /**
      * 场景采购列表(平台装修-产品推荐)
-     * */
+     */
     @GetMapping("/getScenePurchaseList")
     public R<List<SysFloorAdvertManage>> getScenePurchaseList() {
         List<SysFloorAdvertManage> list = sysFloorAdvertManageService.list(Wrappers.lambdaQuery(SysFloorAdvertManage.class)
@@ -155,17 +164,19 @@ public class IndexSystemController {
         );
         return R.ok(list);
     }
+
     /**
      * 平台闪购标题(平台装修-品牌闪购)
-     * */
+     */
     @GetMapping("/getPlatformFlashSaleTitle")
     public R<SysFloorTitle> getPlatformFlashSaleTitle() {
         SysFloorTitle sysFloorTitle = sysFloorTitleService.getById(4);
         return R.ok(sysFloorTitle);
     }
+
     /**
      * 平台闪购列表(平台装修-品牌闪购)
-     * */
+     */
     @GetMapping("/getPlatformFlashSaleList")
     public R<List<SysFloorAdvertManage>> getPlatformFlashSaleList() {
         List<SysFloorAdvertManage> list = sysFloorAdvertManageService.list(Wrappers.lambdaQuery(SysFloorAdvertManage.class)
@@ -176,7 +187,7 @@ public class IndexSystemController {
 
     /**
      * 行家精选标题(平台装修-特价管理)
-     * */
+     */
     @GetMapping("/getExpertSelectionTitle")
     public R<SysFloorTitle> getExpertSelectionTitle() {
         SysFloorTitle sysFloorTitle = sysFloorTitleService.getById(5);
@@ -185,7 +196,7 @@ public class IndexSystemController {
 
     /**
      * 采购指南标题(平台装修-采购指南)
-     * */
+     */
     @GetMapping("/getPurchaseGuideTitle")
     public R<SysFloorTitle> getPurchaseGuideTitle() {
         SysFloorTitle sysFloorTitle = sysFloorTitleService.getById(6);
@@ -193,9 +204,9 @@ public class IndexSystemController {
     }
 
     /**
-    * 首页横幅广告(平台装修-楼层广告-首页横幅广告)
-    * */
-    @GetMapping ("/getHomeBannerAd")
+     * 首页横幅广告(平台装修-楼层广告-首页横幅广告)
+     */
+    @GetMapping("/getHomeBannerAd")
     public R<List<SysAdContent>> getHomeBannerAd() {
         List<SysAdContent> list = sysAdContentService.list(Wrappers.<SysAdContent>lambdaQuery(SysAdContent.class)
             .eq(SysAdContent::getAdType, "decoration_ad_banner")
@@ -204,8 +215,8 @@ public class IndexSystemController {
     }
 
     /**
-    * 分类楼层列表(平台装修-分类楼层)
-    * */
+     * 分类楼层列表(平台装修-分类楼层)
+     */
     @GetMapping("/getClassificationFloorList")
     public R<List<SysFloor>> getClassificationFloorList() {
         List<SysFloor> list = sysFloorService.list(Wrappers.<SysFloor>lambdaQuery(SysFloor.class)
@@ -213,9 +224,10 @@ public class IndexSystemController {
         );
         return R.ok(list);
     }
+
     /**
      * 分类楼层标签(平台装修-分类楼层-标签)
-     * */
+     */
     @GetMapping("/getClassificationFloorLabel/{floorNo}")
     public R<List<SysFloorLabel>> getClassificationFloorLabel(@PathVariable Long floorNo) {
         List<SysFloorLabel> list = sysFloorLabelService.list(Wrappers.lambdaQuery(SysFloorLabel.class)
@@ -227,8 +239,8 @@ public class IndexSystemController {
     }
 
     /**
-    * 分类楼层详情(平台装修-分类楼层-详情)
-    * */
+     * 分类楼层详情(平台装修-分类楼层-详情)
+     */
     @GetMapping("/getClassificationFloorDetail/{floorNo}")
     public R<List<SysFloorAdvertise>> getClassificationFloorDetail(@PathVariable Long floorNo) {
         List<SysFloorAdvertise> list = sysFloorAdvertiseService.list(Wrappers.lambdaQuery(SysFloorAdvertise.class)
@@ -240,7 +252,7 @@ public class IndexSystemController {
 
     /**
      * 项目案例标题(平台装修-项目案例)
-     * */
+     */
     @GetMapping("/getProjectCaseTitle")
     public R<SysFloorTitle> getProjectCaseTitle() {
         SysFloorTitle sysFloorTitle = sysFloorTitleService.getById(8);
@@ -249,7 +261,7 @@ public class IndexSystemController {
 
     /**
      * 采购分类列表
-     * */
+     */
     @GetMapping("/getPurchaseCategoryList")
     public R<List<SysPurchaseCategory>> getPurchaseCategoryList() {
         List<SysPurchaseCategory> list = sysPurchaseCategoryService.list(Wrappers.<SysPurchaseCategory>lambdaQuery(SysPurchaseCategory.class));
@@ -258,16 +270,17 @@ public class IndexSystemController {
 
     /**
      * 适配场景列表
-     * */
+     */
     @GetMapping("/getAdaptSceneList")
     public R<List<SysAdaptScene>> getAdaptSceneList() {
         List<SysAdaptScene> list = sysAdaptSceneService.list(Wrappers.<SysAdaptScene>lambdaQuery(SysAdaptScene.class)
         );
         return R.ok(list);
     }
+
     /**
      * 获取价格区间列表
-     * */
+     */
     @GetMapping("/getPriceRangeList")
     public R<List<SysPriceRange>> getPriceRangeList() {
         List<SysPriceRange> list = sysPriceRangeService.list(Wrappers.<SysPriceRange>lambdaQuery(SysPriceRange.class)
@@ -276,8 +289,8 @@ public class IndexSystemController {
     }
 
     /**
-    * 项目类型
-    * */
+     * 项目类型
+     */
     @GetMapping("/getProjectTypeList")
     public R<List<SysProjectType>> getProjectTypeList() {
         List<SysProjectType> list = sysProjectTypeService.list(Wrappers.<SysProjectType>lambdaQuery(SysProjectType.class)
@@ -286,7 +299,4 @@ public class IndexSystemController {
     }
 
 
-
-
-
 }

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/PlatformNavigation.java

@@ -32,6 +32,8 @@ public class PlatformNavigation extends TenantEntity {
      */
     private String navType;
 
+    private String title;
+
     /**
      * 导航名称
      */

+ 5 - 3
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/PlatformNavigationBo.java

@@ -30,6 +30,8 @@ public class PlatformNavigationBo extends BaseEntity {
      */
     private String navType;
 
+    private String title;
+
     /**
      * 导航名称
      */
@@ -38,19 +40,19 @@ public class PlatformNavigationBo extends BaseEntity {
     /**
      * 链接地址
      */
-    @NotBlank(message = "链接地址不能为空", groups = { AddGroup.class, EditGroup.class })
+    @NotBlank(message = "链接地址不能为空", groups = {AddGroup.class, EditGroup.class})
     private String url;
 
     /**
      * 排序
      */
-    @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
+    @NotNull(message = "排序不能为空", groups = {AddGroup.class, EditGroup.class})
     private Long sort;
 
     /**
      * 是否启用:0=是, 1=否
      */
-    @NotBlank(message = "是否启用:0=是, 1=否不能为空", groups = { AddGroup.class, EditGroup.class })
+    @NotBlank(message = "是否启用:0=是, 1=否不能为空", groups = {AddGroup.class, EditGroup.class})
     private String isEnable;
 
 

+ 2 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/PlatformNavigationVo.java

@@ -13,7 +13,6 @@ import java.io.Serializable;
 import java.util.Date;
 
 
-
 /**
  * 平台导航视图对象 platform_navigation
  *
@@ -41,6 +40,8 @@ public class PlatformNavigationVo implements Serializable {
     @ExcelDictFormat(dictType = "platform_navigation")
     private String navType;
 
+    private String title;
+
     /**
      * 导航名称
      */