zhangxin 1 hete
szülő
commit
b686fba835
12 módosított fájl, 490 hozzáadás és 1 törlés
  1. 13 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/AppDetailController.java
  2. 58 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/coach/CoachController.java
  3. 15 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/ICoachService.java
  4. 7 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IDetailService.java
  5. 178 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/CoachServiceImpl.java
  6. 28 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java
  7. 21 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/coach/AppCoachDetailsRequestVO.java
  8. 54 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/coach/AppCoachDetailsVO.java
  9. 23 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/coach/AppCoachVO.java
  10. 38 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/course/CourseRequestVo.java
  11. 51 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/course/CourseResponseVo.java
  12. 4 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/SeparateAccounts.java

+ 13 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/AppDetailController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.app.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -8,6 +9,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.app.service.IDetailService;
 import org.jeecg.modules.app.vo.CourseInfoVO;
 import org.jeecg.modules.app.vo.PlaceInfoVO;
+import org.jeecg.modules.app.vo.course.CourseRequestVo;
+import org.jeecg.modules.app.vo.course.CourseResponseVo;
 import org.jeecg.modules.system.app.entity.AppCategory;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -84,4 +87,14 @@ public class AppDetailController {
     public Result<List<AppCategory>> getAllCategory(@RequestParam @Schema(description="门店ID")String id){
         return Result.ok(detailService.getAllCategory(id));
     }
+    /**
+     * @Author zx
+     * @Description 查询课时列表封装
+     * @Date 10:14 2025/7/9
+     **/
+    @GetMapping("/findByCourseList")
+    @Operation(summary = "查询课程列表封装")
+    public Result<IPage<CourseResponseVo>> findByCourseList(CourseRequestVo courseRequestVo){
+        return Result.ok(detailService.findByCourseList(courseRequestVo));
+    }
 }

+ 58 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/coach/CoachController.java

@@ -0,0 +1,58 @@
+package org.jeecg.modules.app.controller.coach;
+
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.app.service.ICoachService;
+import org.jeecg.modules.app.vo.coach.AppCoachDetailsRequestVO;
+import org.jeecg.modules.app.vo.coach.AppCoachDetailsVO;
+import org.jeecg.modules.app.vo.coach.AppCoachVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+
+/**
+ * App教练
+ */
+@Slf4j
+@Tag(name = "App教练")
+@RestController
+@RequestMapping("/app/coachC")
+public class CoachController {
+
+    @Autowired
+    ICoachService iCoachService;
+
+
+    /**
+     * @Description 查询全部教练
+     * @Date 19:41 2025/7/11
+     **/
+    @GetMapping("/findCoachList")
+    @Operation(summary = "查询全部教练-缺少订单数和评价")
+    public Result<List<AppCoachVO>> findCoachList(){
+        return iCoachService.findCoachList();
+    }
+
+    /**
+     * @Description 查询教练详情
+     * @Date 19:41 2025/7/11
+     **/
+    @GetMapping("/findByCoachId")
+    @Operation(summary = "查询教练详情-缺少订单数和评价")
+    public Result<AppCoachDetailsVO> findByCoachId(AppCoachDetailsRequestVO appCoachDetailsRequestVO){
+        //获取登录用户信息
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        return iCoachService.findByCoachId(appCoachDetailsRequestVO,sysUser.getId());
+    }
+
+
+}

+ 15 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/ICoachService.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.app.service;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.app.vo.coach.AppCoachDetailsRequestVO;
+import org.jeecg.modules.app.vo.coach.AppCoachDetailsVO;
+import org.jeecg.modules.app.vo.coach.AppCoachVO;
+
+import java.util.List;
+
+public interface ICoachService {
+
+    Result<List<AppCoachVO>> findCoachList();
+
+    Result<AppCoachDetailsVO> findByCoachId(AppCoachDetailsRequestVO appCoachDetailsRequestVO, String userId);
+}

+ 7 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IDetailService.java

@@ -1,10 +1,13 @@
 package org.jeecg.modules.app.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.app.vo.CourseInfoVO;
 import org.jeecg.modules.app.vo.PlaceInfoVO;
