From 14bd67f849ab11e0c151bbe45633691bcc355cac Mon Sep 17 00:00:00 2001 From: yovinchen Date: Fri, 15 Sep 2023 13:12:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=95=86=E5=93=81=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E3=80=81=E5=B9=B3=E5=8F=B0=E5=B1=9E=E6=80=A7=E5=88=86?= =?UTF-8?q?=E7=BB=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/controller/AttrController.java | 85 ++++++++++++++- .../controller/AttrGroupController.java | 103 +++++++++++++++++- .../controller/CategoryController.java | 102 ++++++++++++++++- .../product/service/AttrGroupService.java | 9 ++ .../ssyx/product/service/AttrService.java | 3 + .../ssyx/product/service/CategoryService.java | 8 ++ .../service/impl/AttrGroupServiceImpl.java | 39 +++++++ .../product/service/impl/AttrServiceImpl.java | 10 ++ .../service/impl/CategoryServiceImpl.java | 24 ++++ 9 files changed, 374 insertions(+), 9 deletions(-) diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrController.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrController.java index 2476469..6b3eeb1 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrController.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrController.java @@ -1,8 +1,16 @@ package com.atguigu.ssyx.product.controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.atguigu.ssyx.common.result.Result; +import com.atguigu.ssyx.model.product.Attr; +import com.atguigu.ssyx.product.service.AttrService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** *

@@ -12,9 +20,80 @@ import org.springframework.web.bind.annotation.RestController; * @author atguigu * @since 2023-09-15 */ +@Api(value = "Attr管理", tags = "平台属性管理") @RestController -@RequestMapping("/product/attr") +@RequestMapping(value = "/admin/product/attr") +@CrossOrigin public class AttrController { + @Autowired + private AttrService attrService; + + @ApiOperation(value = "获取平台属性列表") + @GetMapping("{attrGroupId}") + public Result index( + @ApiParam(name = "attrGroupId", value = "分组id", required = true) + @PathVariable Long attrGroupId) { + try { + return Result.ok(attrService.findByAttrGroupId(attrGroupId)); + } catch (Exception e) { + throw new RuntimeException("获取平台属性列表异常", e); + } + } + + @ApiOperation(value = "获取平台属性") + @GetMapping("get/{id}") + public Result get(@PathVariable Long id) { + try { + Attr attr = attrService.getById(id); + return Result.ok(attr); + } catch (Exception e) { + throw new RuntimeException("获取平台属性异常", e); + } + } + + @ApiOperation(value = "新增平台属性") + @PostMapping("save") + public Result save(@RequestBody Attr attr) { + try { + attrService.save(attr); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("新增平台属性异常", e); + } + } + + @ApiOperation(value = "修改平台属性") + @PutMapping("update") + public Result updateById(@RequestBody Attr attr) { + try { + attrService.updateById(attr); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("修改平台属性异常", e); + } + } + + @ApiOperation(value = "删除平台属性") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + try { + attrService.removeById(id); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("删除平台属性异常", e); + } + } + + @ApiOperation(value = "根据id列表删除平台属性") + @DeleteMapping("batchRemove") + public Result batchRemove(@RequestBody List idList) { + try { + attrService.removeByIds(idList); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("根据id列表删除平台属性表异常", e); + } + } } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrGroupController.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrGroupController.java index fb67092..99ff2f2 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrGroupController.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/AttrGroupController.java @@ -1,8 +1,20 @@ package com.atguigu.ssyx.product.controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.atguigu.ssyx.common.result.Result; +import com.atguigu.ssyx.model.product.AttrGroup; +import com.atguigu.ssyx.product.service.AttrGroupService; +import com.atguigu.ssyx.vo.product.AttrGroupQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** *

