Kaynağa Gözat

feat(system): 重构运动类型模块并添加订单相关功能

-为 AppCategory 实体添加 sort 字段
- 新增 AppCategoryDTO 和 AppCategoryVO 类
-重构 AppCategoryController 和 AppCategoryServiceImpl
- 新增订单相关实体和 DTO 类
- 开始实现订单相关功能,包括保存订单和查询订单等
lix 2 hafta önce
ebeveyn
işleme
e08bd8e8d0
39 değiştirilmiş dosya ile 528 ekleme ve 397 silme
  1. 20 30
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppCategoryController.java
  2. 29 31
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppCoursesController.java
  3. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppCoursesPriceRulesController.java
  4. 5 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppGameController.java
  5. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppGamePriceRulesController.java
  6. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppInsureController.java
  7. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppInsureNumberController.java
  8. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppOrderController.java
  9. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppOrderProductController.java
  10. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppOrderUserController.java
  11. 0 182
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppProductCategoryController.java
  12. 5 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppSiteController.java
  13. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppSitePriceRulesController.java
  14. 30 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppCategoryDTO.java
  15. 1 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppCoursesDTO.java
  16. 1 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppGameDTO.java
  17. 37 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppOrderDTO.java
  18. 29 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppOrderUserDTO.java
  19. 9 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/AppSitePriceRulesDTO.java
  20. 27 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/BasePageDTO.java
  21. 4 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppCategory.java
  22. 6 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppOrder.java
  23. 0 85
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppProductCategory.java
  24. 8 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/entity/AppSite.java
  25. 40 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/OrderTypeEnum.java
  26. 2 2
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/SiteTypeEnum.java
  27. 0 17
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppProductCategoryMapper.java
  28. 0 5
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppProductCategoryMapper.xml
  29. 7 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppCategoryService.java
  30. 28 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppOrderService.java
  31. 0 14
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppProductCategoryService.java
  32. 5 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppSiteService.java
  33. 82 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppCategoryServiceImpl.java
  34. 39 1
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppOrderServiceImpl.java
  35. 0 19
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppProductCategoryServiceImpl.java
  36. 21 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppSiteServiceImpl.java
  37. 42 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/utils/OrderCodeGenerator.java
  38. 34 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/AppCategoryVO.java
  39. 9 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/AppSiteVO.java

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

@@ -10,10 +10,14 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
 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.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.app.dto.AppCategoryDTO;
 import org.jeecg.modules.system.app.entity.AppCategory;
 import org.jeecg.modules.system.app.service.IAppCategoryService;
 