-import org.jeecg.modules.system.app.entity.AppCategory;
+import org.jeecg.modules.app.vo.course.CourseRequestVo;
+import org.jeecg.modules.app.vo.course.CourseResponseVo;
 import org.jeecg.modules.app.vo.stadium.StadiumConcertsVO;
+import org.jeecg.modules.system.app.entity.AppCategory;
 
 import java.util.List;
 
@@ -53,4 +56,7 @@ public interface IDetailService {
      * @Date 10:14 2025/7/9
      **/
     List<AppCategory> getAllCategory(String id);
+
+    IPage<CourseResponseVo> findByCourseList(CourseRequestVo courseRequestVo);
+
 }

+ 178 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/CoachServiceImpl.java

@@ -0,0 +1,178 @@
+package org.jeecg.modules.app.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.app.service.ICoachService;
+import org.jeecg.modules.app.vo.coach.AppCoachDetailsRequestVO;
+import org.jeecg.modules.app.vo.coach.AppCoachDetailsVO;
+import org.jeecg.modules.app.vo.coach.AppCoachVO;
+import org.jeecg.modules.app.vo.course.CourseRequestVo;
+import org.jeecg.modules.app.vo.course.CourseResponseVo;
+import org.jeecg.modules.system.app.entity.AppCategory;
+import org.jeecg.modules.system.app.entity.AppOrder;
+import org.jeecg.modules.system.app.entity.AppOrderProduct;
+import org.jeecg.modules.system.app.mapper.*;
+import org.jeecg.modules.system.util.PositionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+@Service
+@Log4j2
+public class CoachServiceImpl implements ICoachService {
+
+
+    @Autowired
+    AppInstructorMapper appInstructorMapper;
+    @Autowired
+    AppCategoryMapper appCategoryMapper;
+    @Autowired
+    AppCoursesMapper appCoursesMapper;
+    @Autowired
+    private AppOrderMapper appOrderMapper;
+    @Autowired
+    private AppOrderProductMapper appOrderProductMapper;
+
+    @Override
+    public Result<List<AppCoachVO>> findCoachList() {
+        List<AppCoachVO> appCoachVOList= appInstructorMapper.findCoachList();
+        List<AppCategory> appCategories = appCategoryMapper.selectList(Wrappers.<AppCategory>lambdaQuery().eq(AppCategory::getDelFlag, 0));
+        for (AppCoachVO appCoachVO : appCoachVOList) {
+            String trainingProgramsName=getTrainingProgramsName(appCoachVO.getTrainingPrograms(),appCategories);
+            appCoachVO.setTrainingProgramsName(trainingProgramsName);
+        }
+        return Result.ok(appCoachVOList);
+    }
+
+    @Override
+    public Result<AppCoachDetailsVO> findByCoachId(AppCoachDetailsRequestVO appCoachDetailsRequestVO, String userId) {
+        AppCoachDetailsVO appCoachDetailsVO = appInstructorMapper.findById(appCoachDetailsRequestVO.getId());
+        List<AppCategory> appCategories = appCategoryMapper.selectList(Wrappers.<AppCategory>lambdaQuery().eq(AppCategory::getDelFlag, 0));
+        String trainingProgramsName=getTrainingProgramsName(appCoachDetailsVO.getTrainingPrograms(),appCategories);
+        appCoachDetailsVO.setTrainingProgramsName(trainingProgramsName);
+        List<String> honorList = new ArrayList<>();
+        if (StringUtils.isNotEmpty(appCoachDetailsVO.getHonor())&&appCoachDetailsVO.getHonor().indexOf(",")>0){
+            honorList = Arrays.asList(appCoachDetailsVO.getHonor().split(","));
+        }else {
+            honorList.add(appCoachDetailsVO.getHonor());
+        }
+        appCoachDetailsVO.setHonorImgList(honorList);
+        CourseRequestVo courseRequestVo = new CourseRequestVo();
+        courseRequestVo.setInstructorId(appCoachDetailsRequestVO.getId());
+        //写死默认一页50条 全部展示
+        Page<CourseResponseVo> page = new Page<CourseResponseVo>(1,100);
+        //查询课时列表
+        IPage<CourseResponseVo> byCourseList = appCoursesMapper.findByCourseList(page, courseRequestVo);
+        appCoachDetailsVO.setCourseInfoVOList(byCourseList.getRecords());
+        if (appCoachDetailsVO.getCourseInfoVOList()!=null){
+            for (CourseResponseVo courseResponseVo : appCoachDetailsVO.getCourseInfoVOList()) {
+                int courseSales = getCourseSales(courseResponseVo.getId());
+                courseResponseVo.setAnnualSalesNum(courseSales);
+                int courseSalesCount = getCourseSalesCount(courseResponseVo.getId());
+                courseResponseVo.setSaleNum(courseSalesCount);
+                int firstPurchase = isFirstPurchase(userId);
+                courseResponseVo.setIsOneBuy(firstPurchase);
+                double km = PositionUtil.calculateDistance(appCoachDetailsRequestVO.getLatitude(), appCoachDetailsRequestVO.getLongitude(), courseResponseVo.getLatitude().doubleValue(), courseResponseVo.getLongitude().doubleValue());
+                courseResponseVo.setKm(km);
+            }
+        }
+        //缺少授课人数和订单数,评价
+
+
+
+        return Result.ok(appCoachDetailsVO);
+    }
+
+
+    /**
+     * @Author SheepHy
+     * @Description 计算当前课程年销售数
+     * @Date 15:47 2025/7/8
+     * @Param id 课程id
+     * @return int 课程年销售数
+     **/
+    private int getCourseSales(String id) {
+        // 获取当前年份的时间范围(如:2025-01-01 00:00:00 到 2026-01-01 00:00:00)
+        LocalDate now = LocalDate.now();
+        LocalDateTime startOfYear = now.withDayOfYear(1).atStartOfDay(); // 当前年份第一天
+        LocalDateTime endOfYear = startOfYear.plusYears(1); // 下一年第一天
+
+        return Math.toIntExact(appOrderProductMapper.selectCount(
+                Wrappers.<AppOrderProduct>lambdaQuery()
+                        .eq(AppOrderProduct::getProductId, id)
+                        .eq(AppOrderProduct::getStatus,0)
+                        .eq(AppOrderProduct::getDelFlag,0)
+                        .eq(AppOrderProduct::getProductOrderStatus,1)
+                        .ge(AppOrderProduct::getCreateTime, Date.from(startOfYear.atZone(ZoneId.systemDefault()).toInstant())) // >= 2025-01-01
+                        .lt(AppOrderProduct::getCreateTime, Date.from(endOfYear.atZone(ZoneId.systemDefault()).toInstant())) // < 2026-01-01
+        ));
+    }
+
+    /**
+     * @Author SheepHy
+     * @Description 计算当前课程销售数
+     * @Date 15:47 2025/7/8
+     * @Param id 课程id
+     * @return int 课程年销售数
+     **/
+    private int getCourseSalesCount(String id) {
+        return Math.toIntExact(appOrderProductMapper.selectCount(
+                Wrappers.<AppOrderProduct>lambdaQuery()
+                        .eq(AppOrderProduct::getProductId, id)
+        ));
+    }
+
+    /**
+     * @Author SheepHy
+     * @Description 查询用户是否为第一次购买
+     * @Date 16:54 2025/7/8
+     * @Param
+     * @return
+     **/
+    private int isFirstPurchase(String userId) {
+        AppOrder appOrder = appOrderMapper.selectOne(Wrappers.<AppOrder>lambdaQuery()
+                .eq(AppOrder::getUpdateBy, userId).last("limit 1"));
+        if(null == appOrder){
+            return 1;
+        }else {
+            return 0;
+        }
+    }
+    private String getTrainingProgramsName(String trainingPrograms,List<AppCategory> appCategories){
+        String trainingProgramsName ="";
+        if (StringUtils.isNotEmpty(trainingPrograms)&&trainingPrograms.indexOf(",")>0){
+            String[] split = trainingPrograms.split(",");
+            for (String s : split) {
+                for (AppCategory appCategory : appCategories) {
+                    if (appCategory.getId().equals(s)){
+                        if (StringUtils.isNotEmpty(trainingProgramsName)){
+                            trainingProgramsName=trainingProgramsName+"、"+appCategory.getName();
+                        }else{
+                            trainingProgramsName=appCategory.getName();
+                        }
+                        break;
+                    }
+                }
+            }
+        }else {
+            for (AppCategory appCategory : appCategories) {
+                if (appCategory.getId().equals(trainingPrograms)){
+                    trainingProgramsName=appCategory.getName();
+                }
+            }
+
+        }
+        return trainingProgramsName;
+    }
+}

