From fcc52c317b2e2c9b505e66496dd82b0e695889c5 Mon Sep 17 00:00:00 2001 From: OpenCode Date: Tue, 28 Jul 2026 13:48:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9ESKU=E8=A1=A8=20-=20Pr?= =?UTF-8?q?oductGoodsSkuEntity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ProductGoodsSkuEntity: goodsId/skuCode/attrs(JSON)/price/stock/image/status - ProductGoodsSkuMapper/Service/ServiceImpl: CRUD - AdminProductGoodsSkuController: Admin端SKU接口(page/add/update/delete/info) --- .../admin/AdminProductGoodsSkuController.java | 21 ++++++++++++ .../product/entity/ProductGoodsSkuEntity.java | 34 +++++++++++++++++++ .../product/mapper/ProductGoodsSkuMapper.java | 7 ++++ .../service/ProductGoodsSkuService.java | 7 ++++ .../impl/ProductGoodsSkuServiceImpl.java | 12 +++++++ 5 files changed, 81 insertions(+) create mode 100644 src/main/java/com/cool/modules/product/controller/admin/AdminProductGoodsSkuController.java create mode 100644 src/main/java/com/cool/modules/product/entity/ProductGoodsSkuEntity.java create mode 100644 src/main/java/com/cool/modules/product/mapper/ProductGoodsSkuMapper.java create mode 100644 src/main/java/com/cool/modules/product/service/ProductGoodsSkuService.java create mode 100644 src/main/java/com/cool/modules/product/service/impl/ProductGoodsSkuServiceImpl.java diff --git a/src/main/java/com/cool/modules/product/controller/admin/AdminProductGoodsSkuController.java b/src/main/java/com/cool/modules/product/controller/admin/AdminProductGoodsSkuController.java new file mode 100644 index 0000000..7682b5a --- /dev/null +++ b/src/main/java/com/cool/modules/product/controller/admin/AdminProductGoodsSkuController.java @@ -0,0 +1,21 @@ +package com.cool.modules.product.controller.admin; + +import cn.hutool.json.JSONObject; +import com.cool.core.annotation.CoolRestController; +import com.cool.core.base.BaseController; +import com.cool.modules.product.entity.ProductGoodsSkuEntity; +import com.cool.modules.product.service.ProductGoodsSkuService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Tag(name = "商品SKU管理", description = "商品SKU管理") +@CoolRestController(api = {"add", "delete", "update", "page", "info"}) +public class AdminProductGoodsSkuController extends BaseController { + + @Override + protected void init(HttpServletRequest request, JSONObject requestParams) { + setPageOption(createOp()); + } +} diff --git a/src/main/java/com/cool/modules/product/entity/ProductGoodsSkuEntity.java b/src/main/java/com/cool/modules/product/entity/ProductGoodsSkuEntity.java new file mode 100644 index 0000000..31e549d --- /dev/null +++ b/src/main/java/com/cool/modules/product/entity/ProductGoodsSkuEntity.java @@ -0,0 +1,34 @@ +package com.cool.modules.product.entity; + +import com.cool.core.base.TenantEntity; +import com.mybatisflex.annotation.Table; +import com.cool.core.annotation.ColumnDefine; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Table(value = "product_goods_sku", comment = "商品SKU表") +public class ProductGoodsSkuEntity extends TenantEntity { + + @ColumnDefine(comment = "商品ID", type = "bigint") + private Long goodsId; + + @ColumnDefine(comment = "SKU编码") + private String skuCode; + + @ColumnDefine(comment = "规格组合", type = "text") + private String attrs; + + @ColumnDefine(comment = "价格") + private Double price; + + @ColumnDefine(comment = "库存") + private Integer stock; + + @ColumnDefine(comment = "规格图") + private String image; + + @ColumnDefine(comment = "状态 0:禁用 1:启用", defaultValue = "1") + private Integer status; +} diff --git a/src/main/java/com/cool/modules/product/mapper/ProductGoodsSkuMapper.java b/src/main/java/com/cool/modules/product/mapper/ProductGoodsSkuMapper.java new file mode 100644 index 0000000..0932c6c --- /dev/null +++ b/src/main/java/com/cool/modules/product/mapper/ProductGoodsSkuMapper.java @@ -0,0 +1,7 @@ +package com.cool.modules.product.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cool.modules.product.entity.ProductGoodsSkuEntity; + +public interface ProductGoodsSkuMapper extends BaseMapper { +} diff --git a/src/main/java/com/cool/modules/product/service/ProductGoodsSkuService.java b/src/main/java/com/cool/modules/product/service/ProductGoodsSkuService.java new file mode 100644 index 0000000..a2c2361 --- /dev/null +++ b/src/main/java/com/cool/modules/product/service/ProductGoodsSkuService.java @@ -0,0 +1,7 @@ +package com.cool.modules.product.service; + +import com.cool.core.base.BaseService; +import com.cool.modules.product.entity.ProductGoodsSkuEntity; + +public interface ProductGoodsSkuService extends BaseService { +} diff --git a/src/main/java/com/cool/modules/product/service/impl/ProductGoodsSkuServiceImpl.java b/src/main/java/com/cool/modules/product/service/impl/ProductGoodsSkuServiceImpl.java new file mode 100644 index 0000000..65b0b7d --- /dev/null +++ b/src/main/java/com/cool/modules/product/service/impl/ProductGoodsSkuServiceImpl.java @@ -0,0 +1,12 @@ +package com.cool.modules.product.service.impl; + +import com.cool.core.base.BaseServiceImpl; +import com.cool.modules.product.entity.ProductGoodsSkuEntity; +import com.cool.modules.product.mapper.ProductGoodsSkuMapper; +import com.cool.modules.product.service.ProductGoodsSkuService; +import org.springframework.stereotype.Service; + +@Service +public class ProductGoodsSkuServiceImpl extends BaseServiceImpl implements + ProductGoodsSkuService { +}