@@ -22,6 +26,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.vo.AppCategoryVO;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -46,7 +51,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="运动类型表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appCategory")
+@RequestMapping("/app/appCategory")
 @Slf4j
 public class AppCategoryController extends JeecgController<AppCategory, IAppCategoryService> {
 	@Autowired
@@ -55,56 +60,42 @@ public class AppCategoryController extends JeecgController<AppCategory, IAppCate
 	/**
 	 * 分页列表查询
 	 *
-	 * @param appCategory
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
+	 * @param dto
 	 * @return
 	 */
 	//@AutoLog(value = "运动类型表-分页列表查询")
 	@Operation(summary="运动类型表-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<AppCategory>> queryPageList(AppCategory appCategory,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-
-
-        QueryWrapper<AppCategory> queryWrapper = QueryGenerator.initQueryWrapper(appCategory, req.getParameterMap());
-		Page<AppCategory> page = new Page<AppCategory>(pageNo, pageSize);
-		IPage<AppCategory> pageList = appCategoryService.page(page, queryWrapper);
-		return Result.OK(pageList);
+	public Result<IPage<AppCategoryVO>> queryPageList(AppCategoryDTO dto) {
+		return Result.OK(appCategoryService.queryCategoryList(dto));
 	}
 	
 	/**
 	 *   添加
 	 *
-	 * @param appCategory
+	 * @param appCategoryVO
 	 * @return
 	 */
 	@AutoLog(value = "运动类型表-添加")
 	@Operation(summary="运动类型表-添加")
-	@RequiresPermissions("org.jeecg.modules.app:nm_category:add")
+//	@RequiresPermissions("org.jeecg.modules.app:nm_category:add")
 	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody AppCategory appCategory) {
-		appCategoryService.save(appCategory);
-
-		return Result.OK("添加成功!");
+	public Result<String> add(@RequestBody AppCategoryVO appCategoryVO) {
+		return appCategoryService.saveCategory(appCategoryVO)?Result.OK("添加成功!") :Result.error("添加失败!");
 	}
 	
 	/**
 	 *  编辑
 	 *
-	 * @param appCategory
+	 * @param appCategoryDTO
 	 * @return
 	 */
 	@AutoLog(value = "运动类型表-编辑")
 	@Operation(summary="运动类型表-编辑")
-	@RequiresPermissions("org.jeecg.modules.app:nm_category:edit")
+//	@RequiresPermissions("org.jeecg.modules.app:nm_category:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody AppCategory appCategory) {
-		appCategoryService.updateById(appCategory);
-		return Result.OK("编辑成功!");
+	public Result<String> edit(@RequestBody AppCategoryDTO appCategoryDTO) {
+		return appCategoryService.editCategory(appCategoryDTO)?Result.OK("操作成功!") :Result.error("操作失败!");
 	}
 	
 	/**
@@ -115,11 +106,10 @@ public class AppCategoryController extends JeecgController<AppCategory, IAppCate
 	 */
 	@AutoLog(value = "运动类型表-通过id删除")
 	@Operation(summary="运动类型表-通过id删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_category:delete")
+//	@RequiresPermissions("org.jeecg.modules.app:nm_category:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		appCategoryService.removeById(id);
-		return Result.OK("删除成功!");
+		return appCategoryService.deleteCategory(id)?Result.OK("操作成功!"):Result.error("操作失败!");
 	}
 	
 	/**
@@ -130,7 +120,7 @@ public class AppCategoryController extends JeecgController<AppCategory, IAppCate
 	 */
 	@AutoLog(value = "运动类型表-批量删除")
 	@Operation(summary="运动类型表-批量删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_category:deleteBatch")
+//	@RequiresPermissions("org.jeecg.modules.app:nm_category:deleteBatch")
 	@DeleteMapping(value = "/deleteBatch")
 	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
 		this.appCategoryService.removeByIds(Arrays.asList(ids.split(",")));

+ 29 - 31
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppCoureseController.java → national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppCoursesController.java

@@ -3,8 +3,11 @@ package org.jeecg.modules.system.app.controller;
 import java.util.Arrays;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.system.app.dto.AppCoursesDTO;
 import org.jeecg.modules.system.app.entity.AppCourses;
 import org.jeecg.modules.system.app.service.IAppCoureseService;
@@ -30,11 +33,11 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="课程/培训表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appCourese")
+@RequestMapping("/app/appCourese")
 @Slf4j
