diff --git a/code_gen_history/V2_product/codegen-HaoKaProduct.zip b/code_gen_history/V2_product/codegen-HaoKaProduct.zip new file mode 100644 index 0000000000..6c9f373ad5 Binary files /dev/null and b/code_gen_history/V2_product/codegen-HaoKaProduct.zip differ diff --git a/code_gen_history/V2_product/codegen-Product.zip b/code_gen_history/V2_product/codegen-Product.zip new file mode 100644 index 0000000000..de381991cc Binary files /dev/null and b/code_gen_history/V2_product/codegen-Product.zip differ diff --git a/code_gen_history/V2_product/codegen-ProductChannel.zip b/code_gen_history/V2_product/codegen-ProductChannel.zip new file mode 100644 index 0000000000..5e7e7f0df7 Binary files /dev/null and b/code_gen_history/V2_product/codegen-ProductChannel.zip differ diff --git a/code_gen_history/V2_product/codegen-ProductLimit.zip b/code_gen_history/V2_product/codegen-ProductLimit.zip new file mode 100644 index 0000000000..ef2baa4415 Binary files /dev/null and b/code_gen_history/V2_product/codegen-ProductLimit.zip differ diff --git a/code_gen_history/V2_product/codegen-ProductLimitArea.zip b/code_gen_history/V2_product/codegen-ProductLimitArea.zip new file mode 100644 index 0000000000..f558ebf039 Binary files /dev/null and b/code_gen_history/V2_product/codegen-ProductLimitArea.zip differ diff --git a/code_gen_history/V2_product/codegen-ProductLimitCard.zip b/code_gen_history/V2_product/codegen-ProductLimitCard.zip new file mode 100644 index 0000000000..f43b84a2eb Binary files /dev/null and b/code_gen_history/V2_product/codegen-ProductLimitCard.zip differ diff --git a/code_gen_history/V2_product/codegen-ProductType.zip b/code_gen_history/V2_product/codegen-ProductType.zip new file mode 100644 index 0000000000..c4075ce4ef Binary files /dev/null and b/code_gen_history/V2_product/codegen-ProductType.zip differ diff --git a/code_gen_history/V2_product/codegen-SuperiorProductConfig.zip b/code_gen_history/V2_product/codegen-SuperiorProductConfig.zip new file mode 100644 index 0000000000..ebffbd9dd9 Binary files /dev/null and b/code_gen_history/V2_product/codegen-SuperiorProductConfig.zip differ diff --git a/yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java b/yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java index d6444f2b03..2a994a7610 100644 --- a/yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java +++ b/yudao-module-haoka/yudao-module-haoka-api/src/main/java/cn/iocoder/yudao/module/haoka/enums/ErrorCodeConstants.java @@ -23,4 +23,7 @@ public interface ErrorCodeConstants { ErrorCode PRODUCT_LIMIT_NOT_EXISTS = new ErrorCode(1_801_001_005, "产品限制条件不存在"); ErrorCode PRODUCT_LIMIT_AREA_NOT_EXISTS = new ErrorCode(1_801_001_005, "产品区域配置不存在"); ErrorCode PRODUCT_TYPE_NOT_EXISTS = new ErrorCode(1_801_001_005, "产品类型不存在"); + + + ErrorCode HAO_KA_PRODUCT_NOT_EXISTS = new ErrorCode(1_801_001_005, "产品/渠道不存在"); } diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/ProductController.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/ProductController.java deleted file mode 100644 index b24c1c030e..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/ProductController.java +++ /dev/null @@ -1,139 +0,0 @@ -package cn.iocoder.yudao.module.haoka.controller.admin.product; - -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - -import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.*; -import cn.iocoder.yudao.module.haoka.dal.dataobject.product.ProductDO; -import cn.iocoder.yudao.module.haoka.dal.dataobject.superiorproductconfig.SuperiorProductConfigDO; -import cn.iocoder.yudao.module.haoka.service.product.ProductService; - -@Tag(name = "管理后台 - 产品/渠道") -@RestController -@RequestMapping("/haoka/product") -@Validated -public class ProductController { - - @Resource - private ProductService productService; - - @PostMapping("/create") - @Operation(summary = "创建产品/渠道") - @PreAuthorize("@ss.hasPermission('haoka:product:create')") - public CommonResult createProduct(@Valid @RequestBody ProductSaveReqVO createReqVO) { - return success(productService.createProduct(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新产品/渠道") - @PreAuthorize("@ss.hasPermission('haoka:product:update')") - public CommonResult updateProduct(@Valid @RequestBody ProductSaveReqVO updateReqVO) { - productService.updateProduct(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除产品/渠道") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('haoka:product:delete')") - public CommonResult deleteProduct(@RequestParam("id") Long id) { - productService.deleteProduct(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得产品/渠道") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('haoka:product:query')") - public CommonResult getProduct(@RequestParam("id") Long id) { - ProductDO product = productService.getProduct(id); - return success(BeanUtils.toBean(product, ProductRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得产品/渠道分页") - @PreAuthorize("@ss.hasPermission('haoka:product:query')") - public CommonResult> getProductPage(@Valid ProductPageReqVO pageReqVO) { - PageResult pageResult = productService.getProductPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ProductRespVO.class)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出产品/渠道 Excel") - @PreAuthorize("@ss.hasPermission('haoka:product:export')") - @ApiAccessLog(operateType = EXPORT) - public void exportProductExcel(@Valid ProductPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = productService.getProductPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "产品/渠道.xls", "数据", ProductRespVO.class, - BeanUtils.toBean(list, ProductRespVO.class)); - } - - // ==================== 子表(产品对接上游配置) ==================== - - @GetMapping("/superior-product-config/page") - @Operation(summary = "获得产品对接上游配置分页") - @Parameter(name = "haokaProductId", description = "产品ID") - @PreAuthorize("@ss.hasPermission('haoka:product:query')") - public CommonResult> getSuperiorProductConfigPage(PageParam pageReqVO, - @RequestParam("haokaProductId") Long haokaProductId) { - return success(productService.getSuperiorProductConfigPage(pageReqVO, haokaProductId)); - } - - @PostMapping("/superior-product-config/create") - @Operation(summary = "创建产品对接上游配置") - @PreAuthorize("@ss.hasPermission('haoka:product:create')") - public CommonResult createSuperiorProductConfig(@Valid @RequestBody SuperiorProductConfigDO superiorProductConfig) { - return success(productService.createSuperiorProductConfig(superiorProductConfig)); - } - - @PutMapping("/superior-product-config/update") - @Operation(summary = "更新产品对接上游配置") - @PreAuthorize("@ss.hasPermission('haoka:product:update')") - public CommonResult updateSuperiorProductConfig(@Valid @RequestBody SuperiorProductConfigDO superiorProductConfig) { - productService.updateSuperiorProductConfig(superiorProductConfig); - return success(true); - } - - @DeleteMapping("/superior-product-config/delete") - @Parameter(name = "id", description = "编号", required = true) - @Operation(summary = "删除产品对接上游配置") - @PreAuthorize("@ss.hasPermission('haoka:product:delete')") - public CommonResult deleteSuperiorProductConfig(@RequestParam("id") Long id) { - productService.deleteSuperiorProductConfig(id); - return success(true); - } - - @GetMapping("/superior-product-config/get") - @Operation(summary = "获得产品对接上游配置") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('haoka:product:query')") - public CommonResult getSuperiorProductConfig(@RequestParam("id") Long id) { - return success(productService.getSuperiorProductConfig(id)); - } - -} \ No newline at end of file diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductPageReqVO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductPageReqVO.java deleted file mode 100644 index 43a9d3f8e9..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductPageReqVO.java +++ /dev/null @@ -1,79 +0,0 @@ -package cn.iocoder.yudao.module.haoka.controller.admin.product.vo; - -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; - -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 产品/渠道分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ProductPageReqVO extends PageParam { - - @Schema(description = "运营商") - private Integer operator; - - @Schema(description = "产品编码") - private String sku; - - @Schema(description = "产品名称", example = "赵六") - private String name; - - @Schema(description = "产品类型", example = "21014") - private Long haokaProductTypeId; - - @Schema(description = "归属地") - private Integer belongAreaCode; - - @Schema(description = "产品渠道", example = "6850") - private Long haokaProductChannelId; - - @Schema(description = "产品限制", example = "31322") - private Long haokaProductLimitId; - - @Schema(description = "身份证号码验证") - private Integer idCardNumVerify; - - @Schema(description = "身份证图片验证") - private Integer idCardImgVerify; - - @Schema(description = "生产地址") - private String produceAddress; - - @Schema(description = "黑名单过滤") - private Boolean needBlacklistFilter; - - @Schema(description = "是否启用库存限制") - private Boolean enableStockLimit; - - @Schema(description = "库存数量") - private Integer stockNum; - - @Schema(description = "库存报警数量") - private Integer stockWarnNum; - - @Schema(description = "生产备注") - private String produceRemarks; - - @Schema(description = "结算规则") - private String settlementRules; - - @Schema(description = "预估收益") - private String estimatedRevenue; - - @Schema(description = "上架") - private Boolean onSale; - - @Schema(description = "是否顶置") - private Boolean isTop; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} \ No newline at end of file diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductRespVO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductRespVO.java deleted file mode 100644 index ca3b4e3ae5..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductRespVO.java +++ /dev/null @@ -1,104 +0,0 @@ -package cn.iocoder.yudao.module.haoka.controller.admin.product.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; -import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; -import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; - -@Schema(description = "管理后台 - 产品/渠道 Response VO") -@Data -@ExcelIgnoreUnannotated -public class ProductRespVO { - - @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3973") - @ExcelProperty("产品ID") - private Long id; - - @Schema(description = "运营商", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty(value = "运营商", converter = DictConvert.class) - @DictFormat("haoka_operator") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private Integer operator; - - @Schema(description = "产品编码", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("产品编码") - private String sku; - - @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") - @ExcelProperty("产品名称") - private String name; - - @Schema(description = "产品类型", example = "21014") - @ExcelProperty("产品类型") - private Long haokaProductTypeId; - - @Schema(description = "归属地", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("归属地") - private Integer belongAreaCode; - - @Schema(description = "产品渠道", example = "6850") - @ExcelProperty("产品渠道") - private Long haokaProductChannelId; - - @Schema(description = "产品限制", requiredMode = Schema.RequiredMode.REQUIRED, example = "31322") - @ExcelProperty("产品限制") - private Long haokaProductLimitId; - - @Schema(description = "身份证号码验证", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty(value = "身份证号码验证", converter = DictConvert.class) - @DictFormat("id_card_num_verify") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private Integer idCardNumVerify; - - @Schema(description = "身份证图片验证", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty(value = "身份证图片验证", converter = DictConvert.class) - @DictFormat("id_card_img_verify") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 - private Integer idCardImgVerify; - - @Schema(description = "生产地址") - @ExcelProperty("生产地址") - private String produceAddress; - - @Schema(description = "黑名单过滤", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("黑名单过滤") - private Boolean needBlacklistFilter; - - @Schema(description = "是否启用库存限制") - @ExcelProperty("是否启用库存限制") - private Boolean enableStockLimit; - - @Schema(description = "库存数量") - @ExcelProperty("库存数量") - private Integer stockNum; - - @Schema(description = "库存报警数量") - @ExcelProperty("库存报警数量") - private Integer stockWarnNum; - - @Schema(description = "生产备注") - @ExcelProperty("生产备注") - private String produceRemarks; - - @Schema(description = "结算规则") - @ExcelProperty("结算规则") - private String settlementRules; - - @Schema(description = "预估收益") - @ExcelProperty("预估收益") - private String estimatedRevenue; - - @Schema(description = "上架") - @ExcelProperty("上架") - private Boolean onSale; - - @Schema(description = "是否顶置") - @ExcelProperty("是否顶置") - private Boolean isTop; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - -} \ No newline at end of file diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductSaveReqVO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductSaveReqVO.java deleted file mode 100644 index 687236b44b..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/product/vo/ProductSaveReqVO.java +++ /dev/null @@ -1,81 +0,0 @@ -package cn.iocoder.yudao.module.haoka.controller.admin.product.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import jakarta.validation.constraints.*; -import cn.iocoder.yudao.module.haoka.dal.dataobject.superiorproductconfig.SuperiorProductConfigDO; - -@Schema(description = "管理后台 - 产品/渠道新增/修改 Request VO") -@Data -public class ProductSaveReqVO { - - @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3973") - private Long id; - - @Schema(description = "运营商", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "运营商不能为空") - private Integer operator; - - @Schema(description = "产品编码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "产品编码不能为空") - private String sku; - - @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") - @NotEmpty(message = "产品名称不能为空") - private String name; - - @Schema(description = "产品类型", example = "21014") - private Long haokaProductTypeId; - - @Schema(description = "归属地", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "归属地不能为空") - private Integer belongAreaCode; - - @Schema(description = "产品渠道", example = "6850") - private Long haokaProductChannelId; - - @Schema(description = "产品限制", requiredMode = Schema.RequiredMode.REQUIRED, example = "31322") - @NotNull(message = "产品限制不能为空") - private Long haokaProductLimitId; - - @Schema(description = "身份证号码验证", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "身份证号码验证不能为空") - private Integer idCardNumVerify; - - @Schema(description = "身份证图片验证", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "身份证图片验证不能为空") - private Integer idCardImgVerify; - - @Schema(description = "生产地址") - private String produceAddress; - - @Schema(description = "黑名单过滤", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "黑名单过滤不能为空") - private Boolean needBlacklistFilter; - - @Schema(description = "是否启用库存限制") - private Boolean enableStockLimit; - - @Schema(description = "库存数量") - private Integer stockNum; - - @Schema(description = "库存报警数量") - private Integer stockWarnNum; - - @Schema(description = "生产备注") - private String produceRemarks; - - @Schema(description = "结算规则") - private String settlementRules; - - @Schema(description = "预估收益") - private String estimatedRevenue; - - @Schema(description = "上架") - private Boolean onSale; - - @Schema(description = "是否顶置") - private Boolean isTop; - -} \ No newline at end of file diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductChannelDO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductChannelDO.java index 824cbd098b..106321acf0 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductChannelDO.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductChannelDO.java @@ -25,7 +25,7 @@ public class ProductChannelDO extends BaseDO { /** * 产品类型ID */ - @TableId + @TableId(type = IdType.ASSIGN_ID) private Long id; /** * 产品类型名称 @@ -36,4 +36,4 @@ public class ProductChannelDO extends BaseDO { */ private Long deptId; -} \ No newline at end of file +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductDO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductDO.java deleted file mode 100644 index 97ad20c8ec..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductDO.java +++ /dev/null @@ -1,117 +0,0 @@ -package cn.iocoder.yudao.module.haoka.dal.dataobject.product; - -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; - -/** - * 产品/渠道 DO - * - * @author 芋道源码 - */ -@TableName("haoka_product") -@KeySequence("haoka_product_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ProductDO extends BaseDO { - - /** - * 产品ID - */ - @TableId - private Long id; - /** - * 运营商 - * - * 枚举 {@link TODO haoka_operator 对应的类} - */ - private Integer operator; - /** - * 产品编码 - */ - private String sku; - /** - * 产品名称 - */ - private String name; - /** - * 产品类型 - */ - private Long haokaProductTypeId; - /** - * 归属地 - */ - private Integer belongAreaCode; - /** - * 产品渠道 - */ - private Long haokaProductChannelId; - /** - * 产品限制 - */ - private Long haokaProductLimitId; - /** - * 身份证号码验证 - * - * 枚举 {@link TODO id_card_num_verify 对应的类} - */ - private Integer idCardNumVerify; - /** - * 身份证图片验证 - * - * 枚举 {@link TODO id_card_img_verify 对应的类} - */ - private Integer idCardImgVerify; - /** - * 生产地址 - */ - private String produceAddress; - /** - * 黑名单过滤 - */ - private Boolean needBlacklistFilter; - /** - * 是否启用库存限制 - */ - private Boolean enableStockLimit; - /** - * 库存数量 - */ - private Integer stockNum; - /** - * 库存报警数量 - */ - private Integer stockWarnNum; - /** - * 生产备注 - */ - private String produceRemarks; - /** - * 结算规则 - */ - private String settlementRules; - /** - * 预估收益 - */ - private String estimatedRevenue; - /** - * 上架 - */ - private Boolean onSale; - /** - * 是否顶置 - */ - private Boolean isTop; - /** - * 部门ID - */ - private Long deptId; - -} \ No newline at end of file diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitAreaDO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitAreaDO.java index 2a82a32ea4..8b76a93f41 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitAreaDO.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitAreaDO.java @@ -25,7 +25,7 @@ public class ProductLimitAreaDO extends BaseDO { /** * ID */ - @TableId + @TableId(type = IdType.ASSIGN_ID) private Long id; /** * 产品限制ID @@ -48,4 +48,4 @@ public class ProductLimitAreaDO extends BaseDO { */ private Long deptId; -} \ No newline at end of file +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitCardDO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitCardDO.java index cee77d2c09..b091c717a7 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitCardDO.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitCardDO.java @@ -25,7 +25,7 @@ public class ProductLimitCardDO extends BaseDO { /** * ID */ - @TableId + @TableId(type = IdType.ASSIGN_ID) private Long id; /** * 产品限制ID @@ -40,4 +40,4 @@ public class ProductLimitCardDO extends BaseDO { */ private Long deptId; -} \ No newline at end of file +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitDO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitDO.java index 4a47102af2..1bc6e84eb8 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitDO.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductLimitDO.java @@ -25,7 +25,7 @@ public class ProductLimitDO extends BaseDO { /** * 产品类型ID */ - @TableId + @TableId(type = IdType.ASSIGN_ID) private Long id; /** * 产品类型名称 @@ -64,4 +64,4 @@ public class ProductLimitDO extends BaseDO { */ private Long deptId; -} \ No newline at end of file +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductTypeDO.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductTypeDO.java index a539a8c568..cf035b36df 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductTypeDO.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/dataobject/product/ProductTypeDO.java @@ -25,7 +25,7 @@ public class ProductTypeDO extends BaseDO { /** * 产品类型ID */ - @TableId + @TableId(type = IdType.ASSIGN_ID) private Long id; /** * 产品类型名称 @@ -36,4 +36,4 @@ public class ProductTypeDO extends BaseDO { */ private Long deptId; -} \ No newline at end of file +} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/product/ProductLimitCardMapper.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/product/ProductLimitCardMapper.java index 40f8de97d1..63e4035716 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/product/ProductLimitCardMapper.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/product/ProductLimitCardMapper.java @@ -1,11 +1,10 @@ package cn.iocoder.yudao.module.haoka.dal.mysql.product; -import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.ProductLimitCardPageReqVO; -import cn.iocoder.yudao.module.haoka.dal.dataobject.product.ProductLimitAreaDO; import cn.iocoder.yudao.module.haoka.dal.dataobject.product.ProductLimitCardDO; import org.apache.ibatis.annotations.Mapper; diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/product/ProductMapper.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/product/ProductMapper.java deleted file mode 100644 index d70cdac509..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/dal/mysql/product/ProductMapper.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.iocoder.yudao.module.haoka.dal.mysql.product; - -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.haoka.dal.dataobject.product.ProductDO; -import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.*; - -/** - * 产品/渠道 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface ProductMapper extends BaseMapperX { - - default PageResult selectPage(ProductPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(ProductDO::getOperator, reqVO.getOperator()) - .likeIfPresent(ProductDO::getSku, reqVO.getSku()) - .likeIfPresent(ProductDO::getName, reqVO.getName()) - .eqIfPresent(ProductDO::getHaokaProductTypeId, reqVO.getHaokaProductTypeId()) - .eqIfPresent(ProductDO::getBelongAreaCode, reqVO.getBelongAreaCode()) - .eqIfPresent(ProductDO::getHaokaProductChannelId, reqVO.getHaokaProductChannelId()) - .eqIfPresent(ProductDO::getHaokaProductLimitId, reqVO.getHaokaProductLimitId()) - .eqIfPresent(ProductDO::getIdCardNumVerify, reqVO.getIdCardNumVerify()) - .eqIfPresent(ProductDO::getIdCardImgVerify, reqVO.getIdCardImgVerify()) - .eqIfPresent(ProductDO::getProduceAddress, reqVO.getProduceAddress()) - .eqIfPresent(ProductDO::getNeedBlacklistFilter, reqVO.getNeedBlacklistFilter()) - .eqIfPresent(ProductDO::getEnableStockLimit, reqVO.getEnableStockLimit()) - .eqIfPresent(ProductDO::getStockNum, reqVO.getStockNum()) - .eqIfPresent(ProductDO::getStockWarnNum, reqVO.getStockWarnNum()) - .eqIfPresent(ProductDO::getProduceRemarks, reqVO.getProduceRemarks()) - .eqIfPresent(ProductDO::getSettlementRules, reqVO.getSettlementRules()) - .eqIfPresent(ProductDO::getEstimatedRevenue, reqVO.getEstimatedRevenue()) - .eqIfPresent(ProductDO::getOnSale, reqVO.getOnSale()) - .eqIfPresent(ProductDO::getIsTop, reqVO.getIsTop()) - .betweenIfPresent(ProductDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(ProductDO::getId)); - } - -} \ No newline at end of file diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/product/ProductService.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/product/ProductService.java deleted file mode 100644 index eb73abaca4..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/product/ProductService.java +++ /dev/null @@ -1,97 +0,0 @@ -package cn.iocoder.yudao.module.haoka.service.product; - -import java.util.*; -import jakarta.validation.*; -import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.*; -import cn.iocoder.yudao.module.haoka.dal.dataobject.product.ProductDO; -import cn.iocoder.yudao.module.haoka.dal.dataobject.superiorproductconfig.SuperiorProductConfigDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; - -/** - * 产品/渠道 Service 接口 - * - * @author 芋道源码 - */ -public interface ProductService { - - /** - * 创建产品/渠道 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createProduct(@Valid ProductSaveReqVO createReqVO); - - /** - * 更新产品/渠道 - * - * @param updateReqVO 更新信息 - */ - void updateProduct(@Valid ProductSaveReqVO updateReqVO); - - /** - * 删除产品/渠道 - * - * @param id 编号 - */ - void deleteProduct(Long id); - - /** - * 获得产品/渠道 - * - * @param id 编号 - * @return 产品/渠道 - */ - ProductDO getProduct(Long id); - - /** - * 获得产品/渠道分页 - * - * @param pageReqVO 分页查询 - * @return 产品/渠道分页 - */ - PageResult getProductPage(ProductPageReqVO pageReqVO); - - // ==================== 子表(产品对接上游配置) ==================== - - /** - * 获得产品对接上游配置分页 - * - * @param pageReqVO 分页查询 - * @param haokaProductId 产品ID - * @return 产品对接上游配置分页 - */ - PageResult getSuperiorProductConfigPage(PageParam pageReqVO, Long haokaProductId); - - /** - * 创建产品对接上游配置 - * - * @param superiorProductConfig 创建信息 - * @return 编号 - */ - Long createSuperiorProductConfig(@Valid SuperiorProductConfigDO superiorProductConfig); - - /** - * 更新产品对接上游配置 - * - * @param superiorProductConfig 更新信息 - */ - void updateSuperiorProductConfig(@Valid SuperiorProductConfigDO superiorProductConfig); - - /** - * 删除产品对接上游配置 - * - * @param id 编号 - */ - void deleteSuperiorProductConfig(Long id); - - /** - * 获得产品对接上游配置 - * - * @param id 编号 - * @return 产品对接上游配置 - */ - SuperiorProductConfigDO getSuperiorProductConfig(Long id); - -} \ No newline at end of file diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/product/ProductServiceImpl.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/product/ProductServiceImpl.java deleted file mode 100644 index aa0e6c21ea..0000000000 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/product/ProductServiceImpl.java +++ /dev/null @@ -1,127 +0,0 @@ -package cn.iocoder.yudao.module.haoka.service.product; - -import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.*; -import cn.iocoder.yudao.module.haoka.dal.dataobject.product.ProductDO; -import cn.iocoder.yudao.module.haoka.dal.dataobject.superiorproductconfig.SuperiorProductConfigDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - -import cn.iocoder.yudao.module.haoka.dal.mysql.product.ProductMapper; -import cn.iocoder.yudao.module.haoka.dal.mysql.superiorproductconfig.SuperiorProductConfigMapper; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.haoka.enums.ErrorCodeConstants.*; - -/** - * 产品/渠道 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class ProductServiceImpl implements ProductService { - - @Resource - private ProductMapper productMapper; - @Resource - private SuperiorProductConfigMapper superiorProductConfigMapper; - - @Override - public Long createProduct(ProductSaveReqVO createReqVO) { - // 插入 - ProductDO product = BeanUtils.toBean(createReqVO, ProductDO.class); - productMapper.insert(product); - // 返回 - return product.getId(); - } - - @Override - public void updateProduct(ProductSaveReqVO updateReqVO) { - // 校验存在 - validateProductExists(updateReqVO.getId()); - // 更新 - ProductDO updateObj = BeanUtils.toBean(updateReqVO, ProductDO.class); - productMapper.updateById(updateObj); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteProduct(Long id) { - // 校验存在 - validateProductExists(id); - // 删除 - productMapper.deleteById(id); - - // 删除子表 - deleteSuperiorProductConfigByHaokaProductId(id); - } - - private void validateProductExists(Long id) { - if (productMapper.selectById(id) == null) { - throw exception(PRODUCT_NOT_EXISTS); - } - } - - @Override - public ProductDO getProduct(Long id) { - return productMapper.selectById(id); - } - - @Override - public PageResult getProductPage(ProductPageReqVO pageReqVO) { - return productMapper.selectPage(pageReqVO); - } - - // ==================== 子表(产品对接上游配置) ==================== - - @Override - public PageResult getSuperiorProductConfigPage(PageParam pageReqVO, Long haokaProductId) { - return superiorProductConfigMapper.selectPageByHaokaProductId(pageReqVO, haokaProductId); - } - - @Override - public Long createSuperiorProductConfig(SuperiorProductConfigDO superiorProductConfig) { - superiorProductConfigMapper.insert(superiorProductConfig); - return superiorProductConfig.getId(); - } - - @Override - public void updateSuperiorProductConfig(SuperiorProductConfigDO superiorProductConfig) { - // 校验存在 - validateSuperiorProductConfigExists(superiorProductConfig.getId()); - // 更新 - superiorProductConfig.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新 - superiorProductConfigMapper.updateById(superiorProductConfig); - } - - @Override - public void deleteSuperiorProductConfig(Long id) { - // 校验存在 - validateSuperiorProductConfigExists(id); - // 删除 - superiorProductConfigMapper.deleteById(id); - } - - @Override - public SuperiorProductConfigDO getSuperiorProductConfig(Long id) { - return superiorProductConfigMapper.selectById(id); - } - - private void validateSuperiorProductConfigExists(Long id) { - if (superiorProductConfigMapper.selectById(id) == null) { - throw exception(SUPERIOR_PRODUCT_CONFIG_NOT_EXISTS); - } - } - - private void deleteSuperiorProductConfigByHaokaProductId(Long haokaProductId) { - superiorProductConfigMapper.deleteByHaokaProductId(haokaProductId); - } - -} diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/product/ProductMapper.xml b/yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/product/HaoKaProductMapper.xml similarity index 94% rename from yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/product/ProductMapper.xml rename to yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/product/HaoKaProductMapper.xml index d24447b470..e4950d5d28 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/product/ProductMapper.xml +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/resources/mapper/product/HaoKaProductMapper.xml @@ -1,6 +1,6 @@ - +