Procházet zdrojové kódy

refactor(mall): 重构广告模块和分类管理服务实现
- 实现广告模块主配置分页查询功能
- 添加分类管理状态修改接口支持
- 重构分类标签与便签关联逻辑
- 完善轮播图、快速入口等状态管理功能
- 优化排序字段从ID改为排序序号
- 添加分类项填充和状态更新方法实现

hurx před 1 týdnem
rodič
revize
a5d63a48cd
31 změnil soubory, kde provedl 564 přidání a 203 odebrání
  1. 9 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpCarouselController.java
  2. 10 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpCategoryMainController.java
  3. 10 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpHeaderCategoryController.java
  4. 11 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpQuickEntryItemsController.java
  5. 10 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpRecommendCategoryConfigController.java
  6. 119 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/pc/PcEnterprisePurchaseController.java
  7. 6 4
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpCategoryMainVo.java
  8. 2 2
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpQuickEntryModuleVo.java
  9. 2 2
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpRecommendThemeConfigVo.java
  10. 3 1
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpScenarioGlobalSettingsVo.java
  11. 5 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpCarouselService.java
  12. 5 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpCategoryMainService.java
  13. 6 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpHeaderCategoryService.java
  14. 6 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpQuickEntryItemsService.java
  15. 3 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpQuickEntryModuleService.java
  16. 6 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpRecommendCategoryConfigService.java
  17. 3 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpRecommendThemeConfigService.java
  18. 3 0
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpScenarioGlobalSettingsService.java
  19. 9 10
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpAdLeftServiceImpl.java
  20. 22 17
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpAdModuleConfigServiceImpl.java
  21. 14 14
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpAdModuleItemServiceImpl.java
  22. 28 19
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpCarouselServiceImpl.java
  23. 15 14
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpCategoryItemServiceImpl.java
  24. 85 26
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpCategoryMainServiceImpl.java
  25. 21 13
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpHeaderCategoryServiceImpl.java
  26. 22 14
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpQuickEntryItemsServiceImpl.java
  27. 31 13
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpQuickEntryModuleServiceImpl.java
  28. 22 14
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpRecommendCategoryConfigServiceImpl.java
  29. 31 13
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpRecommendThemeConfigServiceImpl.java
  30. 14 14
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpScenarioCardsServiceImpl.java
  31. 31 13
      ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpScenarioGlobalSettingsServiceImpl.java

+ 9 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpCarouselController.java

@@ -105,4 +105,13 @@ public class EpCarouselController extends BaseController {
                           @PathVariable("ids") Long[] ids) {
         return toAjax(epCarouselService.deleteWithValidByIds(List.of(ids), true));
     }
+
+    /**
+     * 状态修改
+     */
+    @Log(title = "首页广告轮播图配置", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public R<Void> changeStatus(@RequestBody EpCarouselBo bo) {
+        return toAjax(epCarouselService.updateStatus(bo));
+    }
 }

+ 10 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpCategoryMainController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.mall.domain.bo.EpCarouselBo;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -104,4 +105,13 @@ public class EpCategoryMainController extends BaseController {
                           @PathVariable("ids") Long[] ids) {
         return toAjax(epCategoryMainService.deleteWithValidByIds(List.of(ids), true));
     }
+
+    /**
+     * 状态修改
+     */
+    @Log(title = "分类设置主", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public R<Void> changeStatus(@RequestBody EpCategoryMainBo bo) {
+        return toAjax(epCategoryMainService.updateStatus(bo));
+    }
 }

+ 10 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpHeaderCategoryController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.mall.domain.bo.EpCategoryMainBo;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -103,4 +104,13 @@ public class EpHeaderCategoryController extends BaseController {
                           @PathVariable("ids") Long[] ids) {
         return toAjax(epHeaderCategoryService.deleteWithValidByIds(List.of(ids), true));
     }
+
+    /**
+     * 状态修改
+     */
+    @Log(title = "头部分类管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public R<Void> changeStatus(@RequestBody EpHeaderCategoryBo bo) {
+        return toAjax(epHeaderCategoryService.updateStatus(bo));
+    }
 }

+ 11 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpQuickEntryItemsController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.mall.domain.bo.EpHeaderCategoryBo;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -103,4 +104,14 @@ public class EpQuickEntryItemsController extends BaseController {
                           @PathVariable("ids") Long[] ids) {
         return toAjax(epQuickEntryItemsService.deleteWithValidByIds(List.of(ids), true));
     }
+
+
+    /**
+     * 状态修改
+     */
+    @Log(title = "快捷入口项列", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public R<Void> changeStatus(@RequestBody EpQuickEntryItemsBo bo) {
+        return toAjax(epQuickEntryItemsService.updateStatus(bo));
+    }
 }

+ 10 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/EpRecommendCategoryConfigController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.mall.domain.bo.EpQuickEntryItemsBo;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -103,4 +104,13 @@ public class EpRecommendCategoryConfigController extends BaseController {
                           @PathVariable("ids") Long[] ids) {
         return toAjax(epRecommendCategoryConfigService.deleteWithValidByIds(List.of(ids), true));
     }
+
+    /**
+     * 状态修改
+     */
+    @Log(title = "为你推荐分类配置", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public R<Void> changeStatus(@RequestBody EpRecommendCategoryConfigBo bo) {
+        return toAjax(epRecommendCategoryConfigService.updateStatus(bo));
+    }
 }

+ 119 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/controller/pc/PcEnterprisePurchaseController.java

