From d32dbefd5834108bcf64faf99c4f170007ba79b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=97=AD?= <2795210596@qq.com> Date: Sun, 13 Apr 2025 21:52:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=90=83=E6=9D=86=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=EF=BC=8C=E5=93=81=E7=89=8C=EF=BC=8C=E7=B3=BB=E5=88=97?= =?UTF-8?q?=EF=BC=8C=E5=95=86=E5=93=81=E7=AD=89=E5=8A=9F=E8=83=BDCRUD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/common/validate/AddGroup.java | 10 ++ .../cloud/common/validate/EditGroup.java | 10 ++ .../controller/admin/CueBrandController.java | 90 +++++++++- .../admin/CueProductController.java | 90 +++++++++- .../controller/admin/CueSeriesController.java | 90 +++++++++- .../controller/admin/CueTypeController.java | 88 ++++++++-- .../controller/app/CueBrandController.java | 25 +++ .../controller/app/CueProductController.java | 17 -- .../controller/app/CueSeriesController.java | 27 +++ .../controller/app/CueTypeController.java | 26 +++ .../cuerecycle/mapper/CueBrandMapper.java | 58 +++---- .../cuerecycle/mapper/CueProductMapper.java | 61 +++---- .../cuerecycle/mapper/CueSeriesMapper.java | 53 ++---- .../cuerecycle/mapper/CueTypeMapper.java | 56 +++--- .../cloud/cuerecycle/model/CueBrand.java | 32 ++-- .../cloud/cuerecycle/model/CueProduct.java | 43 +++-- .../cloud/cuerecycle/model/CueSeries.java | 26 +-- .../cloud/cuerecycle/model/CueType.java | 30 ++-- .../cuerecycle/model/dto/CueBrandDTO.java | 41 +++-- .../cuerecycle/model/dto/CueProductDTO.java | 52 ++++-- .../cuerecycle/model/dto/CueSeriesDTO.java | 35 ++-- .../cuerecycle/model/dto/CueTypeDTO.java | 35 ++-- .../cloud/cuerecycle/model/vo/CueBrandVO.java | 35 ++-- .../cuerecycle/model/vo/CueProductVO.java | 54 +++--- .../cuerecycle/model/vo/CueSeriesVO.java | 31 +++- .../cloud/cuerecycle/model/vo/CueTypeVO.java | 36 ++-- .../cuerecycle/service/CueBrandService.java | 61 ++++++- .../cuerecycle/service/CueProductService.java | 54 +++++- .../cuerecycle/service/CueSeriesService.java | 62 ++++++- .../cuerecycle/service/CueTypeService.java | 61 +++++-- .../service/impl/CueBrandServiceImpl.java | 59 ++++++- .../service/impl/CueProductServiceImpl.java | 56 +++++- .../service/impl/CueSeriesServiceImpl.java | 62 ++++++- .../service/impl/CueTypeServiceImpl.java | 50 ++++-- .../main/resources/mapper/CueBrandMapper.xml | 129 +++++++------- .../resources/mapper/CueProductMapper.xml | 164 ++++++++++++------ .../main/resources/mapper/CueSeriesMapper.xml | 128 +++++++------- .../main/resources/mapper/CueTypeMapper.xml | 125 +++++++------ 38 files changed, 1483 insertions(+), 679 deletions(-) create mode 100644 tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/AddGroup.java create mode 100644 tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/EditGroup.java delete mode 100644 tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueProductController.java diff --git a/tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/AddGroup.java b/tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/AddGroup.java new file mode 100644 index 0000000..78695d5 --- /dev/null +++ b/tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/AddGroup.java @@ -0,0 +1,10 @@ +package com.tmerclub.cloud.common.validate; + +/** + * 校验分组 添加 + * + * @author : frank + * @create : 2025-04-13 + */ +public interface AddGroup { +} diff --git a/tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/EditGroup.java b/tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/EditGroup.java new file mode 100644 index 0000000..b134a5d --- /dev/null +++ b/tmerclub-common/tmerclub-common-core/src/main/java/com/tmerclub/cloud/common/validate/EditGroup.java @@ -0,0 +1,10 @@ +package com.tmerclub.cloud.common.validate; + +/** + * 校验分组 修改 + * + * @author : frank + * @create : 2025-04-13 + */ +public interface EditGroup { +} diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueBrandController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueBrandController.java index bac1b4d..a4f4265 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueBrandController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueBrandController.java @@ -1,17 +1,97 @@ package com.tmerclub.cloud.cuerecycle.controller.admin; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.common.response.ServerResponseEntity; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; +import com.tmerclub.cloud.cuerecycle.model.dto.CueBrandDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueBrandVO; +import com.tmerclub.cloud.cuerecycle.service.CueBrandService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; /** * 球杆品牌 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-11 + */ @Tag(name = "后管-球杆品牌") @RestController("adminCueBrandController") @RequestMapping("/admin/cueBrand") public class CueBrandController { + @Resource + CueBrandService cueBrandService; + + /** + * 分页查询 + * + * @param pageDTO 分页参数 + * @param cueBrandDTO 查询参数 + * @return 分页数据 + */ + @GetMapping("/page") + @Operation(summary = "查询球杆品牌分页列表", description = "查询球杆品牌分页列表") + public ServerResponseEntity> page(@Valid PageDTO pageDTO, CueBrandDTO cueBrandDTO) { + PageVO cueBrandPage = cueBrandService.page(pageDTO, cueBrandDTO); + return ServerResponseEntity.success(cueBrandPage); + } + + + /** + * 根据主键id获取球杆品牌 + * + * @param brandId 主键id + * @return CueBrandVO + */ + @GetMapping + @Operation(summary = "根据id获取球杆品牌", description = "根据id获取球杆品牌") + public ServerResponseEntity getById(@RequestParam Long brandId) { + CueBrandVO cueBrand = cueBrandService.getById(brandId); + return ServerResponseEntity.success(cueBrand); + } + + /** + * 新增球杆品牌 + * + * @param cueBrandDTO CueBrandDTO + * @return ServerResponseEntity + */ + @PostMapping + @Operation(summary = "新增球杆品牌", description = "新增球杆品牌") + public ServerResponseEntity save(@Validated(AddGroup.class) @RequestBody CueBrandDTO cueBrandDTO) { + int insert = cueBrandService.save(cueBrandDTO); + return insert > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("保存失败"); + } + + /** + * 修改球杆品牌 + * + * @param cueBrandDTO CueBrandDTO + * @return ServerResponseEntity + */ + @PutMapping + @Operation(summary = "修改球杆品牌", description = "修改球杆品牌") + public ServerResponseEntity update(@Validated(EditGroup.class) @RequestBody CueBrandDTO cueBrandDTO) { + int update = cueBrandService.update(cueBrandDTO); + return update > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("修改失败"); + } + + /** + * 删除球杆品牌 + * + * @param brandId 主键id + * @return ServerResponseEntity + */ + @DeleteMapping + @Operation(summary = "删除球杆品牌", description = "删除球杆品牌") + public ServerResponseEntity delete(@RequestParam Long brandId) { + int delete = cueBrandService.delete(brandId); + return delete > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("删除失败"); + } } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueProductController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueProductController.java index b985f5b..c59bdfa 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueProductController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueProductController.java @@ -1,17 +1,97 @@ package com.tmerclub.cloud.cuerecycle.controller.admin; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.common.response.ServerResponseEntity; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; +import com.tmerclub.cloud.cuerecycle.model.dto.CueProductDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueProductVO; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.cuerecycle.service.CueProductService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; /** * 球杆商品 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-11 + */ @Tag(name = "后管-球杆商品") @RestController("adminCueProductController") @RequestMapping("/admin/cueProduct") public class CueProductController { + @Resource + CueProductService cueProductService; + + /** + * 分页查询 + * + * @param pageDTO 分页参数 + * @param cueProductDTO 查询参数 + * @return 分页数据 + */ + @GetMapping("/page") + @Operation(summary = "查询球杆商品分页列表", description = "查询球杆商品分页列表") + public ServerResponseEntity> page(@Valid PageDTO pageDTO, CueProductDTO cueProductDTO) { + PageVO cueProductPage = cueProductService.page(pageDTO, cueProductDTO); + return ServerResponseEntity.success(cueProductPage); + } + + + /** + * 根据主键id获取球杆商品 + * + * @param productId 主键id + * @return CueProductVO + */ + @GetMapping + @Operation(summary = "根据id获取球杆商品", description = "根据id获取球杆商品") + public ServerResponseEntity getById(@RequestParam Long productId) { + CueProductVO cueProduct = cueProductService.getById(productId); + return ServerResponseEntity.success(cueProduct); + } + + /** + * 新增球杆商品 + * + * @param cueProductDTO CueProductDTO + * @return ServerResponseEntity + */ + @PostMapping + @Operation(summary = "新增球杆商品", description = "新增球杆商品") + public ServerResponseEntity save(@Validated(AddGroup.class) @RequestBody CueProductDTO cueProductDTO) { + int insert = cueProductService.save(cueProductDTO); + return insert > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("保存失败"); + } + + /** + * 修改球杆商品 + * + * @param cueProductDTO CueProductDTO + * @return ServerResponseEntity + */ + @PutMapping + @Operation(summary = "修改球杆商品", description = "修改球杆商品") + public ServerResponseEntity update(@Validated(EditGroup.class) @RequestBody CueProductDTO cueProductDTO) { + int update = cueProductService.update(cueProductDTO); + return update > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("修改失败"); + } + + /** + * 删除球杆商品 + * + * @param productId 主键id + * @return ServerResponseEntity + */ + @DeleteMapping + @Operation(summary = "删除球杆商品", description = "删除球杆商品") + public ServerResponseEntity delete(@RequestParam Long productId) { + int delete = cueProductService.delete(productId); + return delete > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("删除失败"); + } } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueSeriesController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueSeriesController.java index bfcca20..c2f9beb 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueSeriesController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueSeriesController.java @@ -1,17 +1,97 @@ package com.tmerclub.cloud.cuerecycle.controller.admin; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.common.response.ServerResponseEntity; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; +import com.tmerclub.cloud.cuerecycle.model.dto.CueSeriesDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueSeriesVO; +import com.tmerclub.cloud.cuerecycle.service.CueSeriesService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; /** * 球杆系列 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-11 + */ @Tag(name = "后管-球杆系列") @RestController("adminCueSeriesController") @RequestMapping("/admin/cueSeries") public class CueSeriesController { + @Resource + CueSeriesService cueSeriesService; + + /** + * 分页查询 + * + * @param pageDTO 分页参数 + * @param cueSeriesDTO 查询参数 + * @return 分页数据 + */ + @GetMapping("/page") + @Operation(summary = "查询球杆系列分页列表", description = "查询球杆系列分页列表") + public ServerResponseEntity> page(@Valid PageDTO pageDTO, CueSeriesDTO cueSeriesDTO) { + PageVO cueSeriesPage = cueSeriesService.page(pageDTO, cueSeriesDTO); + return ServerResponseEntity.success(cueSeriesPage); + } + + + /** + * 根据主键id获取球杆系列 + * + * @param seriesId 主键id + * @return CueSeriesVO + */ + @GetMapping + @Operation(summary = "根据id获取球杆系列", description = "根据id获取球杆系列") + public ServerResponseEntity getById(@RequestParam Long seriesId) { + CueSeriesVO cueSeries = cueSeriesService.getById(seriesId); + return ServerResponseEntity.success(cueSeries); + } + + /** + * 新增球杆系列 + * + * @param cueSeriesDTO CueSeriesDTO + * @return ServerResponseEntity + */ + @PostMapping + @Operation(summary = "新增球杆系列", description = "新增球杆系列") + public ServerResponseEntity save(@Validated(AddGroup.class) @RequestBody CueSeriesDTO cueSeriesDTO) { + int insert = cueSeriesService.save(cueSeriesDTO); + return insert > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("保存失败"); + } + + /** + * 修改球杆系列 + * + * @param cueSeriesDTO CueSeriesDTO + * @return ServerResponseEntity + */ + @PutMapping + @Operation(summary = "修改球杆系列", description = "修改球杆系列") + public ServerResponseEntity update(@Validated(EditGroup.class) @RequestBody CueSeriesDTO cueSeriesDTO) { + int update = cueSeriesService.update(cueSeriesDTO); + return update > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("修改失败"); + } + + /** + * 删除球杆系列 + * + * @param seriesId 主键id + * @return ServerResponseEntity + */ + @DeleteMapping + @Operation(summary = "删除球杆系列", description = "删除球杆系列") + public ServerResponseEntity delete(@RequestParam Long seriesId) { + int delete = cueSeriesService.delete(seriesId); + return delete > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("删除失败"); + } } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueTypeController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueTypeController.java index a48796d..8e2d859 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueTypeController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueTypeController.java @@ -1,23 +1,26 @@ package com.tmerclub.cloud.cuerecycle.controller.admin; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; import com.tmerclub.cloud.common.response.ServerResponseEntity; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; import com.tmerclub.cloud.cuerecycle.model.dto.CueTypeDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueTypeVO; import com.tmerclub.cloud.cuerecycle.service.CueTypeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; /** * 球杆类型 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-11 21:22:35 + */ @Tag(name = "后管-球杆类型") @RestController("adminCueTypeController") @RequestMapping("/admin/cueType") @@ -25,13 +28,70 @@ public class CueTypeController { @Resource CueTypeService cueTypeService; + /** + * 分页查询 + * + * @param pageDTO 分页参数 + * @param cueTypeDTO 查询参数 + * @return 分页数据 + */ + @GetMapping("/page") + @Operation(summary = "查询球杆类型分页列表", description = "查询球杆类型分页列表") + public ServerResponseEntity> page(@Valid PageDTO pageDTO, CueTypeDTO cueTypeDTO) { + PageVO cueTypePage = cueTypeService.page(pageDTO, cueTypeDTO); + return ServerResponseEntity.success(cueTypePage); + } + + + /** + * 根据主键id获取球杆类型 + * + * @param typeId 主键id + * @return CueTypeVO + */ + @GetMapping + @Operation(summary = "根据id获取球杆类型", description = "根据id获取球杆类型") + public ServerResponseEntity getById(@RequestParam Long typeId) { + CueTypeVO cueType = cueTypeService.getById(typeId); + return ServerResponseEntity.success(cueType); + } + + /** + * 新增球杆类型 + * + * @param cueTypeDTO CueTypeDTO + * @return ServerResponseEntity + */ @PostMapping - @Operation(summary = "保存球杆类型", description = "保存球杆类型") - public ServerResponseEntity save(@Valid @RequestBody CueTypeDTO couponDTO) { - int insert = cueTypeService.insert(couponDTO); - if (insert <= 0) { - return ServerResponseEntity.showFailMsg("保存球杆类型失败"); - } - return ServerResponseEntity.success(); + @Operation(summary = "新增球杆类型", description = "新增球杆类型") + public ServerResponseEntity save(@Validated(AddGroup.class) @RequestBody CueTypeDTO cueTypeDTO) { + int insert = cueTypeService.save(cueTypeDTO); + return insert > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("保存失败"); + } + + /** + * 修改球杆类型 + * + * @param cueTypeDTO CueTypeDTO + * @return ServerResponseEntity + */ + @PutMapping + @Operation(summary = "修改球杆类型", description = "修改球杆类型") + public ServerResponseEntity update(@Validated(EditGroup.class) @RequestBody CueTypeDTO cueTypeDTO) { + int update = cueTypeService.update(cueTypeDTO); + return update > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("修改失败"); + } + + /** + * 删除球杆类型 + * + * @param typeId 主键id + * @return ServerResponseEntity + */ + @DeleteMapping + @Operation(summary = "删除球杆类型", description = "删除球杆类型") + public ServerResponseEntity delete(@RequestParam Long typeId) { + int delete = cueTypeService.delete(typeId); + return delete > 0 ? ServerResponseEntity.success() : ServerResponseEntity.showFailMsg("删除失败"); } } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueBrandController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueBrandController.java index c33099f..c5a507d 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueBrandController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueBrandController.java @@ -1,6 +1,15 @@ package com.tmerclub.cloud.cuerecycle.controller.app; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.common.response.ServerResponseEntity; +import com.tmerclub.cloud.cuerecycle.model.vo.CueBrandVO; +import com.tmerclub.cloud.cuerecycle.service.CueBrandService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,4 +23,20 @@ import org.springframework.web.bind.annotation.RestController; @RestController("appCueBrandController") @RequestMapping("/app/cueBrand") public class CueBrandController { + + @Resource + CueBrandService cueBrandService; + + /** + * 分页查询启用球杆品牌列表 + * + * @param pageDTO 分页参数 + * @return 球杆品牌分页列表 + */ + @GetMapping("/listEnabled") + @Operation(summary = "分页查询启用球杆品牌列表", description = "分页查询启用球杆品牌列表") + public ServerResponseEntity> listEnabled(@Valid PageDTO pageDTO) { + PageVO cueBrandPage = cueBrandService.listEnabled(pageDTO); + return ServerResponseEntity.success(cueBrandPage); + } } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueProductController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueProductController.java deleted file mode 100644 index 6726112..0000000 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueProductController.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.tmerclub.cloud.cuerecycle.controller.app; - -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 球杆商品 - * - * @author: frank - * @create: 2025-04-10 - **/ -@Tag(name = "App-球杆商品") -@RestController("appCueProductController") -@RequestMapping("/app/cueProduct") -public class CueProductController { -} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueSeriesController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueSeriesController.java index f39eb18..e391782 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueSeriesController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueSeriesController.java @@ -1,6 +1,16 @@ package com.tmerclub.cloud.cuerecycle.controller.app; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.common.response.ServerResponseEntity; +import com.tmerclub.cloud.cuerecycle.model.dto.CueSeriesDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueSeriesVO; +import com.tmerclub.cloud.cuerecycle.service.CueSeriesService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,4 +24,21 @@ import org.springframework.web.bind.annotation.RestController; @RestController("appCueSeriesController") @RequestMapping("/app/cueSeries") public class CueSeriesController { + + @Resource + CueSeriesService cueSeriesService; + + /** + * 分页查询启用球杆系列列表 + * + * @param pageDTO 分页参数 + * @param cueSeriesDTO 查询参数 + * @return 分页数据 + */ + @GetMapping("/listByBrand") + @Operation(summary = "分页查询启用球杆系列列表", description = "分页查询启用球杆系列列表") + public ServerResponseEntity> listByBrand(@Valid PageDTO pageDTO, CueSeriesDTO cueSeriesDTO) { + PageVO cueSeriesPage = cueSeriesService.listByBrand(pageDTO, cueSeriesDTO); + return ServerResponseEntity.success(cueSeriesPage); + } } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueTypeController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueTypeController.java index 6938ce7..bd60396 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueTypeController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/app/CueTypeController.java @@ -1,6 +1,15 @@ package com.tmerclub.cloud.cuerecycle.controller.app; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.common.response.ServerResponseEntity; +import com.tmerclub.cloud.cuerecycle.model.vo.CueTypeVO; +import com.tmerclub.cloud.cuerecycle.service.CueTypeService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,4 +23,21 @@ import org.springframework.web.bind.annotation.RestController; @RestController("appCueTypeController") @RequestMapping("/app/cueType") public class CueTypeController { + + @Resource + CueTypeService cueTypeService; + + + /** + * 分页查询启用球杆类型列表 + * + * @param pageDTO 分页参数 + * @return 分页数据 + */ + @GetMapping("/listEnabled") + @Operation(summary = "分页查询启用球杆类型列表", description = "分页查询启用球杆类型列表") + public ServerResponseEntity> listEnabled(@Valid PageDTO pageDTO) { + PageVO cueTypePage = cueTypeService.listEnabled(pageDTO); + return ServerResponseEntity.success(cueTypePage); + } } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueBrandMapper.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueBrandMapper.java index b4420ed..d857337 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueBrandMapper.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueBrandMapper.java @@ -2,6 +2,7 @@ package com.tmerclub.cloud.cuerecycle.mapper; import com.tmerclub.cloud.cuerecycle.model.CueBrand; import com.tmerclub.cloud.cuerecycle.model.dto.CueBrandDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueBrandVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,57 +10,40 @@ import java.util.List; /** * 球杆品牌Mapper接口 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-11 + */ public interface CueBrandMapper { /** - * 根据主键查询 + * 查询球杆品牌列表 * - * @param id 主键 - * @return 球杆品牌 + * @param cueBrandDTO 查询参数 + * @return 球杆品牌列表数据 */ - CueBrand selectById(Long id); + List list(@Param("dto") CueBrandDTO cueBrandDTO); /** - * 根据类型查询 + * 获取球杆品牌详情 * - * @param typeId 类型 - * @return 球杆品牌 + * @param brandId 主键 + * @return 球杆品牌详情 */ - List listByType(Long typeId); + CueBrandVO getById(Long brandId); /** - * 根据条件查询 + * 新增球杆品牌 * - * @param query 查询条件 - * @return 球杆品牌 + * @param cueBrand 新增参数 + * @return 新增结果 */ - List list(CueBrandDTO query); + int save(CueBrand cueBrand); /** - * 新增 + * 修改球杆品牌 * - * @param brand 球杆品牌 - * @return 影响行数 + * @param cueBrand 修改参数 + * @return 修改结果 */ - int insert(CueBrand brand); - - /** - * 修改 - * - * @param brand 球杆品牌 - * @return 影响行数 - */ - int update(CueBrand brand); - - /** - * 修改状态 - * - * @param id 主键 - * @param status 状态 - * @return 影响行数 - */ - int updateStatus(@Param("id") Long id, @Param("status") Integer status); -} + int update(CueBrand cueBrand); +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueProductMapper.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueProductMapper.java index cc8196b..a141232 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueProductMapper.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueProductMapper.java @@ -1,7 +1,8 @@ package com.tmerclub.cloud.cuerecycle.mapper; -import com.tmerclub.cloud.cuerecycle.model.CueProduct; import com.tmerclub.cloud.cuerecycle.model.dto.CueProductDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueProductVO; +import com.tmerclub.cloud.cuerecycle.model.CueProduct; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,56 +10,40 @@ import java.util.List; /** * 球杆商品Mapper接口 * - * @author: frank - * @create: 2025-04-10 - **/ -public interface CueProductMapper { - /** - * 根据主键id查询 - * - * @param id 主键id - * @return 球杆商品 - */ - CueProduct selectById(Long id); + * @author : frank + * @create : 2025-04-11 + */ +public interface CueProductMapper{ /** - * 根据系列id查询列表 + * 查询球杆商品列表 * - * @param seriesId 系列id - * @return 球杆商品列表 + * @param cueProductDTO 查询参数 + * @return 球杆商品列表数据 */ - List listBySeries(Long seriesId); + List list(@Param("dto") CueProductDTO cueProductDTO); /** - * 查询列表 + * 获取球杆商品详情 * - * @param query 查询条件 - * @return 球杆商品列表 + * @param id 主键 + * @return 球杆商品详情 */ - List list(CueProductDTO query); + CueProductVO getById(Long id); /** - * 新增 + * 新增球杆商品 * - * @param product 球杆商品 - * @return 影响行数 + * @param cueProduct 新增参数 + * @return 新增结果 */ - int insert(CueProduct product); + int save(CueProduct cueProduct); /** - * 修改 + * 修改球杆商品 * - * @param product 球杆商品 - * @return 影响行数 + * @param cueProduct 修改参数 + * @return 修改结果 */ - int update(CueProduct product); - - /** - * 修改状态 - * - * @param id 主键id - * @param status 状态 - * @return 影响行数 - */ - int updateStatus(@Param("id") Long id, @Param("status") Integer status); -} + int update(CueProduct cueProduct); +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueSeriesMapper.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueSeriesMapper.java index c479dff..7f7a8ee 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueSeriesMapper.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueSeriesMapper.java @@ -2,6 +2,7 @@ package com.tmerclub.cloud.cuerecycle.mapper; import com.tmerclub.cloud.cuerecycle.model.CueSeries; import com.tmerclub.cloud.cuerecycle.model.dto.CueSeriesDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueSeriesVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,56 +10,40 @@ import java.util.List; /** * 球杆系列Mapper接口 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ public interface CueSeriesMapper { - /** - * 根据id查询球杆系列 - * - * @param id 主键id - * @return 对象 - */ - CueSeries selectById(Long id); /** - * 根据品牌id查询球杆系列 + * 查询球杆系列列表 * - * @param brandId 品牌id - * @return 对象集合 + * @param cueSeriesDTO 查询参数 + * @return 球杆系列列表数据 */ - List listByBrand(Long brandId); + List list(@Param("dto") CueSeriesDTO cueSeriesDTO); /** - * 根据条件查询球杆系列 + * 获取球杆系列详情 * - * @param query 查询条件 - * @return 对象集合 + * @param seriesId 主键 + * @return 球杆系列详情 */ - List list(CueSeriesDTO query); + CueSeriesVO getById(Long seriesId); /** * 新增球杆系列 * - * @param series 球杆系列 - * @return 影响行数 + * @param cueSeries 新增参数 + * @return 新增结果 */ - int insert(CueSeries series); + int save(CueSeries cueSeries); /** - * 更新球杆系列 + * 修改球杆系列 * - * @param series 球杆系列 - * @return 影响行数 + * @param cueSeries 修改参数 + * @return 修改结果 */ - int update(CueSeries series); - - /** - * 修改状态 - * - * @param id 主键id - * @param status 状态 - * @return 影响行数 - */ - int updateStatus(@Param("id") Long id, @Param("status") Integer status); + int update(CueSeries cueSeries); } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueTypeMapper.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueTypeMapper.java index 7f33353..1c52b96 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueTypeMapper.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueTypeMapper.java @@ -2,62 +2,48 @@ package com.tmerclub.cloud.cuerecycle.mapper; import com.tmerclub.cloud.cuerecycle.model.CueType; import com.tmerclub.cloud.cuerecycle.model.dto.CueTypeDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueTypeVO; import org.apache.ibatis.annotations.Param; import java.util.List; /** - * 球杆类型Mapper接口 + * 球杆类型表Mapper接口 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-11 21:22:35 + */ public interface CueTypeMapper { - /** - * 根据id查询 - * - * @param id 主键id - * @return 对象 - */ - CueType selectById(Long id); /** - * 查询所有启用状态的数据 + * 查询球杆类型表列表 * - * @return 对象集合 + * @param cueTypeDTO 查询参数 + * @return 球杆类型表列表数据 */ - List listEnabled(); + List list(@Param("dto") CueTypeDTO cueTypeDTO); /** - * 根据条件查询 + * 获取球杆类型表详情 * - * @param query 查询条件 - * @return 对象集合 + * @param typeId 主键 + * @return 球杆类型表详情 */ - List list(CueTypeDTO query); + CueTypeVO getById(Long typeId); /** - * 新增 + * 新增球杆类型表 * - * @param cueType 对象 - * @return 影响行数 + * @param cueType 新增参数 + * @return 新增结果 */ - int insert(CueType cueType); + int save(CueType cueType); /** - * 修改 + * 修改球杆类型表 * - * @param cueType 对象 - * @return 影响行数 + * @param cueType 修改参数 + * @return 修改结果 */ int update(CueType cueType); - - /** - * 修改状态 - * - * @param id 主键id - * @param status 状态 - * @return 影响行数 - */ - int updateStatus(@Param("id") Long id, @Param("status") Integer status); -} +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueBrand.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueBrand.java index 34d9e31..9a4f426 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueBrand.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueBrand.java @@ -10,9 +10,9 @@ import java.io.Serializable; /** * 球杆品牌对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueBrand extends BaseModel implements Serializable { @@ -20,27 +20,27 @@ public class CueBrand extends BaseModel implements Serializable { private static final long serialVersionUID = 1L; /** - * 主键 + * 品牌ID */ - private Long id; + private Long brandId; /** - * 球杆类型id + * 品牌名称 */ - private Long typeId; + private String brandName; /** - * 球杆品牌名称 + * 品牌logo */ - private String name; - /** - * 球杆品牌logo - */ - private String logo; + private String brandLogo; /** * 排序 */ - private Integer sort; + private Integer brandSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; + private Integer brandStatus; + /** + * 删除状态 0-未删除 1-已删除 + */ + private Integer deleted; } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueProduct.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueProduct.java index 1a0fda1..c1bfed2 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueProduct.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueProduct.java @@ -6,14 +6,13 @@ import lombok.EqualsAndHashCode; import java.io.Serial; import java.io.Serializable; -import java.math.BigDecimal; /** * 球杆商品对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueProduct extends BaseModel implements Serializable { @@ -21,35 +20,47 @@ public class CueProduct extends BaseModel implements Serializable { private static final long serialVersionUID = 1L; /** - * 主键 + * 商品ID */ - private Long id; + private Long productId; /** - * 系列id + * 关联的品牌ID + */ + private Long brandId; + /** + * 关联的系列ID */ private Long seriesId; + /** + * 关联的球杆类型ID + */ + private Long typeId; /** * 商品名称 */ - private String name; + private String productName; /** * 商品描述 */ - private String description; + private String productDescription; /** * 商品图片 */ - private String images; + private String productImages; /** - * 商品价格 + * 价格 */ - private BigDecimal price; + private Long productPrice; /** * 排序 */ - private Integer sort; + private Integer productSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; -} + private Integer productStatus; + /** + * 删除状态 0-未删除 1-已删除 + */ + private Integer deleted; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueSeries.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueSeries.java index f569f79..6dcfe49 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueSeries.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueSeries.java @@ -10,9 +10,9 @@ import java.io.Serializable; /** * 球杆系列对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueSeries extends BaseModel implements Serializable { @@ -20,23 +20,27 @@ public class CueSeries extends BaseModel implements Serializable { private static final long serialVersionUID = 1L; /** - * 主键 + * 系列ID */ - private Long id; + private Long seriesId; /** - * 品牌id + * 关联的品牌ID */ private Long brandId; /** * 系列名称 */ - private String name; + private String seriesName; /** * 排序 */ - private Integer sort; + private Integer seriesSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; -} + private Integer seriesStatus; + /** + * 删除状态 0-未删除 1-已删除 + */ + private Integer deleted; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueType.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueType.java index e5b630d..40dffd5 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueType.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/CueType.java @@ -10,9 +10,9 @@ import java.io.Serializable; /** * 球杆类型对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueType extends BaseModel implements Serializable { @@ -20,23 +20,27 @@ public class CueType extends BaseModel implements Serializable { private static final long serialVersionUID = 1L; /** - * 球杆类型id + * 类型ID */ - private Long id; + private Long typeId; /** - * 球杆类型名称 + * 类型名称 */ - private String name; + private String typeName; /** - * 球杆类型图片 + * 类型图片 */ - private String image; + private String typeImage; /** * 排序 */ - private Integer sort; + private Integer typeSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; -} + private Integer typeStatus; + /** + * 删除状态 0-未删除 1-已删除 + */ + private Integer deleted; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueBrandDTO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueBrandDTO.java index fa3a7d0..381929a 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueBrandDTO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueBrandDTO.java @@ -1,43 +1,50 @@ package com.tmerclub.cloud.cuerecycle.model.dto; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import java.io.Serial; import java.io.Serializable; /** - * 球杆品牌业务对象 + * 球杆品牌对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data public class CueBrandDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; /** - * 主键 + * 品牌ID */ - private Long id; + @NotNull(message = "品牌ID不能为空", groups = {EditGroup.class}) + private Long brandId; /** - * 球杆类型id + * 品牌名称 */ - private Long typeId; + @NotBlank(message = "品牌名称不能为空", groups = {AddGroup.class}) + private String brandName; /** - * 球杆品牌名称 + * 品牌logo */ - private String name; - /** - * 球杆品牌logo - */ - private String logo; + @NotBlank(message = "品牌Logo不能为空", groups = {AddGroup.class}) + private String brandLogo; /** * 排序 */ - private Integer sort; + private Integer brandSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; + private Integer brandStatus; + /** + * 删除状态 0-未删除 1-已删除 + */ + private Integer deleted; } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueProductDTO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueProductDTO.java index 548ae10..92cbeb4 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueProductDTO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueProductDTO.java @@ -1,52 +1,70 @@ package com.tmerclub.cloud.cuerecycle.model.dto; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.math.BigDecimal; /** - * 球杆商品业务对象 + * 球杆商品对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data public class CueProductDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; /** - * 主键 + * 商品ID */ - private Long id; + @NotNull(message = "商品ID不能为空", groups = {EditGroup.class}) + private Long productId; /** - * 系列id + * 关联的品牌ID */ + @NotNull(message = "未关联球杆品牌", groups = {AddGroup.class}) + private Long brandId; + /** + * 关联的系列ID + */ + @NotNull(message = "未关联球杆系列", groups = {AddGroup.class}) private Long seriesId; + /** + * 关联的球杆类型ID + */ + @NotNull(message = "未关联球杆类型", groups = {AddGroup.class}) + private Long typeId; /** * 商品名称 */ - private String name; + @NotBlank(message = "商品名称不能为空", groups = {AddGroup.class}) + private String productName; /** * 商品描述 */ - private String description; + private String productDescription; /** * 商品图片 */ - private String images; + @NotBlank(message = "商品图片不能为空", groups = {AddGroup.class}) + private String productImages; /** - * 商品价格 + * 价格 */ - private BigDecimal price; + @NotNull(message = "商品价格不能为空", groups = {AddGroup.class}) + private Long productPrice; /** * 排序 */ - private Integer sort; + private Integer productSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; -} + private Integer productStatus; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueSeriesDTO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueSeriesDTO.java index 87e6ad5..ac6cd76 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueSeriesDTO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueSeriesDTO.java @@ -1,39 +1,50 @@ package com.tmerclub.cloud.cuerecycle.model.dto; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import java.io.Serial; import java.io.Serializable; /** - * 球杆系列业务对象 + * 球杆系列对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data public class CueSeriesDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; /** - * 主键 + * 系列ID */ - private Long id; + @NotNull(message = "系列ID不能为空", groups = {EditGroup.class}) + private Long seriesId; /** - * 品牌id + * 关联的品牌ID */ + @NotNull(message = "未关联球杆品牌", groups = {AddGroup.class}) private Long brandId; /** * 系列名称 */ - private String name; + @NotBlank(message = "系列名称不能为空", groups = {AddGroup.class}) + private String seriesName; /** * 排序 */ - private Integer sort; + private Integer seriesSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; -} + private Integer seriesStatus; + /** + * 删除状态 0-未删除 1-已删除 + */ + private Integer deleted; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueTypeDTO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueTypeDTO.java index 7162761..e65b253 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueTypeDTO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/dto/CueTypeDTO.java @@ -1,38 +1,45 @@ package com.tmerclub.cloud.cuerecycle.model.dto; +import com.tmerclub.cloud.common.validate.AddGroup; +import com.tmerclub.cloud.common.validate.EditGroup; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import java.io.Serial; import java.io.Serializable; /** - * 球杆类型业务对象 + * 球杆类型对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data public class CueTypeDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; + /** - * 球杆类型id + * 类型ID */ - private Long id; + @NotNull(message = "类型ID不能为空", groups = {EditGroup.class}) + private Long typeId; /** - * 球杆类型名称 + * 类型名称 */ - private String name; + @NotBlank(message = "类型名称不能为空", groups = {AddGroup.class}) + private String typeName; /** - * 球杆类型图片 + * 类型图片 */ - private String image; + private String typeImage; /** * 排序 */ - private Integer sort; + private Integer typeSeq; /** - * 状态 + * 状态:0-禁用,1-启用 */ - private Integer status; -} + private Integer typeStatus; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueBrandVO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueBrandVO.java index 344b1d3..20037f3 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueBrandVO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueBrandVO.java @@ -1,6 +1,5 @@ package com.tmerclub.cloud.cuerecycle.model.vo; -import com.tmerclub.cloud.common.model.BaseModel; import com.tmerclub.cloud.common.vo.BaseVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -12,9 +11,9 @@ import java.io.Serializable; /** * 球杆品牌视图对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueBrandVO extends BaseVO implements Serializable { @@ -22,18 +21,28 @@ public class CueBrandVO extends BaseVO implements Serializable { private static final long serialVersionUID = 1L; /** - * 主键 + * 品牌ID */ - @Schema(description = "主键") - private Long id; + @Schema(description = "品牌ID") + private Long brandId; /** - * 球杆品牌名称 + * 品牌名称 */ - @Schema(description = "球杆品牌名称") - private String name; + @Schema(description = "品牌名称") + private String brandName; /** - * 球杆品牌logo + * 品牌logo */ - @Schema(description = "球杆品牌logo") - private String logo; + @Schema(description = "品牌logo") + private String brandLogo; + /** + * 排序 + */ + @Schema(description = "排序") + private Integer brandSeq; + /** + * 状态:0-禁用,1-启用 + */ + @Schema(description = "状态:0-禁用,1-启用") + private Integer brandStatus; } \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueProductVO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueProductVO.java index ab06224..744f1f9 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueProductVO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueProductVO.java @@ -7,14 +7,13 @@ import lombok.EqualsAndHashCode; import java.io.Serial; import java.io.Serializable; -import java.math.BigDecimal; /** * 球杆商品视图对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueProductVO extends BaseVO implements Serializable { @@ -22,38 +21,53 @@ public class CueProductVO extends BaseVO implements Serializable { private static final long serialVersionUID = 1L; /** - * 主键 + * 商品ID */ - @Schema(description = "主键") - private Long id; + @Schema(description = "商品ID") + private Long productId; + /** + * 关联的品牌ID + */ + @Schema(description = "关联的品牌ID") + private Long brandId; + /** + * 关联的系列ID + */ + @Schema(description = "关联的系列ID") + private Long seriesId; + /** + * 关联的球杆类型ID + */ + @Schema(description = "关联的球杆类型ID") + private Long typeId; /** * 商品名称 */ @Schema(description = "商品名称") - private String name; + private String productName; /** * 商品描述 */ @Schema(description = "商品描述") - private String description; + private String productDescription; /** * 商品图片 */ @Schema(description = "商品图片") - private String images; + private String productImages; /** - * 商品价格 + * 价格 */ - @Schema(description = "商品价格") - private BigDecimal price; + @Schema(description = "价格") + private Long productPrice; /** - * 品牌名称 + * 排序 */ - @Schema(description = "品牌名称") - private String brandName; + @Schema(description = "排序") + private Integer productSeq; /** - * 品牌logo + * 状态:0-禁用,1-启用 */ - @Schema(description = "品牌logo") - private String brandLogo; -} + @Schema(description = "状态:0-禁用,1-启用") + private Integer productStatus; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueSeriesVO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueSeriesVO.java index 54beabd..db4ea73 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueSeriesVO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueSeriesVO.java @@ -11,9 +11,9 @@ import java.io.Serializable; /** * 球杆系列视图对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueSeriesVO extends BaseVO implements Serializable { @@ -21,13 +21,28 @@ public class CueSeriesVO extends BaseVO implements Serializable { private static final long serialVersionUID = 1L; /** - * 主键 + * 系列ID */ - @Schema(description = "主键") - private Long id; + @Schema(description = "系列ID") + private Long seriesId; + /** + * 关联的品牌ID + */ + @Schema(description = "关联的品牌ID") + private Long brandId; /** * 系列名称 */ @Schema(description = "系列名称") - private String name; -} + private String seriesName; + /** + * 排序 + */ + @Schema(description = "排序") + private Integer seriesSeq; + /** + * 状态:0-禁用,1-启用 + */ + @Schema(description = "状态:0-禁用,1-启用") + private Integer seriesStatus; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueTypeVO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueTypeVO.java index 49888ff..324dd01 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueTypeVO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueTypeVO.java @@ -11,9 +11,9 @@ import java.io.Serializable; /** * 球杆类型视图对象 * - * @author: frank - * @create: 2025-04-10 - **/ + * @author : frank + * @create : 2025-04-13 + */ @Data @EqualsAndHashCode(callSuper = true) public class CueTypeVO extends BaseVO implements Serializable { @@ -21,18 +21,28 @@ public class CueTypeVO extends BaseVO implements Serializable { private static final long serialVersionUID = 1L; /** - * 球杆类型id + * 类型ID */ - @Schema(description = "球杆类型id") - private Long id; + @Schema(description = "类型ID") + private Long typeId; /** - * 球杆类型名称 + * 类型名称 */ - @Schema(description = "球杆类型名称") - private String name; + @Schema(description = "类型名称") + private String typeName; /** - * 球杆类型图片 + * 类型图片 */ - @Schema(description = "球杆类型图片") - private String image; -} + @Schema(description = "类型图片") + private String typeImage; + /** + * 排序 + */ + @Schema(description = "排序") + private Integer typeSeq; + /** + * 状态:0-禁用,1-启用 + */ + @Schema(description = "状态:0-禁用,1-启用") + private Integer typeStatus; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueBrandService.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueBrandService.java index 9e15aa4..6d78cfc 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueBrandService.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueBrandService.java @@ -1,10 +1,63 @@ package com.tmerclub.cloud.cuerecycle.service; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.cuerecycle.model.dto.CueBrandDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueBrandVO; + /** * 球杆品牌Service接口 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 + */ public interface CueBrandService { -} + + /** + * 获取球杆品牌分页列表 + * + * @param pageDTO 分页参数 + * @param cueBrandDTO 查询参数 + * @return 分页数据 + */ + PageVO page(PageDTO pageDTO, CueBrandDTO cueBrandDTO); + + /** + * 根据类型查询 + * + * @return 球杆品牌 + */ + PageVO listEnabled(PageDTO pageDTO); + + /** + * 获取球杆品牌详情 + * + * @param brandId 主键 + * @return 球杆品牌详情 + */ + CueBrandVO getById(Long brandId); + + /** + * 新增球杆品牌 + * + * @param cueBrandDTO 新增参数 + * @return 新增结果 + */ + int save(CueBrandDTO cueBrandDTO); + + /** + * 修改球杆品牌 + * + * @param cueBrandDTO 修改参数 + * @return 修改结果 + */ + int update(CueBrandDTO cueBrandDTO); + + /** + * 删除球杆品牌 + * + * @param brandId 主键 + * @return 删除结果 + */ + int delete(Long brandId); +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueProductService.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueProductService.java index 2eb66d7..b960379 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueProductService.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueProductService.java @@ -1,10 +1,56 @@ package com.tmerclub.cloud.cuerecycle.service; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.cuerecycle.model.dto.CueProductDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueProductVO; + /** * 球杆商品Service接口 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 + */ public interface CueProductService { -} + + /** + * 获取球杆商品分页列表 + * + * @param pageDTO 分页参数 + * @param cueProductDTO 查询参数 + * @return 分页数据 + */ + PageVO page(PageDTO pageDTO,CueProductDTO cueProductDTO); + + /** + * 获取球杆商品详情 + * + * @param id 主键 + * @return 球杆商品详情 + */ + CueProductVO getById(Long id); + + /** + * 新增球杆商品 + * + * @param cueProductDTO 新增参数 + * @return 新增结果 + */ + int save(CueProductDTO cueProductDTO); + + /** + * 修改球杆商品 + * + * @param cueProductDTO 修改参数 + * @return 修改结果 + */ + int update(CueProductDTO cueProductDTO); + + /** + * 删除球杆商品 + * + * @param id 主键 + * @return 删除结果 + */ + int delete(Long id); +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueSeriesService.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueSeriesService.java index 1e87961..fef9bdf 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueSeriesService.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueSeriesService.java @@ -1,10 +1,64 @@ package com.tmerclub.cloud.cuerecycle.service; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.cuerecycle.model.dto.CueSeriesDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueSeriesVO; + /** * 球杆系列Service接口 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 + */ public interface CueSeriesService { -} + + /** + * 获取球杆系列分页列表 + * + * @param pageDTO 分页参数 + * @param cueSeriesDTO 查询参数 + * @return 分页数据 + */ + PageVO page(PageDTO pageDTO, CueSeriesDTO cueSeriesDTO); + + /** + * 根据品牌id查询球杆系列 + * + * @param cueSeriesDTO 搜索参数 + * @return 对象集合 + */ + PageVO listByBrand(PageDTO pageDTO, CueSeriesDTO cueSeriesDTO); + + /** + * 获取球杆系列详情 + * + * @param seriesId 主键 + * @return 球杆系列详情 + */ + CueSeriesVO getById(Long seriesId); + + /** + * 新增球杆系列 + * + * @param cueSeriesDTO 新增参数 + * @return 新增结果 + */ + int save(CueSeriesDTO cueSeriesDTO); + + /** + * 修改球杆系列 + * + * @param cueSeriesDTO 修改参数 + * @return 修改结果 + */ + int update(CueSeriesDTO cueSeriesDTO); + + /** + * 删除球杆系列 + * + * @param seriesId 主键 + * @return 删除结果 + */ + int delete(Long seriesId); +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueTypeService.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueTypeService.java index fbe9c0f..cd92d51 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueTypeService.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueTypeService.java @@ -1,39 +1,64 @@ package com.tmerclub.cloud.cuerecycle.service; -import com.tmerclub.cloud.cuerecycle.model.CueType; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; import com.tmerclub.cloud.cuerecycle.model.dto.CueTypeDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueTypeVO; /** * 球杆类型Service接口 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 21:22:35 + */ public interface CueTypeService { + /** + * 获取球杆类型分页列表 + * + * @param pageDTO 分页参数 + * @param cueTypeDTO 查询参数 + * @return 分页数据 + */ + PageVO page(PageDTO pageDTO, CueTypeDTO cueTypeDTO); /** - * 新增 + * 查询已启动球杆类型列表 * - * @param couponDTO 对象 - * @return 影响行数 + * @param pageDTO 分页参数 + * @return 分页数据 */ - int insert(CueTypeDTO couponDTO); + PageVO listEnabled(PageDTO pageDTO); /** - * 修改 + * 获取球杆类型详情 * - * @param cueType 对象 - * @return 影响行数 + * @param typeId 主键 + * @return 球杆类型详情 */ - int update(CueType cueType); + CueTypeVO getById(Long typeId); /** - * 修改状态 + * 新增球杆类型 * - * @param id 主键id - * @param status 状态 - * @return 影响行数 + * @param cueTypeDTO 新增参数 + * @return 新增结果 */ - int updateStatus(Long id, Integer status); -} + int save(CueTypeDTO cueTypeDTO); + + /** + * 修改球杆类型 + * + * @param cueTypeDTO 修改参数 + * @return 修改结果 + */ + int update(CueTypeDTO cueTypeDTO); + + /** + * 删除球杆类型 + * + * @param typeId 主键 + * @return 删除结果 + */ + int delete(Long typeId); +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueBrandServiceImpl.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueBrandServiceImpl.java index 4a83db0..729b276 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueBrandServiceImpl.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueBrandServiceImpl.java @@ -1,18 +1,67 @@ package com.tmerclub.cloud.cuerecycle.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.tmerclub.cloud.common.database.util.PageUtil; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.cuerecycle.model.dto.CueBrandDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueBrandVO; +import com.tmerclub.cloud.cuerecycle.model.CueBrand; import com.tmerclub.cloud.cuerecycle.mapper.CueBrandMapper; import com.tmerclub.cloud.cuerecycle.service.CueBrandService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; /** - * 球杆品牌Service接口 + * 球杆品牌Service实现类 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 + */ @Service public class CueBrandServiceImpl implements CueBrandService { + @Resource CueBrandMapper cueBrandMapper; -} + + @Override + public PageVO page(PageDTO pageDTO, CueBrandDTO cueBrandDTO) { + return PageUtil.doPage(pageDTO, () -> cueBrandMapper.list(cueBrandDTO)); + } + + @Override + public PageVO listEnabled(PageDTO pageDTO) { + CueBrandDTO cueBrandDTO = new CueBrandDTO(); + cueBrandDTO.setBrandStatus(1); + return PageUtil.doPage(pageDTO, () -> cueBrandMapper.list(cueBrandDTO)); + } + + @Override + public CueBrandVO getById(Long brandId) { + return cueBrandMapper.getById(brandId); + } + + @Override + public int save(CueBrandDTO cueBrandDTO) { + CueBrand cueBrand = BeanUtil.toBean(cueBrandDTO, CueBrand.class); + cueBrand.setCreateTime(DateUtil.date()); + return cueBrandMapper.save(cueBrand); + } + + @Override + public int update(CueBrandDTO cueBrandDTO) { + CueBrand cueBrand = BeanUtil.toBean(cueBrandDTO, CueBrand.class); + cueBrand.setUpdateTime(DateUtil.date()); + return cueBrandMapper.update(cueBrand); + } + + @Override + public int delete(Long brandId) { + CueBrandVO cueBrandVO = cueBrandMapper.getById(brandId); + CueBrand cueBrand = BeanUtil.toBean(cueBrandVO, CueBrand.class); + cueBrand.setUpdateTime(DateUtil.date()); + cueBrand.setDeleted(1); + return cueBrandMapper.update(cueBrand); + } +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueProductServiceImpl.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueProductServiceImpl.java index d796417..5b9ea1b 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueProductServiceImpl.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueProductServiceImpl.java @@ -1,14 +1,60 @@ package com.tmerclub.cloud.cuerecycle.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.tmerclub.cloud.common.database.util.PageUtil; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.cuerecycle.model.dto.CueProductDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueProductVO; +import com.tmerclub.cloud.cuerecycle.model.CueProduct; +import com.tmerclub.cloud.cuerecycle.mapper.CueProductMapper; import com.tmerclub.cloud.cuerecycle.service.CueProductService; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; /** - * 球杆商品Service接口 + * 球杆商品Service实现类 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 + */ @Service public class CueProductServiceImpl implements CueProductService { -} + + @Resource + CueProductMapper cueProductMapper; + + @Override + public PageVO page(PageDTO pageDTO, CueProductDTO cueProductDTO) { + return PageUtil.doPage(pageDTO, () -> cueProductMapper.list(cueProductDTO)); + } + + @Override + public CueProductVO getById(Long id) { + return cueProductMapper.getById(id); + } + + @Override + public int save(CueProductDTO cueProductDTO) { + CueProduct cueProduct = BeanUtil.toBean(cueProductDTO, CueProduct.class); + cueProduct.setCreateTime(DateUtil.date()); + return cueProductMapper.save(cueProduct); + } + + @Override + public int update(CueProductDTO cueProductDTO) { + CueProduct cueProduct = BeanUtil.toBean(cueProductDTO, CueProduct.class); + cueProduct.setUpdateTime(DateUtil.date()); + return cueProductMapper.update(cueProduct); + } + + @Override + public int delete(Long id) { + CueProductVO cueProductVO = cueProductMapper.getById(id); + CueProduct cueProduct = BeanUtil.toBean(cueProductVO, CueProduct.class); + cueProduct.setUpdateTime(DateUtil.date()); + cueProduct.setDeleted(1); + return cueProductMapper.update(cueProduct); + } +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueSeriesServiceImpl.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueSeriesServiceImpl.java index 4d4a837..ca36410 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueSeriesServiceImpl.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueSeriesServiceImpl.java @@ -1,14 +1,66 @@ package com.tmerclub.cloud.cuerecycle.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.util.PageUtil; +import com.tmerclub.cloud.common.database.vo.PageVO; +import com.tmerclub.cloud.cuerecycle.mapper.CueSeriesMapper; +import com.tmerclub.cloud.cuerecycle.model.CueSeries; +import com.tmerclub.cloud.cuerecycle.model.dto.CueSeriesDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueSeriesVO; import com.tmerclub.cloud.cuerecycle.service.CueSeriesService; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; /** - * 球杆系列Service接口 + * 球杆系列Service实现类 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 + */ @Service public class CueSeriesServiceImpl implements CueSeriesService { -} + + @Resource + CueSeriesMapper cueSeriesMapper; + + @Override + public PageVO page(PageDTO pageDTO, CueSeriesDTO cueSeriesDTO) { + return PageUtil.doPage(pageDTO, () -> cueSeriesMapper.list(cueSeriesDTO)); + } + + @Override + public PageVO listByBrand(PageDTO pageDTO, CueSeriesDTO cueSeriesDTO) { + cueSeriesDTO.setSeriesStatus(1); + return PageUtil.doPage(pageDTO, () -> cueSeriesMapper.list(cueSeriesDTO)); + } + + @Override + public CueSeriesVO getById(Long seriesId) { + return cueSeriesMapper.getById(seriesId); + } + + @Override + public int save(CueSeriesDTO cueSeriesDTO) { + CueSeries cueSeries = BeanUtil.toBean(cueSeriesDTO, CueSeries.class); + cueSeries.setCreateTime(DateUtil.date()); + return cueSeriesMapper.save(cueSeries); + } + + @Override + public int update(CueSeriesDTO cueSeriesDTO) { + CueSeries cueSeries = BeanUtil.toBean(cueSeriesDTO, CueSeries.class); + cueSeries.setUpdateTime(DateUtil.date()); + return cueSeriesMapper.update(cueSeries); + } + + @Override + public int delete(Long seriesId) { + CueSeriesVO cueSeriesVO = cueSeriesMapper.getById(seriesId); + CueSeries cueSeries = BeanUtil.toBean(cueSeriesVO, CueSeries.class); + cueSeries.setUpdateTime(DateUtil.date()); + cueSeries.setDeleted(1); + return cueSeriesMapper.update(cueSeries); + } +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueTypeServiceImpl.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueTypeServiceImpl.java index b748ea5..2405ac3 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueTypeServiceImpl.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueTypeServiceImpl.java @@ -2,40 +2,66 @@ package com.tmerclub.cloud.cuerecycle.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import com.tmerclub.cloud.common.database.dto.PageDTO; +import com.tmerclub.cloud.common.database.util.PageUtil; +import com.tmerclub.cloud.common.database.vo.PageVO; import com.tmerclub.cloud.cuerecycle.mapper.CueTypeMapper; import com.tmerclub.cloud.cuerecycle.model.CueType; import com.tmerclub.cloud.cuerecycle.model.dto.CueTypeDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.CueTypeVO; import com.tmerclub.cloud.cuerecycle.service.CueTypeService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; /** - * 球杆类型Service接口 + * 球杆类型表Service实现类 * - * @author: frank - * @create: 2025-04-11 - **/ + * @author : frank + * @create : 2025-04-11 21:22:35 + */ @Service public class CueTypeServiceImpl implements CueTypeService { + @Resource CueTypeMapper cueTypeMapper; - @Override - public int insert(CueTypeDTO couponDTO) { - CueType cueType = BeanUtil.toBean(couponDTO, CueType.class); - cueType.setCreateTime(DateUtil.date()); - return cueTypeMapper.insert(cueType); + public PageVO page(PageDTO pageDTO, CueTypeDTO cueTypeDTO) { + return PageUtil.doPage(pageDTO, () -> cueTypeMapper.list(cueTypeDTO)); } @Override - public int update(CueType cueType) { + public PageVO listEnabled(PageDTO pageDTO) { + CueTypeDTO cueTypeDTO = new CueTypeDTO(); + cueTypeDTO.setTypeStatus(1); + return PageUtil.doPage(pageDTO, () -> cueTypeMapper.list(cueTypeDTO)); + } + + @Override + public CueTypeVO getById(Long typeId) { + return cueTypeMapper.getById(typeId); + } + + @Override + public int save(CueTypeDTO cueTypeDTO) { + CueType cueType = BeanUtil.toBean(cueTypeDTO, CueType.class); + cueType.setCreateTime(DateUtil.date()); + return cueTypeMapper.save(cueType); + } + + @Override + public int update(CueTypeDTO cueTypeDTO) { + CueType cueType = BeanUtil.toBean(cueTypeDTO, CueType.class); cueType.setUpdateTime(DateUtil.date()); return cueTypeMapper.update(cueType); } @Override - public int updateStatus(Long id, Integer status) { - return cueTypeMapper.updateStatus(id, status); + public int delete(Long typeId) { + CueTypeVO cueTypeVO = cueTypeMapper.getById(typeId); + CueType cueType = BeanUtil.toBean(cueTypeVO, CueType.class); + cueType.setUpdateTime(DateUtil.date()); + cueType.setDeleted(1); + return cueTypeMapper.update(cueType); } } \ No newline at end of file diff --git a/tmerclub-local/src/main/resources/mapper/CueBrandMapper.xml b/tmerclub-local/src/main/resources/mapper/CueBrandMapper.xml index 94eb451..b7a6a0a 100644 --- a/tmerclub-local/src/main/resources/mapper/CueBrandMapper.xml +++ b/tmerclub-local/src/main/resources/mapper/CueBrandMapper.xml @@ -1,80 +1,62 @@ + - - - - - - - - - + + + + + + + + + - - id, type_id, name, logo, image, sort, status, create_time, update_time + + brand_id,brand_name,brand_logo,brand_seq,brand_status,deleted,create_time,update_time - SELECT - - FROM - cue_brand - WHERE - id = #{id} - - - - - - - INSERT INTO cue_brand + + + INSERT INTO cue_brand - type_id, - name, - logo, - sort, - status, + brand_name, + brand_logo, + brand_seq, + brand_status, create_time, - #{typeId}, - #{name}, - #{logo}, - #{sort}, - #{status}, + #{brandName}, + #{brandLogo}, + #{brandSeq}, + #{brandStatus}, #{createTime}, @@ -82,20 +64,25 @@ UPDATE cue_brand - type_id = #{typeId}, - name = #{name}, - logo = #{logo}, - sort = #{sort}, - status = #{status}, + + brand_name = #{brandName}, + + + brand_logo = #{brandLogo}, + + + brand_seq = #{brandSeq}, + + + brand_status = #{brandStatus}, + + + deleted = #{deleted}, + + + update_time = #{updateTime}, + - WHERE id = #{id} - - - UPDATE - cue_brand - SET - status = #{status} - WHERE - id = #{id} + where brand_id = #{brandId} \ No newline at end of file diff --git a/tmerclub-local/src/main/resources/mapper/CueProductMapper.xml b/tmerclub-local/src/main/resources/mapper/CueProductMapper.xml index b2da6a5..3d4d9e9 100644 --- a/tmerclub-local/src/main/resources/mapper/CueProductMapper.xml +++ b/tmerclub-local/src/main/resources/mapper/CueProductMapper.xml @@ -1,80 +1,130 @@ + - - - - - - - - - - - + + + + + + + + + + + + + + - - id, series_id, name, description, images, price, sort, status, create_time, update_time + + product_id,brand_id,series_id,type_id,product_name,product_description,product_images,product_price,product_seq,product_status,deleted,create_time,update_time - - - - - + SELECT + + FROM + cue_product - - AND series_id = #{seriesId} + deleted = 0 + + AND product_name LIKE CONCAT('%', #{dto.productName}, '%') - - AND name LIKE CONCAT('%', #{name}, '%') + + AND product_status = #{dto.productStatus} - - AND status = #{status} + + AND brand_id = #{dto.brandId} + + + AND type_id = #{dto.typeId} + + + AND series_id = #{dto.seriesId} - ORDER BY sort ASC, id DESC + ORDER BY + product_seq ASC, + product_id DESC - - INSERT INTO cue_product (series_id, name, description, images, price, sort, status) - VALUES (#{seriesId}, #{name}, #{description}, #{images}, #{price}, #{sort}, #{status}) + + + + INSERT INTO cue_product + + brand_id, + series_id, + type_id, + product_name, + product_description, + product_images, + product_price, + product_seq, + product_status, + create_time, + + + #{brandId}, + #{seriesId}, + #{typeId}, + #{productName}, + #{productDescription}, + #{productImages}, + #{productPrice}, + #{productSeq}, + #{productStatus}, + #{createTime}, + UPDATE cue_product - series_id = #{seriesId}, - name = #{name}, - description = #{description}, - images = #{images}, - price = #{price}, - sort = #{sort}, - status = #{status}, + + brand_id = #{brandId}, + + + series_id = #{seriesId}, + + + type_id = #{typeId}, + + + product_name = #{productName}, + + + product_description = #{productDescription}, + + + product_images = #{productImages}, + + + product_price = #{productPrice}, + + + product_seq = #{productSeq}, + + + product_status = #{productStatus}, + + + deleted = #{deleted}, + + + update_time = #{updateTime}, + - WHERE id = #{id} - - - - UPDATE - cue_product - SET - status = #{status} - WHERE - id = #{id} + where product_id = #{productId} \ No newline at end of file diff --git a/tmerclub-local/src/main/resources/mapper/CueSeriesMapper.xml b/tmerclub-local/src/main/resources/mapper/CueSeriesMapper.xml index facc59a..b4a51f0 100644 --- a/tmerclub-local/src/main/resources/mapper/CueSeriesMapper.xml +++ b/tmerclub-local/src/main/resources/mapper/CueSeriesMapper.xml @@ -1,79 +1,67 @@ + - - - - - - - - + + + + + + + + + - - id, brand_id, name, sort, status, create_time, update_time + + series_id,brand_id,series_name,series_seq,series_status,deleted,create_time,update_time - SELECT - - FROM - cue_series - WHERE - id = #{id} - - - - - - + + + INSERT INTO cue_series brand_id, - name, - sort, - status, + series_name, + series_seq, + series_status, create_time, - + #{brandId}, - #{name}, - #{sort}, - #{status}, + #{seriesName}, + #{seriesSeq}, + #{seriesStatus}, #{createTime}, @@ -81,21 +69,25 @@ UPDATE cue_series - brand_id = #{brandId}, - name = #{name}, - sort = #{sort}, - status = #{status}, - update_time = #{updateTime}, + + brand_id = #{brandId}, + + + series_name = #{seriesName}, + + + series_seq = #{seriesSeq}, + + + series_status = #{seriesStatus}, + + + deleted = #{deleted}, + + + update_time = #{updateTime}, + - WHERE id = #{id} - - - - UPDATE - cue_series - SET - status = #{status} - WHERE - id = #{id} + where series_id = #{seriesId} \ No newline at end of file diff --git a/tmerclub-local/src/main/resources/mapper/CueTypeMapper.xml b/tmerclub-local/src/main/resources/mapper/CueTypeMapper.xml index 73a9859..66f868f 100644 --- a/tmerclub-local/src/main/resources/mapper/CueTypeMapper.xml +++ b/tmerclub-local/src/main/resources/mapper/CueTypeMapper.xml @@ -1,74 +1,64 @@ + - - - - - - - - + + + + + + + + + - - id, name, image, sort, status, create_time, update_time + + type_id,type_name,type_image,type_seq,type_status,deleted,create_time,update_time - SELECT - - FROM - cue_type - WHERE - id = #{id} - - - - - - + + + INSERT INTO cue_type - name, - image, - sort, - status, + type_name, + type_image, + type_seq, + type_status, create_time, - #{name}, - #{image}, - #{sort}, - #{status}, + #{typeName}, + #{typeImage}, + #{typeSeq}, + #{typeStatus}, #{createTime}, @@ -76,22 +66,25 @@ UPDATE cue_type - name = #{name}, - image = #{image}, - sort = #{sort}, - status = #{status}, - update_time = #{updateTime}, + + type_name = #{typeName}, + + + type_image = #{typeImage}, + + + type_seq = #{typeSeq}, + + + type_status = #{typeStatus}, + + + deleted = #{deleted}, + + + update_time = #{updateTime}, + - WHERE id = #{id} + where type_id = #{typeId} - - - UPDATE - cue_type - SET - status = #{status} - WHERE - id = #{id} - - \ No newline at end of file