From 33c79663fb2dc55ec3b7d50b87b9ea767938b160 Mon Sep 17 00:00:00 2001 From: Yen Date: Sun, 9 Oct 2022 17:37:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/model/enums/SystemModule.java | 1 + .../controller/GoodsCategoryController.java | 103 ++++++++++++++++++ .../goods/controller/GoodsSkuController.java | 103 ++++++++++++++++++ .../GoodsSkuSpecValueController.java | 103 ++++++++++++++++++ .../goods/controller/GoodsSpecController.java | 103 ++++++++++++++++++ .../controller/GoodsSpecValueController.java | 103 ++++++++++++++++++ .../goods/controller/GoodsSpuController.java | 103 ++++++++++++++++++ .../controller/GoodsSpuSpecController.java | 103 ++++++++++++++++++ .../modules/goods/entity/GoodsCategory.java | 87 +++++++++++++++ .../serve/modules/goods/entity/GoodsSku.java | 103 ++++++++++++++++++ .../goods/entity/GoodsSkuSpecValue.java | 77 +++++++++++++ .../serve/modules/goods/entity/GoodsSpec.java | 66 +++++++++++ .../modules/goods/entity/GoodsSpecValue.java | 70 ++++++++++++ .../serve/modules/goods/entity/GoodsSpu.java | 102 +++++++++++++++++ .../modules/goods/entity/GoodsSpuSpec.java | 74 +++++++++++++ .../goods/mapper/GoodsCategoryMapper.java | 14 +++ .../modules/goods/mapper/GoodsSkuMapper.java | 14 +++ .../goods/mapper/GoodsSkuSpecValueMapper.java | 14 +++ .../modules/goods/mapper/GoodsSpecMapper.java | 14 +++ .../goods/mapper/GoodsSpecValueMapper.java | 14 +++ .../modules/goods/mapper/GoodsSpuMapper.java | 14 +++ .../goods/mapper/GoodsSpuSpecMapper.java | 14 +++ .../goods/service/GoodsCategoryService.java | 14 +++ .../goods/service/GoodsSkuService.java | 14 +++ .../service/GoodsSkuSpecValueService.java | 14 +++ .../goods/service/GoodsSpecService.java | 14 +++ .../goods/service/GoodsSpecValueService.java | 14 +++ .../goods/service/GoodsSpuService.java | 14 +++ .../goods/service/GoodsSpuSpecService.java | 14 +++ .../impl/GoodsCategoryServiceImpl.java | 22 ++++ .../service/impl/GoodsSkuServiceImpl.java | 22 ++++ .../impl/GoodsSkuSpecValueServiceImpl.java | 22 ++++ .../service/impl/GoodsSpecServiceImpl.java | 22 ++++ .../impl/GoodsSpecValueServiceImpl.java | 22 ++++ .../service/impl/GoodsSpuServiceImpl.java | 22 ++++ .../service/impl/GoodsSpuSpecServiceImpl.java | 22 ++++ 36 files changed, 1651 insertions(+) create mode 100644 src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java create mode 100644 src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java create mode 100644 src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuSpecValueController.java create mode 100644 src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecController.java create mode 100644 src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java create mode 100644 src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java create mode 100644 src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/GoodsSkuSpecValue.java create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/GoodsSpec.java create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/GoodsSpecValue.java create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java create mode 100644 src/main/java/com/qs/serve/modules/goods/entity/GoodsSpuSpec.java create mode 100644 src/main/java/com/qs/serve/modules/goods/mapper/GoodsCategoryMapper.java create mode 100644 src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java create mode 100644 src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java create mode 100644 src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecMapper.java create mode 100644 src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecValueMapper.java create mode 100644 src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java create mode 100644 src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuSpecMapper.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/GoodsSpecService.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/GoodsSpecValueService.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/GoodsSpuSpecService.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecValueServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java create mode 100644 src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuSpecServiceImpl.java diff --git a/src/main/java/com/qs/serve/common/model/enums/SystemModule.java b/src/main/java/com/qs/serve/common/model/enums/SystemModule.java index e2ff16d2..4b753330 100644 --- a/src/main/java/com/qs/serve/common/model/enums/SystemModule.java +++ b/src/main/java/com/qs/serve/common/model/enums/SystemModule.java @@ -12,6 +12,7 @@ import lombok.Getter; public enum SystemModule { QUESTION("qms","问卷"), + GOODS("goods","商品"), SYSTEM("sys","系统"), UMS("ums","手机用户"); diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java new file mode 100644 index 00000000..f09cd424 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.goods.entity.GoodsCategory; +import com.qs.serve.modules.goods.service.GoodsCategoryService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 商品 分类 后台接口 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("goods/category") +public class GoodsCategoryController { + + private GoodsCategoryService goodsCategoryService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('goods:category:query')") + public R> getPage(GoodsCategory param){ + PageUtil.startPage(); + LambdaQueryWrapper categoryWrapper = new LambdaQueryWrapper<>(param); + List list = goodsCategoryService.list(categoryWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.QUERY) + @PreAuthorize("hasRole('goods:category:query')") + public R getById(@PathVariable("id") String id){ + GoodsCategory goodsCategory = goodsCategoryService.getById(id); + return R.ok(goodsCategory); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.UPDATE) + @PreAuthorize("hasRole('goods:category:update')") + public R updateById(@RequestBody @Valid GoodsCategory param){ + boolean result = goodsCategoryService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增分类 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.INSERT) + @PreAuthorize("hasRole('goods:category:insert')") + public R save(@RequestBody @Valid GoodsCategory param){ + boolean result = goodsCategoryService.save(param); + return R.isTrue(result); + } + + /** + * 删除分类 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.DELETE) + @PreAuthorize("hasRole('goods:category:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = goodsCategoryService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java new file mode 100644 index 00000000..cb3ce39b --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.goods.entity.GoodsSku; +import com.qs.serve.modules.goods.service.GoodsSkuService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 商品 sku 后台接口 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("goods/sku") +public class GoodsSkuController { + + private GoodsSkuService goodsSkuService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('goods:sku:query')") + public R> getPage(GoodsSku param){ + PageUtil.startPage(); + LambdaQueryWrapper skuWrapper = new LambdaQueryWrapper<>(param); + List list = goodsSkuService.list(skuWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.QUERY) + @PreAuthorize("hasRole('goods:sku:query')") + public R getById(@PathVariable("id") String id){ + GoodsSku goodsSku = goodsSkuService.getById(id); + return R.ok(goodsSku); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.UPDATE) + @PreAuthorize("hasRole('goods:sku:update')") + public R updateById(@RequestBody @Valid GoodsSku param){ + boolean result = goodsSkuService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增sku + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.INSERT) + @PreAuthorize("hasRole('goods:sku:insert')") + public R save(@RequestBody @Valid GoodsSku param){ + boolean result = goodsSkuService.save(param); + return R.isTrue(result); + } + + /** + * 删除sku + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.DELETE) + @PreAuthorize("hasRole('goods:sku:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = goodsSkuService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuSpecValueController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuSpecValueController.java new file mode 100644 index 00000000..06432242 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuSpecValueController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; +import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 商品 sku规格值 后台接口 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("goods/skuSpecValue") +public class GoodsSkuSpecValueController { + + private GoodsSkuSpecValueService goodsSkuSpecValueService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('goods:skuSpecValue:query')") + public R> getPage(GoodsSkuSpecValue param){ + PageUtil.startPage(); + LambdaQueryWrapper skuSpecValueWrapper = new LambdaQueryWrapper<>(param); + List list = goodsSkuSpecValueService.list(skuSpecValueWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.QUERY) + @PreAuthorize("hasRole('goods:skuSpecValue:query')") + public R getById(@PathVariable("id") String id){ + GoodsSkuSpecValue goodsSkuSpecValue = goodsSkuSpecValueService.getById(id); + return R.ok(goodsSkuSpecValue); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.UPDATE) + @PreAuthorize("hasRole('goods:skuSpecValue:update')") + public R updateById(@RequestBody @Valid GoodsSkuSpecValue param){ + boolean result = goodsSkuSpecValueService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增sku规格值 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.INSERT) + @PreAuthorize("hasRole('goods:skuSpecValue:insert')") + public R save(@RequestBody @Valid GoodsSkuSpecValue param){ + boolean result = goodsSkuSpecValueService.save(param); + return R.isTrue(result); + } + + /** + * 删除sku规格值 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.GOODS, title = "sku规格值", biz = BizType.DELETE) + @PreAuthorize("hasRole('goods:skuSpecValue:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = goodsSkuSpecValueService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecController.java new file mode 100644 index 00000000..efa91284 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.goods.entity.GoodsSpec; +import com.qs.serve.modules.goods.service.GoodsSpecService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 商品 规格 后台接口 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("goods/spec") +public class GoodsSpecController { + + private GoodsSpecService goodsSpecService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('goods:spec:query')") + public R> getPage(GoodsSpec param){ + PageUtil.startPage(); + LambdaQueryWrapper specWrapper = new LambdaQueryWrapper<>(param); + List list = goodsSpecService.list(specWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.QUERY) + @PreAuthorize("hasRole('goods:spec:query')") + public R getById(@PathVariable("id") String id){ + GoodsSpec goodsSpec = goodsSpecService.getById(id); + return R.ok(goodsSpec); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.UPDATE) + @PreAuthorize("hasRole('goods:spec:update')") + public R updateById(@RequestBody @Valid GoodsSpec param){ + boolean result = goodsSpecService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增规格 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.INSERT) + @PreAuthorize("hasRole('goods:spec:insert')") + public R save(@RequestBody @Valid GoodsSpec param){ + boolean result = goodsSpecService.save(param); + return R.isTrue(result); + } + + /** + * 删除规格 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.GOODS, title = "规格", biz = BizType.DELETE) + @PreAuthorize("hasRole('goods:spec:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = goodsSpecService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java new file mode 100644 index 00000000..eb7ff548 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.goods.entity.GoodsSpecValue; +import com.qs.serve.modules.goods.service.GoodsSpecValueService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 商品 规格值 后台接口 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("goods/specValue") +public class GoodsSpecValueController { + + private GoodsSpecValueService goodsSpecValueService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('goods:specValue:query')") + public R> getPage(GoodsSpecValue param){ + PageUtil.startPage(); + LambdaQueryWrapper specValueWrapper = new LambdaQueryWrapper<>(param); + List list = goodsSpecValueService.list(specValueWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.QUERY) + @PreAuthorize("hasRole('goods:specValue:query')") + public R getById(@PathVariable("id") String id){ + GoodsSpecValue goodsSpecValue = goodsSpecValueService.getById(id); + return R.ok(goodsSpecValue); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.UPDATE) + @PreAuthorize("hasRole('goods:specValue:update')") + public R updateById(@RequestBody @Valid GoodsSpecValue param){ + boolean result = goodsSpecValueService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增规格值 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.INSERT) + @PreAuthorize("hasRole('goods:specValue:insert')") + public R save(@RequestBody @Valid GoodsSpecValue param){ + boolean result = goodsSpecValueService.save(param); + return R.isTrue(result); + } + + /** + * 删除规格值 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.DELETE) + @PreAuthorize("hasRole('goods:specValue:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = goodsSpecValueService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java new file mode 100644 index 00000000..896aea12 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.goods.entity.GoodsSpu; +import com.qs.serve.modules.goods.service.GoodsSpuService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 商品 spu 后台接口 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("goods/spu") +public class GoodsSpuController { + + private GoodsSpuService goodsSpuService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('goods:spu:query')") + public R> getPage(GoodsSpu param){ + PageUtil.startPage(); + LambdaQueryWrapper spuWrapper = new LambdaQueryWrapper<>(param); + List list = goodsSpuService.list(spuWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.QUERY) + @PreAuthorize("hasRole('goods:spu:query')") + public R getById(@PathVariable("id") String id){ + GoodsSpu goodsSpu = goodsSpuService.getById(id); + return R.ok(goodsSpu); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.UPDATE) + @PreAuthorize("hasRole('goods:spu:update')") + public R updateById(@RequestBody @Valid GoodsSpu param){ + boolean result = goodsSpuService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增spu + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.INSERT) + @PreAuthorize("hasRole('goods:spu:insert')") + public R save(@RequestBody @Valid GoodsSpu param){ + boolean result = goodsSpuService.save(param); + return R.isTrue(result); + } + + /** + * 删除spu + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.DELETE) + @PreAuthorize("hasRole('goods:spu:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = goodsSpuService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java new file mode 100644 index 00000000..f52026d5 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuSpecController.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.goods.entity.GoodsSpuSpec; +import com.qs.serve.modules.goods.service.GoodsSpuSpecService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 商品 spu规格 后台接口 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("goods/spuSpec") +public class GoodsSpuSpecController { + + private GoodsSpuSpecService goodsSpuSpecService; + + /** + * 翻页查询 + * @param param + * @return + */ + @GetMapping("/page") + @PreAuthorize("hasRole('goods:spuSpec:query')") + public R> getPage(GoodsSpuSpec param){ + PageUtil.startPage(); + LambdaQueryWrapper spuSpecWrapper = new LambdaQueryWrapper<>(param); + List list = goodsSpuSpecService.list(spuSpecWrapper); + return R.byPageHelperList(list); + } + + /** + * 根据ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.QUERY) + @PreAuthorize("hasRole('goods:spuSpec:query')") + public R getById(@PathVariable("id") String id){ + GoodsSpuSpec goodsSpuSpec = goodsSpuSpecService.getById(id); + return R.ok(goodsSpuSpec); + } + + + + /** + * 根据ID更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.UPDATE) + @PreAuthorize("hasRole('goods:spuSpec:update')") + public R updateById(@RequestBody @Valid GoodsSpuSpec param){ + boolean result = goodsSpuSpecService.updateById(param); + return R.isTrue(result); + } + + /** + * 新增spu规格 + * @param param + * @return + */ + @PostMapping("/save") + @SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.INSERT) + @PreAuthorize("hasRole('goods:spuSpec:insert')") + public R save(@RequestBody @Valid GoodsSpuSpec param){ + boolean result = goodsSpuSpecService.save(param); + return R.isTrue(result); + } + + /** + * 删除spu规格 + * @param id + * @return + */ + @DeleteMapping("/deleteById/{id}") + @SysLog(module = SystemModule.GOODS, title = "spu规格", biz = BizType.DELETE) + @PreAuthorize("hasRole('goods:spuSpec:delete')") + public R deleteById(@PathVariable("id") String id){ + boolean result = goodsSpuSpecService.removeById(id); + return R.isTrue(result); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java new file mode 100644 index 00000000..c5d237ae --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsCategory.java @@ -0,0 +1,87 @@ +package com.qs.serve.modules.goods.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 分类 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_category") +public class GoodsCategory implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.AUTO) + private Long id; + + /** (1:开启;0:关闭) */ + @NotBlank(message = "(1:开启;0:关闭)不能为空") + @Length(max = 2,message = "(1:开启;0:关闭)长度不能超过2字") + private String enable; + + /** 父分类编号 */ + @Length(max = 32,message = "父分类编号长度不能超过32字") + private String parentId; + + /** 名称 */ + @Length(max = 16,message = "名称长度不能超过16字") + private String name; + + /** 描述 */ + @Length(max = 255,message = "描述长度不能超过255字") + private String description; + + /** 图片 */ + @Length(max = 255,message = "图片长度不能超过255字") + private String picUrl; + + /** 排序 */ + private Integer sort; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java new file mode 100644 index 00000000..c92fa385 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java @@ -0,0 +1,103 @@ +package com.qs.serve.modules.goods.entity; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * sku 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_sku") +public class GoodsSku implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.AUTO) + private Long id; + + /** sku编码 */ + @Length(max = 32,message = "sku编码长度不能超过32字") + private String skuCode; + + /** 商品Id */ + @NotNull(message = "商品Id不能为空") + private Long spuId; + + /** 图片 */ + @Length(max = 500,message = "图片长度不能超过500字") + private String picUrl; + + /** 销售价格 */ + private BigDecimal salesPrice; + + /** 市场价 */ + private BigDecimal marketPrice; + + /** 成本价 */ + private BigDecimal costPrice; + + /** 库存 */ + @NotNull(message = "库存不能为空") + private Integer stock; + + /** 重量(kg) */ + @NotNull(message = "重量(kg)不能为空") + private BigDecimal weight; + + /** 体积(m³) */ + @NotNull(message = "体积(m³)不能为空") + private BigDecimal volume; + + /** 是否启用1、是;0否 */ + @NotBlank(message = "是否启用1、是;0否不能为空") + @Length(max = 2,message = "是否启用1、是;0否长度不能超过2字") + private String enable; + + /** 版本号 */ + private Integer version; + + /** 最后更新时间 */ + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSkuSpecValue.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSkuSpecValue.java new file mode 100644 index 00000000..85da5318 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSkuSpecValue.java @@ -0,0 +1,77 @@ +package com.qs.serve.modules.goods.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * sku规格值 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_sku_spec_value") +public class GoodsSkuSpecValue implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.AUTO) + private Long id; + + /** spu_id */ + private Long spuId; + + /** sku_id */ + @NotNull(message = "sku_id不能为空") + private Long skuId; + + /** 规格值id */ + @NotNull(message = "规格值id不能为空") + private Long specValueId; + + /** 排序字段 */ + private Integer sort; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpec.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpec.java new file mode 100644 index 00000000..f8c4177f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpec.java @@ -0,0 +1,66 @@ +package com.qs.serve.modules.goods.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 规格 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_spec") +public class GoodsSpec implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 名称 */ + @NotBlank(message = "名称不能为空") + @Length(max = 50,message = "名称长度不能超过50字") + private String name; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpecValue.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpecValue.java new file mode 100644 index 00000000..45ee5641 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpecValue.java @@ -0,0 +1,70 @@ +package com.qs.serve.modules.goods.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 规格值 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_spec_value") +public class GoodsSpecValue implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 规格Id */ + @NotNull(message = "规格Id不能为空") + private Long specId; + + /** 名称 */ + @NotBlank(message = "名称不能为空") + @Length(max = 50,message = "名称长度不能超过50字") + private String name; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java new file mode 100644 index 00000000..3ce72692 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -0,0 +1,102 @@ +package com.qs.serve.modules.goods.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * spu 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_spu") +public class GoodsSpu implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 商品编码 */ + @NotBlank(message = "商品编码不能为空") + @Length(max = 32,message = "商品编码长度不能超过32字") + private String spuCode; + + /** 商品名字 */ + @NotBlank(message = "商品名字不能为空") + @Length(max = 200,message = "商品名字长度不能超过200字") + private String name; + + /** 一级分类ID */ + @NotNull(message = "一级分类ID不能为空") + private Long categoryFirst; + + /** 二级分类ID */ + private Long categorySecond; + + /** 三级分类ID */ + private Long categoryThird; + + /** 商品图片 */ + @NotBlank(message = "商品图片不能为空") + @Length(max = 1024,message = "商品图片长度不能超过1024字") + private String picUrls; + + /** 是否上架(1是 0否) */ + @NotBlank(message = "是否上架(1是 0否)不能为空") + @Length(max = 2,message = "是否上架(1是 0否)长度不能超过2字") + private String shelf; + + /** 排序字段 */ + @NotNull(message = "排序字段不能为空") + private Integer sort; + + /** 销量 */ + private Integer saleNum; + + /** 0统一规格;1多规格 */ + @Length(max = 2,message = "0统一规格;1多规格长度不能超过2字") + private String specType; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpuSpec.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpuSpec.java new file mode 100644 index 00000000..49f1cdb8 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpuSpec.java @@ -0,0 +1,74 @@ +package com.qs.serve.modules.goods.entity; + +import java.time.LocalDateTime; +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * spu规格 实体类 + * @author YenHex + * @since 2022-10-09 + */ +@Data +@TableName("goods_spu_spec") +public class GoodsSpuSpec implements Serializable { + + private static final long serialVersionUID = 1L; + + /** PK */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** spu_id */ + @NotNull(message = "spu_id不能为空") + private Long spuId; + + /** spec_id */ + @NotNull(message = "spec_id不能为空") + private Long specId; + + /** 排序字段 */ + private Integer sort; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsCategoryMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsCategoryMapper.java new file mode 100644 index 00000000..096ae7bb --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsCategoryMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.goods.entity.GoodsCategory; + +/** + * 分类 Mapper + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsCategoryMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java new file mode 100644 index 00000000..4c4f49eb --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.goods.entity.GoodsSku; + +/** + * sku Mapper + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSkuMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java new file mode 100644 index 00000000..e8cde72f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSkuSpecValueMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; + +/** + * sku规格值 Mapper + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSkuSpecValueMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecMapper.java new file mode 100644 index 00000000..bfe5f094 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.goods.entity.GoodsSpec; + +/** + * 规格 Mapper + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpecMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecValueMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecValueMapper.java new file mode 100644 index 00000000..ce09c8f4 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpecValueMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.goods.entity.GoodsSpecValue; + +/** + * 规格值 Mapper + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpecValueMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java new file mode 100644 index 00000000..cb0dc6f9 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.goods.entity.GoodsSpu; + +/** + * spu Mapper + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpuMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuSpecMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuSpecMapper.java new file mode 100644 index 00000000..967221a7 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsSpuSpecMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.goods.entity.GoodsSpuSpec; + +/** + * spu规格 Mapper + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpuSpecMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java new file mode 100644 index 00000000..7de86236 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsCategoryService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.goods.entity.GoodsCategory; + +/** + * 分类 服务接口 + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsCategoryService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java new file mode 100644 index 00000000..d2f2eaba --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.goods.entity.GoodsSku; + +/** + * sku 服务接口 + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSkuService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java new file mode 100644 index 00000000..ac4211ba --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSkuSpecValueService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; + +/** + * sku规格值 服务接口 + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSkuSpecValueService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpecService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpecService.java new file mode 100644 index 00000000..8df2a955 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpecService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.goods.entity.GoodsSpec; + +/** + * 规格 服务接口 + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpecService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpecValueService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpecValueService.java new file mode 100644 index 00000000..83a7e589 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpecValueService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.goods.entity.GoodsSpecValue; + +/** + * 规格值 服务接口 + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpecValueService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java new file mode 100644 index 00000000..e19dd148 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.goods.entity.GoodsSpu; + +/** + * spu 服务接口 + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpuService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuSpecService.java b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuSpecService.java new file mode 100644 index 00000000..e3ab2671 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/GoodsSpuSpecService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.goods.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.goods.entity.GoodsSpuSpec; + +/** + * spu规格 服务接口 + * @author YenHex + * @date 2022-10-09 + */ +public interface GoodsSpuSpecService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java new file mode 100644 index 00000000..2e098aed --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsCategoryServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.goods.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.goods.entity.GoodsCategory; +import com.qs.serve.modules.goods.service.GoodsCategoryService; +import com.qs.serve.modules.goods.mapper.GoodsCategoryMapper; + +/** + * 分类 服务实现类 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@Service +@AllArgsConstructor +public class GoodsCategoryServiceImpl extends ServiceImpl implements GoodsCategoryService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java new file mode 100644 index 00000000..303b9e2d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.goods.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.goods.entity.GoodsSku; +import com.qs.serve.modules.goods.service.GoodsSkuService; +import com.qs.serve.modules.goods.mapper.GoodsSkuMapper; + +/** + * sku 服务实现类 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@Service +@AllArgsConstructor +public class GoodsSkuServiceImpl extends ServiceImpl implements GoodsSkuService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java new file mode 100644 index 00000000..76360bc5 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuSpecValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.goods.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.goods.entity.GoodsSkuSpecValue; +import com.qs.serve.modules.goods.service.GoodsSkuSpecValueService; +import com.qs.serve.modules.goods.mapper.GoodsSkuSpecValueMapper; + +/** + * sku规格值 服务实现类 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@Service +@AllArgsConstructor +public class GoodsSkuSpecValueServiceImpl extends ServiceImpl implements GoodsSkuSpecValueService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecServiceImpl.java new file mode 100644 index 00000000..84f61e44 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.goods.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.goods.entity.GoodsSpec; +import com.qs.serve.modules.goods.service.GoodsSpecService; +import com.qs.serve.modules.goods.mapper.GoodsSpecMapper; + +/** + * 规格 服务实现类 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@Service +@AllArgsConstructor +public class GoodsSpecServiceImpl extends ServiceImpl implements GoodsSpecService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecValueServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecValueServiceImpl.java new file mode 100644 index 00000000..d97bcdb6 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpecValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.goods.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.goods.entity.GoodsSpecValue; +import com.qs.serve.modules.goods.service.GoodsSpecValueService; +import com.qs.serve.modules.goods.mapper.GoodsSpecValueMapper; + +/** + * 规格值 服务实现类 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@Service +@AllArgsConstructor +public class GoodsSpecValueServiceImpl extends ServiceImpl implements GoodsSpecValueService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java new file mode 100644 index 00000000..9b3d2abc --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.goods.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.goods.entity.GoodsSpu; +import com.qs.serve.modules.goods.service.GoodsSpuService; +import com.qs.serve.modules.goods.mapper.GoodsSpuMapper; + +/** + * spu 服务实现类 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@Service +@AllArgsConstructor +public class GoodsSpuServiceImpl extends ServiceImpl implements GoodsSpuService { + +} + diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuSpecServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuSpecServiceImpl.java new file mode 100644 index 00000000..7a904eda --- /dev/null +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSpuSpecServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.goods.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.goods.entity.GoodsSpuSpec; +import com.qs.serve.modules.goods.service.GoodsSpuSpecService; +import com.qs.serve.modules.goods.mapper.GoodsSpuSpecMapper; + +/** + * spu规格 服务实现类 + * @author YenHex + * @since 2022-10-09 + */ +@Slf4j +@Service +@AllArgsConstructor +public class GoodsSpuSpecServiceImpl extends ServiceImpl implements GoodsSpuSpecService { + +} +