@@ -0,0 +1,119 @@
+package org.dromara.mall.controller.pc;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.mall.domain.EpSearchConfig;
+import org.dromara.mall.domain.bo.EpAdModuleConfigBo;
+import org.dromara.mall.domain.bo.EpCarouselBo;
+import org.dromara.mall.domain.bo.EpCategoryMainBo;
+import org.dromara.mall.domain.bo.EpHeaderCategoryBo;
+import org.dromara.mall.domain.vo.*;
+import org.dromara.mall.service.*;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * pc企业购控制器
+ *
+ */
+
+
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/pcEnterprisePurchase")
+public class PcEnterprisePurchaseController {
+    private final IEpSearchConfigService epSearchConfigService;
+
+    private final IEpAdLeftService epAdLeftService;
+
+    private final IEpCarouselService epCarouselService;
+
+    private final IEpCategoryMainService epCategoryMainService;
+
+    private final IEpHeaderCategoryService epHeaderCategoryService;
+
+    private final IEpAdModuleConfigService epAdModuleConfigService;
+
+    private final IEpQuickEntryModuleService epQuickEntryModuleService;
+
+    private final IEpScenarioGlobalSettingsService epScenarioGlobalSettingsService;
+
+    private final IEpRecommendThemeConfigService epRecommendThemeConfigService;
+
+    /**
+     * 获取当前搜索页面设置
+     */
+    @GetMapping("/currentSearchConfig")
+    public R<EpSearchConfigVo> getCurrentSearchConfig() {
+        return R.ok(epSearchConfigService.getCurrentSearchConfig());
+    }
+
+    /**
+     * 获取当前左侧广告设置
+     */
+    @GetMapping("/getCurrentAdLeft")
+    public R<EpAdLeftVo> getCurrentAdLeft() {
+        return R.ok(epAdLeftService.getCurrentAdLeft());
+    }
+
+    /**
+     * 轮播图设置
+     */
+    @GetMapping("/carouselList")
+    public TableDataInfo<EpCarouselVo> carouselList(EpCarouselBo bo, PageQuery pageQuery) {
+        return epCarouselService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 分类设置
+     */
+    @GetMapping("/categoryMainList")
+    public TableDataInfo<EpCategoryMainVo> categoryMainList(EpCategoryMainBo bo, PageQuery pageQuery) {
+        return epCategoryMainService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 头部分类
+     */
+    @GetMapping("/headerCategoryList")
+    public TableDataInfo<EpHeaderCategoryVo> headerCategoryList(EpHeaderCategoryBo bo, PageQuery pageQuery) {
+        return epHeaderCategoryService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 广告模块
+     */
+    @GetMapping("/adModuleConfigList")
+    public TableDataInfo<EpAdModuleConfigVo> adModuleConfigList(EpAdModuleConfigBo bo, PageQuery pageQuery) {
+        return epAdModuleConfigService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 快捷入口模块设置
+     */
+    @GetMapping("/currentQuickEntryModule")
+    public R<EpQuickEntryModuleVo> getCurrentQuickEntryModule() {
+        return R.ok(epQuickEntryModuleService.getCurrentQuickEntryModule());
+    }
+
+    /**
+     * 场景方案设置
+     */
+    @GetMapping("/currentScenarioGlobalSetting")
+    public R<EpScenarioGlobalSettingsVo> getCurrentScenarioGlobalSetting() {
+        return R.ok(epScenarioGlobalSettingsService.getCurrentScenarioGlobalSetting());
+    }
+
+    /**
+     * 推荐设置
+     */
+    @GetMapping("/recommendThemeConfig")
+    public R<EpRecommendThemeConfigVo> getCurrentRecommendThemeConfig() {
+        return R.ok(epRecommendThemeConfigService.getCurrentRecommendThemeConfig());
+    }
+}

+ 6 - 4
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpCategoryMainVo.java

@@ -10,6 +10,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -85,11 +86,12 @@ public class EpCategoryMainVo implements Serializable {
     /**
      * 左侧分类标签项
      */
-    List<EpCategoryItemVo> leftCategoryItemList;
+    List<EpCategoryItemVo> tags;
 
-    /*
-    * 右侧分类标签项*/
-    List<EpCategoryItemVo> rightCategoryItemList;
+    /**
+     * 便签列表(右侧note类型)
+     */
+    List<EpCategoryItemVo> notes;
 
 
 }

+ 2 - 2
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpQuickEntryModuleVo.java

@@ -11,7 +11,7 @@ import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -52,5 +52,5 @@ public class EpQuickEntryModuleVo implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
 
-
+    List<EpQuickEntryItemsVo> items;
 }

+ 2 - 2
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpRecommendThemeConfigVo.java

@@ -11,7 +11,7 @@ import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -52,5 +52,5 @@ public class EpRecommendThemeConfigVo implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
 
-
+    List<EpRecommendCategoryConfigVo> categoryConfigList;
 }

+ 3 - 1
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/EpScenarioGlobalSettingsVo.java

@@ -1,5 +1,6 @@
 package org.dromara.mall.domain.vo;
 
+import org.dromara.mall.domain.EpScenarioCards;
 import org.dromara.mall.domain.EpScenarioGlobalSettings;
 import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
 import cn.idev.excel.annotation.ExcelProperty;
@@ -11,7 +12,7 @@ import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -70,5 +71,6 @@ public class EpScenarioGlobalSettingsVo implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
 
+    List<EpScenarioCardsVo> cardList;
 
 }

+ 5 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpCarouselService.java

@@ -70,5 +70,10 @@ public interface IEpCarouselService extends IService<EpCarousel>{
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
+    /**
+     * 修改状态
+     */
+    int updateStatus(EpCarouselBo bo);
+
 
 }

+ 5 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpCategoryMainService.java

@@ -68,4 +68,9 @@ public interface IEpCategoryMainService extends IService<EpCategoryMain>{
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 修改状态
+     */
+    int updateStatus(EpCategoryMainBo bo);
 }

+ 6 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpHeaderCategoryService.java

@@ -2,6 +2,7 @@ package org.dromara.mall.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.dromara.mall.domain.EpHeaderCategory;
+import org.dromara.mall.domain.bo.EpCategoryMainBo;
 import org.dromara.mall.domain.vo.EpHeaderCategoryVo;
 import org.dromara.mall.domain.bo.EpHeaderCategoryBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -67,4 +68,9 @@ public interface IEpHeaderCategoryService extends IService<EpHeaderCategory>{
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 修改状态
+     */
+    int updateStatus(EpHeaderCategoryBo bo);
 }

+ 6 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpQuickEntryItemsService.java

@@ -2,6 +2,7 @@ package org.dromara.mall.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.dromara.mall.domain.EpQuickEntryItems;
+import org.dromara.mall.domain.bo.EpHeaderCategoryBo;
 import org.dromara.mall.domain.vo.EpQuickEntryItemsVo;
 import org.dromara.mall.domain.bo.EpQuickEntryItemsBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -67,4 +68,9 @@ public interface IEpQuickEntryItemsService extends IService<EpQuickEntryItems>{
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 修改状态
+     */
+    int updateStatus(EpQuickEntryItemsBo bo);
 }

+ 3 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpQuickEntryModuleService.java

@@ -6,6 +6,7 @@ import org.dromara.mall.domain.vo.EpQuickEntryModuleVo;
 import org.dromara.mall.domain.bo.EpQuickEntryModuleBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.mall.domain.vo.EpSearchConfigVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -67,4 +68,6 @@ public interface IEpQuickEntryModuleService extends IService<EpQuickEntryModule>
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    EpQuickEntryModuleVo getCurrentQuickEntryModule();
 }

+ 6 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpRecommendCategoryConfigService.java

@@ -2,6 +2,7 @@ package org.dromara.mall.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.dromara.mall.domain.EpRecommendCategoryConfig;
+import org.dromara.mall.domain.bo.EpQuickEntryItemsBo;
 import org.dromara.mall.domain.vo.EpRecommendCategoryConfigVo;
 import org.dromara.mall.domain.bo.EpRecommendCategoryConfigBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -67,4 +68,9 @@ public interface IEpRecommendCategoryConfigService extends IService<EpRecommendC
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 修改状态
+     */
+    int updateStatus(EpRecommendCategoryConfigBo bo);
 }

+ 3 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpRecommendThemeConfigService.java

@@ -6,6 +6,7 @@ import org.dromara.mall.domain.vo.EpRecommendThemeConfigVo;
 import org.dromara.mall.domain.bo.EpRecommendThemeConfigBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.mall.domain.vo.EpScenarioGlobalSettingsVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -67,4 +68,6 @@ public interface IEpRecommendThemeConfigService extends IService<EpRecommendThem
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    EpRecommendThemeConfigVo getCurrentRecommendThemeConfig();
 }

+ 3 - 0
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/IEpScenarioGlobalSettingsService.java

@@ -2,6 +2,7 @@ package org.dromara.mall.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.dromara.mall.domain.EpScenarioGlobalSettings;
+import org.dromara.mall.domain.vo.EpQuickEntryModuleVo;
 import org.dromara.mall.domain.vo.EpScenarioGlobalSettingsVo;
 import org.dromara.mall.domain.bo.EpScenarioGlobalSettingsBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -67,4 +68,6 @@ public interface IEpScenarioGlobalSettingsService extends IService<EpScenarioGlo
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    EpScenarioGlobalSettingsVo getCurrentScenarioGlobalSetting();
 }

+ 9 - 10
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpAdLeftServiceImpl.java

@@ -1,26 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.dromara.mall.domain.vo.EpCarouselVo;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpAdLeft;
 import org.dromara.mall.domain.bo.EpAdLeftBo;
 import org.dromara.mall.domain.vo.EpAdLeftVo;
-import org.dromara.mall.domain.EpAdLeft;
 import org.dromara.mall.mapper.EpAdLeftMapper;
 import org.dromara.mall.service.IEpAdLeftService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 首页左侧广告配置Service业务层处理

+ 22 - 17
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpAdModuleConfigServiceImpl.java

@@ -1,29 +1,29 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpAdModuleConfig;
 import org.dromara.mall.domain.EpAdModuleItem;
-import org.dromara.mall.domain.bo.EpAdModuleItemBo;
-import org.dromara.mall.domain.vo.EpAdModuleItemVo;
-import org.dromara.mall.mapper.EpAdModuleItemMapper;
-import org.springframework.stereotype.Service;
 import org.dromara.mall.domain.bo.EpAdModuleConfigBo;
+import org.dromara.mall.domain.bo.EpAdModuleItemBo;
 import org.dromara.mall.domain.vo.EpAdModuleConfigVo;
-import org.dromara.mall.domain.EpAdModuleConfig;
+import org.dromara.mall.domain.vo.EpAdModuleItemVo;
 import org.dromara.mall.mapper.EpAdModuleConfigMapper;
+import org.dromara.mall.mapper.EpAdModuleItemMapper;
 import org.dromara.mall.service.IEpAdModuleConfigService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 广告模块主配置Service业务层处理
