Переглянути джерело

refactor(national-motion-module-system): 修改 AppSitePlaceController 中分页列表查询接口的路径

-将 /list 接口路径修改为 /queryUnfixePageList
- 该改动旨在提高接口的可读性和可维护性
lix 2 тижнів тому
батько
коміт
5016c625e5
24 змінених файлів з 682 додано та 175 видалено
  1. 20 5
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppSiteController.java
  2. 4 6
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppSitePlaceController.java
  3. 182 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppTeachingTimeController.java
  4. 27 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSiteCategoryDOT.java
  5. 2 8
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceCuDTO.java
  6. 2 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceDTO.java
  7. 0 8
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceUnfixedDTO.java
  8. 2 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceUnfixedPageDTO.java
  9. 8 7
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSiteRuleDTO.java
  10. 38 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppTeachingTimeDTO.java
  11. 9 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppSitePlace.java
  12. 6 10
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppSitePriceRules.java
  13. 87 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppTeachingTime.java
  14. 17 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppTeachingTimeMapper.java
  15. 5 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppTeachingTimeMapper.xml
  16. 14 5
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppSiteService.java
  17. 16 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppTeachingTimeService.java
  18. 151 101
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppSitePlaceServiceImpl.java
  19. 19 5
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppSiteServiceImpl.java
  20. 19 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppTeachingTimeServiceImpl.java
  21. 1 10
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/utils/CusUtil.java
  22. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/AppCategoryVO.java
  23. 52 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/AppSiteListVO.java
  24. 0 9
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/AppSiteVO.java

+ 20 - 5
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppSiteController.java

@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.extern.slf4j.Slf4j;
 
 import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.system.app.vo.AppSiteListVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -22,6 +23,7 @@ import io.swagger.v3.oas.annotations.Operation;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 
+import java.util.List;
 
 
 /**
@@ -50,7 +52,7 @@ public class AppSiteController extends JeecgController<AppSite, IAppSiteService>
 	@Operation(summary="场地表-分页列表查询")
 	@GetMapping(value = "/list")
 	public Result<IPage<AppSiteDTO>> queryPageList(AppSitePageDTO dto) {
-		return Result.OK(appSiteService.queryWitchPriceRulesPage(dto));
+		return Result.OK(appSiteService.querySitePage(dto));
 	}
 
 	/**
@@ -64,7 +66,7 @@ public class AppSiteController extends JeecgController<AppSite, IAppSiteService>
 //	@RequiresPermissions("org.jeecg.modules.app:nm_site:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody AppSiteDTO appSiteDTO) {
-		return appSiteService.saveWitchPriceRules(appSiteDTO)?Result.OK("添加成功!"):Result.error("添加失败!");
+		return appSiteService.saveSite(appSiteDTO)?Result.OK("添加成功!"):Result.error("添加失败!");
 	}
 
 	/**
@@ -78,7 +80,7 @@ public class AppSiteController extends JeecgController<AppSite, IAppSiteService>
 //	@RequiresPermissions("org.jeecg.modules.app:nm_site:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
 	public Result<String> edit(@RequestBody AppSiteDTO appSiteDTO) {
-		return appSiteService.editWitchPriceRules(appSiteDTO)?Result.OK("操作成功!"):Result.error("操作失败!");
+		return appSiteService.editSite(appSiteDTO)?Result.OK("操作成功!"):Result.error("操作失败!");
 	}
 
 	/**
@@ -93,7 +95,7 @@ public class AppSiteController extends JeecgController<AppSite, IAppSiteService>
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
 
-		return appSiteService.deleteWitchPriceRulesById(id)? Result.OK("删除成功!"):Result.error("删除失败!");
+		return appSiteService.deleteSiteById(id)? Result.OK("删除成功!"):Result.error("删除失败!");
 	}
 
 //	/**
@@ -121,7 +123,20 @@ public class AppSiteController extends JeecgController<AppSite, IAppSiteService>
 	@Operation(summary="场地表-通过id查询")
 	@GetMapping(value = "/queryById")
 	public Result<AppSiteDTO> queryById(@RequestParam(name="id",required=true) String id) {
-			return Result.ok(appSiteService.queryWitchPriceRulesById(id));
+			return Result.ok(appSiteService.querySiteById(id));
+	}
+
+	/**
+	 * 通过orgCode查询
+	 *
+	 * @param orgCode
+	 * @return
+	 */
+	//@AutoLog(value = "场地表-通过orgCode查询")
+	@Operation(summary="场地表-通过orgCode查询")
+	@GetMapping(value = "/querySiteListByOrgCode")
+	public Result<List<AppSiteListVO>> querySiteListByOrgCode(@RequestParam(name="orgCode",required=true) String orgCode) {
+		return Result.ok(appSiteService.querySiteListByOrgCode(orgCode));
 	}
 
     /**

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

@@ -20,9 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
-import org.jeecg.modules.system.app.dto.AppSitePlaceCuDTO;
-import org.jeecg.modules.system.app.dto.AppSitePlaceDTO;
-import org.jeecg.modules.system.app.dto.AppSitePlacePageDTO;
+import org.jeecg.modules.system.app.dto.*;
 import org.jeecg.modules.system.app.entity.AppSitePlace;
 import org.jeecg.modules.system.app.service.IAppSitePlaceService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -75,9 +73,9 @@ public class AppSitePlaceController extends JeecgController<AppSitePlace, IAppSi
 	 */
 	//@AutoLog(value = "商户场所表-分页列表查询")
 	@Operation(summary="商户场所无固定场-分页列表查询")
