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);
+ }
}