Răsfoiți Sursa

refactor(app): 重构首页接口和数据模型

- 修改 AppHomeController 中的 queryBanner 方法为 homeInfo,返回 HomeVO 对象
- 重命名 IAppBannerService接口为 IAppHomeService,增加 homeInfo 方法
- 实现 AppHomeServiceImpl 类,提供首页数据查询功能
- 新增 HomeVO、CoureseVO 和 InstructorVO 类,用于首页数据展示
- 更新相关文件名称和引用,以适应新的数据模型和接口设计
SheepHy 3 săptămâni în urmă
părinte
comite
0255dd251f

+ 6 - 6
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/AppHomeController.java

@@ -5,9 +5,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.app.service.IAppBannerService;
+import org.jeecg.modules.app.service.IAppHomeService;
 import org.jeecg.modules.app.service.IUserService;
-import org.jeecg.modules.app.vo.AppBannerVO;
+import org.jeecg.modules.app.vo.HomeVO;
 import org.jeecg.modules.app.vo.MsgInfoVO;
 import org.jeecg.modules.app.vo.MsgVO;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -24,14 +24,14 @@ import java.util.List;
 @RequestMapping("/app/home")
 public class AppHomeController {
     @Resource
-    private IAppBannerService appBannerService;
+    private IAppHomeService appHomeService;
     @Resource
     private IUserService userService;
 
-    @GetMapping("/queryBanner")
+    @GetMapping("/homeInfo")
     @Operation(summary = "查询首页轮播图")
-    public Result<List<AppBannerVO>> queryBanner() {
-        return Result.ok(appBannerService.queryBanner());
+    public Result<HomeVO> homeInfo() {
+        return Result.ok(appHomeService.homeInfo());
     }
     /**
      * @Author SheepHy

+ 4 - 5
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IAppBannerService.java → national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IAppHomeService.java

@@ -3,16 +3,15 @@ package org.jeecg.modules.app.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.app.entity.AppBanner;
 import org.jeecg.modules.app.vo.AppBannerVO;
+import org.jeecg.modules.app.vo.HomeVO;
 
-import java.util.List;
-
-public interface IAppBannerService extends IService<AppBanner> {
+public interface IAppHomeService extends IService<AppBanner> {
 
     /**
      * @Author SheepHy
-     * @Description banner查询
+     * @Description 首页基础数据查询
      * @Date 11:01 2025/7/2
      * @return {@link AppBannerVO}
      **/
-    List<AppBannerVO> queryBanner();
+    HomeVO homeInfo();
 }

+ 6 - 5
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/AppBannerServiceImpl.java → national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/AppHomeServiceImpl.java

@@ -4,26 +4,27 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.app.entity.AppBanner;
 import org.jeecg.modules.app.mapper.AppBannerMapper;
-import org.jeecg.modules.app.service.IAppBannerService;
+import org.jeecg.modules.app.service.IAppHomeService;
 import org.jeecg.modules.app.vo.AppBannerVO;
+import org.jeecg.modules.app.vo.HomeVO;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.stream.Collectors;
 
 @Service
-public class AppBannerServiceImpl extends ServiceImpl<AppBannerMapper, AppBanner> implements IAppBannerService {
+public class AppHomeServiceImpl extends ServiceImpl<AppBannerMapper, AppBanner> implements IAppHomeService {
     @Override
-    public List<AppBannerVO> queryBanner() {
+    public HomeVO homeInfo(){
         List<AppBanner> appBanners = this.getBaseMapper().selectList(Wrappers.<AppBanner>lambdaQuery()
                 .eq(AppBanner::getDelFlag, 0));
-        return appBanners.stream()
+        return new HomeVO().setBannerList(appBanners.stream()
                 .map(banner -> new AppBannerVO()
                         .setId(banner.getId())
                         .setEventType(banner.getEventType())
                         .setEventValue(banner.getEventValue())
                         .setSortOrder(banner.getSortOrder())
                         .setImageUrl(banner.getImageUrl()))
-                .collect(Collectors.toList());
+                .collect(Collectors.toList()));
     }
 }

+ 22 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/CoureseVO.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.app.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="首页轮播图管理")
+public class CoureseVO {
+    @Schema(description = "主键id")
+    private String id;
+    @Schema(description = "封面")
+    private String cover;
+    @Schema(description = "产品类型 1、公益 2、试听")
+    private String priceType;
+    @Schema(description = "价格")
+    private String sellingPrice;
+
+}

+ 22 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/HomeVO.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.app.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="首页基础信息返回参数")
+public class HomeVO {
+    @Schema(description = "轮播图列表")
+    private List<AppBannerVO> bannerList;
+    @Schema(description = "教练列表")
+    private List<InstructorVO> instructorList;
+    @Schema(description = "课程列表")
+    private List<CoureseVO> courseList;
+
+}

+ 53 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/InstructorVO.java

@@ -0,0 +1,53 @@
+package org.jeecg.modules.app.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="教练信息返回参数")
+public class InstructorVO {
+    @Schema(description = "主键id")
+    private String id;
+    @Schema(description = "教练名称")
+    private String name;
+    @Schema(description = "教练头像")
+    private String avatar;
+    @Schema(description = "所属部门名称")
+    private String orgName;
+    @Schema(description = "教学理念")
+    private String teachingPhilosophy;
+    @Schema(description = "好评率")
+    private String goodRate;
+    @Schema(description = "订单数")
+    private String orderCount;
+    @Schema(description = "授课人数")
+    private String teachingCount;
+    @Schema(description = "擅长说明")
+    private String excelMsg;
+    @Schema(description = "课程列表")
+    private List<CourseVO> courseList;
+
+    @Data
+    @Accessors(chain = true)
+    @EqualsAndHashCode(callSuper = false)
+    @Schema(description="教练信息返回参数")
+    private class CourseVO {
+        @Schema(description = "主键id")
+        private String id;
+        @Schema(description = "课程名称")
+        private String name;
+        @Schema(description = "课程价格")
+        private String sellingPrice;
+        @Schema(description = "课程类型")
+        private String type;
+        @Schema(description = "课程简介")
+        private String intro;
+    }
+
+}