-	@GetMapping(value = "/queryUnfixePageList")
-	public Result<IPage<AppSitePlaceCuDTO>> queryUnfixePageList(AppSitePlacePageDTO appSitePlace) {
-		return Result.OK(appSitePlaceService.queryWitchPriceRulesPage(appSitePlace));
+	@GetMapping(value = "/queryUnfixedPageList")
+	public Result<IPage<AppSitePlaceUnfixedDTO>> queryUnfixedPageList(AppSitePlaceUnfixedPageDTO appSitePlace) {
+		return Result.OK(appSitePlaceService.queryUnfixedPage(appSitePlace));
 	}
 	
 	/**

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

@@ -0,0 +1,182 @@
+package org.jeecg.modules.system.app.controller;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.query.QueryRuleEnum;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.app.entity.AppTeachingTime;
+import org.jeecg.modules.system.app.service.IAppTeachingTimeService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+ /**
+ * @Description: 教学/非教学维护表
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+@Tag(name="教学/非教学维护表")
+@RestController
+@RequestMapping("/org/jeecg/modules/system/app/appTeachingTime")
+@Slf4j
+public class AppTeachingTimeController extends JeecgController<AppTeachingTime, IAppTeachingTimeService> {
+	@Autowired
+	private IAppTeachingTimeService appTeachingTimeService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param appTeachingTime
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "教学/非教学维护表-分页列表查询")
+	@Operation(summary="教学/非教学维护表-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<AppTeachingTime>> queryPageList(AppTeachingTime appTeachingTime,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+
+
+        QueryWrapper<AppTeachingTime> queryWrapper = QueryGenerator.initQueryWrapper(appTeachingTime, req.getParameterMap());
+		Page<AppTeachingTime> page = new Page<AppTeachingTime>(pageNo, pageSize);
+		IPage<AppTeachingTime> pageList = appTeachingTimeService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param appTeachingTime
+	 * @return
+	 */
+	@AutoLog(value = "教学/非教学维护表-添加")
+	@Operation(summary="教学/非教学维护表-添加")
+	@RequiresPermissions("org.jeecg.modules.system.app:nm_teaching_time:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody AppTeachingTime appTeachingTime) {
+		appTeachingTimeService.save(appTeachingTime);
+
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param appTeachingTime
+	 * @return
+	 */
+	@AutoLog(value = "教学/非教学维护表-编辑")
+	@Operation(summary="教学/非教学维护表-编辑")
+	@RequiresPermissions("org.jeecg.modules.system.app:nm_teaching_time:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody AppTeachingTime appTeachingTime) {
+		appTeachingTimeService.updateById(appTeachingTime);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "教学/非教学维护表-通过id删除")
+	@Operation(summary="教学/非教学维护表-通过id删除")
+	@RequiresPermissions("org.jeecg.modules.system.app:nm_teaching_time:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		appTeachingTimeService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "教学/非教学维护表-批量删除")
+	@Operation(summary="教学/非教学维护表-批量删除")
+	@RequiresPermissions("org.jeecg.modules.system.app:nm_teaching_time:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.appTeachingTimeService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "教学/非教学维护表-通过id查询")
+	@Operation(summary="教学/非教学维护表-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<AppTeachingTime> queryById(@RequestParam(name="id",required=true) String id) {
+		AppTeachingTime appTeachingTime = appTeachingTimeService.getById(id);
+		if(appTeachingTime==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(appTeachingTime);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param appTeachingTime
+    */
+    @RequiresPermissions("org.jeecg.modules.system.app:nm_teaching_time:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, AppTeachingTime appTeachingTime) {
+        return super.exportXls(request, appTeachingTime, AppTeachingTime.class, "教学/非教学维护表");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequiresPermissions("org.jeecg.modules.system.app:nm_teaching_time:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, AppTeachingTime.class);
+    }
+
+}

+ 27 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSiteCategoryDOT.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.system.app.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ * @author DM
+ * @date 2025/7/10 15:41
+ * @description
+ */
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description = "场所运动类型-场所数量入参DTO")
+public class AppSiteCategoryDOT {
+    @Schema(description = "场所运动类型")
+    private String categoryId;
+    @Schema(description = "场所数量")
+    private Integer count;
+}

+ 2 - 8
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceCuDTO.java

@@ -11,6 +11,7 @@ import lombok.experimental.Accessors;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotNull;
 import java.util.Date;
 
 /**
@@ -28,17 +29,10 @@ import java.util.Date;
 public class AppSitePlaceCuDTO {
     @Schema(description = "id")
     private String id;
-    /**部门id*/
-    @Excel(name = "部门id", width = 15)
-    @Schema(description = "部门id")
-    private String tenantId;
-    /**部门编码*/
-    @Excel(name = "部门编码", width = 15)
-    @Schema(description = "部门编码")
-    private String orgCode;
     /**商户补充信息id*/
     @Excel(name = "商户补充信息id", width = 15)
     @Schema(description = "商户补充信息id")
+    @NotNull(message = "商户补充信息id不允许为空")
     private String siteId;
     /**名称*/
     @Excel(name = "名称", width = 15)

+ 2 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceDTO.java

@@ -25,5 +25,7 @@ public class AppSitePlaceDTO {
     private AppSitePlaceCuDTO appSitePlaceCuDTO;
     @ArraySchema(arraySchema = @Schema(description = "场地价格规则"))
     private List<AppSiteRuleDTO> siteRuleDTOS;
+    @ArraySchema(arraySchema = @Schema(description = "场地类型数量"))
+    private List<AppSiteCategoryDOT> siteCategoryDOTS;
 
 }

+ 0 - 8
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceUnfixedDTO.java

@@ -25,14 +25,6 @@ import java.math.BigDecimal;
 public class AppSitePlaceUnfixedDTO {
     @Schema(description = "id")
     private String id;
-    /**部门id*/
-    @Excel(name = "部门id", width = 15)
-    @Schema(description = "部门id")
-    private String tenantId;
-    /**部门编码*/
-    @Excel(name = "部门编码", width = 15)
-    @Schema(description = "部门编码")
-    private String orgCode;
     /**商户补充信息id*/
     @Excel(name = "商户补充信息id", width = 15)
     @Schema(description = "商户补充信息id")

+ 2 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePlaceUnfixedPageDTO.java

@@ -21,4 +21,6 @@ import lombok.experimental.Accessors;
 public class AppSitePlaceUnfixedPageDTO extends BasePageDTO{
     @Schema(description = "名称")
     private String name;
+    @Schema(description = "场所id")
+    private String siteId;
 }

+ 8 - 7
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSiteRuleDTO.java

@@ -35,13 +35,13 @@ public class AppSiteRuleDTO {
     @Schema(description = "运动类型")
     private String categoryId;
     /**开始时间*/
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern="HH:mm:ss")
     @Schema(description = "开始时间")
     private Date startTime;
     /**结束时间*/
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern="HH:mm:ss")
     @Schema(description = "结束时间")
     private Date endTime;
     /**星期几*/
@@ -54,13 +54,14 @@ public class AppSiteRuleDTO {
     @NotNull(message = "售价不允许为空")
     @Schema(description = "售价")
     private BigDecimal sellingPrice;
-    /**库存/票数*/
-    @Schema(description = "库存")
-    private Integer inventory;
     /**0学校 1体育馆包场 2体育馆不固定场*/
     @Schema(description = "0学校 1体育馆包场 2体育馆不固定场")
     private Integer type;
     /**是否教学日0是1不是*/
     @Schema(description = "是否教学日0是1不是")
     private Integer isTeaching;
+
+    @Schema(description = "场数")
+    private Integer inventory;
+
 }

+ 38 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppTeachingTimeDTO.java

@@ -0,0 +1,38 @@
+package org.jeecg.modules.system.app.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author DM
+ * @date 2025/7/10 11:59
+ * @description
+ */
+public class AppTeachingTimeDTO {
+    @Schema(description = "id")
+    private String id;
+    /**部门id*/
+    @Excel(name = "部门id", width = 15)
+    @Schema(description = "部门id")
+    private String tenantId;
+    /**日期*/
+    @Excel(name = "日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @Schema(description = "日期")
+    private Date day;
+    /**受否教学日*/
+    @Excel(name = "受否教学日0是1否", width = 15)
+    @Schema(description = "受否教学日0是1否")
+    private Integer isTeaching;
+    /**部门编码*/
+    @Excel(name = "部门编码", width = 15)
+    @Schema(description = "部门编码")
+    private String orgCode;
+}

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

@@ -126,4 +126,13 @@ public class AppSitePlace implements Serializable {
 	@Excel(name = "有效期;单位:天", width = 15)
     @Schema(description = "有效期;单位:天")
     private Integer indate;
+	/**非教学日*/
+	@Excel(name = "非教学日", width = 15)
+    @Schema(description = "非教学日")
+    private Integer noTeachingDay;
+	/**教学日*/
+	@Excel(name = "教学日", width = 15)
+    @Schema(description = "教学日")
+    private Integer teachingDay;
+
 }

+ 6 - 10
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppSitePriceRules.java

@@ -54,15 +54,15 @@ public class AppSitePriceRules implements Serializable {
     @Schema(description = "0学校 1体育馆包场 2体育馆不固定场")
     private Integer type;
     /**开始时间*/
-    @Excel(name = "开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "开始时间", width = 20, format = "HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern="HH:mm:ss")
     @Schema(description = "开始时间")
     private Date startTime;
     /**结束时间*/
-    @Excel(name = "结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 20, format = "HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern = "HH:mm:ss")
+    @DateTimeFormat(pattern="HH:mm:ss")
     @Schema(description = "结束时间")
     private Date endTime;
     /**星期几*/
@@ -77,10 +77,6 @@ public class AppSitePriceRules implements Serializable {
     @Excel(name = "售价", width = 15)
     @Schema(description = "售价")
     private BigDecimal sellingPrice;
-    /**库存/票数*/
-    @Excel(name = "库存/票数", width = 15)
-    @Schema(description = "库存/票数")
-    private Integer inventory;
     /**是否教学日0是1不是*/
     @Excel(name = "是否教学日0是1不是", width = 15)
     @Schema(description = "是否教学日0是1不是")

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

@@ -0,0 +1,87 @@
+package org.jeecg.modules.system.app.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 教学/非教学维护表
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("nm_teaching_time")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@Schema(description="教学/非教学维护表")
+public class AppTeachingTime implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @Schema(description = "id")
+    private String id;
+	/**部门id*/
+	@Excel(name = "部门id", width = 15)
+    @Schema(description = "部门id")
+    private String tenantId;
+	/**日期*/
+	@Excel(name = "日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @Schema(description = "日期")
+    private Date day;
+	/**受否教学日*/
+	@Excel(name = "受否教学日0是1否", width = 15)
+    @Schema(description = "受否教学日0是1否")
+    private Integer isTeaching;
+	/**部门编码*/
+	@Excel(name = "部门编码", width = 15)
+    @Schema(description = "部门编码")
+    private String orgCode;
+	/**乐观锁*/
+	@Excel(name = "乐观锁", width = 15)
+    @Schema(description = "乐观锁")
+    private Integer revision;
+	/**创建人;创建人*/
+    @Schema(description = "创建人;创建人")
+    private String createBy;
+	/**创建时间;创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "创建时间;创建时间")
+    private Date createTime;
+	/**更新人;更新人*/
+    @Schema(description = "更新人;更新人")
+    private String updateBy;
+	/**更新时间;更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "更新时间;更新时间")
+    private Date updateTime;
+	/**系统状态;状态(0-正常,1-冻结)*/
+	@Excel(name = "系统状态;状态(0-正常,1-冻结)", width = 15)
+    @Schema(description = "系统状态;状态(0-正常,1-冻结)")
+    private Integer status;
+	/**删除标志;删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除标志;删除状态(0-正常,1-已删除)", width = 15)
+    @Schema(description = "删除标志;删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+}

+ 17 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppTeachingTimeMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.system.app.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.system.app.entity.AppTeachingTime;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 教学/非教学维护表
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+public interface AppTeachingTimeMapper extends BaseMapper<AppTeachingTime> {
+
+}

+ 5 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppTeachingTimeMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.system.app.mapper.AppTeachingTimeMapper">
+
+</mapper>

+ 14 - 5
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppSiteService.java

@@ -5,6 +5,9 @@ import org.jeecg.modules.system.app.dto.AppSiteDTO;
 import org.jeecg.modules.system.app.dto.AppSitePageDTO;
 import org.jeecg.modules.system.app.entity.AppSite;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.app.vo.AppSiteListVO;
+
+import java.util.List;
 
 /**
  * @Description: 商户表
@@ -19,26 +22,32 @@ public interface IAppSiteService extends IService<AppSite> {
      * @param appSiteDTO
      * @return
      */
-    Boolean saveWitchPriceRules(AppSiteDTO appSiteDTO);
+    Boolean saveSite(AppSiteDTO appSiteDTO);
     /**
      * 商户修改
      * @param appSiteDTO
      * @return
      */
-    Boolean editWitchPriceRules(AppSiteDTO appSiteDTO);
+    Boolean editSite(AppSiteDTO appSiteDTO);
     /**
      * 通过id查询商户
      * @param id
      * @return
      */
-    AppSiteDTO queryWitchPriceRulesById(String id);
+    AppSiteDTO querySiteById(String id);
+    /**
+     * 通过商户编码查询商户
+     * @param orgCode
+     * @return
+     */
+    List<AppSiteListVO> querySiteListByOrgCode(String orgCode);
     /**
      * 删除商户
      * @param id
      * @return
      */
-    Boolean deleteWitchPriceRulesById(String id);
+    Boolean deleteSiteById(String id);
 
-    IPage<AppSiteDTO> queryWitchPriceRulesPage(AppSitePageDTO dto);
+    IPage<AppSiteDTO> querySitePage(AppSitePageDTO dto);
 
 }

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

@@ -0,0 +1,16 @@
+package org.jeecg.modules.system.app.service;
+
+import org.jeecg.modules.system.app.entity.AppTeachingTime;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 教学/非教学维护表
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+public interface IAppTeachingTimeService extends IService<AppTeachingTime> {
+
+
+
+}

+ 151 - 101
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppSitePlaceServiceImpl.java

@@ -9,10 +9,12 @@ import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.system.app.dto.*;
+import org.jeecg.modules.system.app.entity.AppCategory;
 import org.jeecg.modules.system.app.entity.AppSite;
 import org.jeecg.modules.system.app.entity.AppSitePlace;
 import org.jeecg.modules.system.app.entity.AppSitePriceRules;
 import org.jeecg.modules.system.app.enums.SitePlaceTypeEnum;
+import org.jeecg.modules.system.app.mapper.AppCategoryMapper;
 import org.jeecg.modules.system.app.mapper.AppSiteMapper;
 import org.jeecg.modules.system.app.mapper.AppSitePlaceMapper;
 import org.jeecg.modules.system.app.mapper.AppSitePriceRulesMapper;
@@ -41,37 +43,54 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
     private AppSitePriceRulesMapper appSitePriceRulesMapper;
     @Resource
     private AppSiteMapper appSiteMapper;
+    @Resource
+    private AppCategoryMapper appCategoryMapper;
 
     //学校 包场 一对多
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean saveWitchPriceRules(AppSitePlaceDTO placeDTO) {
-        AppSitePlaceCuDTO appSitePlaceCuDTO = placeDTO.getAppSitePlaceCuDTO();
-        AppSite appSite = appSiteMapper.selectById(appSitePlaceCuDTO.getSiteId());
-        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        if (null == appSitePlaceCuDTO.getSiteId())
-            throw new JeecgBootException("商户补充信息id不能为空", SC_INTERNAL_SERVER_ERROR_500);
-        AppSitePlace appSitePlace = new AppSitePlace();
-        BeanUtils.copyProperties(appSitePlaceCuDTO, appSitePlace);
-        appSitePlace.setOrgCode(appSite.getOrgCode());
-        appSitePlace.setTenantId(sysUser.getOrgId());
-        appSitePlace.setSiteId(appSitePlaceCuDTO.getSiteId());
-        int insert = baseMapper.insert(appSitePlace);
-        if (insert < 1) {
-            throw new JeecgBootException("商户场所保存失败");
-        }
-        placeDTO.getSiteRuleDTOS().forEach(rule -> {
-            AppSitePriceRules appSitePriceRules = new AppSitePriceRules();
-            BeanUtils.copyProperties(rule, appSitePriceRules);
-            appSitePriceRules.setSitePlaceId(appSitePlace.getId());
-            appSitePriceRules.setOrgCode(appSitePlace.getOrgCode());
-            appSitePriceRules.setTenantId(appSitePlace.getTenantId());
-            int savePriceResult = appSitePriceRulesMapper.insert(appSitePriceRules);
-            if (savePriceResult < 1) {
-                throw new JeecgBootException("场所价格规则保存失败", SC_INTERNAL_SERVER_ERROR_500);
-            }
-        });
+//        AppSitePlaceCuDTO appSitePlaceCuDTO = placeDTO.getAppSitePlaceCuDTO();
+//        AppSiteCategoryDOT appSiteCategoryDOT = placeDTO.getAppSiteCategoryDOT();
+//        if (null == appSitePlaceCuDTO.getSiteId())
+//            throw new JeecgBootException("商户补充信息id不能为空", SC_INTERNAL_SERVER_ERROR_500);
+//        AppSite site = appSiteMapper.selectById(appSitePlaceCuDTO.getSiteId());
+//        if (site == null) throw new JeecgBootException("商户不存在");
+//
+//        if (appSitePlaceCuDTO.getInventory() < 1)
+//            throw new JeecgBootException("场所数、票数不能为0或负数", SC_INTERNAL_SERVER_ERROR_500);
+//        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+//        for (String s : appSitePlaceCuDTO.getCategoryId().split(",")) {
+//            AppCategory category = appCategoryMapper.selectById(s);
+//            for (int i = 0; i < appSitePlaceCuDTO.getInventory(); i++) {
+//                AppSitePlace appSitePlace = new AppSitePlace();
+//                BeanUtils.copyProperties(appSitePlaceCuDTO, appSitePlace);
+//                appSitePlace.setName(category.getName() + i);
+//                appSitePlace.setOrgCode(site.getOrgCode());
+//                appSitePlace.setTenantId(site.getTenantId());
+//                appSitePlace.setSiteId(site.getId());
+//                int insert = baseMapper.insert(appSitePlace);
+//                if (insert < 1) {
+//                    throw new JeecgBootException("商户场所保存失败");
+//                }
+//                placeDTO.getSiteRuleDTOS().forEach(rule -> {
+//                    AppSitePriceRules appSitePriceRules = new AppSitePriceRules();
+//                    BeanUtils.copyProperties(rule, appSitePriceRules);
+//                    appSitePriceRules.setSitePlaceId(appSitePlace.getId());
+//                    appSitePriceRules.setOrgCode(appSitePlace.getOrgCode());
+//                    appSitePriceRules.setTenantId(appSitePlace.getTenantId());
+//                    int savePriceResult = appSitePriceRulesMapper.insert(appSitePriceRules);
+//                    if (savePriceResult < 1) {
+//                        throw new JeecgBootException("场所价格规则保存失败", SC_INTERNAL_SERVER_ERROR_500);
+//                    }
+//                });
+//            }
+//        }
+
+        //循环添加
+
+
 
         return Boolean.TRUE;
     }
@@ -79,70 +98,98 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean editWitchPriceRules(AppSitePlaceDTO placeDTO) {
-        AppSitePlaceCuDTO appSitePlaceCuDTO = placeDTO.getAppSitePlaceCuDTO();
-        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        if (null == appSitePlaceCuDTO.getSiteId())
-            throw new JeecgBootException("商户补充信息id不能为空", SC_INTERNAL_SERVER_ERROR_500);
-        AppSitePlace dbPlace = baseMapper.selectById(appSitePlaceCuDTO.getSiteId());
-        if (null == dbPlace) throw new JeecgBootException("数据不存在", SC_INTERNAL_SERVER_ERROR_500);
-        //部门校验
-//        checkPermission(dbPlace, sysUser);
-        AppSitePlace appSitePlace = new AppSitePlace();
-        BeanUtils.copyProperties(appSitePlaceCuDTO, appSitePlace);
-        //不许更改项赋值
-        appSitePlace.setOrgCode(sysUser.getOrgCode());
-        appSitePlace.setTenantId(sysUser.getOrgId());
-        appSitePlace.setSiteId(appSitePlaceCuDTO.getSiteId());
-        int update = baseMapper.updateById(appSitePlace);
-        if (update < 1) {
-            throw new JeecgBootException("商户场所保存失败");
-        }
-        List<AppSitePriceRules> dbRulesList = appSitePriceRulesMapper.selectList(Wrappers.<AppSitePriceRules>lambdaQuery()
-                .eq(AppSitePriceRules::getSitePlaceId, appSitePlace.getId()));
-        List<AppSiteRuleDTO> siteRuleDTOS = placeDTO.getSiteRuleDTOS();
-        //删除
-        List<AppSitePriceRules> deleteList = dbRulesList.stream().filter(
-                dbRule -> dbRule.getId() != null && siteRuleDTOS.stream().noneMatch(rule -> dbRule.getId().equals(rule.getId()))).collect(Collectors.toList());
-        deleteList.forEach(
-                dbRule -> {
-                    int deleteResult = appSitePriceRulesMapper.deleteById(dbRule.getId());
-                    if (deleteResult < 1) {
-                        throw new JeecgBootException("场所价格规则删除失败");
-                    }
-                }
-        );
-        //保存
-        List<AppSitePriceRules> addList = siteRuleDTOS.stream().filter(rule -> rule.getId() == null).map(ruleDTO -> {
-            AppSitePriceRules appSitePriceRules = new AppSitePriceRules();
-            BeanUtils.copyProperties(ruleDTO, appSitePriceRules);
-            appSitePriceRules.setOrgCode(appSitePlace.getOrgCode());
-            appSitePriceRules.setTenantId(appSitePlace.getTenantId());
-            appSitePriceRules.setSitePlaceId(appSitePlace.getId());
-            return appSitePriceRules;
-        }).collect(Collectors.toList());
-        addList.forEach(appSitePriceRules -> {
-            int saveResult = appSitePriceRulesMapper.insert(appSitePriceRules);
-            if (saveResult < 1) {
-                throw new JeecgBootException("场所价格规则保存失败", SC_INTERNAL_SERVER_ERROR_500);
-            }
-        });
-        //更新
-        List<AppSitePriceRules> updateList = siteRuleDTOS.stream().filter(
-                rule -> rule.getId() != null && dbRulesList.stream().anyMatch(
-                        dbRule -> dbRule.getId().equals(rule.getId()))).map(ruleDto -> {
-            AppSitePriceRules appSitePriceRules = new AppSitePriceRules();
-            BeanUtils.copyProperties(ruleDto, appSitePriceRules);
-            appSitePriceRules.setSitePlaceId(appSitePlace.getId());
-            appSitePriceRules.setOrgCode(appSitePlace.getOrgCode());
-            appSitePriceRules.setTenantId(appSitePlace.getTenantId());
-            return appSitePriceRules;
-        }).collect(Collectors.toList());
-        updateList.forEach(rule -> {
-            int updateById = appSitePriceRulesMapper.updateById(rule);
-            if (updateById < 1) {
-                throw new JeecgBootException("场所价格规则更新失败", SC_INTERNAL_SERVER_ERROR_500);
-            }
-        });
+//        AppSitePlaceCuDTO appSitePlaceCuDTO = placeDTO.getAppSitePlaceCuDTO();
+//        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+//        if (null == appSitePlaceCuDTO.getSiteId())
+//            throw new JeecgBootException("商户补充信息id不能为空", SC_INTERNAL_SERVER_ERROR_500);
+//        AppSite site = appSiteMapper.selectById(appSitePlaceCuDTO.getSiteId());
+//        if (site == null) throw new JeecgBootException("商户不存在");
+//        List<AppSitePlace> dbPlaceList = baseMapper.selectList(Wrappers.<AppSitePlace>lambdaQuery().eq(AppSitePlace::getSiteId, appSitePlaceCuDTO.getSiteId()));
+//        if (dbPlaceList.isEmpty()) throw new JeecgBootException("数据不存在", SC_INTERNAL_SERVER_ERROR_500);
+//        //部门校验
+////        checkPermission(dbPlace, sysUser);
+//        Integer inventoryNew = appSitePlaceCuDTO.getInventory();
+//        if (inventoryNew < 1) throw new JeecgBootException("场所数、票数不能为0或负数", SC_INTERNAL_SERVER_ERROR_500);
+//        int size = dbPlaceList.size();
+//        List<AppSiteRuleDTO> siteRuleDTOS = placeDTO.getSiteRuleDTOS();
+//        //场所数量判断
+//        if (size == inventoryNew) {
+//            dbPlaceList.forEach(dbPlace -> {
+//                AppSitePlace appSitePlace = new AppSitePlace();
+//                BeanUtils.copyProperties(appSitePlaceCuDTO, appSitePlace);
+//                //不许更改项赋值
+//                appSitePlace.setOrgCode(site.getOrgCode());
+//                appSitePlace.setTenantId(site.getTenantId());
+//                int update = baseMapper.updateById(appSitePlace);
+//                if (update < 1) {
+//                    throw new JeecgBootException("商户场所保存失败");
+//                }
+//
+//                appSitePriceRulesMapper.selectList(Wrappers.<AppSitePriceRules>lambdaQuery()
+//                        .eq(AppSitePriceRules::getSitePlaceId, dbPlace.getId())).forEach(appSitePriceRules -> {
+//
+//                });
+//
+//            });
+//
+//
+//        }
+//
+//        AppSitePlace appSitePlace = new AppSitePlace();
+//        BeanUtils.copyProperties(appSitePlaceCuDTO, appSitePlace);
+//        //不许更改项赋值
+//        appSitePlace.setOrgCode(site.getOrgCode());
+//        appSitePlace.setTenantId(site.getTenantId());
+//        int update = baseMapper.updateById(appSitePlace);
+//        if (update < 1) {
+//            throw new JeecgBootException("商户场所保存失败");
+//        }
+//        List<AppSitePriceRules> dbRulesList = appSitePriceRulesMapper.selectList(Wrappers.<AppSitePriceRules>lambdaQuery()
+//                .eq(AppSitePriceRules::getSitePlaceId, appSitePlace.getId()));
+//        List<AppSiteRuleDTO> siteRuleDTOS = placeDTO.getSiteRuleDTOS();
+//        //删除
+//        List<AppSitePriceRules> deleteList = dbRulesList.stream().filter(
+//                dbRule -> dbRule.getId() != null && siteRuleDTOS.stream().noneMatch(rule -> dbRule.getId().equals(rule.getId()))).collect(Collectors.toList());
+//        deleteList.forEach(
+//                dbRule -> {
+//                    int deleteResult = appSitePriceRulesMapper.deleteById(dbRule.getId());
+//                    if (deleteResult < 1) {
+//                        throw new JeecgBootException("场所价格规则删除失败");
+//                    }
+//                }
+//        );
+//        //保存
+//        List<AppSitePriceRules> addList = siteRuleDTOS.stream().filter(rule -> rule.getId() == null).map(ruleDTO -> {
+//            AppSitePriceRules appSitePriceRules = new AppSitePriceRules();
+//            BeanUtils.copyProperties(ruleDTO, appSitePriceRules);
+//            appSitePriceRules.setOrgCode(appSitePlace.getOrgCode());
+//            appSitePriceRules.setTenantId(appSitePlace.getTenantId());
+//            appSitePriceRules.setSitePlaceId(appSitePlace.getId());
+//            return appSitePriceRules;
+//        }).collect(Collectors.toList());
+//        addList.forEach(appSitePriceRules -> {
+//            int saveResult = appSitePriceRulesMapper.insert(appSitePriceRules);
+//            if (saveResult < 1) {
+//                throw new JeecgBootException("场所价格规则保存失败", SC_INTERNAL_SERVER_ERROR_500);
+//            }
+//        });
+//        //更新
+//        List<AppSitePriceRules> updateList = siteRuleDTOS.stream().filter(
+//                rule -> rule.getId() != null && dbRulesList.stream().anyMatch(
+//                        dbRule -> dbRule.getId().equals(rule.getId()))).map(ruleDto -> {
+//            AppSitePriceRules appSitePriceRules = new AppSitePriceRules();
+//            BeanUtils.copyProperties(ruleDto, appSitePriceRules);
+//            appSitePriceRules.setSitePlaceId(appSitePlace.getId());
+//            appSitePriceRules.setOrgCode(appSitePlace.getOrgCode());
+//            appSitePriceRules.setTenantId(appSitePlace.getTenantId());
+//            return appSitePriceRules;
+//        }).collect(Collectors.toList());
+//        updateList.forEach(rule -> {
+//            int updateById = appSitePriceRulesMapper.updateById(rule);
+//            if (updateById < 1) {
+//                throw new JeecgBootException("场所价格规则更新失败", SC_INTERNAL_SERVER_ERROR_500);
+//            }
+//        });
         return Boolean.TRUE;
     }
 
@@ -161,26 +208,26 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
                     return appSiteRuleDTO;
                 }).collect(Collectors.toList());
 
-        return new AppSitePlaceDTO(appSitePlaceCuDTO, collect);
+        return new AppSitePlaceDTO(appSitePlaceCuDTO, collect,null);
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean deleteWitchPriceRulesById(String id) {
         AppSitePlace dbPlace = baseMapper.selectById(id);
-        if (null==dbPlace) throw new JeecgBootException("未找到对应数据", SC_INTERNAL_SERVER_ERROR_500);
+        if (null == dbPlace) throw new JeecgBootException("未找到对应数据", SC_INTERNAL_SERVER_ERROR_500);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 //        checkPermission(dbPlace,sysUser);
         int deleteById = baseMapper.deleteById(id);
         if (deleteById < 1) throw new JeecgBootException("删除失败", SC_INTERNAL_SERVER_ERROR_500);
         int deletePriceResult = appSitePriceRulesMapper.delete(Wrappers.<AppSitePriceRules>lambdaQuery().eq(AppSitePriceRules::getSitePlaceId, id));
-        if (deletePriceResult<1) throw new JeecgBootException("场地价格规则删除失败", SC_INTERNAL_SERVER_ERROR_500);
+        if (deletePriceResult < 1) throw new JeecgBootException("场地价格规则删除失败", SC_INTERNAL_SERVER_ERROR_500);
         return Boolean.TRUE;
     }
 
     @Override
     public IPage<AppSitePlaceCuDTO> queryWitchPriceRulesPage(AppSitePlacePageDTO dto) {
-        if (null==dto.getType()) throw new JeecgBootException("请选择类型", SC_INTERNAL_SERVER_ERROR_500);
+        if (null == dto.getType()) throw new JeecgBootException("请选择类型", SC_INTERNAL_SERVER_ERROR_500);
         LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         Page<AppSitePlace> page = new Page<>(dto.getPageNum(), dto.getPageSize());
         LambdaQueryWrapper<AppSitePlace> wrapper = Wrappers.<AppSitePlace>lambdaQuery().eq(AppSitePlace::getType, dto.getType())
@@ -189,16 +236,16 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
         IPage<AppSitePlace> resultPage = baseMapper.selectPage(page, wrapper);
         return resultPage.convert(record -> {
             AppSitePlaceCuDTO cuDTO = new AppSitePlaceCuDTO();
-            BeanUtils.copyProperties(record,cuDTO);
+            BeanUtils.copyProperties(record, cuDTO);
             return cuDTO;
         });
     }
 
-// 无固定场
+    // 无固定场
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean addUnfixed(AppSitePlaceUnfixedDTO unsetDTO) {
-        if (null==unsetDTO.getSiteId()) throw new JeecgBootException("请选择商户门店", SC_INTERNAL_SERVER_ERROR_500);
+        if (null == unsetDTO.getSiteId()) throw new JeecgBootException("请选择商户门店", SC_INTERNAL_SERVER_ERROR_500);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         AppSitePlace appSitePlace = new AppSitePlace();
         BeanUtils.copyProperties(unsetDTO, appSitePlace);
@@ -219,11 +266,12 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateUnfixed(AppSitePlaceUnfixedDTO unsetDTO) {
-        if (null==unsetDTO.getSiteId()) throw new JeecgBootException("商户门店不能为空", SC_INTERNAL_SERVER_ERROR_500);
+        if (null == unsetDTO.getSiteId())
+            throw new JeecgBootException("商户门店不能为空", SC_INTERNAL_SERVER_ERROR_500);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
         AppSitePlace dbSitePlace = baseMapper.selectById(unsetDTO.getId());
-        if (null==dbSitePlace) throw new JeecgBootException("数据不存在", SC_INTERNAL_SERVER_ERROR_500);
+        if (null == dbSitePlace) throw new JeecgBootException("数据不存在", SC_INTERNAL_SERVER_ERROR_500);
 //        checkPermission(dbSitePlace,sysUser);
 
         AppSitePlace appSitePlace = new AppSitePlace();
@@ -247,7 +295,7 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
     @Transactional(rollbackFor = Exception.class)
     public Boolean deleteUnfixed(String id) {
         AppSitePlace dbPlace = baseMapper.selectById(id);
-        if (null == dbPlace)throw new JeecgBootException("未找到对应数据", SC_INTERNAL_SERVER_ERROR_500);
+        if (null == dbPlace) throw new JeecgBootException("未找到对应数据", SC_INTERNAL_SERVER_ERROR_500);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 //        dbPlace.setUpdateBy(sysUser.getUsername());
         int deleteById = baseMapper.deleteById(dbPlace);
@@ -260,7 +308,9 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
     @Override
     public IPage<AppSitePlaceUnfixedDTO> queryUnfixedPage(AppSitePlaceUnfixedPageDTO dto) {
         Page<AppSitePlace> page = new Page<>(dto.getPageNum(), dto.getPageSize());
-        LambdaQueryWrapper<AppSitePlace> wrapper = Wrappers.<AppSitePlace>lambdaQuery().eq(AppSitePlace::getType, SitePlaceTypeEnum.UNFIXED.getCode());
+        LambdaQueryWrapper<AppSitePlace> wrapper = Wrappers.<AppSitePlace>lambdaQuery().eq(AppSitePlace::getType, SitePlaceTypeEnum.UNFIXED.getCode())
+                .eq(AppSitePlace::getSiteId, dto.getSiteId())
+                .like(StringUtils.isNotBlank(dto.getName()), AppSitePlace::getName, dto.getName());
 
         IPage<AppSitePlace> resultPage = baseMapper.selectPage(page, wrapper);
         return resultPage.convert(record -> {
@@ -277,7 +327,7 @@ public class AppSitePlaceServiceImpl extends ServiceImpl<AppSitePlaceMapper, App
     @Override
     public AppSitePlaceUnfixedDTO queryUnfixedById(String id) {
         AppSitePlace dbSitePlace = baseMapper.selectById(id);
-        if (null==dbSitePlace) throw new JeecgBootException("无固定场数据不存在", SC_INTERNAL_SERVER_ERROR_500);
+        if (null == dbSitePlace) throw new JeecgBootException("无固定场数据不存在", SC_INTERNAL_SERVER_ERROR_500);
         AppSitePriceRules appSitePriceRules = appSitePriceRulesMapper.selectOne(
                 Wrappers.<AppSitePriceRules>lambdaQuery().eq(AppSitePriceRules::getSitePlaceId, dbSitePlace.getId()));
         AppSitePlaceUnfixedDTO appSitePlaceUnfixedDTO = new AppSitePlaceUnfixedDTO();

+ 19 - 5
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppSiteServiceImpl.java

@@ -13,6 +13,7 @@ import org.jeecg.modules.system.app.entity.AppSite;
 import org.jeecg.modules.system.app.mapper.AppSiteMapper;
 import org.jeecg.modules.system.app.mapper.AppSitePriceRulesMapper;
 import org.jeecg.modules.system.app.service.IAppSiteService;
+import org.jeecg.modules.system.app.vo.AppSiteListVO;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
@@ -21,6 +22,9 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 import static org.jeecg.common.constant.CommonConstant.SC_INTERNAL_SERVER_ERROR_500;
 
 /**
@@ -36,7 +40,7 @@ public class AppSiteServiceImpl extends ServiceImpl<AppSiteMapper, AppSite> impl
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean saveWitchPriceRules(AppSiteDTO siteCuDTO) {
+    public Boolean saveSite(AppSiteDTO siteCuDTO) {
         if (null == siteCuDTO.getType()) throw new JeecgBootException("商户类型不能为空", SC_INTERNAL_SERVER_ERROR_500);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         AppSite site = new AppSite();
@@ -54,7 +58,7 @@ public class AppSiteServiceImpl extends ServiceImpl<AppSiteMapper, AppSite> impl
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean editWitchPriceRules(AppSiteDTO siteCuDTO) {
+    public Boolean editSite(AppSiteDTO siteCuDTO) {
         AppSite site = new AppSite();
         BeanUtils.copyProperties(siteCuDTO, site);
         if (null == site.getType()) throw new JeecgBootException("场地类型不能为空", SC_INTERNAL_SERVER_ERROR_500);
@@ -72,7 +76,7 @@ public class AppSiteServiceImpl extends ServiceImpl<AppSiteMapper, AppSite> impl
     }
 
     @Override
-    public AppSiteDTO queryWitchPriceRulesById(String id) {
+    public AppSiteDTO querySiteById(String id) {
         AppSite dbSite = baseMapper.selectById(id);
         if (null==dbSite) throw new JeecgBootException("未找到对应数据", SC_INTERNAL_SERVER_ERROR_500);
         AppSiteDTO appSiteDTO = new AppSiteDTO();
@@ -82,9 +86,19 @@ public class AppSiteServiceImpl extends ServiceImpl<AppSiteMapper, AppSite> impl
         return appSiteDTO;
     }
 
+    @Override
+    public List<AppSiteListVO> querySiteListByOrgCode(String orgCode) {
+        List<AppSite> siteList = baseMapper.selectList(Wrappers.<AppSite>lambdaQuery().eq(AppSite::getOrgCode, orgCode));
+        return siteList.stream().map(dbSite -> {
+            AppSiteListVO siteVO = new AppSiteListVO();
+            BeanUtils.copyProperties(dbSite, siteVO);
+            return siteVO;
+        }).collect(Collectors.toList());
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean deleteWitchPriceRulesById(String id) {
+    public Boolean deleteSiteById(String id) {
         AppSite dbSite = baseMapper.selectById(id);
         if (null==dbSite) throw new JeecgBootException("未找到对应数据", SC_INTERNAL_SERVER_ERROR_500);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -97,7 +111,7 @@ public class AppSiteServiceImpl extends ServiceImpl<AppSiteMapper, AppSite> impl
     }
 
     @Override
-    public IPage<AppSiteDTO> queryWitchPriceRulesPage(AppSitePageDTO dto) {
+    public IPage<AppSiteDTO> querySitePage(AppSitePageDTO dto) {
         Page<AppSite> page = new Page<>(dto.getPageNum(), dto.getPageSize());
         LambdaQueryWrapper<AppSite> wrapper = Wrappers.<AppSite>lambdaQuery()
                 .like(StringUtils.isNotBlank(dto.getName()), AppSite::getName, dto.getName());

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.system.app.service.impl;
+
+import org.jeecg.modules.system.app.entity.AppTeachingTime;
+import org.jeecg.modules.system.app.mapper.AppTeachingTimeMapper;
+import org.jeecg.modules.system.app.service.IAppTeachingTimeService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 教学/非教学维护表
+ * @Author: jeecg-boot
+ * @Date:   2025-07-10
+ * @Version: V1.0
+ */
+@Service
+public class AppTeachingTimeServiceImpl extends ServiceImpl<AppTeachingTimeMapper, AppTeachingTime> implements IAppTeachingTimeService {
+
+}

+ 1 - 10
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/utils/CusUtil.java

@@ -49,16 +49,7 @@ public class CusUtil {
         return rate;
     }
     public static void LixTest(){
-        Gson gson=new Gson();
-        AppSitePriceRules object=new AppSitePriceRules();
-        object.setInventory(5)
-              .setDayOfWeek("1")
-              .setOriginalPrice(BigDecimal.valueOf(20))
-              .setSellingPrice(BigDecimal.valueOf(15))
-              .setStartTime(java.sql.Timestamp.valueOf("2023-07-03 00:00:00"))
-              .setEndTime(java.sql.Timestamp.valueOf("2023-07-03 23:59:59"));
-        String json = gson.toJson(object);
-        System.out.println(json);
+
     }
     public static void main(String[] args) {
        LixTest();

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/AppCategoryVO.java

@@ -19,7 +19,7 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = false)
 @AllArgsConstructor
 @NoArgsConstructor
-@Schema(description="订单入参DTO")
+@Schema(description="运动类目返回VO")
 public class AppCategoryVO {
     /**id*/
     @Schema(description = "id")

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

@@ -0,0 +1,52 @@
+package org.jeecg.modules.system.app.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @author DM
+ * @date 2025/7/7 17:37
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="门店信息返回VO")
+public class AppSiteListVO {
+    @TableId(type = IdType.ASSIGN_ID)
+    @Schema(description = "id")
+    private String id;
+    /**部门编码*/
+    @Excel(name = "部门编码", width = 15)
+    @Schema(description = "部门编码")
+    private String orgCode;
+    /**关联部门id*/
+    @Excel(name = "关联部门id", width = 15)
+    @Schema(description = "关联部门id")
+    private String tenantId;
+    /**名称*/
+    @Excel(name = "名称", width = 15)
+    @Schema(description = "名称")
+    private String name;
+    /**地址*/
+    @Excel(name = "地址", width = 15)
+    @Schema(description = "地址")
+    private String address;
+    /**0学校 1体育馆*/
+    @Excel(name = "0学校 1体育馆", width = 15)
+    @Schema(description = "0学校 1体育馆")
+    private Integer type;
+    /**经营状态0营业 1休息*/
+    @Excel(name = "经营状态0营业 1休息", width = 15)
+    @Schema(description = "经营状态0营业 1休息")
+    private Integer runStatus;
+}

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

@@ -1,9 +0,0 @@
-package org.jeecg.modules.system.app.vo;
-
-/**
- * @author DM
- * @date 2025/7/7 17:37
- * @description
- */
-public class AppSiteVO {
-}