+ 28 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/DetailServiceImpl.java

@@ -1,6 +1,9 @@
 package org.jeecg.modules.app.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.log4j.Log4j2;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
@@ -8,6 +11,8 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.app.service.IDetailService;
 import org.jeecg.modules.app.vo.CourseInfoVO;
 import org.jeecg.modules.app.vo.PlaceInfoVO;
+import org.jeecg.modules.app.vo.course.CourseRequestVo;
+import org.jeecg.modules.app.vo.course.CourseResponseVo;
 import org.jeecg.modules.app.vo.stadium.ConcertsVO;
 import org.jeecg.modules.app.vo.stadium.StadiumConcertsVO;
 import org.jeecg.modules.system.app.entity.*;
@@ -178,6 +183,29 @@ public class DetailServiceImpl implements IDetailService {
                 .eq(AppCategory::getDelFlag,0));
     }
 
+    /**
+     * 查询课程分页列表
+     * @param courseRequestVo
+     * @return
+     */
+    @Override
+    public IPage<CourseResponseVo> findByCourseList(CourseRequestVo courseRequestVo) {
+        Page<CourseResponseVo> page = new Page<CourseResponseVo>(courseRequestVo.getPageNo(), courseRequestVo.getPageSize());
+        IPage<CourseResponseVo>  courseInfoVOIPage=null;
+        if (ObjectUtil.isNotEmpty(courseRequestVo.getOrderByType())){
+            if (ObjectUtil.isNotEmpty(courseRequestVo.getLongitude())
+                    &&ObjectUtil.isNotEmpty(courseRequestVo.getLatitude())){
+                courseInfoVOIPage= appCoursesMapper.findByLaLoList(page,courseRequestVo);
+            }else {
+                courseInfoVOIPage= appCoursesMapper.findByList(page,courseRequestVo);
+            }
+        }else {
+            courseInfoVOIPage= appCoursesMapper.findByCourseList(page,courseRequestVo);
+        }
+
+        return courseInfoVOIPage;
+    }
+
     /**
      * @return
      * @Author SheepHy

+ 21 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/coach/AppCoachDetailsRequestVO.java

@@ -0,0 +1,21 @@
+package org.jeecg.modules.app.vo.coach;
+
+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 AppCoachDetailsRequestVO {
+    @Schema(description = "教练id(全部教练信息时返回的id)")
+    private String id;
+    @Schema(description = "纬度")
+    private double latitude;
+    @Schema(description = "经度")
+    private double longitude;
+
+
+}

+ 54 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/coach/AppCoachDetailsVO.java

@@ -0,0 +1,54 @@
+package org.jeecg.modules.app.vo.coach;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.modules.app.vo.course.CourseResponseVo;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="教练详情信息")
+public class AppCoachDetailsVO {
+    @Schema(description = "教练主键id")
+    private String id;
+    @Schema(description = "教练姓名")
+    private String realname;
+    @Schema(description = "所教项目编号使用,分割")
+    private String trainingPrograms;
+    @Schema(description = "所教项目使用,分割")
+    private String trainingProgramsName;
+    /**好评率*/
+    @Schema(description = "好评率")
+    private BigDecimal goodRate;
+    /**授课人数*/
+    @Schema(description = "授课人数")
+    private Integer classesNumber;
+    /**教学理念*/
+    @Schema(description = "教学理念")
+    private String teachingPhilosophy;
+    /**头部显示*/
+    @Schema(description = "头部显示")
+    private String headDisplay="已实名,无犯罪记录,健康证";
+    /**擅长说明*/
+    @Schema(description = "擅长说明")
+    private String excelMsg;
+    /**无犯罪证明*/
+    @Schema(description = "无犯罪证明")
+    private String certificateInnocence;
+    /**健康证*/
+    @Schema(description = "健康证")
+    private String healthy;
+    /**荣誉证书多个逗号分隔*/
+    @Schema(description = "荣誉证书多个逗号分隔")
+    private String honor;
+    @Schema(description = "荣誉证书多个逗号分隔")
+    private List<String> honorImgList;
+    @Schema(description = "课程信息列表")
+    private List<CourseResponseVo> courseInfoVOList;
+
+}