-public class AppCoureseController extends JeecgController<AppCourses, IAppCoureseService> {
+public class AppCoursesController extends JeecgController<AppCourses, IAppCoureseService> {
 	@Autowired
-	private IAppCoureseService appCoureseService;
+	private IAppCoureseService appCoursesService;
 	
 	/**
 	 * 分页列表查询
@@ -55,8 +58,11 @@ public class AppCoureseController extends JeecgController<AppCourses, IAppCoures
 
 
         QueryWrapper<AppCourses> queryWrapper = QueryGenerator.initQueryWrapper(appCourese, req.getParameterMap());
+		LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+		queryWrapper.eq("org_code",loginUser.getOrgCode());
 		Page<AppCourses> page = new Page<AppCourses>(pageNo, pageSize);
-		IPage<AppCourses> pageList = appCoureseService.page(page, queryWrapper);
+		IPage<AppCourses> pageList = appCoursesService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
 	
@@ -71,9 +77,7 @@ public class AppCoureseController extends JeecgController<AppCourses, IAppCoures
 	@RequiresPermissions("org.jeecg.modules.app:nm_courese:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody AppCoursesDTO appCoursesDTO) {
-
-
-		return Result.OK("添加成功!");
+		return appCoursesService.saveWitchPriceRules(appCoursesDTO)?Result.OK("添加成功!"):Result.error("添加失败!");
 	}
 	
 	/**
@@ -87,8 +91,7 @@ public class AppCoureseController extends JeecgController<AppCourses, IAppCoures
 	@RequiresPermissions("org.jeecg.modules.app:nm_courese:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
 	public Result<String> edit(@RequestBody AppCoursesDTO appCoursesDTO) {
-		appCoureseService.editWitchPriceRules(appCoursesDTO);
-		return Result.OK("编辑成功!");
+		return appCoursesService.editWitchPriceRules(appCoursesDTO)?Result.OK("操作成功!"):Result.error("操作失败!");
 	}
 	
 	/**
@@ -102,24 +105,23 @@ public class AppCoureseController extends JeecgController<AppCourses, IAppCoures
 	@RequiresPermissions("org.jeecg.modules.app:nm_courese:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		appCoureseService.removeById(id);
-		return Result.OK("删除成功!");
+		return appCoursesService.deleteWitchPriceRulesById(id)?Result.OK("操作成功!"):Result.error("操作失败!");
 	}
 	
-	/**
-	 *  批量删除
-	 *
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "课程/培训表-批量删除")
-	@Operation(summary="课程/培训表-批量删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_courese:deleteBatch")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.appCoureseService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("批量删除成功!");
-	}
+//	/**
+//	 *  批量删除
+//	 *
+//	 * @param ids
+//	 * @return
+//	 */
+//	@AutoLog(value = "课程/培训表-批量删除")
+//	@Operation(summary="课程/培训表-批量删除")
+//	@RequiresPermissions("org.jeecg.modules.app:nm_courese:deleteBatch")
+//	@DeleteMapping(value = "/deleteBatch")
+//	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+//		this.appCoursesService.removeByIds(Arrays.asList(ids.split(",")));
+//		return Result.OK("批量删除成功!");
+//	}
 	
 	/**
 	 * 通过id查询
@@ -130,12 +132,8 @@ public class AppCoureseController extends JeecgController<AppCourses, IAppCoures
 	//@AutoLog(value = "课程/培训表-通过id查询")
 	@Operation(summary="课程/培训表-通过id查询")
 	@GetMapping(value = "/queryById")
-	public Result<AppCourses> queryById(@RequestParam(name="id",required=true) String id) {
-		AppCourses appCourese = appCoureseService.getById(id);
-		if(appCourese==null) {
-			return Result.error("未找到对应数据");
-		}
-		return Result.OK(appCourese);
+	public Result<AppCoursesDTO> queryById(@RequestParam(name="id",required=true) String id) {
+		return Result.OK(appCoursesService.queryWitchPriceRulesById(id));
 	}
 
     /**

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

@@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="课程价格规则表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appCoursesPriceRules")
+@RequestMapping("/app/appCoursesPriceRules")
 @Slf4j
 public class AppCoursesPriceRulesController extends JeecgController<AppCoursesPriceRules, IAppCoursesPriceRulesService> {
 	@Autowired

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

@@ -10,9 +10,12 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
 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.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.system.app.dto.AppGameDTO;
 import org.jeecg.modules.system.app.entity.AppGame;
@@ -72,6 +75,8 @@ public class AppGameController extends JeecgController<AppGame, IAppGameService>
 
 
         QueryWrapper<AppGame> queryWrapper = QueryGenerator.initQueryWrapper(appGame, req.getParameterMap());
+		LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		queryWrapper.eq("org_code",loginUser.getOrgCode());
 		Page<AppGame> page = new Page<AppGame>(pageNo, pageSize);
 		IPage<AppGame> pageList = appGameService.page(page, queryWrapper);
 		return Result.OK(pageList);

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

@@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="赛事价格规则表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appGamePriceRules")
+@RequestMapping("/app/appGamePriceRules")
 @Slf4j
 public class AppGamePriceRulesController extends JeecgController<AppGamePriceRules, IAppGamePriceRulesService> {
 	@Autowired

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

@@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="保险表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appInsure")
+@RequestMapping("/app/appInsure")
 @Slf4j
 public class AppInsureController extends JeecgController<AppInsure, IAppInsureService> {
 	@Autowired

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

@@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="保单表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appInsureNumber")
+@RequestMapping("/app/appInsureNumber")
 @Slf4j
 public class AppInsureNumberController extends JeecgController<AppInsureNumber, IAppInsureNumberService> {
 	@Autowired

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

@@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="订单表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appOrder")
+@RequestMapping("/app/appOrder")
 @Slf4j
 public class AppOrderController extends JeecgController<AppOrder, IAppOrderService> {
 	@Autowired

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

@@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="订单产品明细")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appOrderProduct")
+@RequestMapping("/app/appOrderProduct")
 @Slf4j
 public class AppOrderProductController extends JeecgController<AppOrderProduct, IAppOrderProductService> {
 	@Autowired

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

@@ -46,7 +46,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="订单人员详细表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appOrderUser")
+@RequestMapping("/app/appOrderUser")
 @Slf4j
 public class AppOrderUserController extends JeecgController<AppOrderUser, IAppOrderUserService> {
 	@Autowired

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

@@ -1,182 +0,0 @@
-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.AppProductCategory;
-import org.jeecg.modules.system.app.service.IAppProductCategoryService;
-
-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-03
- * @Version: V1.0
- */
-@Tag(name="产品类目表")
-@RestController
-@RequestMapping("/org/jeecg/modules/app/appProductCategory")
-@Slf4j
-public class AppProductCategoryController extends JeecgController<AppProductCategory, IAppProductCategoryService> {
-	@Autowired
-	private IAppProductCategoryService appProductCategoryService;
-	
-	/**
-	 * 分页列表查询
-	 *
-	 * @param appProductCategory
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-	//@AutoLog(value = "产品类目表-分页列表查询")
-	@Operation(summary="产品类目表-分页列表查询")
-	@GetMapping(value = "/list")
-	public Result<IPage<AppProductCategory>> queryPageList(AppProductCategory appProductCategory,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-
-
-        QueryWrapper<AppProductCategory> queryWrapper = QueryGenerator.initQueryWrapper(appProductCategory, req.getParameterMap());
-		Page<AppProductCategory> page = new Page<AppProductCategory>(pageNo, pageSize);
-		IPage<AppProductCategory> pageList = appProductCategoryService.page(page, queryWrapper);
-		return Result.OK(pageList);
-	}
-	
-	/**
-	 *   添加
-	 *
-	 * @param appProductCategory
-	 * @return
-	 */
-	@AutoLog(value = "产品类目表-添加")
-	@Operation(summary="产品类目表-添加")
-	@RequiresPermissions("org.jeecg.modules.app:nm_product_category:add")
-	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody AppProductCategory appProductCategory) {
-		appProductCategoryService.save(appProductCategory);
-
-		return Result.OK("添加成功!");
-	}
-	
-	/**
-	 *  编辑
-	 *
-	 * @param appProductCategory
-	 * @return
-	 */
-	@AutoLog(value = "产品类目表-编辑")
-	@Operation(summary="产品类目表-编辑")
-	@RequiresPermissions("org.jeecg.modules.app:nm_product_category:edit")
-	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody AppProductCategory appProductCategory) {
-		appProductCategoryService.updateById(appProductCategory);
-		return Result.OK("编辑成功!");
-	}
-	
-	/**
-	 *   通过id删除
-	 *
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "产品类目表-通过id删除")
-	@Operation(summary="产品类目表-通过id删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_product_category:delete")
-	@DeleteMapping(value = "/delete")
-	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		appProductCategoryService.removeById(id);
-		return Result.OK("删除成功!");
-	}
-	
-	/**
-	 *  批量删除
-	 *
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "产品类目表-批量删除")
-	@Operation(summary="产品类目表-批量删除")
-	@RequiresPermissions("org.jeecg.modules.app:nm_product_category:deleteBatch")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.appProductCategoryService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("批量删除成功!");
-	}
-	
-	/**
-	 * 通过id查询
-	 *
-	 * @param id
-	 * @return
-	 */
-	//@AutoLog(value = "产品类目表-通过id查询")
-	@Operation(summary="产品类目表-通过id查询")
-	@GetMapping(value = "/queryById")
-	public Result<AppProductCategory> queryById(@RequestParam(name="id",required=true) String id) {
-		AppProductCategory appProductCategory = appProductCategoryService.getById(id);
-		if(appProductCategory==null) {
-			return Result.error("未找到对应数据");
-		}
-		return Result.OK(appProductCategory);
-	}
-
-    /**
-    * 导出excel
-    *
-    * @param request
-    * @param appProductCategory
-    */
-    @RequiresPermissions("org.jeecg.modules.app:nm_product_category:exportXls")
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AppProductCategory appProductCategory) {
-        return super.exportXls(request, appProductCategory, AppProductCategory.class, "产品类目表");
-    }
-
-    /**
-      * 通过excel导入数据
-    *
-    * @param request
-    * @param response
-    * @return
-    */
-    @RequiresPermissions("org.jeecg.modules.app:nm_product_category:importExcel")
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, AppProductCategory.class);
-    }
-
-}

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

