From 71dfdbefff53f7b2d062ec318327b513c0979ada Mon Sep 17 00:00:00 2001 From: shenyifei Date: Tue, 18 Nov 2025 00:16:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(biz):=20=E6=96=B0=E5=A2=9E=E7=BA=B8?= =?UTF-8?q?=E7=AE=B1=E8=A7=84=E6=A0=BC=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增纸箱规格的创建、更新、删除、详情查看和分页查询接口 - 新增纸箱规格相关的命令和查询对象,包括创建、更新、删除、列表、分页和详情查询 - 新增纸箱规格值对象 BoxSpecVO 用于返回数据 - 修改品牌类型枚举,增加礼盒类型 - 更新订单包装相关字段,将箱子分类调整为箱子规格 - 移除旧的纸箱产品规格枚举类型,改为使用规格ID和名称 - 在品牌相关DTO中增加纸箱规格ID集合及规格列表字段 - 增加MapStruct映射配置以支持新字段转换 - 实现纸箱规格服务的具体业务逻辑和网关调用 - 提供RESTful接口控制器用于外部访问纸箱规格管理功能 --- .../admin/controller/BoxSpecController.java | 85 +++++++++++++++++ .../biz/app/assembler/BoxBrandAssembler.java | 1 + .../biz/app/assembler/BoxSpecAssembler.java | 15 +++ .../app/executor/cmd/BoxSpecCreateCmdExe.java | 29 ++++++ .../executor/cmd/BoxSpecDestroyCmdExe.java | 22 +++++ .../app/executor/cmd/BoxSpecUpdateCmdExe.java | 27 ++++++ .../app/executor/query/BoxSpecListQryExe.java | 30 ++++++ .../app/executor/query/BoxSpecPageQryExe.java | 29 ++++++ .../app/executor/query/BoxSpecShowQryExe.java | 29 ++++++ .../biz/app/service/BoxSpecServiceImpl.java | 71 ++++++++++++++ .../erp/turbo/biz/domain/entity/BoxBrand.java | 12 ++- .../turbo/biz/domain/entity/BoxProduct.java | 12 ++- .../erp/turbo/biz/domain/entity/BoxSpec.java | 50 ++++++++++ .../biz/domain/gateway/BoxSpecGateway.java | 30 ++++++ .../convert/BoxBrandConvert.java | 5 + .../convert/BoxProductConvert.java | 2 + .../convert/BoxSpecConvert.java | 32 +++++++ .../biz/infrastructure/entity/BoxBrandDO.java | 14 ++- .../infrastructure/entity/BoxProductDO.java | 17 ++-- .../biz/infrastructure/entity/BoxSpecDO.java | 52 +++++++++++ .../infrastructure/entity/OrderPackageDO.java | 12 ++- .../entity/ShipOrderPackageDO.java | 12 ++- .../gateway/BoxBrandGatewayImpl.java | 19 ++++ .../gateway/BoxProductGatewayImpl.java | 16 +++- .../gateway/BoxSpecGatewayImpl.java | 92 +++++++++++++++++++ .../gateway/PurchaseOrderGatewayImpl.java | 5 +- .../infrastructure/mapper/BoxSpecMapper.java | 13 +++ .../main/resources/mapper/BoxBrandMapper.xml | 3 + .../resources/mapper/BoxProductMapper.xml | 5 +- .../main/resources/mapper/BoxSpecMapper.xml | 17 ++++ .../resources/mapper/OrderPackageMapper.xml | 5 +- .../mapper/ShipOrderPackageMapper.xml | 3 +- .../turbo/api/biz/api/BoxSpecServiceI.java | 30 ++++++ .../api/biz/dto/cmd/BoxBrandCreateCmd.java | 12 ++- .../api/biz/dto/cmd/BoxProductCreateCmd.java | 17 ++-- .../api/biz/dto/cmd/BoxSpecCreateCmd.java | 49 ++++++++++ .../api/biz/dto/cmd/BoxSpecDestroyCmd.java | 19 ++++ .../api/biz/dto/cmd/BoxSpecUpdateCmd.java | 18 ++++ .../api/biz/dto/common/OrderPackage.java | 16 +++- .../api/biz/dto/common/ShipOrderPackage.java | 10 +- .../api/biz/dto/enums/BoxBrandTypeEnum.java | 10 +- .../biz/dto/enums/BoxProductSpecTypeEnum.java | 20 ---- .../api/biz/dto/qry/BoxBrandListQry.java | 4 +- .../api/biz/dto/qry/BoxBrandPageQry.java | 4 +- .../api/biz/dto/qry/BoxProductListQry.java | 11 +-- .../api/biz/dto/qry/BoxProductPageQry.java | 11 +-- .../turbo/api/biz/dto/qry/BoxSpecListQry.java | 19 ++++ .../turbo/api/biz/dto/qry/BoxSpecPageQry.java | 19 ++++ .../turbo/api/biz/dto/qry/BoxSpecShowQry.java | 19 ++++ .../erp/turbo/api/biz/dto/vo/BoxBrandVO.java | 18 +++- .../turbo/api/biz/dto/vo/BoxProductVO.java | 19 ++-- .../erp/turbo/api/biz/dto/vo/BoxSpecVO.java | 56 +++++++++++ 52 files changed, 1056 insertions(+), 91 deletions(-) create mode 100644 erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/BoxSpecController.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxSpecAssembler.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecCreateCmdExe.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecDestroyCmdExe.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecUpdateCmdExe.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecListQryExe.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecPageQryExe.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecShowQryExe.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/BoxSpecServiceImpl.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxSpec.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/BoxSpecGateway.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxSpecConvert.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxSpecDO.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxSpecGatewayImpl.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/BoxSpecMapper.java create mode 100644 erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxSpecMapper.xml create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/BoxSpecServiceI.java create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecCreateCmd.java create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecDestroyCmd.java create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecUpdateCmd.java delete mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxProductSpecTypeEnum.java create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecListQry.java create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecPageQry.java create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecShowQry.java create mode 100644 erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxSpecVO.java diff --git a/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/BoxSpecController.java b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/BoxSpecController.java new file mode 100644 index 0000000..e61c70e --- /dev/null +++ b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/BoxSpecController.java @@ -0,0 +1,85 @@ +package com.xunhong.erp.turbo.admin.controller; + +import cn.dev33.satoken.annotation.SaCheckLogin; +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.xunhong.erp.turbo.api.biz.api.BoxSpecServiceI; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecCreateCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecDestroyCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecUpdateCmd; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecListQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecPageQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecShowQry; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.base.dto.PageDTO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * @author shenyifei + */ +@Tag(name = "BoxSpec", description = "纸箱规格管理") +@RestController("operationBoxSpecController") +@RequestMapping(value = "/operation") +@RequiredArgsConstructor +public class BoxSpecController { + + @DubboReference(version = "1.0.0") + private final BoxSpecServiceI boxSpecService; + + @SaCheckLogin +// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_BOX_SPEC_VIEW}) + @GetMapping("listBoxSpec") + @Operation(summary = "纸箱规格列表", method = "GET") + public MultiResponse listBoxSpec(@ModelAttribute @Validated BoxSpecListQry boxSpecListQry) { + return MultiResponse.of(boxSpecService.list(boxSpecListQry)); + } + + @SaCheckLogin +// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_BOX_SPEC_CREATE}) + @PostMapping("createBoxSpec") + @Operation(summary = "创建纸箱规格", method = "POST") + public SingleResponse createBoxSpec(@RequestBody @Validated BoxSpecCreateCmd boxSpecCreateCmd) { + return SingleResponse.of(boxSpecService.create(boxSpecCreateCmd)); + } + + @SaCheckLogin +// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_BOX_SPEC_VIEW}) + @GetMapping("showBoxSpec") + @Operation(summary = "纸箱规格详情", method = "GET") + public SingleResponse showBoxSpec(@ModelAttribute @Validated BoxSpecShowQry boxSpecShowQry) { + return SingleResponse.of(boxSpecService.show(boxSpecShowQry)); + } + + @SaCheckLogin +// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_BOX_SPEC_VIEW}) + @GetMapping("pageBoxSpec") + @Operation(summary = "纸箱规格列表", method = "GET") + public PageResponse pageBoxSpec(@ModelAttribute @Validated BoxSpecPageQry boxSpecPageQry) { + PageDTO page = boxSpecService.page(boxSpecPageQry); + return PageResponse.of(page.getRecords(), (int) page.getTotal(), (int) page.getSize(), (int) page.getCurrent()); + } + + @SaCheckLogin +// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_BOX_SPEC_UPDATE}) + @RequestMapping(value = "updateBoxSpec", method = {RequestMethod.PATCH, RequestMethod.PUT}) + @Operation(summary = "纸箱规格更新", method = "PATCH") + public SingleResponse updateBoxSpec(@RequestBody @Validated BoxSpecUpdateCmd boxSpecUpdateCmd) { + return SingleResponse.of(boxSpecService.update(boxSpecUpdateCmd)); + } + + @SaCheckLogin +// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_BOX_SPEC_DELETE}) + @DeleteMapping("destroyBoxSpec") + @Operation(summary = "纸箱规格删除", method = "DELETE") + public Response destroyBoxSpec(@RequestBody @Validated BoxSpecDestroyCmd boxSpecDestroyCmd) { + boxSpecService.destroy(boxSpecDestroyCmd); + return Response.buildSuccess(); + } +} diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxBrandAssembler.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxBrandAssembler.java index 9845c4d..f08fa91 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxBrandAssembler.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxBrandAssembler.java @@ -12,6 +12,7 @@ import org.mapstruct.NullValueCheckStrategy; @Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) public interface BoxBrandAssembler { + @Mapping(target = "boxSpecVOList", source = "boxSpecList") @Mapping(target = "boxProductVOList", source = "boxProductList") BoxBrandVO toBoxBrandVO(BoxBrand boxBrand); } diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxSpecAssembler.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxSpecAssembler.java new file mode 100644 index 0000000..2f44610 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/BoxSpecAssembler.java @@ -0,0 +1,15 @@ +package com.xunhong.erp.turbo.biz.app.assembler; + +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import org.mapstruct.Mapper; +import org.mapstruct.NullValueCheckStrategy; + +/** + * @author shenyifei + */ +@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) +public interface BoxSpecAssembler { + + BoxSpecVO toBoxSpecVO(BoxSpec boxSpec); +} diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecCreateCmdExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecCreateCmdExe.java new file mode 100644 index 0000000..a173e56 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecCreateCmdExe.java @@ -0,0 +1,29 @@ +package com.xunhong.erp.turbo.biz.app.executor.cmd; + +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecCreateCmd; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.biz.app.assembler.BoxSpecAssembler; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import com.xunhong.erp.turbo.biz.domain.gateway.BoxSpecGateway; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author shenyifei + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class BoxSpecCreateCmdExe { + + private final BoxSpecAssembler boxSpecAssembler; + private final BoxSpecGateway boxSpecGateway; + + public BoxSpecVO execute(BoxSpecCreateCmd boxSpecCreateCmd) { + BoxSpec boxSpec = boxSpecGateway.save(boxSpecCreateCmd); + + return boxSpecAssembler.toBoxSpecVO(boxSpec); + } +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecDestroyCmdExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecDestroyCmdExe.java new file mode 100644 index 0000000..15bb0fd --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecDestroyCmdExe.java @@ -0,0 +1,22 @@ +package com.xunhong.erp.turbo.biz.app.executor.cmd; + +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecDestroyCmd; +import com.xunhong.erp.turbo.biz.domain.gateway.BoxSpecGateway; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author shenyifei + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class BoxSpecDestroyCmdExe { + private final BoxSpecGateway boxSpecGateway; + + public void execute(BoxSpecDestroyCmd boxSpecDestroyCmd) { + boxSpecGateway.destroy(boxSpecDestroyCmd); + } +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecUpdateCmdExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecUpdateCmdExe.java new file mode 100644 index 0000000..bf7b70f --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/cmd/BoxSpecUpdateCmdExe.java @@ -0,0 +1,27 @@ +package com.xunhong.erp.turbo.biz.app.executor.cmd; + +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecUpdateCmd; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.biz.app.assembler.BoxSpecAssembler; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import com.xunhong.erp.turbo.biz.domain.gateway.BoxSpecGateway; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author shenyifei + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class BoxSpecUpdateCmdExe { + + private final BoxSpecAssembler boxSpecAssembler; + private final BoxSpecGateway boxSpecGateway; + + public BoxSpecVO execute(BoxSpecUpdateCmd boxSpecUpdateCmd) { + BoxSpec boxSpec = boxSpecGateway.update(boxSpecUpdateCmd); + return boxSpecAssembler.toBoxSpecVO(boxSpec); + } +} diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecListQryExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecListQryExe.java new file mode 100644 index 0000000..a4d2eb4 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecListQryExe.java @@ -0,0 +1,30 @@ +package com.xunhong.erp.turbo.biz.app.executor.query; + +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecListQry; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.biz.app.assembler.BoxSpecAssembler; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import com.xunhong.erp.turbo.biz.domain.gateway.BoxSpecGateway; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author shenyifei + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class BoxSpecListQryExe { + + private final BoxSpecGateway boxSpecGateway; + private final BoxSpecAssembler boxSpecAssembler; + + public List execute(BoxSpecListQry boxSpecListQry) { + List boxSpecList = boxSpecGateway.list(boxSpecListQry); + return boxSpecList.stream().map(boxSpecAssembler::toBoxSpecVO).toList(); + } +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecPageQryExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecPageQryExe.java new file mode 100644 index 0000000..219ad95 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecPageQryExe.java @@ -0,0 +1,29 @@ +package com.xunhong.erp.turbo.biz.app.executor.query; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecPageQry; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.biz.app.assembler.BoxSpecAssembler; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import com.xunhong.erp.turbo.biz.domain.gateway.BoxSpecGateway; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author shenyifei + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class BoxSpecPageQryExe { + + private final BoxSpecGateway boxSpecGateway; + private final BoxSpecAssembler boxSpecAssembler; + + public IPage execute(BoxSpecPageQry boxSpecPageQry) { + IPage page = boxSpecGateway.page(boxSpecPageQry); + return page.convert(boxSpecAssembler::toBoxSpecVO); + } +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecShowQryExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecShowQryExe.java new file mode 100644 index 0000000..7b92aed --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/BoxSpecShowQryExe.java @@ -0,0 +1,29 @@ +package com.xunhong.erp.turbo.biz.app.executor.query; + +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecShowQry; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.biz.app.assembler.BoxSpecAssembler; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import com.xunhong.erp.turbo.biz.domain.gateway.BoxSpecGateway; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author shenyifei + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class BoxSpecShowQryExe { + + private final BoxSpecAssembler boxSpecAssembler; + private final BoxSpecGateway boxSpecGateway; + + public BoxSpecVO execute(BoxSpecShowQry boxSpecShowQry) { + BoxSpec boxSpec = boxSpecGateway.show(boxSpecShowQry); + + return boxSpecAssembler.toBoxSpecVO(boxSpec); + } +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/BoxSpecServiceImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/BoxSpecServiceImpl.java new file mode 100644 index 0000000..a855976 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/BoxSpecServiceImpl.java @@ -0,0 +1,71 @@ +package com.xunhong.erp.turbo.biz.app.service; + +import com.xunhong.erp.turbo.api.biz.api.BoxSpecServiceI; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecCreateCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecDestroyCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecUpdateCmd; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecListQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecPageQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecShowQry; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.base.dto.PageDTO; +import com.xunhong.erp.turbo.biz.app.executor.cmd.BoxSpecCreateCmdExe; +import com.xunhong.erp.turbo.biz.app.executor.cmd.BoxSpecDestroyCmdExe; +import com.xunhong.erp.turbo.biz.app.executor.cmd.BoxSpecUpdateCmdExe; +import com.xunhong.erp.turbo.biz.app.executor.query.BoxSpecListQryExe; +import com.xunhong.erp.turbo.biz.app.executor.query.BoxSpecPageQryExe; +import com.xunhong.erp.turbo.biz.app.executor.query.BoxSpecShowQryExe; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author shenyifei + */ +@Slf4j +@Service +@DubboService(interfaceClass = BoxSpecServiceI.class, version = "1.0.0") +@RequiredArgsConstructor +public class BoxSpecServiceImpl implements BoxSpecServiceI { + + private final BoxSpecCreateCmdExe boxSpecCreateCmdExe; + private final BoxSpecUpdateCmdExe boxSpecUpdateCmdExe; + private final BoxSpecPageQryExe boxSpecPageQryExe; + private final BoxSpecListQryExe boxSpecListQryExe; + private final BoxSpecShowQryExe boxSpecShowQryExe; + private final BoxSpecDestroyCmdExe boxSpecDestroyCmdExe; + + @Override + public BoxSpecVO create(BoxSpecCreateCmd boxSpecCreateCmd) { + return boxSpecCreateCmdExe.execute(boxSpecCreateCmd); + } + + @Override + public PageDTO page(BoxSpecPageQry boxSpecPageQry) { + return PageDTO.of(boxSpecPageQryExe.execute(boxSpecPageQry)); + } + + @Override + public List list(BoxSpecListQry boxSpecListQry) { + return boxSpecListQryExe.execute(boxSpecListQry); + } + + @Override + public BoxSpecVO update(BoxSpecUpdateCmd boxSpecUpdateCmd) { + return boxSpecUpdateCmdExe.execute(boxSpecUpdateCmd); + } + + @Override + public BoxSpecVO show(BoxSpecShowQry boxSpecShowQry) { + return boxSpecShowQryExe.execute(boxSpecShowQry); + } + + @Override + public void destroy(BoxSpecDestroyCmd boxSpecDestroyCmd) { + boxSpecDestroyCmdExe.execute(boxSpecDestroyCmd); + } +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxBrand.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxBrand.java index 7000270..1e9284c 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxBrand.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxBrand.java @@ -34,7 +34,12 @@ public class BoxBrand extends DTO { private String image; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 规格ID列表 + */ + private List specIds; + + /** + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ private BoxBrandTypeEnum type; @@ -63,4 +68,9 @@ public class BoxBrand extends DTO { */ private LocalDateTime createdAt; + /** + * 规格列表 + */ + private List boxSpecList; + } diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxProduct.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxProduct.java index d9336ef..703e0c6 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxProduct.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxProduct.java @@ -2,7 +2,6 @@ package com.xunhong.erp.turbo.biz.domain.entity; import com.alibaba.cola.domain.Entity; import com.alibaba.cola.dto.DTO; -import com.xunhong.erp.turbo.api.biz.dto.enums.BoxProductSpecTypeEnum; import lombok.Data; import lombok.EqualsAndHashCode; @@ -43,9 +42,14 @@ public class BoxProduct extends DTO { private BigDecimal salePrice; /** - * 规格:1_2粒装;2_4粒装 + * 规格Id */ - private BoxProductSpecTypeEnum specType; + private Long specId; + + /** + * 规格名称 + */ + private String specName; /** * 品牌ID @@ -72,4 +76,4 @@ public class BoxProduct extends DTO { */ private LocalDateTime createdAt; -} \ No newline at end of file +} diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxSpec.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxSpec.java new file mode 100644 index 0000000..0e11942 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/BoxSpec.java @@ -0,0 +1,50 @@ +package com.xunhong.erp.turbo.biz.domain.entity; + +import com.alibaba.cola.domain.Entity; +import com.alibaba.cola.dto.DTO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author shenyifei + */ +@Data +@Entity +@EqualsAndHashCode(callSuper = true) +public class BoxSpec extends DTO { + + /** + * 规格ID + */ + private Long specId; + + /** + * 规格名称 + */ + private String name; + + /** + * 排序号 + */ + private BigDecimal sort; + + /** + * 备注 + */ + private String remark; + + /** + * 状态:1_启用;0_禁用 + */ + private Boolean status; + + /** + * 创建时间 + */ + private LocalDateTime createdAt; + +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/BoxSpecGateway.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/BoxSpecGateway.java new file mode 100644 index 0000000..443853a --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/BoxSpecGateway.java @@ -0,0 +1,30 @@ +package com.xunhong.erp.turbo.biz.domain.gateway; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecCreateCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecDestroyCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecUpdateCmd; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecListQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecPageQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecShowQry; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; + +import java.util.List; + +/** + * @author shenyifei + */ +public interface BoxSpecGateway { + BoxSpec save(BoxSpecCreateCmd boxSpecCreateCmd); + + IPage page(BoxSpecPageQry boxSpecPageQry); + + List list(BoxSpecListQry boxSpecListQry); + + BoxSpec update(BoxSpecUpdateCmd boxSpecUpdateCmd); + + BoxSpec show(BoxSpecShowQry boxSpecShowQry); + + void destroy(BoxSpecDestroyCmd boxSpecDestroyCmd); +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxBrandConvert.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxBrandConvert.java index e560141..b00fcad 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxBrandConvert.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxBrandConvert.java @@ -15,9 +15,12 @@ import org.mapstruct.NullValueCheckStrategy; @Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) public interface BoxBrandConvert { + @Mapping(target = "boxSpecList", source = "boxSpecDOList") @Mapping(target = "boxProductList", source = "boxProductDOList") BoxBrand toBoxBrand(BoxBrandDO boxBrandDO); + @Mapping(target = "boxSpecDOList", ignore = true) + @Mapping(target = "sort", ignore = true) @Mapping(target = "boxProductDOList", ignore = true) @Mapping(target = "version", ignore = true) @Mapping(target = "updatedAt", ignore = true) @@ -25,6 +28,8 @@ public interface BoxBrandConvert { @Mapping(target = "createdAt", ignore = true) BoxBrandDO toBoxBrandDO(BoxBrandCreateCmd boxBrandCreateCmd); + @Mapping(target = "boxSpecDOList", ignore = true) + @Mapping(target = "sort", ignore = true) @Mapping(target = "boxProductDOList", ignore = true) @Mapping(target = "version", ignore = true) @Mapping(target = "updatedAt", ignore = true) diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxProductConvert.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxProductConvert.java index f52d5b0..ea09f5a 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxProductConvert.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxProductConvert.java @@ -17,12 +17,14 @@ public interface BoxProductConvert { BoxProduct toBoxProduct(BoxProductDO boxProductDO); + @Mapping(target = "sort", ignore = true) @Mapping(target = "version", ignore = true) @Mapping(target = "updatedAt", ignore = true) @Mapping(target = "isDelete", ignore = true) @Mapping(target = "createdAt", ignore = true) BoxProductDO toBoxProductDO(BoxProductCreateCmd boxProductCreateCmd); + @Mapping(target = "sort", ignore = true) @Mapping(target = "version", ignore = true) @Mapping(target = "updatedAt", ignore = true) @Mapping(target = "isDelete", ignore = true) diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxSpecConvert.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxSpecConvert.java new file mode 100644 index 0000000..c896361 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/convert/BoxSpecConvert.java @@ -0,0 +1,32 @@ +package com.xunhong.erp.turbo.biz.infrastructure.convert; + +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecCreateCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecUpdateCmd; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxSpecDO; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.MappingTarget; +import org.mapstruct.NullValueCheckStrategy; + +/** + * @author shenyifei + */ +@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) +public interface BoxSpecConvert { + + BoxSpec toBoxSpec(BoxSpecDO boxSpecDO); + + @Mapping(target = "version", ignore = true) + @Mapping(target = "updatedAt", ignore = true) + @Mapping(target = "isDelete", ignore = true) + @Mapping(target = "createdAt", ignore = true) + BoxSpecDO toBoxSpecDO(BoxSpecCreateCmd boxSpecCreateCmd); + + @Mapping(target = "version", ignore = true) + @Mapping(target = "updatedAt", ignore = true) + @Mapping(target = "isDelete", ignore = true) + @Mapping(target = "createdAt", ignore = true) + void toBoxSpecDO(@MappingTarget BoxSpecDO boxSpecDO, BoxSpecUpdateCmd boxSpecUpdateCmd); +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxBrandDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxBrandDO.java index 5d7c197..afc8cf3 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxBrandDO.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxBrandDO.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.xunhong.erp.turbo.api.biz.dto.enums.BoxBrandTypeEnum; import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO; import lombok.Data; @@ -16,7 +17,7 @@ import java.util.List; * @author shenyifei */ @Data -@TableName(value = "box_brand") +@TableName(value = "box_brand", autoResultMap = true) @EqualsAndHashCode(callSuper = true) public class BoxBrandDO extends BaseDO { @@ -39,11 +40,17 @@ public class BoxBrandDO extends BaseDO { private String image; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ @TableField(value = "type") private BoxBrandTypeEnum type; + /** + * 规格ID + */ + @TableField(value = "spec_ids", typeHandler = JacksonTypeHandler.class) + private List specIds; + /** * 备注 */ @@ -65,4 +72,7 @@ public class BoxBrandDO extends BaseDO { @TableField(exist = false) private List boxProductDOList; + @TableField(exist = false) + private List boxSpecDOList; + } diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxProductDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxProductDO.java index f4f9e92..1581ee7 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxProductDO.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxProductDO.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.xunhong.erp.turbo.api.biz.dto.enums.BoxBrandTypeEnum; -import com.xunhong.erp.turbo.api.biz.dto.enums.BoxProductSpecTypeEnum; import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO; import lombok.Data; import lombok.EqualsAndHashCode; @@ -51,10 +50,16 @@ public class BoxProductDO extends BaseDO { private BigDecimal salePrice; /** - * 规格:1_2粒装;2_4粒装 + * 规格ID */ - @TableField(value = "spec_type") - private BoxProductSpecTypeEnum specType; + @TableField(value = "spec_id") + private Long specId; + + /** + * 规格名称 + */ + @TableField(value = "spec_name") + private String specName; /** * 品牌ID @@ -63,7 +68,7 @@ public class BoxProductDO extends BaseDO { private Long brandId; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ @TableField(value = "type") private BoxBrandTypeEnum type; @@ -86,4 +91,4 @@ public class BoxProductDO extends BaseDO { @TableField(value = "sort") private BigDecimal sort; -} \ No newline at end of file +} diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxSpecDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxSpecDO.java new file mode 100644 index 0000000..37287d4 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/BoxSpecDO.java @@ -0,0 +1,52 @@ +package com.xunhong.erp.turbo.biz.infrastructure.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * @author shenyifei + */ +@Data +@TableName(value = "box_spec") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecDO extends BaseDO { + + /** + * 规格ID + */ + @TableId(value = "spec_id", type = IdType.ASSIGN_ID) + private Long specId; + + /** + * 规格名称 + */ + @TableField(value = "name") + private String name; + + /** + * 排序号 + */ + @TableField(value = "sort") + private BigDecimal sort; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 状态:1_启用;0_禁用 + */ + @TableField(value = "status") + private Boolean status; + +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/OrderPackageDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/OrderPackageDO.java index b0cfb06..d801502 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/OrderPackageDO.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/OrderPackageDO.java @@ -57,10 +57,16 @@ public class OrderPackageDO extends BaseDO { private BoxBrandTypeEnum boxBrandType; /** - * 箱子分类ID + * 箱子规格id */ - @TableField(value = "box_category_id") - private String boxCategoryId; + @TableField(value = "box_spec_id") + private String boxSpecId; + + /** + * 箱子规格名称 + */ + @TableField(value = "box_spec_name") + private String boxSpecName; /** * 箱子产品ID diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/ShipOrderPackageDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/ShipOrderPackageDO.java index b2bc054..a79608c 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/ShipOrderPackageDO.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/ShipOrderPackageDO.java @@ -31,10 +31,16 @@ public class ShipOrderPackageDO extends BaseDO { private Long shipOrderId; /** - * 箱型 + * 箱型规格id */ - @TableField(value = "box_category") - private String boxCategory; + @TableField(value = "box_spec_id") + private String boxSpecId; + + /** + * 箱型规格名称 + */ + @TableField(value = "box_spec_name") + private String boxSpecName; /** * 箱号 diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxBrandGatewayImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxBrandGatewayImpl.java index 0127819..b5621b2 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxBrandGatewayImpl.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxBrandGatewayImpl.java @@ -18,12 +18,15 @@ import com.xunhong.erp.turbo.biz.domain.gateway.BoxBrandGateway; import com.xunhong.erp.turbo.biz.infrastructure.convert.BoxBrandConvert; import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxBrandDO; import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxProductDO; +import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxSpecDO; import com.xunhong.erp.turbo.biz.infrastructure.mapper.BoxBrandMapper; import com.xunhong.erp.turbo.biz.infrastructure.mapper.BoxProductMapper; +import com.xunhong.erp.turbo.biz.infrastructure.mapper.BoxSpecMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; +import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -37,6 +40,7 @@ public class BoxBrandGatewayImpl implements BoxBrandGateway { private final BoxBrandMapper boxBrandMapper; private final BoxBrandConvert boxBrandConvert; private final BoxProductMapper boxProductMapper; + private final BoxSpecMapper boxSpecMapper; @Override public BoxBrand save(BoxBrandCreateCmd boxBrandCreateCmd) { @@ -99,6 +103,16 @@ public class BoxBrandGatewayImpl implements BoxBrandGateway { boxBrandDO.setBoxProductDOList(boxProductDOList.stream().filter(boxProductDO -> boxProductDO.getBrandId().equals(boxBrandDO.getBrandId())).toList()); }); } + + List specIdList = boxBrandDOList.stream().map(BoxBrandDO::getSpecIds).flatMap(Collection::stream).toList(); + if (CollUtil.isNotEmpty(specIdList)) { + LambdaQueryWrapper queryWrapper2 = Wrappers.lambdaQuery(BoxSpecDO.class); + queryWrapper2.in(BoxSpecDO::getSpecId, specIdList); + List boxSpecDOList = boxSpecMapper.selectList(queryWrapper2); + boxBrandDOList.forEach(boxBrandDO -> { + boxBrandDO.setBoxSpecDOList(boxSpecDOList.stream().filter(boxSpecDO -> boxBrandDO.getSpecIds().contains(boxSpecDO.getSpecId())).toList()); + }); + } } return boxBrandDOList.stream().map(boxBrandConvert::toBoxBrand).toList(); @@ -125,6 +139,11 @@ public class BoxBrandGatewayImpl implements BoxBrandGateway { queryWrapper.last("limit 1"); BoxBrandDO boxBrandDO = boxBrandMapper.selectOne(queryWrapper); + + if (Objects.nonNull(boxBrandDO)) { + boxBrandDO.setBoxSpecDOList(boxSpecMapper.selectList(Wrappers.lambdaQuery(BoxSpecDO.class).in(BoxSpecDO::getSpecId, boxBrandDO.getSpecIds()))); + } + return boxBrandConvert.toBoxBrand(boxBrandDO); } diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxProductGatewayImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxProductGatewayImpl.java index ed67739..d2518ed 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxProductGatewayImpl.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxProductGatewayImpl.java @@ -17,7 +17,9 @@ import com.xunhong.erp.turbo.biz.domain.entity.BoxProduct; import com.xunhong.erp.turbo.biz.domain.gateway.BoxProductGateway; import com.xunhong.erp.turbo.biz.infrastructure.convert.BoxProductConvert; import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxProductDO; +import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxSpecDO; import com.xunhong.erp.turbo.biz.infrastructure.mapper.BoxProductMapper; +import com.xunhong.erp.turbo.biz.infrastructure.mapper.BoxSpecMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; @@ -34,10 +36,14 @@ import java.util.Optional; public class BoxProductGatewayImpl implements BoxProductGateway { private final BoxProductMapper boxProductMapper; private final BoxProductConvert boxProductConvert; + private final BoxSpecMapper boxSpecMapper; @Override public BoxProduct save(BoxProductCreateCmd boxProductCreateCmd) { BoxProductDO boxProductDO = boxProductConvert.toBoxProductDO(boxProductCreateCmd); + + BoxSpecDO boxSpecDO = boxSpecMapper.selectById(boxProductDO.getSpecId()); + boxProductDO.setSpecName(boxSpecDO.getName()); boxProductMapper.insert(boxProductDO); return boxProductConvert.toBoxProduct(boxProductDO); @@ -47,7 +53,7 @@ public class BoxProductGatewayImpl implements BoxProductGateway { public IPage page(BoxProductPageQry boxProductPageQry) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BoxProductDO.class); queryWrapper.like(StrUtil.isNotBlank(boxProductPageQry.getName()), BoxProductDO::getName, boxProductPageQry.getName()); - queryWrapper.eq(Objects.nonNull(boxProductPageQry.getSpecType()), BoxProductDO::getSpecType, boxProductPageQry.getSpecType()); + queryWrapper.eq(Objects.nonNull(boxProductPageQry.getSpecId()), BoxProductDO::getSpecId, boxProductPageQry.getSpecId()); queryWrapper.eq(Objects.nonNull(boxProductPageQry.getBrandId()), BoxProductDO::getBrandId, boxProductPageQry.getBrandId()); queryWrapper.eq(Objects.nonNull(boxProductPageQry.getStatus()), BoxProductDO::getStatus, boxProductPageQry.getStatus()); queryWrapper.eq(Objects.nonNull(boxProductPageQry.getType()), BoxProductDO::getType, boxProductPageQry.getType()); @@ -65,7 +71,7 @@ public class BoxProductGatewayImpl implements BoxProductGateway { public List list(BoxProductListQry boxProductListQry) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BoxProductDO.class); queryWrapper.like(StrUtil.isNotBlank(boxProductListQry.getName()), BoxProductDO::getName, boxProductListQry.getName()); - queryWrapper.eq(Objects.nonNull(boxProductListQry.getSpecType()), BoxProductDO::getSpecType, boxProductListQry.getSpecType()); + queryWrapper.eq(Objects.nonNull(boxProductListQry.getSpecId()), BoxProductDO::getSpecId, boxProductListQry.getSpecId()); queryWrapper.eq(Objects.nonNull(boxProductListQry.getBrandId()), BoxProductDO::getBrandId, boxProductListQry.getBrandId()); queryWrapper.eq(Objects.nonNull(boxProductListQry.getStatus()), BoxProductDO::getStatus, boxProductListQry.getStatus()); queryWrapper.eq(Objects.nonNull(boxProductListQry.getType()), BoxProductDO::getType, boxProductListQry.getType()); @@ -85,6 +91,12 @@ public class BoxProductGatewayImpl implements BoxProductGateway { BoxProductDO boxProductDO = boxProductMapper.selectOne(queryWrapper); boxProductConvert.toBoxProductDO(boxProductDO, boxProductUpdateCmd); + + if (!Objects.equals(boxProductDO.getSpecId(), boxProductUpdateCmd.getSpecId())) { + BoxSpecDO boxSpecDO = boxSpecMapper.selectById(boxProductUpdateCmd.getSpecId()); + boxProductDO.setSpecName(boxSpecDO.getName()); + } + boxProductMapper.updateById(boxProductDO); return boxProductConvert.toBoxProduct(boxProductDO); diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxSpecGatewayImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxSpecGatewayImpl.java new file mode 100644 index 0000000..53a5768 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/BoxSpecGatewayImpl.java @@ -0,0 +1,92 @@ +package com.xunhong.erp.turbo.biz.infrastructure.gateway; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecCreateCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecDestroyCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecUpdateCmd; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecListQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecPageQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecShowQry; +import com.xunhong.erp.turbo.biz.domain.entity.BoxSpec; +import com.xunhong.erp.turbo.biz.domain.gateway.BoxSpecGateway; +import com.xunhong.erp.turbo.biz.infrastructure.convert.BoxSpecConvert; +import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxSpecDO; +import com.xunhong.erp.turbo.biz.infrastructure.mapper.BoxSpecMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author shenyifei + */ +@Repository +@RequiredArgsConstructor +public class BoxSpecGatewayImpl implements BoxSpecGateway { + private final BoxSpecMapper boxSpecMapper; + private final BoxSpecConvert boxSpecConvert; + + @Override + public BoxSpec save(BoxSpecCreateCmd boxSpecCreateCmd) { + BoxSpecDO boxSpecDO = boxSpecConvert.toBoxSpecDO(boxSpecCreateCmd); + boxSpecMapper.insert(boxSpecDO); + + return boxSpecConvert.toBoxSpec(boxSpecDO); + } + + @Override + public IPage page(BoxSpecPageQry boxSpecPageQry) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BoxSpecDO.class); + queryWrapper.orderByDesc(BoxSpecDO::getCreatedAt); + + IPage page = new Page<>(boxSpecPageQry.getPageIndex(), boxSpecPageQry.getPageSize()); + page = boxSpecMapper.selectPage(page, queryWrapper); + + return page.convert(boxSpecConvert::toBoxSpec); + } + + @Override + public List list(BoxSpecListQry boxSpecListQry) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BoxSpecDO.class); + List boxSpecDOList = boxSpecMapper.selectList(queryWrapper); + return boxSpecDOList.stream().map(boxSpecConvert::toBoxSpec).toList(); + } + + @Override + public BoxSpec update(BoxSpecUpdateCmd boxSpecUpdateCmd) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BoxSpecDO.class); + queryWrapper.eq(BoxSpecDO::getSpecId, boxSpecUpdateCmd.getSpecId()); + queryWrapper.last("limit 1"); + + BoxSpecDO boxSpecDO = boxSpecMapper.selectOne(queryWrapper); + + boxSpecConvert.toBoxSpecDO(boxSpecDO, boxSpecUpdateCmd); + boxSpecMapper.updateById(boxSpecDO); + + return boxSpecConvert.toBoxSpec(boxSpecDO); + } + + @Override + public BoxSpec show(BoxSpecShowQry boxSpecShowQry) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BoxSpecDO.class); + queryWrapper.eq(BoxSpecDO::getSpecId, boxSpecShowQry.getSpecId()); + queryWrapper.last("limit 1"); + + BoxSpecDO boxSpecDO = boxSpecMapper.selectOne(queryWrapper); + return boxSpecConvert.toBoxSpec(boxSpecDO); + } + + @Override + public void destroy(BoxSpecDestroyCmd boxSpecDestroyCmd) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(BoxSpecDO.class); + queryWrapper.eq(BoxSpecDO::getSpecId, boxSpecDestroyCmd.getSpecId()); + queryWrapper.last("limit 1"); + + BoxSpecDO boxSpecDO = boxSpecMapper.selectOne(queryWrapper); + boxSpecDO.deleteById(); + } +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/PurchaseOrderGatewayImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/PurchaseOrderGatewayImpl.java index 6eb0812..d3e06d1 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/PurchaseOrderGatewayImpl.java +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/PurchaseOrderGatewayImpl.java @@ -525,7 +525,7 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway { // 按boxCategoryId和boxProductName分组包材信息 Map> packageGroupByKey = orderPackageDOList.stream() - .collect(Collectors.groupingBy(p -> p.getBoxCategoryId() + "_" + p.getBoxProductName())); + .collect(Collectors.groupingBy(p -> p.getBoxSpecId() + "_" + p.getBoxProductName())); // 创建发货单包材信息 for (Map.Entry> entry : packageGroupByKey.entrySet()) { @@ -537,7 +537,8 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway { // 使用第一个包材的信息作为基础 OrderPackageDO firstPackage = packages.get(0); - shipOrderPackageDO.setBoxCategory(firstPackage.getBoxCategoryId()); + shipOrderPackageDO.setBoxSpecId(firstPackage.getBoxSpecId()); + shipOrderPackageDO.setBoxSpecName(firstPackage.getBoxSpecName()); shipOrderPackageDO.setBoxProduct(firstPackage.getBoxProductName()); // 使用第一个包材的销售价格作为单价 diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/BoxSpecMapper.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/BoxSpecMapper.java new file mode 100644 index 0000000..f0b42cf --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/BoxSpecMapper.java @@ -0,0 +1,13 @@ +package com.xunhong.erp.turbo.biz.infrastructure.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xunhong.erp.turbo.biz.infrastructure.entity.BoxSpecDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author shenyifei + */ +@Mapper +public interface BoxSpecMapper extends BaseMapper { +} + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxBrandMapper.xml b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxBrandMapper.xml index 02046b9..10c5650 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxBrandMapper.xml +++ b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxBrandMapper.xml @@ -9,6 +9,9 @@ + + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxProductMapper.xml b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxProductMapper.xml index fa2e4a8..7463cd0 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxProductMapper.xml +++ b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxProductMapper.xml @@ -10,7 +10,8 @@ - + + @@ -21,4 +22,4 @@ - \ No newline at end of file + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxSpecMapper.xml b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxSpecMapper.xml new file mode 100644 index 0000000..4484521 --- /dev/null +++ b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/BoxSpecMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/OrderPackageMapper.xml b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/OrderPackageMapper.xml index 8accb2c..2cd2f19 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/OrderPackageMapper.xml +++ b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/OrderPackageMapper.xml @@ -10,7 +10,8 @@ - + + @@ -24,4 +25,4 @@ - \ No newline at end of file + diff --git a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/ShipOrderPackageMapper.xml b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/ShipOrderPackageMapper.xml index e6a4c00..3f3365e 100644 --- a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/ShipOrderPackageMapper.xml +++ b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/ShipOrderPackageMapper.xml @@ -7,7 +7,8 @@ type="com.xunhong.erp.turbo.biz.infrastructure.entity.ShipOrderPackageDO"> - + + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/BoxSpecServiceI.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/BoxSpecServiceI.java new file mode 100644 index 0000000..a4dec05 --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/BoxSpecServiceI.java @@ -0,0 +1,30 @@ +package com.xunhong.erp.turbo.api.biz.api; + +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecCreateCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecDestroyCmd; +import com.xunhong.erp.turbo.api.biz.dto.cmd.BoxSpecUpdateCmd; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecListQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecPageQry; +import com.xunhong.erp.turbo.api.biz.dto.qry.BoxSpecShowQry; +import com.xunhong.erp.turbo.api.biz.dto.vo.BoxSpecVO; +import com.xunhong.erp.turbo.base.dto.PageDTO; + +import java.util.List; + +/** + * @author shenyifei + */ +public interface BoxSpecServiceI { + BoxSpecVO create(BoxSpecCreateCmd boxSpecCreateCmd); + + PageDTO page(BoxSpecPageQry boxSpecPageQry); + + List list(BoxSpecListQry boxSpecListQry); + + BoxSpecVO update(BoxSpecUpdateCmd boxSpecUpdateCmd); + + BoxSpecVO show(BoxSpecShowQry boxSpecShowQry); + + void destroy(BoxSpecDestroyCmd boxSpecDestroyCmd); +} + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxBrandCreateCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxBrandCreateCmd.java index 708593e..17a640c 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxBrandCreateCmd.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxBrandCreateCmd.java @@ -6,6 +6,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.List; + /** * @author shenyifei */ @@ -32,6 +34,12 @@ public class BoxBrandCreateCmd extends Command { @Schema(title = "品牌图片URL") private String image; + /** + * 纸箱规格ID + */ + @Schema(title = "纸箱规格ID") + private List specIds; + /** * 备注 */ @@ -45,9 +53,9 @@ public class BoxBrandCreateCmd extends Command { private Boolean status; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;", requiredMode = Schema.RequiredMode.REQUIRED) private BoxBrandTypeEnum type; } diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxProductCreateCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxProductCreateCmd.java index 4dbb2ab..5e6cba0 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxProductCreateCmd.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxProductCreateCmd.java @@ -1,7 +1,6 @@ package com.xunhong.erp.turbo.api.biz.dto.cmd; import com.xunhong.erp.turbo.api.biz.dto.enums.BoxBrandTypeEnum; -import com.xunhong.erp.turbo.api.biz.dto.enums.BoxProductSpecTypeEnum; import com.xunhong.erp.turbo.base.dto.Command; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -48,10 +47,16 @@ public class BoxProductCreateCmd extends Command { private BigDecimal salePrice; /** - * 规格:1_2粒装;2_4粒装 + * 规格ID */ - @Schema(title = "规格:1_2粒装;2_4粒装", requiredMode = Schema.RequiredMode.REQUIRED) - private BoxProductSpecTypeEnum specType; + @Schema(title = "规格ID", type = "string") + private Long specId; + + /** + * 规格名称 + */ + @Schema(title = "规格名称") + private String specName; /** * 品牌ID @@ -72,9 +77,9 @@ public class BoxProductCreateCmd extends Command { private Boolean status; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;", requiredMode = Schema.RequiredMode.REQUIRED) private BoxBrandTypeEnum type; } diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecCreateCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecCreateCmd.java new file mode 100644 index 0000000..6a2d23d --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecCreateCmd.java @@ -0,0 +1,49 @@ +package com.xunhong.erp.turbo.api.biz.dto.cmd; + +import com.xunhong.erp.turbo.base.dto.Command; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * @author shenyifei + */ +@Data +@Schema(title = "纸箱规格创建") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecCreateCmd extends Command { + + /** + * 规格ID + */ + @Schema(title = "规格ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED) + private Long specId; + + /** + * 规格名称 + */ + @Schema(title = "规格名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String name; + + /** + * 排序号 + */ + @Schema(title = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) + private BigDecimal sort; + + /** + * 备注 + */ + @Schema(title = "备注") + private String remark; + + /** + * 状态:1_启用;0_禁用 + */ + @Schema(title = "状态:1_启用;0_禁用", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean status; + +} + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecDestroyCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecDestroyCmd.java new file mode 100644 index 0000000..98e6667 --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecDestroyCmd.java @@ -0,0 +1,19 @@ +package com.xunhong.erp.turbo.api.biz.dto.cmd; + +import com.xunhong.erp.turbo.base.dto.Command; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author shenyifei + */ +@Data +@Schema(title = "删除纸箱规格") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecDestroyCmd extends Command { + + @Schema(title = "纸箱规格ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string") + private Long specId; +} + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecUpdateCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecUpdateCmd.java new file mode 100644 index 0000000..ccfb652 --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/BoxSpecUpdateCmd.java @@ -0,0 +1,18 @@ +package com.xunhong.erp.turbo.api.biz.dto.cmd; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author shenyifei + */ +@Data +@Schema(title = "纸箱规格更新") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecUpdateCmd extends BoxSpecCreateCmd { + + @Schema(title = "纸箱规格ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string") + private Long specId; +} + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/OrderPackage.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/OrderPackage.java index 2561e89..7c334c9 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/OrderPackage.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/OrderPackage.java @@ -48,16 +48,22 @@ public class OrderPackage extends Command { private String boxBrandImage; /** - * 箱子品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 箱子品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "箱子品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(title = "箱子品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;", requiredMode = Schema.RequiredMode.REQUIRED) private BoxBrandTypeEnum boxBrandType; /** - * 箱子分类ID + * 箱子规格ID */ - @Schema(title = "箱子分类ID", requiredMode = Schema.RequiredMode.REQUIRED) - private String boxCategoryId; + @Schema(title = "箱子规格ID", requiredMode = Schema.RequiredMode.REQUIRED) + private String boxSpecId; + + /** + * 箱子规格名称 + */ + @Schema(title = "箱子规格名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String boxSpecName; /** * 箱子产品ID diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/ShipOrderPackage.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/ShipOrderPackage.java index 09785cf..8c6862a 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/ShipOrderPackage.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/common/ShipOrderPackage.java @@ -28,11 +28,17 @@ public class ShipOrderPackage extends DTO { @Schema(title = "发货单ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED) private Long shipOrderId; + /** + * 箱型ID + */ + @Schema(title = "箱型ID") + private Long boxSpecId; + /** * 箱型 */ @Schema(title = "箱型") - private String boxCategory; + private String boxSpecName; /** * 箱号 @@ -82,4 +88,4 @@ public class ShipOrderPackage extends DTO { @Schema(title = "创建时间") private LocalDateTime createdAt; -} \ No newline at end of file +} diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxBrandTypeEnum.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxBrandTypeEnum.java index 104909b..f28476f 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxBrandTypeEnum.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxBrandTypeEnum.java @@ -6,7 +6,7 @@ import lombok.RequiredArgsConstructor; /** * 品牌类型枚举 - * 1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒 */ @Getter @RequiredArgsConstructor @@ -24,7 +24,13 @@ public enum BoxBrandTypeEnum { /** * 第三方纸箱 */ - THIRD_PARTY_BOX(3, "第三方纸箱"); + THIRD_PARTY_BOX(3, "第三方纸箱"), + + /** + * 礼盒 + */ + GIFT_BOX(4, "礼盒"), + ; @EnumValue private final Integer code; diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxProductSpecTypeEnum.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxProductSpecTypeEnum.java deleted file mode 100644 index af3e045..0000000 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/BoxProductSpecTypeEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.xunhong.erp.turbo.api.biz.dto.enums; - -import com.baomidou.mybatisplus.annotation.EnumValue; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -@Getter -@RequiredArgsConstructor -public enum BoxProductSpecTypeEnum { - /** - * 规格:1_2粒装;2_4粒装 - */ - TWO_GRAIN(1, "1_2粒装"), - FOUR_GRAIN(2, "2_4粒装"); - - @EnumValue - private final int type; - - private final String message; -} diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandListQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandListQry.java index 326512a..3515e2a 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandListQry.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandListQry.java @@ -24,9 +24,9 @@ public class BoxBrandListQry extends Query { private Boolean withProduct; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱") + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;") private BoxBrandTypeEnum type; } diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandPageQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandPageQry.java index 686ce97..60b6ce7 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandPageQry.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxBrandPageQry.java @@ -18,9 +18,9 @@ public class BoxBrandPageQry extends PageQuery { private Long brandId; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱") + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;") private BoxBrandTypeEnum type; } diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductListQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductListQry.java index ceeb082..5fffd70 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductListQry.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductListQry.java @@ -1,7 +1,6 @@ package com.xunhong.erp.turbo.api.biz.dto.qry; import com.xunhong.erp.turbo.api.biz.dto.enums.BoxBrandTypeEnum; -import com.xunhong.erp.turbo.api.biz.dto.enums.BoxProductSpecTypeEnum; import com.xunhong.erp.turbo.base.dto.Query; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -25,14 +24,14 @@ public class BoxProductListQry extends Query { private String brandId; /** - * 规格:1_2粒装;2_4粒装 + * 规格ID */ - @Schema(title = "规格:1_2粒装;2_4粒装") - private BoxProductSpecTypeEnum specType; + @Schema(title = "规格ID", type = "string") + private Long specId; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱") + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;") private BoxBrandTypeEnum type; } diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductPageQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductPageQry.java index 50f9941..0d4bca3 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductPageQry.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxProductPageQry.java @@ -1,7 +1,6 @@ package com.xunhong.erp.turbo.api.biz.dto.qry; import com.xunhong.erp.turbo.api.biz.dto.enums.BoxBrandTypeEnum; -import com.xunhong.erp.turbo.api.biz.dto.enums.BoxProductSpecTypeEnum; import com.xunhong.erp.turbo.base.dto.PageQuery; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -25,15 +24,15 @@ public class BoxProductPageQry extends PageQuery { private String brandId; /** - * 规格:1_2粒装;2_4粒装 + * 规格ID */ - @Schema(title = "规格:1_2粒装;2_4粒装") - private BoxProductSpecTypeEnum specType; + @Schema(title = "规格ID", type = "string") + private Long specId; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱") + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;") private BoxBrandTypeEnum type; } diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecListQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecListQry.java new file mode 100644 index 0000000..a011bba --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecListQry.java @@ -0,0 +1,19 @@ +package com.xunhong.erp.turbo.api.biz.dto.qry; + +import com.xunhong.erp.turbo.base.dto.Query; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author shenyifei + */ +@Data +@Schema(title = "纸箱规格列表查询") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecListQry extends Query { + + @Schema(title = "纸箱规格ID", type = "string") + private Long specId; +} + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecPageQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecPageQry.java new file mode 100644 index 0000000..059b40f --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecPageQry.java @@ -0,0 +1,19 @@ +package com.xunhong.erp.turbo.api.biz.dto.qry; + +import com.xunhong.erp.turbo.base.dto.PageQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author shenyifei + */ +@Data +@Schema(title = "纸箱规格分页查询") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecPageQry extends PageQuery { + + @Schema(title = "纸箱规格ID", type = "string") + private Long specId; +} + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecShowQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecShowQry.java new file mode 100644 index 0000000..01f54a3 --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/BoxSpecShowQry.java @@ -0,0 +1,19 @@ +package com.xunhong.erp.turbo.api.biz.dto.qry; + +import com.xunhong.erp.turbo.base.dto.Query; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @author shenyifei + */ +@Data +@Schema(title = "纸箱规格查询") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecShowQry extends Query { + + @Schema(title = "纸箱规格ID", type = "string") + private Long specId; +} + diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxBrandVO.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxBrandVO.java index 8511194..5ae8866 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxBrandVO.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxBrandVO.java @@ -35,6 +35,12 @@ public class BoxBrandVO extends DTO { @Schema(title = "品牌图片URL") private String image; + /** + * 纸箱规格ID + */ + @Schema(title = "纸箱规格ID") + private List specIds; + /** * 备注 */ @@ -48,9 +54,9 @@ public class BoxBrandVO extends DTO { private Boolean status; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;", requiredMode = Schema.RequiredMode.REQUIRED) private BoxBrandTypeEnum type; /** @@ -59,10 +65,16 @@ public class BoxBrandVO extends DTO { @Schema(title = "纸箱产品列表") private List boxProductVOList; + /** + * 纸箱规格列表 + */ + @Schema(title = "纸箱规格列表") + private List boxSpecVOList; + /** * 创建时间 */ @Schema(title = "创建时间") private LocalDateTime createdAt; -} \ No newline at end of file +} diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxProductVO.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxProductVO.java index 7ae0b27..3cac369 100644 --- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxProductVO.java +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxProductVO.java @@ -2,7 +2,6 @@ package com.xunhong.erp.turbo.api.biz.dto.vo; import com.alibaba.cola.dto.DTO; import com.xunhong.erp.turbo.api.biz.dto.enums.BoxBrandTypeEnum; -import com.xunhong.erp.turbo.api.biz.dto.enums.BoxProductSpecTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -49,10 +48,16 @@ public class BoxProductVO extends DTO { private BigDecimal salePrice; /** - * 规格:1_2粒装;2_4粒装 + * 规格ID */ - @Schema(title = "规格:1_2粒装;2_4粒装", requiredMode = Schema.RequiredMode.REQUIRED) - private BoxProductSpecTypeEnum specType; + @Schema(title = "规格ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED) + private Long specId; + + /** + * 规格名称 + */ + @Schema(title = "规格名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String specName; /** * 品牌ID @@ -61,9 +66,9 @@ public class BoxProductVO extends DTO { private Long brandId; /** - * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱 + * 品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒; */ - @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(title = "品牌类型:1_我方纸箱;2_瓜农纸箱;3_第三方纸箱;4_礼盒;", requiredMode = Schema.RequiredMode.REQUIRED) private BoxBrandTypeEnum type; /** @@ -84,4 +89,4 @@ public class BoxProductVO extends DTO { @Schema(title = "创建时间") private LocalDateTime createdAt; -} \ No newline at end of file +} diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxSpecVO.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxSpecVO.java new file mode 100644 index 0000000..3b15ed2 --- /dev/null +++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/BoxSpecVO.java @@ -0,0 +1,56 @@ +package com.xunhong.erp.turbo.api.biz.dto.vo; + +import com.alibaba.cola.dto.DTO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @author shenyifei + */ +@Data +@Schema(title = "纸箱规格") +@EqualsAndHashCode(callSuper = true) +public class BoxSpecVO extends DTO { + + /** + * 规格ID + */ + @Schema(title = "规格ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED) + private Long specId; + + /** + * 规格名称 + */ + @Schema(title = "规格名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String name; + + /** + * 排序号 + */ + @Schema(title = "排序号", requiredMode = Schema.RequiredMode.REQUIRED) + private BigDecimal sort; + + /** + * 备注 + */ + @Schema(title = "备注") + private String remark; + + /** + * 状态:1_启用;0_禁用 + */ + @Schema(title = "状态:1_启用;0_禁用", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean status; + + /** + * 创建时间 + */ + @Schema(title = "创建时间") + private LocalDateTime createdAt; + +} +