+ 23 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/coach/AppCoachVO.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.app.vo.coach;
+
+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 AppCoachVO {
+    @Schema(description = "教练主键id")
+    private String id;
+
+    @Schema(description = "教练姓名")
+    private String realname;
+
+    @Schema(description = "所教项目编号使用,分割")
+    private String trainingPrograms;
+    @Schema(description = "所教项目使用,分割")
+    private String trainingProgramsName;
+}

+ 38 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/course/CourseRequestVo.java

@@ -0,0 +1,38 @@
+package org.jeecg.modules.app.vo.course;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.modules.app.dto.PageDTO;
+
+import java.math.BigDecimal;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="查询课时分页查询入参DTO")
+public class CourseRequestVo extends PageDTO {
+
+    //教练id
+    @Schema(description = "教练id")
+    private String instructorId;
+
+    //教练id
+    @Schema(description = "场地id")
+    private String siteId;
+
+    //教练id
+    @Schema(description = "费用类型")
+    private Integer priceType;
+
+    //教练id
+    @Schema(description = "用户经度")
+    private BigDecimal longitude;
+
+    @Schema(description = "用户纬度")
+    private BigDecimal latitude;
+
+    @Schema(description = "排序方式 0-时间倒序,1-距离排序,2-销量排序")
+    private Integer orderByType;
+}