@@ -4,8 +4,11 @@ import java.util.Arrays;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.system.app.dto.AppSiteDTO;
 import org.jeecg.modules.system.app.entity.AppSite;
 import org.jeecg.modules.system.app.entity.AppSitePriceRules;
@@ -61,6 +64,8 @@ public class AppSiteController extends JeecgController<AppSite, IAppSiteService>
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
         QueryWrapper<AppSite> queryWrapper = QueryGenerator.initQueryWrapper(appSite, req.getParameterMap());
+		LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		queryWrapper.eq("org_code",loginUser.getOrgCode());
 		Page<AppSite> page = new Page<AppSite>(pageNo, pageSize);
 		IPage<AppSite> pageList = appSiteService.page(page, queryWrapper);
 		return Result.OK(pageList);

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

@@ -29,7 +29,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
  */
 @Tag(name="场地价格规则表")
 @RestController
-@RequestMapping("/org/jeecg/modules/app/appSitePriceRules")
+@RequestMapping("/app/appSitePriceRules")
 @Slf4j
 public class AppSitePriceRulesController extends JeecgController<AppSitePriceRules, IAppSitePriceRulesService> {
 	@Autowired

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

@@ -0,0 +1,30 @@
+package org.jeecg.modules.system.app.dto;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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/7 15:41
+ * @description
+ */
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="运动类目入参DTO")
+public class AppCategoryDTO extends BasePageDTO{
+    @Schema(description ="id")
+    private String id;
+    @Schema(description ="名称", example = "篮球")
+    private String name;
+    @Schema(description ="排序", example = "1")
+    private int sort;
+}

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

