From eb5bdda3442fb7aa7856a2374bafb122fc4287b4 Mon Sep 17 00:00:00 2001 From: franky <16621167566@163.com> Date: Tue, 31 May 2022 18:39:44 +0800 Subject: [PATCH] SPU名字重构 --- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/ProductSkuController.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/SkuController.java | 100 ---------------------------------------------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuCreateReqVO.java | 14 ++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExcelVO.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExportReqVO.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuPageReqVO.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java | 19 +++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuUpdateReqVO.java | 18 ++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuBaseVO.java | 46 ---------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuCreateReqVO.java | 14 -------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExcelVO.java | 47 ----------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExportReqVO.java | 47 ----------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuPageReqVO.java | 49 ------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuRespVO.java | 19 ------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuUpdateReqVO.java | 18 ------------------ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/SpuController.java | 100 ---------------------------------------------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuCreateReqVO.java | 14 ++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuBaseVO.java | 50 -------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuCreateReqVO.java | 14 -------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExcelVO.java | 2 +- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExportReqVO.java | 2 +- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuRespVO.java | 2 +- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuUpdateReqVO.java | 2 +- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/ProductSkuConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/SkuConvert.java | 34 ---------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java | 34 ++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/SpuConvert.java | 34 ---------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/SkuDO.java | 63 --------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/SpuDO.java | 71 ----------------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/ProductSkuMapper.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/SkuMapper.java | 48 ------------------------------------------------ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/SpuMapper.java | 52 ---------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuService.java | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuService.java | 70 ---------------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImpl.java | 82 ---------------------------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuService.java | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuService.java | 70 ---------------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImpl.java | 82 ---------------------------------------------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImplTest.java | 94 +++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------- yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImplTest.java | 231 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 49 files changed, 1414 insertions(+), 1392 deletions(-) create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/ProductSkuController.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/SkuController.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuCreateReqVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExcelVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExportReqVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuPageReqVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuUpdateReqVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuBaseVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuCreateReqVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExcelVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExportReqVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuPageReqVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuRespVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuUpdateReqVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/SpuController.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuCreateReqVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuBaseVO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuCreateReqVO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/ProductSkuConvert.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/SkuConvert.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/SpuConvert.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/SkuDO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/SpuDO.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/ProductSkuMapper.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/SkuMapper.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/SpuMapper.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuService.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuService.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImpl.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuService.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuService.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImpl.java create mode 100755 yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java delete mode 100755 yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImplTest.java diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/ProductSkuController.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/ProductSkuController.java new file mode 100755 index 0000000..878318f --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/ProductSkuController.java @@ -0,0 +1,100 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; +import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert; +import cn.iocoder.yudao.module.product.service.sku.ProductSkuService; + +@Api(tags = "管理后台 - 商品sku") +@RestController +@RequestMapping("/product/sku") +@Validated +public class ProductSkuController { + + @Resource + private ProductSkuService ProductSkuService; + + @PostMapping("/create") + @ApiOperation("创建商品sku") + @PreAuthorize("@ss.hasPermission('product:sku:create')") + public CommonResult createSku(@Valid @RequestBody ProductSkuCreateReqVO createReqVO) { + return success(ProductSkuService.createSku(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新商品sku") + @PreAuthorize("@ss.hasPermission('product:sku:update')") + public CommonResult updateSku(@Valid @RequestBody ProductSkuUpdateReqVO updateReqVO) { + ProductSkuService.updateSku(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除商品sku") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('product:sku:delete')") + public CommonResult deleteSku(@RequestParam("id") Integer id) { + ProductSkuService.deleteSku(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得商品sku") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('product:sku:query')") + public CommonResult getSku(@RequestParam("id") Integer id) { + ProductSkuDO sku = ProductSkuService.getSku(id); + return success(ProductSkuConvert.INSTANCE.convert(sku)); + } + + @GetMapping("/list") + @ApiOperation("获得商品sku列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('product:sku:query')") + public CommonResult> getSkuList(@RequestParam("ids") Collection ids) { + List list = ProductSkuService.getSkuList(ids); + return success(ProductSkuConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得商品sku分页") + @PreAuthorize("@ss.hasPermission('product:sku:query')") + public CommonResult> getSkuPage(@Valid ProductSkuPageReqVO pageVO) { + PageResult pageResult = ProductSkuService.getSkuPage(pageVO); + return success(ProductSkuConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出商品sku Excel") + @PreAuthorize("@ss.hasPermission('product:sku:export')") + @OperateLog(type = EXPORT) + public void exportSkuExcel(@Valid ProductSkuExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = ProductSkuService.getSkuList(exportReqVO); + // 导出 Excel + List datas = ProductSkuConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "商品sku.xls", "数据", ProductSkuExcelVO.class, datas); + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/SkuController.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/SkuController.java deleted file mode 100755 index 49f5159..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/SkuController.java +++ /dev/null @@ -1,100 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku; - -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.sku.SkuDO; -import cn.iocoder.yudao.module.product.convert.sku.SkuConvert; -import cn.iocoder.yudao.module.product.service.sku.SkuService; - -@Api(tags = "管理后台 - 商品sku") -@RestController -@RequestMapping("/product/sku") -@Validated -public class SkuController { - - @Resource - private SkuService skuService; - - @PostMapping("/create") - @ApiOperation("创建商品sku") - @PreAuthorize("@ss.hasPermission('product:sku:create')") - public CommonResult createSku(@Valid @RequestBody SkuCreateReqVO createReqVO) { - return success(skuService.createSku(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新商品sku") - @PreAuthorize("@ss.hasPermission('product:sku:update')") - public CommonResult updateSku(@Valid @RequestBody SkuUpdateReqVO updateReqVO) { - skuService.updateSku(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除商品sku") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('product:sku:delete')") - public CommonResult deleteSku(@RequestParam("id") Integer id) { - skuService.deleteSku(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得商品sku") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('product:sku:query')") - public CommonResult getSku(@RequestParam("id") Integer id) { - SkuDO sku = skuService.getSku(id); - return success(SkuConvert.INSTANCE.convert(sku)); - } - - @GetMapping("/list") - @ApiOperation("获得商品sku列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('product:sku:query')") - public CommonResult> getSkuList(@RequestParam("ids") Collection ids) { - List list = skuService.getSkuList(ids); - return success(SkuConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得商品sku分页") - @PreAuthorize("@ss.hasPermission('product:sku:query')") - public CommonResult> getSkuPage(@Valid SkuPageReqVO pageVO) { - PageResult pageResult = skuService.getSkuPage(pageVO); - return success(SkuConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出商品sku Excel") - @PreAuthorize("@ss.hasPermission('product:sku:export')") - @OperateLog(type = EXPORT) - public void exportSkuExcel(@Valid SkuExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = skuService.getSkuList(exportReqVO); - // 导出 Excel - List datas = SkuConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "商品sku.xls", "数据", SkuExcelVO.class, datas); - } - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java new file mode 100755 index 0000000..9f351e9 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuBaseVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import javax.validation.constraints.*; + +/** +* 商品sku Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class ProductSkuBaseVO { + + @ApiModelProperty(value = "spu编号", required = true) + @NotNull(message = "spu编号不能为空") + private Long spuId; + + @ApiModelProperty(value = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]", required = true) + @NotNull(message = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]不能为空") + private List properties; + + @ApiModelProperty(value = "销售价格,单位:分", required = true) + @NotNull(message = "销售价格,单位:分不能为空") + private Integer price; + + @ApiModelProperty(value = "原价, 单位: 分", required = true) + @NotNull(message = "原价, 单位: 分不能为空") + private Integer originalPrice; + + @ApiModelProperty(value = "成本价,单位: 分", required = true) + @NotNull(message = "成本价,单位: 分不能为空") + private Integer costPrice; + + @ApiModelProperty(value = "条形码", required = true) + @NotNull(message = "条形码不能为空") + private String barCode; + + @ApiModelProperty(value = "图片地址", required = true) + @NotNull(message = "图片地址不能为空") + private String picUrl; + + @ApiModelProperty(value = "状态: 0-正常 1-禁用") + private Integer status; + + @Data + public static class Property { + private Integer propertyId; + private Integer valueId; + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuCreateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuCreateReqVO.java new file mode 100755 index 0000000..e01c272 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuCreateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 商品sku创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductSkuCreateReqVO extends ProductSkuBaseVO { + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExcelVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExcelVO.java new file mode 100755 index 0000000..0f31b4f --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExcelVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 商品sku Excel VO + * + * @author 芋道源码 + */ +@Data +public class ProductSkuExcelVO { + + @ExcelProperty("主键") + private Integer id; + + @ExcelProperty("spu编号") + private Long spuId; + + @ExcelProperty("规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]") + private List properties; + + @ExcelProperty("销售价格,单位:分") + private Integer price; + + @ExcelProperty("原价, 单位: 分") + private Integer originalPrice; + + @ExcelProperty("成本价,单位: 分") + private Integer costPrice; + + @ExcelProperty("条形码") + private String barCode; + + @ExcelProperty("图片地址") + private String picUrl; + + @ExcelProperty("状态: 0-正常 1-禁用") + private Integer status; + + @ExcelProperty("创建时间") + private Date createTime; + + @Data + public static class Property { + private Integer propertyId; + private Integer valueId; + } +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExportReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExportReqVO.java new file mode 100755 index 0000000..76847a2 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuExportReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel(value = "管理后台 - 商品sku Excel 导出 Request VO", description = "参数和 SkuPageReqVO 是一致的") +@Data +public class ProductSkuExportReqVO { + + @ApiModelProperty(value = "spu编号") + private Long spuId; + + @ApiModelProperty(value = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]") + private String properties; + + @ApiModelProperty(value = "销售价格,单位:分") + private Integer price; + + @ApiModelProperty(value = "原价, 单位: 分") + private Integer originalPrice; + + @ApiModelProperty(value = "成本价,单位: 分") + private Integer costPrice; + + @ApiModelProperty(value = "条形码") + private String barCode; + + @ApiModelProperty(value = "图片地址") + private String picUrl; + + @ApiModelProperty(value = "状态: 0-正常 1-禁用") + private Integer status; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuPageReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuPageReqVO.java new file mode 100755 index 0000000..fcf8b95 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuPageReqVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@ApiModel("管理后台 - 商品sku分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductSkuPageReqVO extends PageParam { + + @ApiModelProperty(value = "spu编号") + private Long spuId; + + @ApiModelProperty(value = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]") + private String properties; + + @ApiModelProperty(value = "销售价格,单位:分") + private Integer price; + + @ApiModelProperty(value = "原价, 单位: 分") + private Integer originalPrice; + + @ApiModelProperty(value = "成本价,单位: 分") + private Integer costPrice; + + @ApiModelProperty(value = "条形码") + private String barCode; + + @ApiModelProperty(value = "图片地址") + private String picUrl; + + @ApiModelProperty(value = "状态: 0-正常 1-禁用") + private Integer status; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "开始创建时间") + private Date beginCreateTime; + + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + @ApiModelProperty(value = "结束创建时间") + private Date endCreateTime; + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java new file mode 100755 index 0000000..cf5e83f --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuRespVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; + +@ApiModel("管理后台 - 商品sku Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductSkuRespVO extends ProductSkuBaseVO { + + @ApiModelProperty(value = "主键", required = true) + private Integer id; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuUpdateReqVO.java new file mode 100755 index 0000000..ec79a09 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/ProductSkuUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.product.controller.admin.sku.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 商品sku更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductSkuUpdateReqVO extends ProductSkuBaseVO { + + @ApiModelProperty(value = "主键", required = true) + @NotNull(message = "主键不能为空") + private Integer id; + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuBaseVO.java deleted file mode 100755 index b91be42..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuBaseVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -/** -* 商品sku Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class SkuBaseVO { - - @ApiModelProperty(value = "spu编号", required = true) - @NotNull(message = "spu编号不能为空") - private Long spuId; - - @ApiModelProperty(value = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]", required = true) - @NotNull(message = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]不能为空") - private String properties; - - @ApiModelProperty(value = "销售价格,单位:分", required = true) - @NotNull(message = "销售价格,单位:分不能为空") - private Integer price; - - @ApiModelProperty(value = "原价, 单位: 分", required = true) - @NotNull(message = "原价, 单位: 分不能为空") - private Integer originalPrice; - - @ApiModelProperty(value = "成本价,单位: 分", required = true) - @NotNull(message = "成本价,单位: 分不能为空") - private Integer costPrice; - - @ApiModelProperty(value = "条形码", required = true) - @NotNull(message = "条形码不能为空") - private String barCode; - - @ApiModelProperty(value = "图片地址", required = true) - @NotNull(message = "图片地址不能为空") - private String picUrl; - - @ApiModelProperty(value = "状态: 0-正常 1-禁用") - private Integer status; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuCreateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuCreateReqVO.java deleted file mode 100755 index 0de3632..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 商品sku创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SkuCreateReqVO extends SkuBaseVO { - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExcelVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExcelVO.java deleted file mode 100755 index 6038273..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExcelVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; - -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * 商品sku Excel VO - * - * @author 芋道源码 - */ -@Data -public class SkuExcelVO { - - @ExcelProperty("主键") - private Integer id; - - @ExcelProperty("spu编号") - private Long spuId; - - @ExcelProperty("规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]") - private String properties; - - @ExcelProperty("销售价格,单位:分") - private Integer price; - - @ExcelProperty("原价, 单位: 分") - private Integer originalPrice; - - @ExcelProperty("成本价,单位: 分") - private Integer costPrice; - - @ExcelProperty("条形码") - private String barCode; - - @ExcelProperty("图片地址") - private String picUrl; - - @ExcelProperty("状态: 0-正常 1-禁用") - private Integer status; - - @ExcelProperty("创建时间") - private Date createTime; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExportReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExportReqVO.java deleted file mode 100755 index d934bc6..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuExportReqVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel(value = "管理后台 - 商品sku Excel 导出 Request VO", description = "参数和 SkuPageReqVO 是一致的") -@Data -public class SkuExportReqVO { - - @ApiModelProperty(value = "spu编号") - private Long spuId; - - @ApiModelProperty(value = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]") - private String properties; - - @ApiModelProperty(value = "销售价格,单位:分") - private Integer price; - - @ApiModelProperty(value = "原价, 单位: 分") - private Integer originalPrice; - - @ApiModelProperty(value = "成本价,单位: 分") - private Integer costPrice; - - @ApiModelProperty(value = "条形码") - private String barCode; - - @ApiModelProperty(value = "图片地址") - private String picUrl; - - @ApiModelProperty(value = "状态: 0-正常 1-禁用") - private Integer status; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuPageReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuPageReqVO.java deleted file mode 100755 index 5536240..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuPageReqVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@ApiModel("管理后台 - 商品sku分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SkuPageReqVO extends PageParam { - - @ApiModelProperty(value = "spu编号") - private Long spuId; - - @ApiModelProperty(value = "规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }]") - private String properties; - - @ApiModelProperty(value = "销售价格,单位:分") - private Integer price; - - @ApiModelProperty(value = "原价, 单位: 分") - private Integer originalPrice; - - @ApiModelProperty(value = "成本价,单位: 分") - private Integer costPrice; - - @ApiModelProperty(value = "条形码") - private String barCode; - - @ApiModelProperty(value = "图片地址") - private String picUrl; - - @ApiModelProperty(value = "状态: 0-正常 1-禁用") - private Integer status; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "开始创建时间") - private Date beginCreateTime; - - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - @ApiModelProperty(value = "结束创建时间") - private Date endCreateTime; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuRespVO.java deleted file mode 100755 index 220e6ba..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuRespVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; - -@ApiModel("管理后台 - 商品sku Response VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SkuRespVO extends SkuBaseVO { - - @ApiModelProperty(value = "主键", required = true) - private Integer id; - - @ApiModelProperty(value = "创建时间") - private Date createTime; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuUpdateReqVO.java deleted file mode 100755 index cdf4e85..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/sku/vo/SkuUpdateReqVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.sku.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 商品sku更新 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SkuUpdateReqVO extends SkuBaseVO { - - @ApiModelProperty(value = "主键", required = true) - @NotNull(message = "主键不能为空") - private Integer id; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java new file mode 100755 index 0000000..742ffd8 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java @@ -0,0 +1,100 @@ +package cn.iocoder.yudao.module.product.controller.admin.spu; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.annotations.*; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; +import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert; +import cn.iocoder.yudao.module.product.service.spu.ProductSpuService; + +@Api(tags = "管理后台 - 商品spu") +@RestController +@RequestMapping("/product/spu") +@Validated +public class ProductSpuController { + + @Resource + private ProductSpuService spuService; + + @PostMapping("/create") + @ApiOperation("创建商品spu") + @PreAuthorize("@ss.hasPermission('product:spu:create')") + public CommonResult createSpu(@Valid @RequestBody ProductSpuCreateReqVO createReqVO) { + return success(spuService.createSpu(createReqVO)); + } + + @PutMapping("/update") + @ApiOperation("更新商品spu") + @PreAuthorize("@ss.hasPermission('product:spu:update')") + public CommonResult updateSpu(@Valid @RequestBody SpuUpdateReqVO updateReqVO) { + spuService.updateSpu(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @ApiOperation("删除商品spu") + @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('product:spu:delete')") + public CommonResult deleteSpu(@RequestParam("id") Integer id) { + spuService.deleteSpu(id); + return success(true); + } + + @GetMapping("/get") + @ApiOperation("获得商品spu") + @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) + @PreAuthorize("@ss.hasPermission('product:spu:query')") + public CommonResult getSpu(@RequestParam("id") Integer id) { + ProductSpuDO spu = spuService.getSpu(id); + return success(ProductSpuConvert.INSTANCE.convert(spu)); + } + + @GetMapping("/list") + @ApiOperation("获得商品spu列表") + @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) + @PreAuthorize("@ss.hasPermission('product:spu:query')") + public CommonResult> getSpuList(@RequestParam("ids") Collection ids) { + List list = spuService.getSpuList(ids); + return success(ProductSpuConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @ApiOperation("获得商品spu分页") + @PreAuthorize("@ss.hasPermission('product:spu:query')") + public CommonResult> getSpuPage(@Valid SpuPageReqVO pageVO) { + PageResult pageResult = spuService.getSpuPage(pageVO); + return success(ProductSpuConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @ApiOperation("导出商品spu Excel") + @PreAuthorize("@ss.hasPermission('product:spu:export')") + @OperateLog(type = EXPORT) + public void exportSpuExcel(@Valid SpuExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = spuService.getSpuList(exportReqVO); + // 导出 Excel + List datas = ProductSpuConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "商品spu.xls", "数据", SpuExcelVO.class, datas); + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/SpuController.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/SpuController.java deleted file mode 100755 index 700d04f..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/SpuController.java +++ /dev/null @@ -1,100 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.spu; - -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.spu.SpuDO; -import cn.iocoder.yudao.module.product.convert.spu.SpuConvert; -import cn.iocoder.yudao.module.product.service.spu.SpuService; - -@Api(tags = "管理后台 - 商品spu") -@RestController -@RequestMapping("/product/spu") -@Validated -public class SpuController { - - @Resource - private SpuService spuService; - - @PostMapping("/create") - @ApiOperation("创建商品spu") - @PreAuthorize("@ss.hasPermission('product:spu:create')") - public CommonResult createSpu(@Valid @RequestBody SpuCreateReqVO createReqVO) { - return success(spuService.createSpu(createReqVO)); - } - - @PutMapping("/update") - @ApiOperation("更新商品spu") - @PreAuthorize("@ss.hasPermission('product:spu:update')") - public CommonResult updateSpu(@Valid @RequestBody SpuUpdateReqVO updateReqVO) { - spuService.updateSpu(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @ApiOperation("删除商品spu") - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('product:spu:delete')") - public CommonResult deleteSpu(@RequestParam("id") Integer id) { - spuService.deleteSpu(id); - return success(true); - } - - @GetMapping("/get") - @ApiOperation("获得商品spu") - @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Integer.class) - @PreAuthorize("@ss.hasPermission('product:spu:query')") - public CommonResult getSpu(@RequestParam("id") Integer id) { - SpuDO spu = spuService.getSpu(id); - return success(SpuConvert.INSTANCE.convert(spu)); - } - - @GetMapping("/list") - @ApiOperation("获得商品spu列表") - @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) - @PreAuthorize("@ss.hasPermission('product:spu:query')") - public CommonResult> getSpuList(@RequestParam("ids") Collection ids) { - List list = spuService.getSpuList(ids); - return success(SpuConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @ApiOperation("获得商品spu分页") - @PreAuthorize("@ss.hasPermission('product:spu:query')") - public CommonResult> getSpuPage(@Valid SpuPageReqVO pageVO) { - PageResult pageResult = spuService.getSpuPage(pageVO); - return success(SpuConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @ApiOperation("导出商品spu Excel") - @PreAuthorize("@ss.hasPermission('product:spu:export')") - @OperateLog(type = EXPORT) - public void exportSpuExcel(@Valid SpuExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = spuService.getSpuList(exportReqVO); - // 导出 Excel - List datas = SpuConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "商品spu.xls", "数据", SpuExcelVO.class, datas); - } - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java new file mode 100755 index 0000000..65a5f2a --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuBaseVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.product.controller.admin.spu.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import javax.validation.constraints.*; + +/** +* 商品spu Base VO,提供给添加、修改、详细的子 VO 使用 +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 +*/ +@Data +public class ProductSpuBaseVO { + + @ApiModelProperty(value = "商品名称") + private String name; + + @ApiModelProperty(value = "卖点", required = true) + @NotNull(message = "卖点不能为空") + private String sellPoint; + + @ApiModelProperty(value = "描述", required = true) + @NotNull(message = "描述不能为空") + private String description; + + @ApiModelProperty(value = "分类id", required = true) + @NotNull(message = "分类id不能为空") + private Long categoryId; + + @ApiModelProperty(value = "商品主图地址,* 数组,以逗号分隔,最多上传15张", required = true) + @NotNull(message = "商品主图地址,* 数组,以逗号分隔,最多上传15张不能为空") + private List picUrls; + + @ApiModelProperty(value = "排序字段", required = true) + @NotNull(message = "排序字段不能为空") + private Integer sort; + + @ApiModelProperty(value = "点赞初始人数") + private Integer likeCount; + + @ApiModelProperty(value = "价格 单位使用:分") + private Integer price; + + @ApiModelProperty(value = "库存数量") + private Integer quantity; + + @ApiModelProperty(value = "上下架状态: 0 上架(开启) 1 下架(禁用)") + private Boolean status; + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuCreateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuCreateReqVO.java new file mode 100755 index 0000000..fb24fbd --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/ProductSpuCreateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.product.controller.admin.spu.vo; + +import lombok.*; +import java.util.*; +import io.swagger.annotations.*; +import javax.validation.constraints.*; + +@ApiModel("管理后台 - 商品spu创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductSpuCreateReqVO extends ProductSpuBaseVO { + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuBaseVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuBaseVO.java deleted file mode 100755 index 442fd34..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuBaseVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.spu.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -/** -* 商品spu Base VO,提供给添加、修改、详细的子 VO 使用 -* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 -*/ -@Data -public class SpuBaseVO { - - @ApiModelProperty(value = "商品名称") - private String name; - - @ApiModelProperty(value = "卖点", required = true) - @NotNull(message = "卖点不能为空") - private String sellPoint; - - @ApiModelProperty(value = "描述", required = true) - @NotNull(message = "描述不能为空") - private String description; - - @ApiModelProperty(value = "分类id", required = true) - @NotNull(message = "分类id不能为空") - private Long categoryId; - - @ApiModelProperty(value = "商品主图地址,* 数组,以逗号分隔,最多上传15张", required = true) - @NotNull(message = "商品主图地址,* 数组,以逗号分隔,最多上传15张不能为空") - private String picUrls; - - @ApiModelProperty(value = "排序字段", required = true) - @NotNull(message = "排序字段不能为空") - private Integer sort; - - @ApiModelProperty(value = "点赞初始人数") - private Integer likeCount; - - @ApiModelProperty(value = "价格 单位使用:分") - private Integer price; - - @ApiModelProperty(value = "库存数量") - private Integer quantity; - - @ApiModelProperty(value = "上下架状态: 0 上架(开启) 1 下架(禁用)") - private Boolean status; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuCreateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuCreateReqVO.java deleted file mode 100755 index 53cbea5..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuCreateReqVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.iocoder.yudao.module.product.controller.admin.spu.vo; - -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; - -@ApiModel("管理后台 - 商品spu创建 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class SpuCreateReqVO extends SpuBaseVO { - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExcelVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExcelVO.java index 3a88161..9e90acd 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExcelVO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExcelVO.java @@ -30,7 +30,7 @@ public class SpuExcelVO { private Long categoryId; @ExcelProperty("商品主图地址,* 数组,以逗号分隔,最多上传15张") - private String picUrls; + private List picUrls; @ExcelProperty("排序字段") private Integer sort; diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExportReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExportReqVO.java index 93e3905..c5658a6 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExportReqVO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuExportReqVO.java @@ -25,7 +25,7 @@ public class SpuExportReqVO { private Long categoryId; @ApiModelProperty(value = "商品主图地址,* 数组,以逗号分隔,最多上传15张") - private String picUrls; + private List picUrls; @ApiModelProperty(value = "排序字段") private Integer sort; diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuRespVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuRespVO.java index 2b5c907..826b68a 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuRespVO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuRespVO.java @@ -8,7 +8,7 @@ import io.swagger.annotations.*; @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -public class SpuRespVO extends SpuBaseVO { +public class SpuRespVO extends ProductSpuBaseVO { @ApiModelProperty(value = "主键", required = true) private Integer id; diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuUpdateReqVO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuUpdateReqVO.java index c1222a1..6faac65 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuUpdateReqVO.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/vo/SpuUpdateReqVO.java @@ -9,7 +9,7 @@ import javax.validation.constraints.*; @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -public class SpuUpdateReqVO extends SpuBaseVO { +public class SpuUpdateReqVO extends ProductSpuBaseVO { @ApiModelProperty(value = "主键", required = true) @NotNull(message = "主键不能为空") diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/ProductSkuConvert.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/ProductSkuConvert.java new file mode 100755 index 0000000..3d6e4bd --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/ProductSkuConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.product.convert.sku; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; + +/** + * 商品sku Convert + * + * @author 芋道源码 + */ +@Mapper +public interface ProductSkuConvert { + + ProductSkuConvert INSTANCE = Mappers.getMapper(ProductSkuConvert.class); + + ProductSkuDO convert(ProductSkuCreateReqVO bean); + + ProductSkuDO convert(ProductSkuUpdateReqVO bean); + + ProductSkuRespVO convert(ProductSkuDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/SkuConvert.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/SkuConvert.java deleted file mode 100755 index 6268469..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/sku/SkuConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.product.convert.sku; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.sku.SkuDO; - -/** - * 商品sku Convert - * - * @author 芋道源码 - */ -@Mapper -public interface SkuConvert { - - SkuConvert INSTANCE = Mappers.getMapper(SkuConvert.class); - - SkuDO convert(SkuCreateReqVO bean); - - SkuDO convert(SkuUpdateReqVO bean); - - SkuRespVO convert(SkuDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java new file mode 100755 index 0000000..fb01e2d --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/ProductSpuConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.product.convert.spu; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; + +/** + * 商品spu Convert + * + * @author 芋道源码 + */ +@Mapper +public interface ProductSpuConvert { + + ProductSpuConvert INSTANCE = Mappers.getMapper(ProductSpuConvert.class); + + ProductSpuDO convert(ProductSpuCreateReqVO bean); + + ProductSpuDO convert(SpuUpdateReqVO bean); + + SpuRespVO convert(ProductSpuDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/SpuConvert.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/SpuConvert.java deleted file mode 100755 index bd3e059..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/convert/spu/SpuConvert.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.iocoder.yudao.module.product.convert.spu; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; -import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.spu.SpuDO; - -/** - * 商品spu Convert - * - * @author 芋道源码 - */ -@Mapper -public interface SpuConvert { - - SpuConvert INSTANCE = Mappers.getMapper(SpuConvert.class); - - SpuDO convert(SpuCreateReqVO bean); - - SpuDO convert(SpuUpdateReqVO bean); - - SpuRespVO convert(SpuDO bean); - - List convertList(List list); - - PageResult convertPage(PageResult page); - - List convertList02(List list); - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java new file mode 100755 index 0000000..bf5866b --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.product.dal.dataobject.sku; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.util.List; + +/** + * 商品sku DO + * + * @author 芋道源码 + */ +@TableName("product_sku") +@KeySequence("product_sku_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProductSkuDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * spu编号 + */ + private Long spuId; + /** + * 规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }] + */ + // TODO franky:可以定义一个内部的 Property 类,然后 List + private List properties; + /** + * 销售价格,单位:分 + */ + private Integer price; + /** + * 原价,单位:分 + */ + private Integer originalPrice; + /** + * 成本价,单位: 分 + */ + private Integer costPrice; + /** + * 条形码 + */ + private String barCode; + /** + * 图片地址 + */ + private String picUrl; + /** + * 状态: 0-正常 1-禁用 + */ + private Integer status; + + @Data + public static class Property { + private Integer propertyId; + private Integer valueId; + } + +} + diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/SkuDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/SkuDO.java deleted file mode 100755 index f071843..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/SkuDO.java +++ /dev/null @@ -1,63 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.dataobject.sku; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * 商品sku DO - * - * @author 芋道源码 - */ -@TableName("product_sku") -@KeySequence("product_sku_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SkuDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * spu编号 - */ - private Long spuId; - /** - * 规格值数组-json格式, [{propertId: , valueId: }, {propertId: , valueId: }] - */ - // TODO franky:可以定义一个内部的 Property 类,然后 List - private String properties; - /** - * 销售价格,单位:分 - */ - private Integer price; - /** - * 原价,单位:分 - */ - private Integer originalPrice; - /** - * 成本价,单位: 分 - */ - private Integer costPrice; - /** - * 条形码 - */ - private String barCode; - /** - * 图片地址 - */ - private String picUrl; - /** - * 状态: 0-正常 1-禁用 - */ - private Integer status; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java new file mode 100755 index 0000000..1486290 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.product.dal.dataobject.spu; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.util.List; + +/** + * 商品spu DO + * + * @author 芋道源码 + */ +@TableName("product_spu") +@KeySequence("product_spu_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProductSpuDO extends BaseDO { + + /** + * 主键 + */ + @TableId + private Integer id; + /** + * 商品名称 + */ + private String name; + /** + * 卖点 + */ + private String sellPoint; + /** + * 描述 + */ + private String description; + /** + * 分类id + */ + private Long categoryId; + /** + * 商品主图地址,* 数组,以逗号分隔,最多上传15张 + */ + // TODO franky:List + private List picUrls; + /** + * 排序字段 + */ + private Integer sort; + /** + * 点赞初始人数 + */ + private Integer likeCount; + /** + * 价格 单位使用:分 + */ + private Integer price; + /** + * 库存数量 + */ + private Integer quantity; + /** + * 上下架状态: 0 上架(开启) 1 下架(禁用) + */ + private Boolean status; + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/SpuDO.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/SpuDO.java deleted file mode 100755 index defd679..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/SpuDO.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.dataobject.spu; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * 商品spu DO - * - * @author 芋道源码 - */ -@TableName("product_spu") -@KeySequence("product_spu_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SpuDO extends BaseDO { - - /** - * 主键 - */ - @TableId - private Integer id; - /** - * 商品名称 - */ - private String name; - /** - * 卖点 - */ - private String sellPoint; - /** - * 描述 - */ - private String description; - /** - * 分类id - */ - private Long categoryId; - /** - * 商品主图地址,* 数组,以逗号分隔,最多上传15张 - */ - // TODO franky:List - private String picUrls; - /** - * 排序字段 - */ - private Integer sort; - /** - * 点赞初始人数 - */ - private Integer likeCount; - /** - * 价格 单位使用:分 - */ - private Integer price; - /** - * 库存数量 - */ - private Integer quantity; - /** - * 上下架状态: 0 上架(开启) 1 下架(禁用) - */ - private Boolean status; - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/ProductSkuMapper.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/ProductSkuMapper.java new file mode 100755 index 0000000..23fc2e1 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/ProductSkuMapper.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.product.dal.mysql.sku; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; + +/** + * 商品sku Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProductSkuMapper extends BaseMapperX { + + default PageResult selectPage(ProductSkuPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProductSkuDO::getSpuId, reqVO.getSpuId()) + .eqIfPresent(ProductSkuDO::getProperties, reqVO.getProperties()) + .eqIfPresent(ProductSkuDO::getPrice, reqVO.getPrice()) + .eqIfPresent(ProductSkuDO::getOriginalPrice, reqVO.getOriginalPrice()) + .eqIfPresent(ProductSkuDO::getCostPrice, reqVO.getCostPrice()) + .eqIfPresent(ProductSkuDO::getBarCode, reqVO.getBarCode()) + .eqIfPresent(ProductSkuDO::getPicUrl, reqVO.getPicUrl()) + .eqIfPresent(ProductSkuDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(ProductSkuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(ProductSkuDO::getId)); + } + + default List selectList(ProductSkuExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProductSkuDO::getSpuId, reqVO.getSpuId()) + .eqIfPresent(ProductSkuDO::getProperties, reqVO.getProperties()) + .eqIfPresent(ProductSkuDO::getPrice, reqVO.getPrice()) + .eqIfPresent(ProductSkuDO::getOriginalPrice, reqVO.getOriginalPrice()) + .eqIfPresent(ProductSkuDO::getCostPrice, reqVO.getCostPrice()) + .eqIfPresent(ProductSkuDO::getBarCode, reqVO.getBarCode()) + .eqIfPresent(ProductSkuDO::getPicUrl, reqVO.getPicUrl()) + .eqIfPresent(ProductSkuDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(ProductSkuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(ProductSkuDO::getId)); + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/SkuMapper.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/SkuMapper.java deleted file mode 100755 index 15b2468..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/sku/SkuMapper.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.mysql.sku; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.product.dal.dataobject.sku.SkuDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; - -/** - * 商品sku Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface SkuMapper extends BaseMapperX { - - default PageResult selectPage(SkuPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(SkuDO::getSpuId, reqVO.getSpuId()) - .eqIfPresent(SkuDO::getProperties, reqVO.getProperties()) - .eqIfPresent(SkuDO::getPrice, reqVO.getPrice()) - .eqIfPresent(SkuDO::getOriginalPrice, reqVO.getOriginalPrice()) - .eqIfPresent(SkuDO::getCostPrice, reqVO.getCostPrice()) - .eqIfPresent(SkuDO::getBarCode, reqVO.getBarCode()) - .eqIfPresent(SkuDO::getPicUrl, reqVO.getPicUrl()) - .eqIfPresent(SkuDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(SkuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(SkuDO::getId)); - } - - default List selectList(SkuExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(SkuDO::getSpuId, reqVO.getSpuId()) - .eqIfPresent(SkuDO::getProperties, reqVO.getProperties()) - .eqIfPresent(SkuDO::getPrice, reqVO.getPrice()) - .eqIfPresent(SkuDO::getOriginalPrice, reqVO.getOriginalPrice()) - .eqIfPresent(SkuDO::getCostPrice, reqVO.getCostPrice()) - .eqIfPresent(SkuDO::getBarCode, reqVO.getBarCode()) - .eqIfPresent(SkuDO::getPicUrl, reqVO.getPicUrl()) - .eqIfPresent(SkuDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(SkuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(SkuDO::getId)); - } - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java new file mode 100755 index 0000000..d6349eb --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.product.dal.mysql.spu; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; + +/** + * 商品spu Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProductSpuMapper extends BaseMapperX { + + default PageResult selectPage(SpuPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(ProductSpuDO::getName, reqVO.getName()) + .eqIfPresent(ProductSpuDO::getSellPoint, reqVO.getSellPoint()) + .eqIfPresent(ProductSpuDO::getDescription, reqVO.getDescription()) + .eqIfPresent(ProductSpuDO::getCategoryId, reqVO.getCategoryId()) + .eqIfPresent(ProductSpuDO::getPicUrls, reqVO.getPicUrls()) + .eqIfPresent(ProductSpuDO::getSort, reqVO.getSort()) + .eqIfPresent(ProductSpuDO::getLikeCount, reqVO.getLikeCount()) + .eqIfPresent(ProductSpuDO::getPrice, reqVO.getPrice()) + .eqIfPresent(ProductSpuDO::getQuantity, reqVO.getQuantity()) + .eqIfPresent(ProductSpuDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(ProductSpuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(ProductSpuDO::getId)); + } + + default List selectList(SpuExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(ProductSpuDO::getName, reqVO.getName()) + .eqIfPresent(ProductSpuDO::getSellPoint, reqVO.getSellPoint()) + .eqIfPresent(ProductSpuDO::getDescription, reqVO.getDescription()) + .eqIfPresent(ProductSpuDO::getCategoryId, reqVO.getCategoryId()) + .eqIfPresent(ProductSpuDO::getPicUrls, reqVO.getPicUrls()) + .eqIfPresent(ProductSpuDO::getSort, reqVO.getSort()) + .eqIfPresent(ProductSpuDO::getLikeCount, reqVO.getLikeCount()) + .eqIfPresent(ProductSpuDO::getPrice, reqVO.getPrice()) + .eqIfPresent(ProductSpuDO::getQuantity, reqVO.getQuantity()) + .eqIfPresent(ProductSpuDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(ProductSpuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) + .orderByDesc(ProductSpuDO::getId)); + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/SpuMapper.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/SpuMapper.java deleted file mode 100755 index 932e68f..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/SpuMapper.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.iocoder.yudao.module.product.dal.mysql.spu; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.product.dal.dataobject.spu.SpuDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; - -/** - * 商品spu Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface SpuMapper extends BaseMapperX { - - default PageResult selectPage(SpuPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(SpuDO::getName, reqVO.getName()) - .eqIfPresent(SpuDO::getSellPoint, reqVO.getSellPoint()) - .eqIfPresent(SpuDO::getDescription, reqVO.getDescription()) - .eqIfPresent(SpuDO::getCategoryId, reqVO.getCategoryId()) - .eqIfPresent(SpuDO::getPicUrls, reqVO.getPicUrls()) - .eqIfPresent(SpuDO::getSort, reqVO.getSort()) - .eqIfPresent(SpuDO::getLikeCount, reqVO.getLikeCount()) - .eqIfPresent(SpuDO::getPrice, reqVO.getPrice()) - .eqIfPresent(SpuDO::getQuantity, reqVO.getQuantity()) - .eqIfPresent(SpuDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(SpuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(SpuDO::getId)); - } - - default List selectList(SpuExportReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(SpuDO::getName, reqVO.getName()) - .eqIfPresent(SpuDO::getSellPoint, reqVO.getSellPoint()) - .eqIfPresent(SpuDO::getDescription, reqVO.getDescription()) - .eqIfPresent(SpuDO::getCategoryId, reqVO.getCategoryId()) - .eqIfPresent(SpuDO::getPicUrls, reqVO.getPicUrls()) - .eqIfPresent(SpuDO::getSort, reqVO.getSort()) - .eqIfPresent(SpuDO::getLikeCount, reqVO.getLikeCount()) - .eqIfPresent(SpuDO::getPrice, reqVO.getPrice()) - .eqIfPresent(SpuDO::getQuantity, reqVO.getQuantity()) - .eqIfPresent(SpuDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(SpuDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) - .orderByDesc(SpuDO::getId)); - } - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuService.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuService.java new file mode 100755 index 0000000..3cbe595 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.product.service.sku; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 商品sku Service 接口 + * + * @author 芋道源码 + */ +public interface ProductSkuService { + + /** + * 创建商品sku + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createSku(@Valid ProductSkuCreateReqVO createReqVO); + + /** + * 更新商品sku + * + * @param updateReqVO 更新信息 + */ + void updateSku(@Valid ProductSkuUpdateReqVO updateReqVO); + + /** + * 删除商品sku + * + * @param id 编号 + */ + void deleteSku(Integer id); + + /** + * 获得商品sku + * + * @param id 编号 + * @return 商品sku + */ + ProductSkuDO getSku(Integer id); + + /** + * 获得商品sku列表 + * + * @param ids 编号 + * @return 商品sku列表 + */ + List getSkuList(Collection ids); + + /** + * 获得商品sku分页 + * + * @param pageReqVO 分页查询 + * @return 商品sku分页 + */ + PageResult getSkuPage(ProductSkuPageReqVO pageReqVO); + + /** + * 获得商品sku列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 商品sku列表 + */ + List getSkuList(ProductSkuExportReqVO exportReqVO); + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java new file mode 100755 index 0000000..04bc3e3 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.product.service.sku; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.product.convert.sku.ProductSkuConvert; +import cn.iocoder.yudao.module.product.dal.mysql.sku.ProductSkuMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; + +/** + * 商品sku Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ProductSkuServiceImpl implements ProductSkuService { + + @Resource + private ProductSkuMapper ProductSkuMapper; + + @Override + public Integer createSku(ProductSkuCreateReqVO createReqVO) { + // 插入 + ProductSkuDO sku = ProductSkuConvert.INSTANCE.convert(createReqVO); + ProductSkuMapper.insert(sku); + // 返回 + return sku.getId(); + } + + @Override + public void updateSku(ProductSkuUpdateReqVO updateReqVO) { + // 校验存在 + this.validateSkuExists(updateReqVO.getId()); + // 更新 + ProductSkuDO updateObj = ProductSkuConvert.INSTANCE.convert(updateReqVO); + ProductSkuMapper.updateById(updateObj); + } + + @Override + public void deleteSku(Integer id) { + // 校验存在 + this.validateSkuExists(id); + // 删除 + ProductSkuMapper.deleteById(id); + } + + private void validateSkuExists(Integer id) { + if (ProductSkuMapper.selectById(id) == null) { + throw exception(SKU_NOT_EXISTS); + } + } + + @Override + public ProductSkuDO getSku(Integer id) { + return ProductSkuMapper.selectById(id); + } + + @Override + public List getSkuList(Collection ids) { + return ProductSkuMapper.selectBatchIds(ids); + } + + @Override + public PageResult getSkuPage(ProductSkuPageReqVO pageReqVO) { + return ProductSkuMapper.selectPage(pageReqVO); + } + + @Override + public List getSkuList(ProductSkuExportReqVO exportReqVO) { + return ProductSkuMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuService.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuService.java deleted file mode 100755 index f7bad69..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuService.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.iocoder.yudao.module.product.service.sku; - -import java.util.*; -import javax.validation.*; -import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.sku.SkuDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 商品sku Service 接口 - * - * @author 芋道源码 - */ -public interface SkuService { - - /** - * 创建商品sku - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createSku(@Valid SkuCreateReqVO createReqVO); - - /** - * 更新商品sku - * - * @param updateReqVO 更新信息 - */ - void updateSku(@Valid SkuUpdateReqVO updateReqVO); - - /** - * 删除商品sku - * - * @param id 编号 - */ - void deleteSku(Integer id); - - /** - * 获得商品sku - * - * @param id 编号 - * @return 商品sku - */ - SkuDO getSku(Integer id); - - /** - * 获得商品sku列表 - * - * @param ids 编号 - * @return 商品sku列表 - */ - List getSkuList(Collection ids); - - /** - * 获得商品sku分页 - * - * @param pageReqVO 分页查询 - * @return 商品sku分页 - */ - PageResult getSkuPage(SkuPageReqVO pageReqVO); - - /** - * 获得商品sku列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 商品sku列表 - */ - List getSkuList(SkuExportReqVO exportReqVO); - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImpl.java deleted file mode 100755 index 5984924..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImpl.java +++ /dev/null @@ -1,82 +0,0 @@ -package cn.iocoder.yudao.module.product.service.sku; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; - -import java.util.*; -import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.sku.SkuDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.product.convert.sku.SkuConvert; -import cn.iocoder.yudao.module.product.dal.mysql.sku.SkuMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; - -/** - * 商品sku Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class SkuServiceImpl implements SkuService { - - @Resource - private SkuMapper skuMapper; - - @Override - public Integer createSku(SkuCreateReqVO createReqVO) { - // 插入 - SkuDO sku = SkuConvert.INSTANCE.convert(createReqVO); - skuMapper.insert(sku); - // 返回 - return sku.getId(); - } - - @Override - public void updateSku(SkuUpdateReqVO updateReqVO) { - // 校验存在 - this.validateSkuExists(updateReqVO.getId()); - // 更新 - SkuDO updateObj = SkuConvert.INSTANCE.convert(updateReqVO); - skuMapper.updateById(updateObj); - } - - @Override - public void deleteSku(Integer id) { - // 校验存在 - this.validateSkuExists(id); - // 删除 - skuMapper.deleteById(id); - } - - private void validateSkuExists(Integer id) { - if (skuMapper.selectById(id) == null) { - throw exception(SKU_NOT_EXISTS); - } - } - - @Override - public SkuDO getSku(Integer id) { - return skuMapper.selectById(id); - } - - @Override - public List getSkuList(Collection ids) { - return skuMapper.selectBatchIds(ids); - } - - @Override - public PageResult getSkuPage(SkuPageReqVO pageReqVO) { - return skuMapper.selectPage(pageReqVO); - } - - @Override - public List getSkuList(SkuExportReqVO exportReqVO) { - return skuMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuService.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuService.java new file mode 100755 index 0000000..f0649ff --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.product.service.spu; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 商品spu Service 接口 + * + * @author 芋道源码 + */ +public interface ProductSpuService { + + /** + * 创建商品spu + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createSpu(@Valid ProductSpuCreateReqVO createReqVO); + + /** + * 更新商品spu + * + * @param updateReqVO 更新信息 + */ + void updateSpu(@Valid SpuUpdateReqVO updateReqVO); + + /** + * 删除商品spu + * + * @param id 编号 + */ + void deleteSpu(Integer id); + + /** + * 获得商品spu + * + * @param id 编号 + * @return 商品spu + */ + ProductSpuDO getSpu(Integer id); + + /** + * 获得商品spu列表 + * + * @param ids 编号 + * @return 商品spu列表 + */ + List getSpuList(Collection ids); + + /** + * 获得商品spu分页 + * + * @param pageReqVO 分页查询 + * @return 商品spu分页 + */ + PageResult getSpuPage(SpuPageReqVO pageReqVO); + + /** + * 获得商品spu列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 商品spu列表 + */ + List getSpuList(SpuExportReqVO exportReqVO); + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java new file mode 100755 index 0000000..a978852 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.product.service.spu; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.product.convert.spu.ProductSpuConvert; +import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; + +/** + * 商品spu Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ProductSpuServiceImpl implements ProductSpuService { + + @Resource + private ProductSpuMapper ProductSpuMapper; + + @Override + public Integer createSpu(ProductSpuCreateReqVO createReqVO) { + // 插入 + ProductSpuDO spu = ProductSpuConvert.INSTANCE.convert(createReqVO); + ProductSpuMapper.insert(spu); + // 返回 + return spu.getId(); + } + + @Override + public void updateSpu(SpuUpdateReqVO updateReqVO) { + // 校验存在 + this.validateSpuExists(updateReqVO.getId()); + // 更新 + ProductSpuDO updateObj = ProductSpuConvert.INSTANCE.convert(updateReqVO); + ProductSpuMapper.updateById(updateObj); + } + + @Override + public void deleteSpu(Integer id) { + // 校验存在 + this.validateSpuExists(id); + // 删除 + ProductSpuMapper.deleteById(id); + } + + private void validateSpuExists(Integer id) { + if (ProductSpuMapper.selectById(id) == null) { + throw exception(SPU_NOT_EXISTS); + } + } + + @Override + public ProductSpuDO getSpu(Integer id) { + return ProductSpuMapper.selectById(id); + } + + @Override + public List getSpuList(Collection ids) { + return ProductSpuMapper.selectBatchIds(ids); + } + + @Override + public PageResult getSpuPage(SpuPageReqVO pageReqVO) { + return ProductSpuMapper.selectPage(pageReqVO); + } + + @Override + public List getSpuList(SpuExportReqVO exportReqVO) { + return ProductSpuMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuService.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuService.java deleted file mode 100755 index e8ae06f..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuService.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.iocoder.yudao.module.product.service.spu; - -import java.util.*; -import javax.validation.*; -import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.spu.SpuDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -/** - * 商品spu Service 接口 - * - * @author 芋道源码 - */ -public interface SpuService { - - /** - * 创建商品spu - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createSpu(@Valid SpuCreateReqVO createReqVO); - - /** - * 更新商品spu - * - * @param updateReqVO 更新信息 - */ - void updateSpu(@Valid SpuUpdateReqVO updateReqVO); - - /** - * 删除商品spu - * - * @param id 编号 - */ - void deleteSpu(Integer id); - - /** - * 获得商品spu - * - * @param id 编号 - * @return 商品spu - */ - SpuDO getSpu(Integer id); - - /** - * 获得商品spu列表 - * - * @param ids 编号 - * @return 商品spu列表 - */ - List getSpuList(Collection ids); - - /** - * 获得商品spu分页 - * - * @param pageReqVO 分页查询 - * @return 商品spu分页 - */ - PageResult getSpuPage(SpuPageReqVO pageReqVO); - - /** - * 获得商品spu列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 商品spu列表 - */ - List getSpuList(SpuExportReqVO exportReqVO); - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImpl.java deleted file mode 100755 index 147c7bc..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImpl.java +++ /dev/null @@ -1,82 +0,0 @@ -package cn.iocoder.yudao.module.product.service.spu; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; - -import java.util.*; -import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.spu.SpuDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import cn.iocoder.yudao.module.product.convert.spu.SpuConvert; -import cn.iocoder.yudao.module.product.dal.mysql.spu.SpuMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; - -/** - * 商品spu Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class SpuServiceImpl implements SpuService { - - @Resource - private SpuMapper spuMapper; - - @Override - public Integer createSpu(SpuCreateReqVO createReqVO) { - // 插入 - SpuDO spu = SpuConvert.INSTANCE.convert(createReqVO); - spuMapper.insert(spu); - // 返回 - return spu.getId(); - } - - @Override - public void updateSpu(SpuUpdateReqVO updateReqVO) { - // 校验存在 - this.validateSpuExists(updateReqVO.getId()); - // 更新 - SpuDO updateObj = SpuConvert.INSTANCE.convert(updateReqVO); - spuMapper.updateById(updateObj); - } - - @Override - public void deleteSpu(Integer id) { - // 校验存在 - this.validateSpuExists(id); - // 删除 - spuMapper.deleteById(id); - } - - private void validateSpuExists(Integer id) { - if (spuMapper.selectById(id) == null) { - throw exception(SPU_NOT_EXISTS); - } - } - - @Override - public SpuDO getSpu(Integer id) { - return spuMapper.selectById(id); - } - - @Override - public List getSpuList(Collection ids) { - return spuMapper.selectBatchIds(ids); - } - - @Override - public PageResult getSpuPage(SpuPageReqVO pageReqVO) { - return spuMapper.selectPage(pageReqVO); - } - - @Override - public List getSpuList(SpuExportReqVO exportReqVO) { - return spuMapper.selectList(exportReqVO); - } - -} diff --git a/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImplTest.java b/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImplTest.java index 1b2085b..475d516 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImplTest.java +++ b/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/sku/SkuServiceImplTest.java @@ -9,8 +9,8 @@ import javax.annotation.Resource; import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; import cn.iocoder.yudao.module.product.controller.admin.sku.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.sku.SkuDO; -import cn.iocoder.yudao.module.product.dal.mysql.sku.SkuMapper; +import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; +import cn.iocoder.yudao.module.product.dal.mysql.sku.ProductSkuMapper; import cn.iocoder.yudao.framework.common.pojo.PageResult; import javax.annotation.Resource; @@ -27,71 +27,71 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; /** -* {@link SkuServiceImpl} 的单元测试类 +* {@link ProductSkuServiceImpl} 的单元测试类 * * @author 芋道源码 */ -@Import(SkuServiceImpl.class) +@Import(ProductSkuServiceImpl.class) public class SkuServiceImplTest extends BaseDbUnitTest { @Resource - private SkuServiceImpl skuService; + private ProductSkuServiceImpl ProductSkuService; @Resource - private SkuMapper skuMapper; + private ProductSkuMapper ProductSkuMapper; @Test public void testCreateSku_success() { // 准备参数 - SkuCreateReqVO reqVO = randomPojo(SkuCreateReqVO.class); + ProductSkuCreateReqVO reqVO = randomPojo(ProductSkuCreateReqVO.class); // 调用 - Integer skuId = skuService.createSku(reqVO); + Integer skuId = ProductSkuService.createSku(reqVO); // 断言 assertNotNull(skuId); // 校验记录的属性是否正确 - SkuDO sku = skuMapper.selectById(skuId); + ProductSkuDO sku = ProductSkuMapper.selectById(skuId); assertPojoEquals(reqVO, sku); } @Test public void testUpdateSku_success() { // mock 数据 - SkuDO dbSku = randomPojo(SkuDO.class); - skuMapper.insert(dbSku);// @Sql: 先插入出一条存在的数据 + ProductSkuDO dbSku = randomPojo(ProductSkuDO.class); + ProductSkuMapper.insert(dbSku);// @Sql: 先插入出一条存在的数据 // 准备参数 - SkuUpdateReqVO reqVO = randomPojo(SkuUpdateReqVO.class, o -> { + ProductSkuUpdateReqVO reqVO = randomPojo(ProductSkuUpdateReqVO.class, o -> { o.setId(dbSku.getId()); // 设置更新的 ID }); // 调用 - skuService.updateSku(reqVO); + ProductSkuService.updateSku(reqVO); // 校验是否更新正确 - SkuDO sku = skuMapper.selectById(reqVO.getId()); // 获取最新的 + ProductSkuDO sku = ProductSkuMapper.selectById(reqVO.getId()); // 获取最新的 assertPojoEquals(reqVO, sku); } @Test public void testUpdateSku_notExists() { // 准备参数 - SkuUpdateReqVO reqVO = randomPojo(SkuUpdateReqVO.class); + ProductSkuUpdateReqVO reqVO = randomPojo(ProductSkuUpdateReqVO.class); // 调用, 并断言异常 - assertServiceException(() -> skuService.updateSku(reqVO), SKU_NOT_EXISTS); + assertServiceException(() -> ProductSkuService.updateSku(reqVO), SKU_NOT_EXISTS); } @Test public void testDeleteSku_success() { // mock 数据 - SkuDO dbSku = randomPojo(SkuDO.class); - skuMapper.insert(dbSku);// @Sql: 先插入出一条存在的数据 + ProductSkuDO dbSku = randomPojo(ProductSkuDO.class); + ProductSkuMapper.insert(dbSku);// @Sql: 先插入出一条存在的数据 // 准备参数 Integer id = dbSku.getId(); // 调用 - skuService.deleteSku(id); + ProductSkuService.deleteSku(id); // 校验数据不存在了 - assertNull(skuMapper.selectById(id)); + assertNull(ProductSkuMapper.selectById(id)); } @Test @@ -100,14 +100,14 @@ public class SkuServiceImplTest extends BaseDbUnitTest { Integer id = 1; // 调用, 并断言异常 - assertServiceException(() -> skuService.deleteSku(id), SKU_NOT_EXISTS); + assertServiceException(() -> ProductSkuService.deleteSku(id), SKU_NOT_EXISTS); } @Test @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 public void testGetSkuPage() { // mock 数据 - SkuDO dbSku = randomPojo(SkuDO.class, o -> { // 等会查询到 + ProductSkuDO dbSku = randomPojo(ProductSkuDO.class, o -> { // 等会查询到 o.setSpuId(null); o.setProperties(null); o.setPrice(null); @@ -118,27 +118,27 @@ public class SkuServiceImplTest extends BaseDbUnitTest { o.setStatus(null); o.setCreateTime(null); }); - skuMapper.insert(dbSku); + ProductSkuMapper.insert(dbSku); // 测试 spuId 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setSpuId(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setSpuId(null))); // 测试 properties 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setProperties(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setProperties(null))); // 测试 price 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPrice(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPrice(null))); // 测试 originalPrice 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setOriginalPrice(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setOriginalPrice(null))); // 测试 costPrice 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCostPrice(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCostPrice(null))); // 测试 barCode 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setBarCode(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setBarCode(null))); // 测试 picUrl 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPicUrl(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPicUrl(null))); // 测试 status 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setStatus(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setStatus(null))); // 测试 createTime 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCreateTime(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCreateTime(null))); // 准备参数 - SkuPageReqVO reqVO = new SkuPageReqVO(); + ProductSkuPageReqVO reqVO = new ProductSkuPageReqVO(); reqVO.setSpuId(null); reqVO.setProperties(null); reqVO.setPrice(null); @@ -151,7 +151,7 @@ public class SkuServiceImplTest extends BaseDbUnitTest { reqVO.setEndCreateTime(null); // 调用 - PageResult pageResult = skuService.getSkuPage(reqVO); + PageResult pageResult = ProductSkuService.getSkuPage(reqVO); // 断言 assertEquals(1, pageResult.getTotal()); assertEquals(1, pageResult.getList().size()); @@ -162,7 +162,7 @@ public class SkuServiceImplTest extends BaseDbUnitTest { @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 public void testGetSkuList() { // mock 数据 - SkuDO dbSku = randomPojo(SkuDO.class, o -> { // 等会查询到 + ProductSkuDO dbSku = randomPojo(ProductSkuDO.class, o -> { // 等会查询到 o.setSpuId(null); o.setProperties(null); o.setPrice(null); @@ -173,27 +173,27 @@ public class SkuServiceImplTest extends BaseDbUnitTest { o.setStatus(null); o.setCreateTime(null); }); - skuMapper.insert(dbSku); + ProductSkuMapper.insert(dbSku); // 测试 spuId 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setSpuId(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setSpuId(null))); // 测试 properties 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setProperties(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setProperties(null))); // 测试 price 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPrice(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPrice(null))); // 测试 originalPrice 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setOriginalPrice(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setOriginalPrice(null))); // 测试 costPrice 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCostPrice(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCostPrice(null))); // 测试 barCode 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setBarCode(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setBarCode(null))); // 测试 picUrl 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPicUrl(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setPicUrl(null))); // 测试 status 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setStatus(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setStatus(null))); // 测试 createTime 不匹配 - skuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCreateTime(null))); + ProductSkuMapper.insert(cloneIgnoreId(dbSku, o -> o.setCreateTime(null))); // 准备参数 - SkuExportReqVO reqVO = new SkuExportReqVO(); + ProductSkuExportReqVO reqVO = new ProductSkuExportReqVO(); reqVO.setSpuId(null); reqVO.setProperties(null); reqVO.setPrice(null); @@ -206,7 +206,7 @@ public class SkuServiceImplTest extends BaseDbUnitTest { reqVO.setEndCreateTime(null); // 调用 - List list = skuService.getSkuList(reqVO); + List list = ProductSkuService.getSkuList(reqVO); // 断言 assertEquals(1, list.size()); assertPojoEquals(dbSku, list.get(0)); diff --git a/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java b/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java new file mode 100755 index 0000000..afbbdc0 --- /dev/null +++ b/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImplTest.java @@ -0,0 +1,231 @@ +package cn.iocoder.yudao.module.product.service.spu; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; + +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; +import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; +import cn.iocoder.yudao.module.product.dal.mysql.spu.ProductSpuMapper; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** +* {@link ProductSpuServiceImpl} 的单元测试类 +* +* @author 芋道源码 +*/ +@Import(ProductSpuServiceImpl.class) +public class ProductSpuServiceImplTest extends BaseDbUnitTest { + + @Resource + private ProductSpuServiceImpl spuService; + + @Resource + private ProductSpuMapper ProductSpuMapper; + + @Test + public void testCreateSpu_success() { + // 准备参数 + ProductSpuCreateReqVO reqVO = randomPojo(ProductSpuCreateReqVO.class); + + // 调用 + Integer spuId = spuService.createSpu(reqVO); + // 断言 + assertNotNull(spuId); + // 校验记录的属性是否正确 + ProductSpuDO spu = ProductSpuMapper.selectById(spuId); + assertPojoEquals(reqVO, spu); + } + + @Test + public void testUpdateSpu_success() { + // mock 数据 + ProductSpuDO dbSpu = randomPojo(ProductSpuDO.class); + ProductSpuMapper.insert(dbSpu);// @Sql: 先插入出一条存在的数据 + // 准备参数 + SpuUpdateReqVO reqVO = randomPojo(SpuUpdateReqVO.class, o -> { + o.setId(dbSpu.getId()); // 设置更新的 ID + }); + + // 调用 + spuService.updateSpu(reqVO); + // 校验是否更新正确 + ProductSpuDO spu = ProductSpuMapper.selectById(reqVO.getId()); // 获取最新的 + assertPojoEquals(reqVO, spu); + } + + @Test + public void testUpdateSpu_notExists() { + // 准备参数 + SpuUpdateReqVO reqVO = randomPojo(SpuUpdateReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> spuService.updateSpu(reqVO), SPU_NOT_EXISTS); + } + + @Test + public void testDeleteSpu_success() { + // mock 数据 + ProductSpuDO dbSpu = randomPojo(ProductSpuDO.class); + ProductSpuMapper.insert(dbSpu);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Integer id = dbSpu.getId(); + + // 调用 + spuService.deleteSpu(id); + // 校验数据不存在了 + assertNull(ProductSpuMapper.selectById(id)); + } + + @Test + public void testDeleteSpu_notExists() { + // 准备参数 + Integer id = 1; + + // 调用, 并断言异常 + assertServiceException(() -> spuService.deleteSpu(id), SPU_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetSpuPage() { + // mock 数据 + ProductSpuDO dbSpu = randomPojo(ProductSpuDO.class, o -> { // 等会查询到 + o.setName(null); + o.setSellPoint(null); + o.setDescription(null); + o.setCategoryId(null); + o.setPicUrls(null); + o.setSort(null); + o.setLikeCount(null); + o.setPrice(null); + o.setQuantity(null); + o.setStatus(null); + o.setCreateTime(null); + }); + ProductSpuMapper.insert(dbSpu); + // 测试 name 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setName(null))); + // 测试 sellPoint 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSellPoint(null))); + // 测试 description 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setDescription(null))); + // 测试 categoryId 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCategoryId(null))); + // 测试 picUrls 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPicUrls(null))); + // 测试 sort 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSort(null))); + // 测试 likeCount 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setLikeCount(null))); + // 测试 price 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPrice(null))); + // 测试 quantity 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setQuantity(null))); + // 测试 status 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setStatus(null))); + // 测试 createTime 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCreateTime(null))); + // 准备参数 + SpuPageReqVO reqVO = new SpuPageReqVO(); + reqVO.setName(null); + reqVO.setSellPoint(null); + reqVO.setDescription(null); + reqVO.setCategoryId(null); + reqVO.setPicUrls(null); + reqVO.setSort(null); + reqVO.setLikeCount(null); + reqVO.setPrice(null); + reqVO.setQuantity(null); + reqVO.setStatus(null); + reqVO.setBeginCreateTime(null); + reqVO.setEndCreateTime(null); + + // 调用 + PageResult pageResult = spuService.getSpuPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbSpu, pageResult.getList().get(0)); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetSpuList() { + // mock 数据 + ProductSpuDO dbSpu = randomPojo(ProductSpuDO.class, o -> { // 等会查询到 + o.setName(null); + o.setSellPoint(null); + o.setDescription(null); + o.setCategoryId(null); + o.setPicUrls(null); + o.setSort(null); + o.setLikeCount(null); + o.setPrice(null); + o.setQuantity(null); + o.setStatus(null); + o.setCreateTime(null); + }); + ProductSpuMapper.insert(dbSpu); + // 测试 name 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setName(null))); + // 测试 sellPoint 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSellPoint(null))); + // 测试 description 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setDescription(null))); + // 测试 categoryId 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCategoryId(null))); + // 测试 picUrls 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPicUrls(null))); + // 测试 sort 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSort(null))); + // 测试 likeCount 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setLikeCount(null))); + // 测试 price 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPrice(null))); + // 测试 quantity 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setQuantity(null))); + // 测试 status 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setStatus(null))); + // 测试 createTime 不匹配 + ProductSpuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCreateTime(null))); + // 准备参数 + SpuExportReqVO reqVO = new SpuExportReqVO(); + reqVO.setName(null); + reqVO.setSellPoint(null); + reqVO.setDescription(null); + reqVO.setCategoryId(null); + reqVO.setPicUrls(null); + reqVO.setSort(null); + reqVO.setLikeCount(null); + reqVO.setPrice(null); + reqVO.setQuantity(null); + reqVO.setStatus(null); + reqVO.setBeginCreateTime(null); + reqVO.setEndCreateTime(null); + + // 调用 + List list = spuService.getSpuList(reqVO); + // 断言 + assertEquals(1, list.size()); + assertPojoEquals(dbSpu, list.get(0)); + } + +} diff --git a/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImplTest.java b/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImplTest.java deleted file mode 100755 index c8bd50a..0000000 --- a/yudao-module-mall/yudao-module-product-biz/src/test/java/cn/iocoder/yudao/module/product/service/spu/SpuServiceImplTest.java +++ /dev/null @@ -1,231 +0,0 @@ -package cn.iocoder.yudao.module.product.service.spu; - -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.mock.mockito.MockBean; - -import javax.annotation.Resource; - -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; - -import cn.iocoder.yudao.module.product.controller.admin.spu.vo.*; -import cn.iocoder.yudao.module.product.dal.dataobject.spu.SpuDO; -import cn.iocoder.yudao.module.product.dal.mysql.spu.SpuMapper; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - -import javax.annotation.Resource; -import org.springframework.context.annotation.Import; -import java.util.*; - -import static cn.hutool.core.util.RandomUtil.*; -import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; - -/** -* {@link SpuServiceImpl} 的单元测试类 -* -* @author 芋道源码 -*/ -@Import(SpuServiceImpl.class) -public class SpuServiceImplTest extends BaseDbUnitTest { - - @Resource - private SpuServiceImpl spuService; - - @Resource - private SpuMapper spuMapper; - - @Test - public void testCreateSpu_success() { - // 准备参数 - SpuCreateReqVO reqVO = randomPojo(SpuCreateReqVO.class); - - // 调用 - Integer spuId = spuService.createSpu(reqVO); - // 断言 - assertNotNull(spuId); - // 校验记录的属性是否正确 - SpuDO spu = spuMapper.selectById(spuId); - assertPojoEquals(reqVO, spu); - } - - @Test - public void testUpdateSpu_success() { - // mock 数据 - SpuDO dbSpu = randomPojo(SpuDO.class); - spuMapper.insert(dbSpu);// @Sql: 先插入出一条存在的数据 - // 准备参数 - SpuUpdateReqVO reqVO = randomPojo(SpuUpdateReqVO.class, o -> { - o.setId(dbSpu.getId()); // 设置更新的 ID - }); - - // 调用 - spuService.updateSpu(reqVO); - // 校验是否更新正确 - SpuDO spu = spuMapper.selectById(reqVO.getId()); // 获取最新的 - assertPojoEquals(reqVO, spu); - } - - @Test - public void testUpdateSpu_notExists() { - // 准备参数 - SpuUpdateReqVO reqVO = randomPojo(SpuUpdateReqVO.class); - - // 调用, 并断言异常 - assertServiceException(() -> spuService.updateSpu(reqVO), SPU_NOT_EXISTS); - } - - @Test - public void testDeleteSpu_success() { - // mock 数据 - SpuDO dbSpu = randomPojo(SpuDO.class); - spuMapper.insert(dbSpu);// @Sql: 先插入出一条存在的数据 - // 准备参数 - Integer id = dbSpu.getId(); - - // 调用 - spuService.deleteSpu(id); - // 校验数据不存在了 - assertNull(spuMapper.selectById(id)); - } - - @Test - public void testDeleteSpu_notExists() { - // 准备参数 - Integer id = 1; - - // 调用, 并断言异常 - assertServiceException(() -> spuService.deleteSpu(id), SPU_NOT_EXISTS); - } - - @Test - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 - public void testGetSpuPage() { - // mock 数据 - SpuDO dbSpu = randomPojo(SpuDO.class, o -> { // 等会查询到 - o.setName(null); - o.setSellPoint(null); - o.setDescription(null); - o.setCategoryId(null); - o.setPicUrls(null); - o.setSort(null); - o.setLikeCount(null); - o.setPrice(null); - o.setQuantity(null); - o.setStatus(null); - o.setCreateTime(null); - }); - spuMapper.insert(dbSpu); - // 测试 name 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setName(null))); - // 测试 sellPoint 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSellPoint(null))); - // 测试 description 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setDescription(null))); - // 测试 categoryId 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCategoryId(null))); - // 测试 picUrls 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPicUrls(null))); - // 测试 sort 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSort(null))); - // 测试 likeCount 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setLikeCount(null))); - // 测试 price 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPrice(null))); - // 测试 quantity 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setQuantity(null))); - // 测试 status 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setStatus(null))); - // 测试 createTime 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCreateTime(null))); - // 准备参数 - SpuPageReqVO reqVO = new SpuPageReqVO(); - reqVO.setName(null); - reqVO.setSellPoint(null); - reqVO.setDescription(null); - reqVO.setCategoryId(null); - reqVO.setPicUrls(null); - reqVO.setSort(null); - reqVO.setLikeCount(null); - reqVO.setPrice(null); - reqVO.setQuantity(null); - reqVO.setStatus(null); - reqVO.setBeginCreateTime(null); - reqVO.setEndCreateTime(null); - - // 调用 - PageResult pageResult = spuService.getSpuPage(reqVO); - // 断言 - assertEquals(1, pageResult.getTotal()); - assertEquals(1, pageResult.getList().size()); - assertPojoEquals(dbSpu, pageResult.getList().get(0)); - } - - @Test - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 - public void testGetSpuList() { - // mock 数据 - SpuDO dbSpu = randomPojo(SpuDO.class, o -> { // 等会查询到 - o.setName(null); - o.setSellPoint(null); - o.setDescription(null); - o.setCategoryId(null); - o.setPicUrls(null); - o.setSort(null); - o.setLikeCount(null); - o.setPrice(null); - o.setQuantity(null); - o.setStatus(null); - o.setCreateTime(null); - }); - spuMapper.insert(dbSpu); - // 测试 name 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setName(null))); - // 测试 sellPoint 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSellPoint(null))); - // 测试 description 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setDescription(null))); - // 测试 categoryId 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCategoryId(null))); - // 测试 picUrls 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPicUrls(null))); - // 测试 sort 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setSort(null))); - // 测试 likeCount 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setLikeCount(null))); - // 测试 price 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setPrice(null))); - // 测试 quantity 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setQuantity(null))); - // 测试 status 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setStatus(null))); - // 测试 createTime 不匹配 - spuMapper.insert(cloneIgnoreId(dbSpu, o -> o.setCreateTime(null))); - // 准备参数 - SpuExportReqVO reqVO = new SpuExportReqVO(); - reqVO.setName(null); - reqVO.setSellPoint(null); - reqVO.setDescription(null); - reqVO.setCategoryId(null); - reqVO.setPicUrls(null); - reqVO.setSort(null); - reqVO.setLikeCount(null); - reqVO.setPrice(null); - reqVO.setQuantity(null); - reqVO.setStatus(null); - reqVO.setBeginCreateTime(null); - reqVO.setEndCreateTime(null); - - // 调用 - List list = spuService.getSpuList(reqVO); - // 断言 - assertEquals(1, list.size()); - assertPojoEquals(dbSpu, list.get(0)); - } - -} -- libgit2 0.21.4