@@ -12,9 +24,94 @@ import org.springframework.web.bind.annotation.RestController; * @author atguigu * @since 2023-09-15 */ +@Api(value = "AttrGroup管理", tags = "平台属性分组管理") @RestController -@RequestMapping("/product/attr-group") +@CrossOrigin +@RequestMapping(value = "/admin/product/attrGroup") public class AttrGroupController { + @Autowired + private AttrGroupService attrGroupService; + + @ApiOperation(value = "获取平台属性分组分页列表") + @GetMapping("{page}/{limit}") + public Result index(@ApiParam(name = "page", value = "当前页码", required = true) @PathVariable Long page, + @ApiParam(name = "limit", value = "每页记录数", required = true) @PathVariable Long limit, + @ApiParam(name = "attrGroupQueryVo", value = "查询对象", required = false) + AttrGroupQueryVo attrGroupQueryVo) { + try { + Page pageParam = new Page<>(page, limit); + IPage pageModel = attrGroupService.selectPage(pageParam, attrGroupQueryVo); + return Result.ok(pageModel); + } catch (Exception e) { + throw new RuntimeException("获取平台属性分组分页列表异常", e); + } + } + + @ApiOperation(value = "获取平台属性分组") + @GetMapping("get/{id}") + public Result get(@PathVariable Long id) { + try { + AttrGroup attrGroup = attrGroupService.getById(id); + return StringUtils.isNotEmpty(attrGroup.toString()) ? Result.ok(attrGroup) : Result.fail(attrGroup); + } catch (Exception e) { + throw new RuntimeException("获取商品分类信息异常", e); + } + } + + @ApiOperation(value = "新增平台属性分组") + @PostMapping("save") + public Result save(@RequestBody AttrGroup attrGroup) { + try { + attrGroupService.save(attrGroup); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("新增平台属性分组异常", e); + } + } + + @ApiOperation(value = "修改平台属性分组") + @PutMapping("update") + public Result updateById(@RequestBody AttrGroup attrGroup) { + try { + attrGroupService.updateById(attrGroup); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("修改平台属性分组异常", e); + } + } + + @ApiOperation(value = "删除平台属性分组") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + try { + attrGroupService.removeById(id); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("删除平台属性分组异常", e); + } + } + + @ApiOperation(value = "根据id列表删除平台属性分组") + @DeleteMapping("batchRemove") + public Result batchRemove(@RequestBody List idList) { + try { + attrGroupService.removeByIds(idList); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("根据id列表删除平台属性分组异常", e); + } + } + + @ApiOperation(value = "获取全部平台属性分组") + @GetMapping("findAllList") + public Result findAllList() { + try { + return Result.ok(attrGroupService.findAllList()); + } catch (Exception e) { + throw new RuntimeException("获取全部平台属性分组异常", e); + } + + } } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/CategoryController.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/CategoryController.java index 3a5b191..7886913 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/CategoryController.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/controller/CategoryController.java @@ -1,8 +1,20 @@ package com.atguigu.ssyx.product.controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.atguigu.ssyx.common.result.Result; +import com.atguigu.ssyx.model.product.Category; +import com.atguigu.ssyx.product.service.CategoryService; +import com.atguigu.ssyx.vo.product.CategoryQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** *