@@ -22,6 +22,7 @@ import java.util.List;
 @EqualsAndHashCode(callSuper = false)
 @AllArgsConstructor
 @NoArgsConstructor
+@Schema(description="课程入参DTO")
 public class AppCoursesDTO {
     private AppCourses course;
     @ArraySchema(schema = @Schema(implementation = AppCoursesPriceRules.class), minItems = 1)

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

@@ -22,7 +22,7 @@ import java.util.List;
 @EqualsAndHashCode(callSuper = false)
 @AllArgsConstructor
 @NoArgsConstructor
-@Schema(description = "场地入参DTO")
+@Schema(description = "赛事入参DTO")
 public class AppGameDTO {
     private AppGame game;
     @ArraySchema(schema = @Schema(implementation = AppGamePriceRules.class), minItems = 1)

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

@@ -0,0 +1,37 @@
+package org.jeecg.modules.system.app.dto;
+
+import io.swagger.v3.oas.annotations.media.ArraySchema;
+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.jeecg.modules.system.app.entity.AppOrder;
+import org.jeecg.modules.system.app.entity.AppOrderProduct;
+import org.jeecg.modules.system.app.entity.AppOrderUser;
+
+import java.util.List;
+
+/**
+ * @author DM
+ * @date 2025/7/7 14:29
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="订单入参DTO")
+public class AppOrderDTO {
+    private AppOrder order;
+    @ArraySchema(schema = @Schema(implementation = AppOrderProduct.class), minItems = 1)
+    /**
+     * 订单中产品id列表
+     */
+    @Schema(description = "订单中产品id列表")
+    private List<String> orderProductList;
+    @ArraySchema(schema = @Schema(implementation = AppOrderUserDTO.class), minItems = 1)
+    private List<AppOrderUserDTO> orderUserList;
+}

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

@@ -0,0 +1,29 @@
+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;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @author DM
+ * @date 2025/7/7 20:01
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="订单人员入参DTO")
+public class AppOrderUserDTO {
+    /**人员名称*/
+    @Schema(description = "人员名称")
+    private String name;
+    /**身份证*/
+    @Schema(description = "身份证")
+    private String idNumber;
+}

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

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

+ 27 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/BasePageDTO.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/7 16:17
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="分页入参DTO")
+public class BasePageDTO {
+    @Schema(description = "当前页码", example = "1")
+    private Long pageNum = 1L;
+
+    @Schema(description = "每页条数", example = "10")
+    private Long pageSize = 10L;
+}

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