@@ -34,7 +34,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpAdModuleConfigServiceImpl  extends ServiceImpl<EpAdModuleConfigMapper, EpAdModuleConfig> implements IEpAdModuleConfigService {
+public class EpAdModuleConfigServiceImpl extends ServiceImpl<EpAdModuleConfigMapper, EpAdModuleConfig> implements IEpAdModuleConfigService {
 
     private final EpAdModuleConfigMapper baseMapper;
 
@@ -47,7 +47,7 @@ public class EpAdModuleConfigServiceImpl  extends ServiceImpl<EpAdModuleConfigMa
      * @return 广告模块主配置
      */
     @Override
-    public EpAdModuleConfigVo queryById(Long id){
+    public EpAdModuleConfigVo queryById(Long id) {
         EpAdModuleConfigVo configVo = baseMapper.selectVoById(id);
         List<EpAdModuleItem> adModuleItemList = adModuleItemMapper.selectList(Wrappers.<EpAdModuleItem>lambdaQuery().eq(EpAdModuleItem::getModuleId, id));
         configVo.setAdModuleItemList(MapstructUtils.convert(adModuleItemList, EpAdModuleItemVo.class));
@@ -65,6 +65,11 @@ public class EpAdModuleConfigServiceImpl  extends ServiceImpl<EpAdModuleConfigMa
     public TableDataInfo<EpAdModuleConfigVo> queryPageList(EpAdModuleConfigBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<EpAdModuleConfig> lqw = buildQueryWrapper(bo);
         Page<EpAdModuleConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        List<EpAdModuleConfigVo> records = result.getRecords();
+        records.forEach(item -> {
+            List<EpAdModuleItem> adModuleItemList = adModuleItemMapper.selectList(Wrappers.<EpAdModuleItem>lambdaQuery().eq(EpAdModuleItem::getModuleId, item.getId()));
+            item.setAdModuleItemList(MapstructUtils.convert(adModuleItemList, EpAdModuleItemVo.class));
+        });
         return TableDataInfo.build(result);
     }
 
@@ -83,7 +88,7 @@ public class EpAdModuleConfigServiceImpl  extends ServiceImpl<EpAdModuleConfigMa
     private LambdaQueryWrapper<EpAdModuleConfig> buildQueryWrapper(EpAdModuleConfigBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<EpAdModuleConfig> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(EpAdModuleConfig::getId);
+        lqw.orderByAsc(EpAdModuleConfig::getSortOrder);
         lqw.eq(StringUtils.isNotBlank(bo.getModuleCode()), EpAdModuleConfig::getModuleCode, bo.getModuleCode());
         lqw.like(StringUtils.isNotBlank(bo.getModuleName()), EpAdModuleConfig::getModuleName, bo.getModuleName());
         lqw.eq(StringUtils.isNotBlank(bo.getMainTitle()), EpAdModuleConfig::getMainTitle, bo.getMainTitle());
@@ -155,7 +160,7 @@ public class EpAdModuleConfigServiceImpl  extends ServiceImpl<EpAdModuleConfigMa
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpAdModuleConfig entity){
+    private void validEntityBeforeSave(EpAdModuleConfig entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -168,7 +173,7 @@ public class EpAdModuleConfigServiceImpl  extends ServiceImpl<EpAdModuleConfigMa
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;

+ 14 - 14
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpAdModuleItemServiceImpl.java

@@ -1,25 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpAdModuleItem;
 import org.dromara.mall.domain.bo.EpAdModuleItemBo;
 import org.dromara.mall.domain.vo.EpAdModuleItemVo;
-import org.dromara.mall.domain.EpAdModuleItem;
 import org.dromara.mall.mapper.EpAdModuleItemMapper;
 import org.dromara.mall.service.IEpAdModuleItemService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 广告模块子项Service业务层处理
@@ -30,7 +30,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpAdModuleItemServiceImpl  extends ServiceImpl<EpAdModuleItemMapper, EpAdModuleItem> implements IEpAdModuleItemService {
+public class EpAdModuleItemServiceImpl extends ServiceImpl<EpAdModuleItemMapper, EpAdModuleItem> implements IEpAdModuleItemService {
 
     private final EpAdModuleItemMapper baseMapper;
 
@@ -41,7 +41,7 @@ public class EpAdModuleItemServiceImpl  extends ServiceImpl<EpAdModuleItemMapper
      * @return 广告模块子项
      */
     @Override
-    public EpAdModuleItemVo queryById(Long id){
+    public EpAdModuleItemVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -74,7 +74,7 @@ public class EpAdModuleItemServiceImpl  extends ServiceImpl<EpAdModuleItemMapper
     private LambdaQueryWrapper<EpAdModuleItem> buildQueryWrapper(EpAdModuleItemBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<EpAdModuleItem> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(EpAdModuleItem::getId);
+        lqw.orderByAsc(EpAdModuleItem::getSortOrder);
         lqw.eq(bo.getModuleId() != null, EpAdModuleItem::getModuleId, bo.getModuleId());
         lqw.eq(bo.getProductId() != null, EpAdModuleItem::getProductId, bo.getProductId());
         lqw.like(StringUtils.isNotBlank(bo.getProductName()), EpAdModuleItem::getProductName, bo.getProductName());
@@ -121,7 +121,7 @@ public class EpAdModuleItemServiceImpl  extends ServiceImpl<EpAdModuleItemMapper
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpAdModuleItem entity){
+    private void validEntityBeforeSave(EpAdModuleItem entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -134,7 +134,7 @@ public class EpAdModuleItemServiceImpl  extends ServiceImpl<EpAdModuleItemMapper
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;

+ 28 - 19
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpCarouselServiceImpl.java

@@ -1,30 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.dromara.mall.domain.EpAdLeft;
-import org.dromara.mall.domain.EpSearchConfig;
-import org.dromara.mall.domain.vo.EpAdLeftVo;
-import org.dromara.mall.domain.vo.EpHotWordVo;
-import org.dromara.mall.domain.vo.EpSearchConfigVo;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpCarousel;
 import org.dromara.mall.domain.bo.EpCarouselBo;
 import org.dromara.mall.domain.vo.EpCarouselVo;
-import org.dromara.mall.domain.EpCarousel;
 import org.dromara.mall.mapper.EpCarouselMapper;
 import org.dromara.mall.service.IEpCarouselService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 首页广告轮播图配置Service业务层处理
@@ -35,7 +30,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpCarouselServiceImpl  extends ServiceImpl<EpCarouselMapper, EpCarousel> implements IEpCarouselService {
+public class EpCarouselServiceImpl extends ServiceImpl<EpCarouselMapper, EpCarousel> implements IEpCarouselService {
 
     private final EpCarouselMapper baseMapper;
 
@@ -46,7 +41,7 @@ public class EpCarouselServiceImpl  extends ServiceImpl<EpCarouselMapper, EpCaro
      * @return 首页广告轮播图配置
      */
     @Override
-    public EpCarouselVo queryById(Long id){
+    public EpCarouselVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -79,7 +74,7 @@ public class EpCarouselServiceImpl  extends ServiceImpl<EpCarouselMapper, EpCaro
     private LambdaQueryWrapper<EpCarousel> buildQueryWrapper(EpCarouselBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<EpCarousel> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(EpCarousel::getId);
+        lqw.orderByAsc(EpCarousel::getSortOrder);
         lqw.eq(StringUtils.isNotBlank(bo.getImageUrl()), EpCarousel::getImageUrl, bo.getImageUrl());
         lqw.eq(StringUtils.isNotBlank(bo.getLink()), EpCarousel::getLink, bo.getLink());
         lqw.eq(StringUtils.isNotBlank(bo.getTarget()), EpCarousel::getTarget, bo.getTarget());
@@ -122,7 +117,7 @@ public class EpCarouselServiceImpl  extends ServiceImpl<EpCarouselMapper, EpCaro
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpCarousel entity){
+    private void validEntityBeforeSave(EpCarousel entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -135,9 +130,23 @@ public class EpCarouselServiceImpl  extends ServiceImpl<EpCarouselMapper, EpCaro
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    /**
+     * 修改状态
+     *
+     * @param bo 信息
+     * @return 结果
+     */
+    @Override
+    public int updateStatus(EpCarouselBo bo) {
+        EpCarousel epCarousel = new EpCarousel();
+        epCarousel.setId(bo.getId());
+        epCarousel.setStatus(bo.getStatus());
+        return baseMapper.updateById(epCarousel);
+    }
 }

+ 15 - 14
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpCategoryItemServiceImpl.java

@@ -1,25 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpCategoryItem;
 import org.dromara.mall.domain.bo.EpCategoryItemBo;
 import org.dromara.mall.domain.vo.EpCategoryItemVo;
-import org.dromara.mall.domain.EpCategoryItem;
 import org.dromara.mall.mapper.EpCategoryItemMapper;
 import org.dromara.mall.service.IEpCategoryItemService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 分类标签与便签关联Service业务层处理
@@ -30,7 +30,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpCategoryItemServiceImpl  extends ServiceImpl<EpCategoryItemMapper, EpCategoryItem> implements IEpCategoryItemService {
+public class EpCategoryItemServiceImpl extends ServiceImpl<EpCategoryItemMapper, EpCategoryItem> implements IEpCategoryItemService {
 
     private final EpCategoryItemMapper baseMapper;
 
@@ -41,7 +41,7 @@ public class EpCategoryItemServiceImpl  extends ServiceImpl<EpCategoryItemMapper
      * @return 分类标签与便签关联
      */
     @Override
-    public EpCategoryItemVo queryById(Long id){
+    public EpCategoryItemVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -74,7 +74,7 @@ public class EpCategoryItemServiceImpl  extends ServiceImpl<EpCategoryItemMapper
     private LambdaQueryWrapper<EpCategoryItem> buildQueryWrapper(EpCategoryItemBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<EpCategoryItem> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(EpCategoryItem::getId);
+        lqw.orderByAsc(EpCategoryItem::getSortOrder);
         lqw.eq(bo.getCategoryId() != null, EpCategoryItem::getCategoryId, bo.getCategoryId());
         lqw.eq(StringUtils.isNotBlank(bo.getItemType()), EpCategoryItem::getItemType, bo.getItemType());
         lqw.like(StringUtils.isNotBlank(bo.getName()), EpCategoryItem::getName, bo.getName());
@@ -117,7 +117,7 @@ public class EpCategoryItemServiceImpl  extends ServiceImpl<EpCategoryItemMapper
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpCategoryItem entity){
+    private void validEntityBeforeSave(EpCategoryItem entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -130,9 +130,10 @@ public class EpCategoryItemServiceImpl  extends ServiceImpl<EpCategoryItemMapper
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
 }

+ 85 - 26
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpCategoryMainServiceImpl.java

@@ -1,32 +1,32 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpCategoryItem;
+import org.dromara.mall.domain.EpCategoryMain;
 import org.dromara.mall.domain.bo.EpCategoryItemBo;
+import org.dromara.mall.domain.bo.EpCategoryMainBo;
 import org.dromara.mall.domain.vo.EpCategoryItemVo;
+import org.dromara.mall.domain.vo.EpCategoryMainVo;
 import org.dromara.mall.domain.vo.EpCategoryResponseVo;
 import org.dromara.mall.mapper.EpCategoryItemMapper;
-import org.springframework.stereotype.Service;
-import org.dromara.mall.domain.bo.EpCategoryMainBo;
-import org.dromara.mall.domain.vo.EpCategoryMainVo;
-import org.dromara.mall.domain.EpCategoryMain;
 import org.dromara.mall.mapper.EpCategoryMainMapper;
 import org.dromara.mall.service.IEpCategoryMainService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
 
 /**
  * 分类设置主Service业务层处理
@@ -37,7 +37,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper, EpCategoryMain> implements IEpCategoryMainService {
+public class EpCategoryMainServiceImpl extends ServiceImpl<EpCategoryMainMapper, EpCategoryMain> implements IEpCategoryMainService {
 
     private final EpCategoryMainMapper baseMapper;
 
@@ -52,7 +52,7 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
      * @return 分类设置主
      */
     @Override
-    public EpCategoryMainVo queryById(Long id){
+    public EpCategoryMainVo queryById(Long id) {
         // 查询主表数据
         EpCategoryMainVo mainVo = baseMapper.selectVoById(id);
         if (mainVo == null) {
@@ -113,7 +113,6 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
     }
 
 
-
     /**
      * 分页查询分类设置主列表
      *
@@ -125,6 +124,13 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
     public TableDataInfo<EpCategoryMainVo> queryPageList(EpCategoryMainBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<EpCategoryMain> lqw = buildQueryWrapper(bo);
         Page<EpCategoryMainVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        List<EpCategoryMainVo> records = result.getRecords();
+
+        // 为每个分类填充对应的标签项
+        for (EpCategoryMainVo record : records) {
+            fillCategoryItems(record);
+        }
+
         return TableDataInfo.build(result);
     }
 
@@ -168,7 +174,7 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
         boolean flag = baseMapper.insert(add) > 0;
         if (flag) {
             bo.setId(add.getId());
-            
+
             // 保存分类项列表
             saveCategoryItems(add.getId(), bo);
         }
@@ -200,17 +206,17 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
      * 保存分类项(从 remark 和 categoryItemList 中解析)
      *
      * @param categoryId 分类ID
-     * @param bo 业务对象
+     * @param bo         业务对象
      */
     private void saveCategoryItems(Long categoryId, EpCategoryMainBo bo) {
         List<EpCategoryItem> items = new java.util.ArrayList<>();
-        
+
         // 1. 处理 remark 中的 JSON 数据
         String remark = bo.getRemark();
         if (StringUtils.isNotBlank(remark)) {
             try {
                 JsonNode rootNode = objectMapper.readTree(remark);
-                
+
                 // 处理 tags
                 JsonNode tagsNode = rootNode.get("tags");
                 if (tagsNode != null && tagsNode.isArray()) {
@@ -225,7 +231,7 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
                         items.add(item);
                     }
                 }
-                
+
                 // 处理 notes
                 JsonNode notesNode = rootNode.get("notes");
                 if (notesNode != null && notesNode.isArray()) {
@@ -240,7 +246,7 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
                         items.add(item);
                     }
                 }
-                
+
                 // 处理 groups(如果需要)
                 JsonNode groupsNode = rootNode.get("groups");
                 if (groupsNode != null && groupsNode.isArray()) {
@@ -259,7 +265,7 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
                 log.error("解析 remark JSON 数据失败", e);
             }
         }
-        
+
         // 2. 处理 categoryItemList(如果存在,优先级更高)
         List<EpCategoryItemBo> categoryItemList = bo.getCategoryItemList();
         if (categoryItemList != null && !categoryItemList.isEmpty()) {
@@ -269,17 +275,56 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
                 items.add(item);
             }
         }
-        
+
         // 3. 批量插入
         if (!items.isEmpty()) {
             categoryItemMapper.insertBatch(items);
         }
     }
 
+    /**
+     * 为分类填充标签项(根据 itemType 区分 tag 和 note)
+     *
+     * @param vo 分类主表 VO
+     */
+    private void fillCategoryItems(EpCategoryMainVo vo) {
+        if (vo == null || vo.getId() == null) {
+            return;
+        }
+
+        // 查询该分类下的所有子项
+        List<EpCategoryItemVo> allItems = categoryItemMapper.selectVoList(
+            Wrappers.<EpCategoryItem>lambdaQuery()
+                .eq(EpCategoryItem::getCategoryId, vo.getId())
+                .orderByAsc(EpCategoryItem::getSortOrder)
+        );
+
+        if (allItems == null || allItems.isEmpty()) {
+            vo.setTags(new java.util.ArrayList<>());
+            vo.setNotes(new java.util.ArrayList<>());
+            return;
+        }
+
+        // 根据 itemType 分离 tag 和 note
+        List<EpCategoryItemVo> leftItems = new java.util.ArrayList<>();  // tag 类型
+        List<EpCategoryItemVo> rightItems = new java.util.ArrayList<>(); // note 类型
+
+        for (EpCategoryItemVo item : allItems) {
+            if ("tag".equals(item.getItemType())) {
+                leftItems.add(item);
+            } else if ("note".equals(item.getItemType())) {
+                rightItems.add(item);
+            }
+        }
+
+        vo.setTags(leftItems);
+        vo.setNotes(rightItems);
+    }
+
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpCategoryMain entity){
+    private void validEntityBeforeSave(EpCategoryMain entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -292,9 +337,23 @@ public class EpCategoryMainServiceImpl  extends ServiceImpl<EpCategoryMainMapper
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    /**
+     * 修改状态
+     *
+     * @param bo 信息
+     * @return 结果
+     */
+    @Override
+    public int updateStatus(EpCategoryMainBo bo) {
+        EpCategoryMain categoryMain = new EpCategoryMain();
+        categoryMain.setId(bo.getId());
+        categoryMain.setStatus(bo.getStatus());
+        return baseMapper.updateById(categoryMain);
+    }
 }

+ 21 - 13
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpHeaderCategoryServiceImpl.java

@@ -1,25 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpHeaderCategory;
 import org.dromara.mall.domain.bo.EpHeaderCategoryBo;
 import org.dromara.mall.domain.vo.EpHeaderCategoryVo;
-import org.dromara.mall.domain.EpHeaderCategory;
 import org.dromara.mall.mapper.EpHeaderCategoryMapper;
 import org.dromara.mall.service.IEpHeaderCategoryService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 头部分类管理Service业务层处理
@@ -30,7 +30,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpHeaderCategoryServiceImpl  extends ServiceImpl<EpHeaderCategoryMapper, EpHeaderCategory> implements IEpHeaderCategoryService {
+public class EpHeaderCategoryServiceImpl extends ServiceImpl<EpHeaderCategoryMapper, EpHeaderCategory> implements IEpHeaderCategoryService {
 
     private final EpHeaderCategoryMapper baseMapper;
 
@@ -41,7 +41,7 @@ public class EpHeaderCategoryServiceImpl  extends ServiceImpl<EpHeaderCategoryMa
      * @return 头部分类管理
      */
     @Override
-    public EpHeaderCategoryVo queryById(Long id){
+    public EpHeaderCategoryVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -117,7 +117,7 @@ public class EpHeaderCategoryServiceImpl  extends ServiceImpl<EpHeaderCategoryMa
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpHeaderCategory entity){
+    private void validEntityBeforeSave(EpHeaderCategory entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -130,9 +130,17 @@ public class EpHeaderCategoryServiceImpl  extends ServiceImpl<EpHeaderCategoryMa
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    @Override
+    public int updateStatus(EpHeaderCategoryBo bo) {
+        EpHeaderCategory category = new EpHeaderCategory();
+        category.setId(bo.getId());
+        category.setStatus(bo.getStatus());
+        return baseMapper.updateById(category);
+    }
 }

+ 22 - 14
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpQuickEntryItemsServiceImpl.java

@@ -1,25 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpQuickEntryItems;
 import org.dromara.mall.domain.bo.EpQuickEntryItemsBo;
 import org.dromara.mall.domain.vo.EpQuickEntryItemsVo;
-import org.dromara.mall.domain.EpQuickEntryItems;
 import org.dromara.mall.mapper.EpQuickEntryItemsMapper;
 import org.dromara.mall.service.IEpQuickEntryItemsService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 快捷入口项列Service业务层处理
@@ -30,7 +30,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpQuickEntryItemsServiceImpl  extends ServiceImpl<EpQuickEntryItemsMapper, EpQuickEntryItems> implements IEpQuickEntryItemsService {
+public class EpQuickEntryItemsServiceImpl extends ServiceImpl<EpQuickEntryItemsMapper, EpQuickEntryItems> implements IEpQuickEntryItemsService {
 
     private final EpQuickEntryItemsMapper baseMapper;
 
@@ -41,7 +41,7 @@ public class EpQuickEntryItemsServiceImpl  extends ServiceImpl<EpQuickEntryItems
      * @return 快捷入口项列
      */
     @Override
-    public EpQuickEntryItemsVo queryById(Long id){
+    public EpQuickEntryItemsVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -74,7 +74,7 @@ public class EpQuickEntryItemsServiceImpl  extends ServiceImpl<EpQuickEntryItems
     private LambdaQueryWrapper<EpQuickEntryItems> buildQueryWrapper(EpQuickEntryItemsBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<EpQuickEntryItems> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(EpQuickEntryItems::getId);
+        lqw.orderByAsc(EpQuickEntryItems::getSortOrder);
         lqw.eq(bo.getModuleId() != null, EpQuickEntryItems::getModuleId, bo.getModuleId());
         lqw.eq(bo.getSortOrder() != null, EpQuickEntryItems::getSortOrder, bo.getSortOrder());
         lqw.like(StringUtils.isNotBlank(bo.getName()), EpQuickEntryItems::getName, bo.getName());
@@ -119,7 +119,7 @@ public class EpQuickEntryItemsServiceImpl  extends ServiceImpl<EpQuickEntryItems
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpQuickEntryItems entity){
+    private void validEntityBeforeSave(EpQuickEntryItems entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -132,9 +132,17 @@ public class EpQuickEntryItemsServiceImpl  extends ServiceImpl<EpQuickEntryItems
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    @Override
+    public int updateStatus(EpQuickEntryItemsBo bo) {
+        EpQuickEntryItems entryItems = new EpQuickEntryItems();
+        entryItems.setId(bo.getId());
+        entryItems.setStatus(bo.getStatus());
+        return baseMapper.updateById(entryItems);
+    }
 }

+ 31 - 13
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpQuickEntryModuleServiceImpl.java

@@ -1,25 +1,27 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpQuickEntryItems;
+import org.dromara.mall.domain.EpQuickEntryModule;
 import org.dromara.mall.domain.bo.EpQuickEntryModuleBo;
 import org.dromara.mall.domain.vo.EpQuickEntryModuleVo;
-import org.dromara.mall.domain.EpQuickEntryModule;
+import org.dromara.mall.mapper.EpQuickEntryItemsMapper;
 import org.dromara.mall.mapper.EpQuickEntryModuleMapper;
 import org.dromara.mall.service.IEpQuickEntryModuleService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 快捷入口模块配置Service业务层处理
@@ -30,10 +32,12 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpQuickEntryModuleServiceImpl  extends ServiceImpl<EpQuickEntryModuleMapper, EpQuickEntryModule> implements IEpQuickEntryModuleService {
+public class EpQuickEntryModuleServiceImpl extends ServiceImpl<EpQuickEntryModuleMapper, EpQuickEntryModule> implements IEpQuickEntryModuleService {
 
     private final EpQuickEntryModuleMapper baseMapper;
 
+    private final EpQuickEntryItemsMapper itemsMapper;
+
     /**
      * 查询快捷入口模块配置
      *
@@ -41,7 +45,7 @@ public class EpQuickEntryModuleServiceImpl  extends ServiceImpl<EpQuickEntryModu
      * @return 快捷入口模块配置
      */
     @Override
-    public EpQuickEntryModuleVo queryById(Long id){
+    public EpQuickEntryModuleVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -114,7 +118,7 @@ public class EpQuickEntryModuleServiceImpl  extends ServiceImpl<EpQuickEntryModu
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpQuickEntryModule entity){
+    private void validEntityBeforeSave(EpQuickEntryModule entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -127,9 +131,23 @@ public class EpQuickEntryModuleServiceImpl  extends ServiceImpl<EpQuickEntryModu
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    @Override
+    public EpQuickEntryModuleVo getCurrentQuickEntryModule() {
+        // 查询是否有配置
+        LambdaQueryWrapper<EpQuickEntryModule> lqw = Wrappers.lambdaQuery();
+        lqw.last("LIMIT 1");
+        EpQuickEntryModule config = baseMapper.selectOne(lqw);
+        EpQuickEntryModuleVo vo = null;
+        if (null != config) {
+            vo = baseMapper.selectVoById(config.getId());
+            vo.setItems(itemsMapper.selectVoList(Wrappers.lambdaQuery(EpQuickEntryItems.class).eq(EpQuickEntryItems::getStatus, 1).orderByAsc(EpQuickEntryItems::getSortOrder)));
+        }
+        return vo;
+    }
 }

+ 22 - 14
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpRecommendCategoryConfigServiceImpl.java

@@ -1,25 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpRecommendCategoryConfig;
 import org.dromara.mall.domain.bo.EpRecommendCategoryConfigBo;
 import org.dromara.mall.domain.vo.EpRecommendCategoryConfigVo;
-import org.dromara.mall.domain.EpRecommendCategoryConfig;
 import org.dromara.mall.mapper.EpRecommendCategoryConfigMapper;
 import org.dromara.mall.service.IEpRecommendCategoryConfigService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 为你推荐分类配置Service业务层处理
@@ -30,7 +30,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpRecommendCategoryConfigServiceImpl  extends ServiceImpl<EpRecommendCategoryConfigMapper, EpRecommendCategoryConfig> implements IEpRecommendCategoryConfigService {
+public class EpRecommendCategoryConfigServiceImpl extends ServiceImpl<EpRecommendCategoryConfigMapper, EpRecommendCategoryConfig> implements IEpRecommendCategoryConfigService {
 
     private final EpRecommendCategoryConfigMapper baseMapper;
 
@@ -41,7 +41,7 @@ public class EpRecommendCategoryConfigServiceImpl  extends ServiceImpl<EpRecomme
      * @return 为你推荐分类配置
      */
     @Override
-    public EpRecommendCategoryConfigVo queryById(Long id){
+    public EpRecommendCategoryConfigVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -74,7 +74,7 @@ public class EpRecommendCategoryConfigServiceImpl  extends ServiceImpl<EpRecomme
     private LambdaQueryWrapper<EpRecommendCategoryConfig> buildQueryWrapper(EpRecommendCategoryConfigBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<EpRecommendCategoryConfig> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(EpRecommendCategoryConfig::getId);
+        lqw.orderByAsc(EpRecommendCategoryConfig::getSortOrder);
         lqw.like(StringUtils.isNotBlank(bo.getName()), EpRecommendCategoryConfig::getName, bo.getName());
         lqw.eq(StringUtils.isNotBlank(bo.getSubTitle()), EpRecommendCategoryConfig::getSubTitle, bo.getSubTitle());
         lqw.eq(StringUtils.isNotBlank(bo.getIconUrl()), EpRecommendCategoryConfig::getIconUrl, bo.getIconUrl());
@@ -121,7 +121,7 @@ public class EpRecommendCategoryConfigServiceImpl  extends ServiceImpl<EpRecomme
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpRecommendCategoryConfig entity){
+    private void validEntityBeforeSave(EpRecommendCategoryConfig entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -134,9 +134,17 @@ public class EpRecommendCategoryConfigServiceImpl  extends ServiceImpl<EpRecomme
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    @Override
+    public int updateStatus(EpRecommendCategoryConfigBo bo) {
+        EpRecommendCategoryConfig entryItems = new EpRecommendCategoryConfig();
+        entryItems.setId(bo.getId());
+        entryItems.setStatus(bo.getStatus());
+        return baseMapper.updateById(entryItems);
+    }
 }

+ 31 - 13
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpRecommendThemeConfigServiceImpl.java

@@ -1,25 +1,27 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpRecommendCategoryConfig;
+import org.dromara.mall.domain.EpRecommendThemeConfig;
 import org.dromara.mall.domain.bo.EpRecommendThemeConfigBo;
 import org.dromara.mall.domain.vo.EpRecommendThemeConfigVo;
-import org.dromara.mall.domain.EpRecommendThemeConfig;
+import org.dromara.mall.mapper.EpRecommendCategoryConfigMapper;
 import org.dromara.mall.mapper.EpRecommendThemeConfigMapper;
 import org.dromara.mall.service.IEpRecommendThemeConfigService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 为你推荐全局主题配置Service业务层处理
@@ -30,10 +32,12 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpRecommendThemeConfigServiceImpl  extends ServiceImpl<EpRecommendThemeConfigMapper, EpRecommendThemeConfig> implements IEpRecommendThemeConfigService {
+public class EpRecommendThemeConfigServiceImpl extends ServiceImpl<EpRecommendThemeConfigMapper, EpRecommendThemeConfig> implements IEpRecommendThemeConfigService {
 
     private final EpRecommendThemeConfigMapper baseMapper;
 
+    private final EpRecommendCategoryConfigMapper recommendCategoryConfigMapper;
+
     /**
      * 查询为你推荐全局主题配置
      *
@@ -41,7 +45,7 @@ public class EpRecommendThemeConfigServiceImpl  extends ServiceImpl<EpRecommendT
      * @return 为你推荐全局主题配置
      */
     @Override
-    public EpRecommendThemeConfigVo queryById(Long id){
+    public EpRecommendThemeConfigVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -114,7 +118,7 @@ public class EpRecommendThemeConfigServiceImpl  extends ServiceImpl<EpRecommendT
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpRecommendThemeConfig entity){
+    private void validEntityBeforeSave(EpRecommendThemeConfig entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -127,9 +131,23 @@ public class EpRecommendThemeConfigServiceImpl  extends ServiceImpl<EpRecommendT
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    @Override
+    public EpRecommendThemeConfigVo getCurrentRecommendThemeConfig() {
+        // 查询是否有配置
+        LambdaQueryWrapper<EpRecommendThemeConfig> lqw = Wrappers.lambdaQuery();
+        lqw.last("LIMIT 1");
+        EpRecommendThemeConfig config = baseMapper.selectOne(lqw);
+        EpRecommendThemeConfigVo vo = null;
+        if (null != config) {
+            vo = baseMapper.selectVoById(config.getId());
+            vo.setCategoryConfigList(recommendCategoryConfigMapper.selectVoList(Wrappers.lambdaQuery(EpRecommendCategoryConfig.class).eq(EpRecommendCategoryConfig::getStatus, 1).orderByAsc(EpRecommendCategoryConfig::getSortOrder)));
+        }
+        return vo;
+    }
 }

+ 14 - 14
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpScenarioCardsServiceImpl.java

@@ -1,25 +1,25 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpScenarioCards;
 import org.dromara.mall.domain.bo.EpScenarioCardsBo;
 import org.dromara.mall.domain.vo.EpScenarioCardsVo;
-import org.dromara.mall.domain.EpScenarioCards;
 import org.dromara.mall.mapper.EpScenarioCardsMapper;
 import org.dromara.mall.service.IEpScenarioCardsService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 场景解决方案卡片Service业务层处理
@@ -30,7 +30,7 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpScenarioCardsServiceImpl  extends ServiceImpl<EpScenarioCardsMapper, EpScenarioCards> implements IEpScenarioCardsService {
+public class EpScenarioCardsServiceImpl extends ServiceImpl<EpScenarioCardsMapper, EpScenarioCards> implements IEpScenarioCardsService {
 
     private final EpScenarioCardsMapper baseMapper;
 
@@ -41,7 +41,7 @@ public class EpScenarioCardsServiceImpl  extends ServiceImpl<EpScenarioCardsMapp
      * @return 场景解决方案卡片
      */
     @Override
-    public EpScenarioCardsVo queryById(Long id){
+    public EpScenarioCardsVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -74,7 +74,7 @@ public class EpScenarioCardsServiceImpl  extends ServiceImpl<EpScenarioCardsMapp
     private LambdaQueryWrapper<EpScenarioCards> buildQueryWrapper(EpScenarioCardsBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<EpScenarioCards> lqw = Wrappers.lambdaQuery();
-        lqw.orderByAsc(EpScenarioCards::getId);
+        lqw.orderByAsc(EpScenarioCards::getSortOrder);
         lqw.eq(bo.getSortOrder() != null, EpScenarioCards::getSortOrder, bo.getSortOrder());
         lqw.eq(StringUtils.isNotBlank(bo.getTitle()), EpScenarioCards::getTitle, bo.getTitle());
         lqw.eq(StringUtils.isNotBlank(bo.getTitleColor()), EpScenarioCards::getTitleColor, bo.getTitleColor());
@@ -118,7 +118,7 @@ public class EpScenarioCardsServiceImpl  extends ServiceImpl<EpScenarioCardsMapp
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpScenarioCards entity){
+    private void validEntityBeforeSave(EpScenarioCards entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -131,7 +131,7 @@ public class EpScenarioCardsServiceImpl  extends ServiceImpl<EpScenarioCardsMapp
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;

+ 31 - 13
ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/EpScenarioGlobalSettingsServiceImpl.java

@@ -1,25 +1,27 @@
 package org.dromara.mall.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
+import org.dromara.common.core.utils.MapstructUtils;
+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.mall.domain.EpScenarioCards;
+import org.dromara.mall.domain.EpScenarioGlobalSettings;
 import org.dromara.mall.domain.bo.EpScenarioGlobalSettingsBo;
 import org.dromara.mall.domain.vo.EpScenarioGlobalSettingsVo;
-import org.dromara.mall.domain.EpScenarioGlobalSettings;
+import org.dromara.mall.mapper.EpScenarioCardsMapper;
 import org.dromara.mall.mapper.EpScenarioGlobalSettingsMapper;
 import org.dromara.mall.service.IEpScenarioGlobalSettingsService;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 场景解决方案全局设置Service业务层处理
@@ -30,10 +32,12 @@ import java.util.Collection;
 @Slf4j
 @RequiredArgsConstructor
 @Service
-public class EpScenarioGlobalSettingsServiceImpl  extends ServiceImpl<EpScenarioGlobalSettingsMapper, EpScenarioGlobalSettings> implements IEpScenarioGlobalSettingsService {
+public class EpScenarioGlobalSettingsServiceImpl extends ServiceImpl<EpScenarioGlobalSettingsMapper, EpScenarioGlobalSettings> implements IEpScenarioGlobalSettingsService {
 
     private final EpScenarioGlobalSettingsMapper baseMapper;
 
+    private final EpScenarioCardsMapper epScenarioCardsMapper;
+
     /**
      * 查询场景解决方案全局设置
      *
@@ -41,7 +45,7 @@ public class EpScenarioGlobalSettingsServiceImpl  extends ServiceImpl<EpScenario
      * @return 场景解决方案全局设置
      */
     @Override
-    public EpScenarioGlobalSettingsVo queryById(Long id){
+    public EpScenarioGlobalSettingsVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -117,7 +121,7 @@ public class EpScenarioGlobalSettingsServiceImpl  extends ServiceImpl<EpScenario
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(EpScenarioGlobalSettings entity){
+    private void validEntityBeforeSave(EpScenarioGlobalSettings entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -130,9 +134,23 @@ public class EpScenarioGlobalSettingsServiceImpl  extends ServiceImpl<EpScenario
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    @Override
+    public EpScenarioGlobalSettingsVo getCurrentScenarioGlobalSetting() {
+        // 查询是否有配置
+        LambdaQueryWrapper<EpScenarioGlobalSettings> lqw = Wrappers.lambdaQuery();
+        lqw.last("LIMIT 1");
+        EpScenarioGlobalSettings config = baseMapper.selectOne(lqw);
+        EpScenarioGlobalSettingsVo vo = null;
+        if (null != config) {
+            vo = baseMapper.selectVoById(config.getId());
+            vo.setCardList(epScenarioCardsMapper.selectVoList(Wrappers.lambdaQuery(EpScenarioCards.class).orderByAsc(EpScenarioCards::getSortOrder)));
+        }
+        return vo;
+    }
 }