@@ -12,9 +24,93 @@ import org.springframework.web.bind.annotation.RestController; * @author atguigu * @since 2023-09-15 */ +@Api(value = "Category管理", tags = "商品分类管理") @RestController -@RequestMapping("/product/category") +@CrossOrigin +@RequestMapping(value = "/admin/product/category") public class CategoryController { + @Autowired + private CategoryService categoryService; + + @ApiOperation(value = "获取商品分类分页列表") + @GetMapping("{page}/{limit}") + public Result index( + @ApiParam(name = "page", value = "当前页码", required = true) @PathVariable Long page, + @ApiParam(name = "limit", value = "每页记录数", required = true) @PathVariable Long limit, + @ApiParam(name = "categoryQueryVo", value = "查询对象", required = false) CategoryQueryVo categoryQueryVo) { + try { + Page pageParam = new Page<>(page, limit); + IPage pageModel = categoryService.selectPage(pageParam, categoryQueryVo); + return Result.ok(pageModel); + } catch (Exception e) { + throw new RuntimeException("获取商品分类分页列表异常", e); + } + } + + @ApiOperation(value = "获取商品分类信息") + @GetMapping("get/{id}") + public Result get(@PathVariable Long id) { + try { + Category category = categoryService.getById(id); + return StringUtils.isNotEmpty(category.toString()) ? Result.ok(category) : Result.fail(category); + } catch (Exception e) { + throw new RuntimeException("获取商品分类信息异常", e); + } + } + + @ApiOperation(value = "新增商品分类") + @PostMapping("save") + public Result save(@RequestBody Category category) { + try { + categoryService.save(category); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("新增商品分类异常", e); + } + } + + @ApiOperation(value = "修改商品分类") + @PutMapping("update") + public Result updateById(@RequestBody Category category) { + try { + categoryService.updateById(category); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("修改商品分类异常", e); + } + } + + @ApiOperation(value = "删除商品分类") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + try { + categoryService.removeById(id); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("删除商品分类异常", e); + } + } + + @ApiOperation(value = "根据id列表删除商品分类") + @DeleteMapping("batchRemove") + public Result batchRemove(@RequestBody List idList) { + try { + categoryService.removeByIds(idList); + return Result.ok(null); + } catch (Exception e) { + throw new RuntimeException("根据id列表删除商品分类异常", e); + } + } + + @ApiOperation(value = "获取全部商品分类") + @GetMapping("findAllList") + public Result findAllList() { + try { + return Result.ok(categoryService.findAllList()); + } catch (Exception e) { + throw new RuntimeException("获取全部商品分类异常", e); + } + } } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrGroupService.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrGroupService.java index 915ad19..b25d740 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrGroupService.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrGroupService.java @@ -1,8 +1,13 @@ package com.atguigu.ssyx.product.service; import com.atguigu.ssyx.model.product.AttrGroup; +import com.atguigu.ssyx.vo.product.AttrGroupQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 属性分组 服务类 @@ -13,4 +18,8 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface AttrGroupService extends IService { + List findAllList(); + + //平台属性分组列表 + IPage selectPage(Page pageParam, AttrGroupQueryVo attrGroupQueryVo); } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrService.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrService.java index 0c99bd0..3a5e56e 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrService.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/AttrService.java @@ -3,6 +3,8 @@ package com.atguigu.ssyx.product.service; import com.atguigu.ssyx.model.product.Attr; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 商品属性 服务类 @@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface AttrService extends IService { + List findByAttrGroupId(Long attrGroupId); } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/CategoryService.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/CategoryService.java index f4bd727..74d9f19 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/CategoryService.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/CategoryService.java @@ -2,8 +2,13 @@ package com.atguigu.ssyx.product.service; import com.atguigu.ssyx.model.product.Category; +import com.atguigu.ssyx.vo.product.CategoryQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 商品三级分类 服务类 @@ -14,4 +19,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface CategoryService extends IService { + IPage selectPage(Page pageParam, CategoryQueryVo categoryQueryVo); + + List findAllList(); } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrGroupServiceImpl.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrGroupServiceImpl.java index 083b0c2..aa5fff2 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrGroupServiceImpl.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrGroupServiceImpl.java @@ -4,8 +4,16 @@ package com.atguigu.ssyx.product.service.impl; import com.atguigu.ssyx.model.product.AttrGroup; import com.atguigu.ssyx.product.mapper.AttrGroupMapper; import com.atguigu.ssyx.product.service.AttrGroupService; +import com.atguigu.ssyx.vo.product.AttrGroupQueryVo; +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.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.List; /** *

@@ -18,4 +26,35 @@ import org.springframework.stereotype.Service; @Service public class AttrGroupServiceImpl extends ServiceImpl implements AttrGroupService { + /** + * 查询所有的平台属性分组列表 + * + * @return + */ + @Override + public List findAllList() { + //LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.orderByDesc("id"); + List list = baseMapper.selectList(wrapper); + return list; + } + + /** + * 平台属性分组列表 + * + * @param pageParam + * @param attrGroupQueryVo + * @return + */ + @Override + public IPage selectPage(Page pageParam, AttrGroupQueryVo attrGroupQueryVo) { + String name = attrGroupQueryVo.getName(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (!StringUtils.isEmpty(name)) { + wrapper.like(AttrGroup::getName, name); + } + IPage attrGroupPage = baseMapper.selectPage(pageParam, wrapper); + return attrGroupPage; + } } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrServiceImpl.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrServiceImpl.java index 093c749..39a4d97 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrServiceImpl.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/AttrServiceImpl.java @@ -3,9 +3,12 @@ package com.atguigu.ssyx.product.service.impl; import com.atguigu.ssyx.model.product.Attr; import com.atguigu.ssyx.product.mapper.AttrMapper; import com.atguigu.ssyx.product.service.AttrService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 商品属性 服务实现类 @@ -17,4 +20,11 @@ import org.springframework.stereotype.Service; @Service public class AttrServiceImpl extends ServiceImpl implements AttrService { + @Override + public List findByAttrGroupId(Long attrGroupId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Attr::getAttrGroupId, attrGroupId); + List attrList = baseMapper.selectList(wrapper); + return attrList; + } } diff --git a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/CategoryServiceImpl.java b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/CategoryServiceImpl.java index 30d93d8..d427b08 100644 --- a/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/CategoryServiceImpl.java +++ b/guigu-ssyx-parent/service/service-product/src/main/java/com/atguigu/ssyx/product/service/impl/CategoryServiceImpl.java @@ -3,8 +3,15 @@ package com.atguigu.ssyx.product.service.impl; import com.atguigu.ssyx.model.product.Category; import com.atguigu.ssyx.product.mapper.CategoryMapper; import com.atguigu.ssyx.product.service.CategoryService; +import com.atguigu.ssyx.vo.product.CategoryQueryVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.List; /** *

@@ -17,4 +24,21 @@ import org.springframework.stereotype.Service; @Service public class CategoryServiceImpl extends ServiceImpl implements CategoryService { + @Override + public IPage selectPage(Page pageParam, CategoryQueryVo categoryQueryVo) { + String name = categoryQueryVo.getName(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (!StringUtils.isEmpty(name)) { + queryWrapper.like(Category::getName, name); + } + IPage categoryPage = baseMapper.selectPage(pageParam, queryWrapper); + return categoryPage; + } + + @Override + public List findAllList() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByAsc(Category::getSort); + return this.list(queryWrapper); + } }