@@ -49,6 +49,10 @@ public class AppCategory implements Serializable {
 	@Excel(name = "名称", width = 15)
     @Schema(description = "名称")
     private String name;
+	/**顺序*/
+	@Excel(name = "顺序", width = 15)
+    @Schema(description = "顺序")
+    private Integer sort;
 	/**乐观锁*/
 	@Excel(name = "乐观锁", width = 15)
     @Schema(description = "乐观锁")

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

@@ -40,7 +40,11 @@ public class AppOrder implements Serializable {
 	/**订单号*/
 	@Excel(name = "订单号", width = 15)
     @Schema(description = "订单号")
-    private String order_id;
+    private String orderCode;
+    /**订单类型*/
+    @Excel(name = "订单类型", width = 15)
+    @Schema(description = "订单类型")
+    private Integer type;
     /**部门id*/
 	@Excel(name = "部门id", width = 15)
     @Schema(description = "部门id")
@@ -57,7 +61,7 @@ public class AppOrder implements Serializable {
 	@Excel(name = "用户id", width = 15)
     @Schema(description = "用户id")
     private String userId;
-    /**订单人员*/
+    /**订单人员信息表ids*/
     @Excel(name = "订单人员", width = 15)
     @Schema(description = "订单人员")
     private String peoples;

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

@@ -1,85 +0,0 @@
-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-03
- * @Version: V1.0
- */
-@Data
-@TableName("nm_product_category")
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@Schema(description="产品类目表")
-public class AppProductCategory 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 orgCode;
-	/**租户id*/
-	@Excel(name = "租户id", width = 15)
-    @Schema(description = "租户id")
-    private String tenantId;
-	/**场地*/
-	@Excel(name = "场地", width = 15)
-    @Schema(description = "场地")
-    private String productId;
-	/**运动类型*/
-	@Excel(name = "运动类型", width = 15)
-    @Schema(description = "运动类型")
-    private String categoryId;
-	/**乐观锁*/
-	@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;
-}

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

@@ -89,6 +89,14 @@ public class AppSite implements Serializable {
 	@Excel(name = "适用人数", width = 15)
     @Schema(description = "适用人数")
     private Integer usableCount;
+	/**不可用时间 星期*/
+	@Excel(name = "不可用时间 星期", width = 15)
+    @Schema(description = "不可用时间 星期")
+    private String downTime;
+	/**购买限制*/
+	@Excel(name = "购买限制", width = 15)
+    @Schema(description = "购买限制")
+    private Integer buyLimit;
  	/**设施/信息*/
 	@Excel(name = "设施/信息", width = 15)
     @Schema(description = "设施/信息")

+ 40 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/OrderTypeEnum.java

@@ -0,0 +1,40 @@
+package org.jeecg.modules.system.app.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum OrderTypeEnum {
+    //    0学校 1包场 2不固定场
+    /**
+     * 场地
+     */
+    SITE(0, "场地"),
+    /**
+     * 赛事
+     */
+    GAME(1, "赛事"),
+    /**
+     * 课程
+     */
+    COURSES(2, "课程");
+    final int code;
+    final String name;
+    OrderTypeEnum(int code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+    public int getCode() {
+        return code;
+    }
+    public String getName() {
+        return name;
+    }
+    public static OrderTypeEnum getByCode(int code) {
+        for (OrderTypeEnum value : values()) {
+            if (value.code == code) {
+                return value;
+            }
+        }
+        return null;
+    }
+}

+ 2 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/enums/SiteTypeEnum.java

@@ -8,8 +8,8 @@ public enum SiteTypeEnum {
     SCHOOL(0, "学校"),
     PACKAGE(1, "包场"),
     UNFIXED(2, "不固定场");
-    int code;
-    String name;
+    final int code;
+    final String name;
     SiteTypeEnum(int code, String name) {
         this.code = code;
         this.name = name;

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

@@ -1,17 +0,0 @@
-package org.jeecg.modules.system.app.mapper;
-
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.system.app.entity.AppProductCategory;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * @Description: 产品类目表
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-public interface AppProductCategoryMapper extends BaseMapper<AppProductCategory> {
-
-}

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

@@ -1,5 +0,0 @@
-<?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.AppProductCategoryMapper">
-
-</mapper>

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

@@ -1,7 +1,10 @@
 package org.jeecg.modules.system.app.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.jeecg.modules.system.app.dto.AppCategoryDTO;
 import org.jeecg.modules.system.app.entity.AppCategory;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.app.vo.AppCategoryVO;
 
 /**
  * @Description: 运动类型表
@@ -10,5 +13,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IAppCategoryService extends IService<AppCategory> {
+    Boolean saveCategory(AppCategoryVO appCategoryVO);
+    Boolean editCategory(AppCategoryDTO appCategoryVO);
+    Boolean deleteCategory(String id);
+    IPage<AppCategoryVO> queryCategoryList(AppCategoryDTO appCategoryDTO);
 
 }

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.system.app.service;
 
+import org.jeecg.modules.system.app.dto.AppOrderDTO;
 import org.jeecg.modules.system.app.entity.AppOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -10,5 +11,32 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IAppOrderService extends IService<AppOrder> {
+    /**
+     * 添加订单表
+     * @param appOrderDTO
+     * @return
+     */
+    Boolean saveWitchProduct(AppOrderDTO appOrderDTO);
+
+    /**
+     * 修改订单表
+     * @param appOrderDTO
+     * @return
+     */
+    Boolean editWitchProduct(AppOrderDTO appOrderDTO);
+
+    /**
+     * 删除订单表
+     * @param id
+     * @return
+     */
+    Boolean deleteWitchProductById(String id);
+
+    /**
+     * 查询订单详情
+     * @param id
+     * @return
+     */
+    AppOrderDTO queryWitchProductById(String id);
 
 }

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

@@ -1,14 +0,0 @@
-package org.jeecg.modules.system.app.service;
-
-import org.jeecg.modules.system.app.entity.AppProductCategory;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * @Description: 产品类目表
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-public interface IAppProductCategoryService extends IService<AppProductCategory> {
-
-}

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

@@ -1,8 +1,11 @@
 package org.jeecg.modules.system.app.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.jeecg.modules.system.app.dto.AppCategoryDTO;
 import org.jeecg.modules.system.app.dto.AppSiteDTO;
 import org.jeecg.modules.system.app.entity.AppSite;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.app.vo.AppCategoryVO;
 
 /**
  * @Description: 场地表
@@ -37,4 +40,6 @@ public interface IAppSiteService extends IService<AppSite> {
      */
     Boolean deleteWitchPriceRulesById(String id);
 
+    IPage<AppSite> querySiteList(AppSiteDTO dto);
+
 }

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

@@ -1,12 +1,30 @@
 package org.jeecg.modules.system.app.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.system.app.dto.AppCategoryDTO;
 import org.jeecg.modules.system.app.entity.AppCategory;
+import org.jeecg.modules.system.app.entity.AppSite;
 import org.jeecg.modules.system.app.mapper.AppCategoryMapper;
 import org.jeecg.modules.system.app.service.IAppCategoryService;
+import org.jeecg.modules.system.app.vo.AppCategoryVO;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.List;
+
+import static org.jeecg.common.constant.CommonConstant.SC_INTERNAL_SERVER_ERROR_500;
+
 /**
  * @Description: 运动类型表
  * @Author: jeecg-boot
@@ -16,4 +34,68 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class AppCategoryServiceImpl extends ServiceImpl<AppCategoryMapper, AppCategory> implements IAppCategoryService {
 
+
+    @Override
+    public Boolean saveCategory(AppCategoryVO categoryVO) {
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        AppCategory category = new AppCategory();
+        BeanUtils.copyProperties(categoryVO, category);
+        category.setOrgCode(loginUser.getOrgCode());
+        category.setTenantId(loginUser.getOrgId());
+        int insert = baseMapper.insert(category);
+        if (insert > 0) {
+            return Boolean.TRUE;
+        }
+        return Boolean.FALSE;
+    }
+
+    @Override
+    public Boolean editCategory(AppCategoryDTO categoryDTO) {
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        AppCategory selectedById = baseMapper.selectById(categoryDTO.getId());
+        if (null==selectedById) throw new JeecgBootException("无此类目信息");
+        checkPermission(selectedById, loginUser);
+        AppCategory category = new AppCategory();
+        BeanUtils.copyProperties(categoryDTO, category);
+        int update = baseMapper.updateById(category);
+        if (update > 0) {
+            return Boolean.TRUE;
+        }
+        return Boolean.FALSE;
+    }
+
+    @Override
+    public Boolean deleteCategory(String id) {
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        AppCategory selectedById = baseMapper.selectById(id);
+        if (null==selectedById) throw new JeecgBootException("无此类目信息");
+        checkPermission(selectedById, loginUser);
+        int delete = baseMapper.deleteById(id);
+        if (delete > 0) {
+            return Boolean.TRUE;
+        }
+        return Boolean.FALSE;
+    }
+
+    @Override
+    public IPage<AppCategoryVO> queryCategoryList(AppCategoryDTO dto) {
+        Page<AppCategory> page = new Page<>(dto.getPageNum(), dto.getPageSize());
+        LambdaQueryWrapper<AppCategory> wrapper = Wrappers.<AppCategory>lambdaQuery()
+                .like(StringUtils.isNotBlank(dto.getName()), AppCategory::getName, dto.getName()).last("order by sort");
+        IPage<AppCategory> resultPage = baseMapper.selectPage(page, wrapper);
+        return resultPage.convert(record -> {
+            AppCategoryVO vo = new AppCategoryVO();
+            BeanUtils.copyProperties(record, vo);
+            return vo;
+        });
+    }
+    /**
+     * 权限校验
+     * @param category
+     * @param sysUser
+     */
+    private void checkPermission(AppCategory category, LoginUser sysUser ){
+        if (!sysUser.getOrgCode().equals(category.getOrgCode())) throw new JeecgBootException("无权限操作", SC_INTERNAL_SERVER_ERROR_500);
+    }
+
 }

+ 39 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppOrderServiceImpl.java

@@ -1,11 +1,21 @@
 package org.jeecg.modules.system.app.service.impl;
 
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.system.app.dto.AppOrderDTO;
 import org.jeecg.modules.system.app.entity.AppOrder;
-import org.jeecg.modules.system.app.mapper.AppOrderMapper;
+import org.jeecg.modules.system.app.entity.AppOrderProduct;
+import org.jeecg.modules.system.app.entity.AppOrderUser;
+import org.jeecg.modules.system.app.enums.OrderTypeEnum;
+import org.jeecg.modules.system.app.mapper.*;
 import org.jeecg.modules.system.app.service.IAppOrderService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
 
 /**
  * @Description: 订单表
@@ -15,5 +25,33 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class AppOrderServiceImpl extends ServiceImpl<AppOrderMapper, AppOrder> implements IAppOrderService {
+    @Resource
+    AppOrderProductMapper appOrderProductMapper;
+    @Resource
+    AppInsureNumberMapper appInsureMapper;
+    @Resource
+    AppOrderUserMapper appOrderUserMapper;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean saveWitchProduct(AppOrderDTO appOrderDTO) {
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+        return Boolean.TRUE;
+    }
+
+    @Override
+    public Boolean editWitchProduct(AppOrderDTO appOrderDTO) {
+        return null;
+    }
+
+    @Override
+    public Boolean deleteWitchProductById(String id) {
+        return null;
+    }
 
+    @Override
+    public AppOrderDTO queryWitchProductById(String id) {
+        return null;
+    }
 }

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

@@ -1,19 +0,0 @@
-package org.jeecg.modules.system.app.service.impl;
-
-import org.jeecg.modules.system.app.entity.AppProductCategory;
-import org.jeecg.modules.system.app.mapper.AppProductCategoryMapper;
-import org.jeecg.modules.system.app.service.IAppProductCategoryService;
-import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-/**
- * @Description: 产品类目表
- * @Author: jeecg-boot
- * @Date:   2025-07-03
- * @Version: V1.0
- */
-@Service
-public class AppProductCategoryServiceImpl extends ServiceImpl<AppProductCategoryMapper, AppProductCategory> implements IAppProductCategoryService {
-
-}

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

@@ -1,16 +1,23 @@
 package org.jeecg.modules.system.app.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.AppCategoryDTO;
 import org.jeecg.modules.system.app.dto.AppSiteDTO;
+import org.jeecg.modules.system.app.entity.AppCategory;
 import org.jeecg.modules.system.app.entity.AppSite;
 import org.jeecg.modules.system.app.entity.AppSitePriceRules;
 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.AppCategoryVO;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -123,6 +130,20 @@ public class AppSiteServiceImpl extends ServiceImpl<AppSiteMapper, AppSite> impl
         return Boolean.TRUE;
     }
 
+    @Override
+    public IPage<AppSite> querySiteList(AppSiteDTO 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());
+//        IPage<AppSite> resultPage = baseMapper.selectPage(page, wrapper);
+//        return resultPage.convert(record -> {
+//            AppSiteVO vo = new AppCategoryVO();
+//            BeanUtils.copyProperties(record, vo);
+//            return vo;
+//        });
+        return null;
+    }
+
     /**
      * 权限校验
      * @param site

+ 42 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/utils/OrderCodeGenerator.java

@@ -0,0 +1,42 @@
+package org.jeecg.modules.system.app.utils;
+
+import java.time.LocalDate;
+import java.util.Random;
+
+/**
+ * @author DM
+ * @date 2025/7/7 18:23
+ * @description
+ */
+public class OrderCodeGenerator {
+    /**
+     * 生成 8 位编码:前 4 位随机数,后 4 位为当前日期(MMDD)
+     */
+    public static String generateCode() {
+        // 获取当前日期,格式化为 MMdd(例如:0715)
+        LocalDate currentDate = LocalDate.now();
+        String datePart = String.format("%02d%02d",
+                currentDate.getMonthValue(), // 月份
+                currentDate.getDayOfMonth()); // 日期
+
+        // 生成 4 位随机数字
+        Random random = new Random();
+        int randomNumber = 1000 + random.nextInt(9000); // 1000 ~ 9999
+
+        // 拼接结果
+        return String.format("%04d%s", randomNumber, datePart);
+    }
+
+    /**
+     *
+     * @param businessType 88支付 86退款
+     * @return
+     */
+    public static String getOrderCode(Integer businessType){
+        return businessType + generateCode();
+    }
+
+    public static void main(String[] args) {
+        System.out.println("生成的编码:" + getOrderCode(88));
+    }
+}

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

@@ -0,0 +1,34 @@
+package org.jeecg.modules.system.app.vo;
+
+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 java.util.Date;
+
+/**
+ * @author DM
+ * @date 2025/7/7 15:32
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="订单入参DTO")
+public class AppCategoryVO {
+    /**名称*/
+    @Schema(description = "名称")
+    private String name;
+    /**顺序*/
+    @Schema(description = "顺序")
+    private Integer sort;
+
+    /**创建时间*/
+    @Schema(description = "创建时间")
+    private Date createTime;;
+}

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

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