+ 51 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/vo/course/CourseResponseVo.java

@@ -0,0 +1,51 @@
+package org.jeecg.modules.app.vo.course;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.modules.app.dto.PageDTO;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="查询课时分页查询入参DTO")
+public class CourseResponseVo extends PageDTO {
+
+    @Schema(description = "课程id")
+    private String id;
+    @Schema(description = "场地id")
+    private String address;
+    @Schema(description = "原价")
+    private BigDecimal originalPrice;
+    @Schema(description = "售价")
+    private BigDecimal sellingPrice;
+    @Schema(description = "课程名称")
+    private String name;
+    @Schema(description = "费用类型")
+    private String priceType;
+    @Schema(description = "好评率")
+    private String goodRate;
+    @Schema(description = "纬度")
+    private BigDecimal latitude;
+    @Schema(description = "经度")
+    private BigDecimal longitude;
+    @Schema(description = "课时数")
+    private Integer coursesNum;
+    @Schema(description = "开始时间")
+    private Date startTime;
+    @Schema(description = "结束时间")
+    private Date endTime;
+    @Schema(description = "年销售数")
+    private Integer annualSalesNum;
+    @Schema(description = "已销售数")
+    private Integer saleNum;
+    @Schema(description = "用户是否第一次购买")
+    private Integer isOneBuy;
+    @Schema(description = "距离")
+    private Double km;
+
+}

+ 4 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/SeparateAccounts.java

@@ -46,6 +46,10 @@ public class SeparateAccounts implements Serializable {
 	@Excel(name = "商家分账比例 单位%", width = 15)
     @Schema(description = "商家分账比例 单位%")
     private BigDecimal shSeparateAccounts;
+    /**商家分账比例 单位%*/
+    @Excel(name = "商家分账比例 单位%", width = 15)
+    @Schema(description = "商家分账比例 单位%")
+    private BigDecimal mdSeparateAccounts;
 	/**分账状态 0-启用 1-停用  默认启用*/
 	@Excel(name = "分账状态 0-启用 1-停用  默认启用", width = 15)
     @Schema(description = "分账状态 0-启用 1-停用  默认启用")