From e5f0d572865e732eb3e19ad4d86a2ac2d5ffa6ad Mon Sep 17 00:00:00 2001 From: liwq <122639653@qq.com> Date: Thu, 16 Oct 2025 13:53:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/mysql/order.sql | 491 ++++++++++-------- .../enums/order/TradeOrderStatusEnum.java | 8 +- .../codegen/java/controller/controller.vm | 72 ++- .../codegen/java/controller/vo/listReqVO.vm | 14 +- .../codegen/java/controller/vo/pageReqVO.vm | 14 +- .../codegen/java/controller/vo/respVO.vm | 10 +- .../codegen/java/controller/vo/saveReqVO.vm | 18 +- .../src/main/resources/codegen/java/dal/do.vm | 52 ++ .../main/resources/codegen/java/dal/do_sub.vm | 49 ++ .../main/resources/codegen/java/dal/mapper.vm | 82 +++ .../resources/codegen/java/dal/mapper.xml.vm | 12 + .../resources/codegen/java/dal/mapper_sub.vm | 57 ++ .../resources/codegen/java/enums/errorcode.vm | 22 + .../resources/codegen/java/service/service.vm | 147 ++++++ .../codegen/java/service/serviceImpl.vm | 351 +++++++++++++ .../transfer/vo/PayTransferCreateReqVO.java | 4 +- .../dal/dataobject/channel/PayChannelDO.java | 4 +- .../pay/dal/dataobject/order/PayOrderDO.java | 4 +- .../dal/dataobject/refund/PayRefundDO.java | 4 +- .../dataobject/transfer/PayTransferDO.java | 4 +- .../channel/PayChannelServiceImpl.java | 6 +- .../admin/order/TradeOrderController.http | 14 - .../admin/order/TradeOrderController.java | 5 +- .../admin/order/vo/TradeOrderBaseVO.java | 166 ++---- .../order/vo/TradeOrderPageItemRespVO.java | 35 -- .../admin/order/vo/TradeOrderPageReqVO.java | 62 +-- .../admin/order/vo/TradeOrderPageRespVO.java | 11 + .../convert/order/TradeOrderConvert.java | 23 +- .../dto/CombinationRecordCreateReqDTO.java | 2 +- .../dal/dataobject/order/TradeOrderDO.java | 16 +- .../dataobject/order/TradeOrderItemDO.java | 75 +-- .../dal/mysql/order/TradeOrderItemMapper.java | 8 +- .../dal/mysql/order/TradeOrderMapper.java | 36 +- .../aftersale/AfterSaleServiceImpl.java | 2 +- .../order/TradeOrderUpdateServiceImpl.java | 14 +- .../order/handler/TradeOrderHandler.java | 2 +- .../src/main/resources/application-local.yaml | 6 +- .../sdk/payment/client/PayClientFactory.java | 4 +- .../client/impl/PayClientFactoryImpl.java | 10 +- .../impl/alipay/AlipayAppPayClient.java | 4 +- .../impl/alipay/AlipayBarPayClient.java | 4 +- .../client/impl/alipay/AlipayPcPayClient.java | 4 +- .../client/impl/alipay/AlipayQrPayClient.java | 4 +- .../impl/alipay/AlipayWapPayClient.java | 4 +- .../client/impl/weixin/WxAppPayClient.java | 4 +- .../client/impl/weixin/WxBarPayClient.java | 4 +- .../client/impl/weixin/WxLitePayClient.java | 4 +- .../client/impl/weixin/WxNativePayClient.java | 4 +- .../client/impl/weixin/WxPubPayClient.java | 4 +- .../client/impl/weixin/WxWapPayClient.java | 4 +- .../{PayChannelEnum.java => PayTypeEnum.java} | 8 +- 51 files changed, 1327 insertions(+), 641 deletions(-) create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do.vm create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do_sub.vm create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.vm create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.xml.vm create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper_sub.vm create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/enums/errorcode.vm create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/service.vm create mode 100644 tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/serviceImpl.vm delete mode 100644 tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.http delete mode 100644 tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java create mode 100644 tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageRespVO.java rename tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/enums/channel/{PayChannelEnum.java => PayTypeEnum.java} (92%) diff --git a/sql/mysql/order.sql b/sql/mysql/order.sql index d36033d..0d45660 100644 --- a/sql/mysql/order.sql +++ b/sql/mysql/order.sql @@ -1,266 +1,309 @@ -- 基础实体表结构 (BaseDO) 不单独建表,字段会被继承到其他表中 - --- 交易订单表 (trade_order) CREATE TABLE `tz_trade_order` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单编号,主键自增', - `order_num` varchar(64) NOT NULL COMMENT '订单流水号', - `order_type` tinyint(4) NOT NULL COMMENT '订单类型 (枚举 TradeOrderTypeEnum)', - `order_terminal` tinyint(4) NOT NULL COMMENT '订单来源 (枚举 TerminalEnum)', - `order_status` tinyint(4) NOT NULL COMMENT '订单状态 (枚举 TradeOrderStatusEnum)', - `user_id` bigint(20) NOT NULL COMMENT '用户编号', - `user_ip` varchar(64) DEFAULT NULL COMMENT '用户IP', - `user_remark` varchar(512) DEFAULT NULL COMMENT '用户备注', - `finish_time` datetime DEFAULT NULL COMMENT '订单完成时间', - `cancel_time` datetime DEFAULT NULL COMMENT '订单取消时间', - `cancel_type` tinyint(4) DEFAULT NULL COMMENT '取消类型 (枚举 TradeOrderCancelTypeEnum)', - `merchant_remark` varchar(512) DEFAULT NULL COMMENT '商家备注', - `comment_status` tinyint(1) DEFAULT NULL COMMENT '是否评价 (true-已评价, false-未评价)', - `total_price` int(11) NOT NULL COMMENT '商品原价,单位:分', - `discount_price` int(11) NOT NULL COMMENT '优惠金额,单位:分', - `delivery_price` int(11) NOT NULL COMMENT '运费金额,单位:分', - `adjust_price` int(11) NOT NULL COMMENT '订单调价,单位:分', - `pay_price` int(11) NOT NULL COMMENT '应付金额(总),单位:分', - `pay_order_id` bigint(20) DEFAULT NULL COMMENT '支付订单编号', - `pay_status` tinyint(1) NOT NULL COMMENT '是否已支付 (true-已支付, false-未支付)', - `pay_time` datetime DEFAULT NULL COMMENT '付款时间', - `pay_channel_code` varchar(64) DEFAULT NULL COMMENT '支付渠道', - `delivery_type` tinyint(4) NOT NULL COMMENT '配送方式 (枚举 DeliveryTypeEnum)', - `logistics_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '发货物流公司编号', - `logistics_no` varchar(64) DEFAULT '' COMMENT '发货物流单号', - `delivery_time` datetime DEFAULT NULL COMMENT '发货时间', - `receive_time` datetime DEFAULT NULL COMMENT '收货时间', - `receiver_name` varchar(64) NOT NULL COMMENT '收件人名称', - `receiver_mobile` varchar(20) NOT NULL COMMENT '收件人手机', - `receiver_area_id` int(11) NOT NULL COMMENT '收件人地区编号', - `receiver_detail_address` varchar(512) NOT NULL COMMENT '收件人详细地址', - `pick_up_store_id` bigint(20) DEFAULT NULL COMMENT '自提门店编号', - `pick_up_verify_code` varchar(64) DEFAULT NULL COMMENT '自提核销码', - `refund_status` tinyint(4) NOT NULL COMMENT '退款状态 (枚举 TradeOrderRefundStatusEnum)', - `refund_price` int(11) NOT NULL COMMENT '退款金额,单位:分', - `after_sale_id` bigint(20) DEFAULT NULL COMMENT '售后单编号', - `after_sale_status` tinyint(4) NOT NULL COMMENT '售后状态 (枚举 TradeOrderItemAfterSaleStatusEnum)', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单编号,主键自增', + `order_num` varchar(64) NOT NULL COMMENT '订单流水号', + `order_category_id` bigint NOT NULL COMMENT '订单类目id', + `order_category_name` varchar(64) NOT NULL COMMENT '订单类目名称', + `order_type` tinyint NOT NULL COMMENT '订单类型 (枚举 TradeOrderTypeEnum)', + `order_terminal` tinyint NOT NULL COMMENT '订单来源 (枚举 TerminalEnum)', + `order_status` tinyint NOT NULL COMMENT '订单状态 (枚举 TradeOrderStatusEnum)', + `user_id` bigint NOT NULL COMMENT '用户编号', + `user_ip` varchar(64) DEFAULT NULL COMMENT '用户IP', + `user_name` varchar(64) DEFAULT NULL COMMENT '用户昵称', + `user_mobile` varchar(11) DEFAULT NULL COMMENT '用户手机号', + `user_remark` varchar(512) DEFAULT NULL COMMENT '用户备注', + `finish_time` datetime DEFAULT NULL COMMENT '订单完成时间', + `cancel_time` datetime DEFAULT NULL COMMENT '订单取消时间', + `cancel_type` tinyint DEFAULT NULL COMMENT '取消类型 (枚举 TradeOrderCancelTypeEnum)', + `cancel_reason` varchar(128) DEFAULT NULL COMMENT '取消原因', + `merchant_id` bigint DEFAULT NULL COMMENT '商家编号', + `merchant_name` varchar(64) DEFAULT NULL COMMENT '商家名称', + `merchant_remark` varchar(512) DEFAULT NULL COMMENT '商家备注', + `comment_status` tinyint(1) DEFAULT NULL COMMENT '是否评价 (true-已评价, false-未评价)', + `expense_price` int(11) DEFAULT NULL COMMENT '商品成本(单),单位:分', + `price` int(11) DEFAULT NULL COMMENT '商品原价(单),单位:分', + `discount_price` int(11) DEFAULT NULL COMMENT '优惠金额(总),单位:分', + `delivery_price` int(11) DEFAULT NULL COMMENT '运费金额(总),单位:分', + `adjust_price` int(11) DEFAULT NULL COMMENT '订单调价(总),单位:分', + `pay_price` int(11) DEFAULT NULL COMMENT '应付金额(总),单位:分', + `live_price` int(11) DEFAULT NULL COMMENT '实收金额(总),单位:分', + `pay_order_id` bigint DEFAULT NULL COMMENT '支付订单编号', + `pay_status` tinyint(1) DEFAULT NULL COMMENT '是否已支付 (true-已支付, false-未支付)', + `pay_type` tinyint DEFAULT NULL COMMENT '支付方式(PayTypeEnum)', + `pay_time` datetime DEFAULT NULL COMMENT '付款时间', + `pay_channel_code` tinyint DEFAULT NULL COMMENT '支付渠道(PayTypeEnum)', + `delivery_type` tinyint DEFAULT NULL COMMENT '配送方式 (枚举 DeliveryTypeEnum)', + `logistics_id` bigint DEFAULT '0' COMMENT '发货物流公司编号', + `logistics_no` varchar(64) DEFAULT '' COMMENT '发货物流单号', + `delivery_time` datetime DEFAULT NULL COMMENT '发货时间', + `receive_time` datetime DEFAULT NULL COMMENT '收货时间', + `receiver_name` varchar(64) DEFAULT NULL COMMENT '收件人名称', + `receiver_mobile` varchar(20) DEFAULT NULL COMMENT '收件人手机', + `receiver_area_id` int DEFAULT NULL COMMENT '收件人地区编号', + `receiver_detail_address` varchar(512) DEFAULT NULL COMMENT '收件人详细地址', + `pick_up_store_id` bigint DEFAULT NULL COMMENT '自提门店编号', + `pick_up_verify_code` varchar(64) DEFAULT NULL COMMENT '自提核销码', + `refund_status` tinyint DEFAULT NULL COMMENT '退款状态 (枚举 TradeOrderRefundStatusEnum)', + `refund_price` int DEFAULT NULL COMMENT '退款金额,单位:分', + `refund_time` datetime DEFAULT NULL COMMENT '退款时间', + `after_sale_id` bigint DEFAULT NULL COMMENT '售后单编号', + `after_sale_status` tinyint DEFAULT NULL COMMENT '售后状态 (枚举 TradeOrderItemAfterSaleStatusEnum)', + `finance_id` bigint DEFAULT NULL COMMENT '财务单编号', + `finance_status` tinyint DEFAULT NULL COMMENT '财务状态 (枚举 TradeOrderItemFinanceEnum)', + `version` int NOT NULL DEFAULT '0' COMMENT '版本号(乐观锁)', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '最后更新时间', + `creator` varchar(64) DEFAULT NULL COMMENT '创建者', + `updater` varchar(64) DEFAULT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除', PRIMARY KEY (`id`), UNIQUE KEY `uk_order_num` (`order_num`), - KEY `idx_user_id` (`user_id`), - KEY `idx_status` (`order_status`), - KEY `idx_pay_status` (`pay_status`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交易订单表'; + KEY `idx_user_id` (`user_id`), + KEY `idx_status` (`order_status`), + KEY `idx_pay_status` (`pay_status`) +) ENGINE = InnoDB + AUTO_INCREMENT = 2 + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT ='交易订单表'; + -- 交易订单项表 (trade_order_item) CREATE TABLE `tz_trade_order_item` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', - `user_id` bigint(20) NOT NULL COMMENT '用户编号', - `order_id` bigint(20) NOT NULL COMMENT '订单编号', - `cart_id` bigint(20) DEFAULT NULL COMMENT '购物车项编号', - `prod_id` bigint(20) NOT NULL COMMENT '商品 SPU 编号', - `prod_name` varchar(256) NOT NULL COMMENT '商品 SPU 名称', - `sku_id` bigint(20) NOT NULL COMMENT '商品 SKU 编号', - `properties` json DEFAULT NULL COMMENT '属性数组', + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `user_id` bigint(20) NOT NULL COMMENT '用户编号', + `order_id` bigint(20) NOT NULL COMMENT '订单编号', + `cart_id` bigint(20) DEFAULT NULL COMMENT '购物车项编号', + `spu_id` bigint(20) NOT NULL COMMENT '商品 SPU 编号', + `spu_name` varchar(256) NOT NULL COMMENT '商品 SPU 名称', + `spu_type` tinyint(1) NOT NULL COMMENT '商品类型(1商品 2服务)', + `sku_id` bigint(20) NOT NULL COMMENT '商品 SKU 编号', + `sku_name` bigint(20) NOT NULL COMMENT '商品 SKU 名称', `pic_url` varchar(512) NOT NULL COMMENT '商品图片', - `count` int(11) NOT NULL COMMENT '购买数量', - `price` int(11) NOT NULL COMMENT '商品原价(单),单位:分', - `discount_price` int(11) NOT NULL COMMENT '优惠金额(总),单位:分', - `delivery_price` int(11) NOT NULL COMMENT '运费金额(总),单位:分', - `adjust_price` int(11) NOT NULL COMMENT '订单调价(总),单位:分', - `pay_price` int(11) NOT NULL COMMENT '应付金额(总),单位:分', - `serve_ext_info` json DEFAULT NULL COMMENT '扩展服务信息,存储额外的服务相关数据', - `price_ext_info` json DEFAULT NULL COMMENT '附加费信息', + `count` int(11) NOT NULL COMMENT '购买数量', + `unit` varchar(16) NOT NULL COMMENT '商品单位', + `expense_price` int(11) NOT NULL COMMENT '商品成本(单),单位:分', + `price` int(11) NOT NULL COMMENT '商品原价(单),单位:分', + `discount_price` int(11) NOT NULL COMMENT '优惠金额(总),单位:分', + `delivery_price` int(11) NOT NULL COMMENT '运费金额(总),单位:分', + `adjust_price` int(11) NOT NULL COMMENT '订单调价(总),单位:分', + `pay_price` int(11) NOT NULL COMMENT '应付金额(总),单位:分', + `live_price` int(11) NOT NULL COMMENT '实收金额(总),单位:分', + `sub_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '预约类型(1预约 2 加急)', + `sub_time` datetime NOT NULL COMMENT '预约时间', + `serve_address` datetime NOT NULL COMMENT '服务地址', + `properties` json DEFAULT NULL COMMENT '属性数组', + `serve_info` json DEFAULT NULL COMMENT '服务信息', + `serve_ext_info` json DEFAULT NULL COMMENT '扩展服务信息,存储额外的服务相关数据', + `price_ext_info` json DEFAULT NULL COMMENT '附加费信息', + `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '最后更新时间', `creator` varchar(64) NOT NULL COMMENT '创建者', `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (`id`), - KEY `idx_order_id` (`order_id`), - KEY `idx_sku_id` (`sku_id`), - KEY `idx_user_id` (`user_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交易订单项表'; + KEY `idx_order_id` (`order_id`), + KEY `idx_sku_id` (`sku_id`), + KEY `idx_user_id` (`user_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='交易订单项表'; + -- 订单日志表 (trade_order_log) CREATE TABLE `tz_trade_order_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', - `user_id` bigint(20) NOT NULL COMMENT '用户编号', - `user_type` tinyint(4) NOT NULL COMMENT '用户类型 (枚举 UserTypeEnum)', - `order_id` bigint(20) NOT NULL COMMENT '订单号', - `before_status` int(11) DEFAULT NULL COMMENT '操作前状态', - `after_status` int(11) DEFAULT NULL COMMENT '操作后状态', - `operate_type` tinyint(4) NOT NULL COMMENT '操作类型 (枚举 TradeOrderOperateTypeEnum)', + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `user_id` bigint(20) NOT NULL COMMENT '用户编号', + `user_type` tinyint(4) NOT NULL COMMENT '用户类型 (枚举 UserTypeEnum)', + `order_id` bigint(20) NOT NULL COMMENT '订单号', + `before_status` int(11) DEFAULT NULL COMMENT '操作前状态', + `after_status` int(11) DEFAULT NULL COMMENT '操作后状态', + `operate_type` tinyint(4) NOT NULL COMMENT '操作类型 (枚举 TradeOrderOperateTypeEnum)', `content` varchar(1024) NOT NULL COMMENT '订单日志信息', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '最后更新时间', `creator` varchar(64) NOT NULL COMMENT '创建者', `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (`id`), - KEY `idx_order_id` (`order_id`), - KEY `idx_user_id` (`user_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单日志表'; + KEY `idx_order_id` (`order_id`), + KEY `idx_user_id` (`user_id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='订单日志表'; -- 售后订单表 (tz_trade_after_sale) -CREATE TABLE `tz_trade_after_sale` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '售后编号,主键自增', - `no` varchar(64) NOT NULL COMMENT '售后单号', - `status` tinyint(4) NOT NULL COMMENT '退款状态 (枚举 AfterSaleStatusEnum)', - `way` tinyint(4) NOT NULL COMMENT '售后方式 (枚举 AfterSaleWayEnum)', - `type` tinyint(4) NOT NULL COMMENT '售后类型 (枚举 AfterSaleTypeEnum)', - `user_id` bigint(20) NOT NULL COMMENT '用户编号', - `apply_reason` varchar(256) NOT NULL COMMENT '申请原因', - `apply_description` varchar(512) DEFAULT NULL COMMENT '补充描述', - `apply_pic_urls` json DEFAULT NULL COMMENT '补充凭证图片', - `order_id` bigint(20) NOT NULL COMMENT '交易订单编号', - `order_no` varchar(64) NOT NULL COMMENT '订单流水号', - `order_item_id` bigint(20) NOT NULL COMMENT '交易订单项编号', - `prod_id` bigint(20) NOT NULL COMMENT '商品 SPU 编号', - `prod_name` varchar(256) NOT NULL COMMENT '商品 SPU 名称', - `sku_id` bigint(20) NOT NULL COMMENT '商品 SKU 编号', - `properties` json DEFAULT NULL COMMENT '属性数组', - `pic_url` varchar(512) DEFAULT NULL COMMENT '商品图片', - `count` int(11) NOT NULL COMMENT '退货商品数量', - `audit_time` datetime DEFAULT NULL COMMENT '审批时间', - `audit_user_id` bigint(20) DEFAULT NULL COMMENT '审批人', - `audit_reason` varchar(512) DEFAULT NULL COMMENT '审批备注', - `refund_price` int(11) NOT NULL COMMENT '退款金额,单位:分', - `pay_refund_id` bigint(20) DEFAULT NULL COMMENT '支付退款编号', - `refund_time` datetime DEFAULT NULL COMMENT '退款时间', - `logistics_id` bigint(20) DEFAULT NULL COMMENT '退货物流公司编号', - `logistics_no` varchar(64) DEFAULT NULL COMMENT '退货物流单号', - `delivery_time` datetime DEFAULT NULL COMMENT '退货时间', - `receive_time` datetime DEFAULT NULL COMMENT '收货时间', - `receive_reason` varchar(512) DEFAULT NULL COMMENT '收货备注', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_no` (`no`), - KEY `idx_user_id` (`user_id`), - KEY `idx_order_id` (`order_id`), - KEY `idx_order_item_id` (`order_item_id`), - KEY `idx_status` (`status`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='售后订单表'; +CREATE TABLE `tz_trade_after_sale` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '售后编号,主键自增', + `no` varchar(64) NOT NULL COMMENT '售后单号', + `status` tinyint(4) NOT NULL COMMENT '退款状态 (枚举 AfterSaleStatusEnum)', + `way` tinyint(4) NOT NULL COMMENT '售后方式 (枚举 AfterSaleWayEnum)', + `type` tinyint(4) NOT NULL COMMENT '售后类型 (枚举 AfterSaleTypeEnum)', + `user_id` bigint(20) NOT NULL COMMENT '用户编号', + `apply_reason` varchar(256) NOT NULL COMMENT '申请原因', + `apply_description` varchar(512) DEFAULT NULL COMMENT '补充描述', + `apply_pic_urls` json DEFAULT NULL COMMENT '补充凭证图片', + `order_id` bigint(20) NOT NULL COMMENT '交易订单编号', + `order_no` varchar(64) NOT NULL COMMENT '订单流水号', + `order_item_id` bigint(20) NOT NULL COMMENT '交易订单项编号', + `prod_id` bigint(20) NOT NULL COMMENT '商品 SPU 编号', + `prod_name` varchar(256) NOT NULL COMMENT '商品 SPU 名称', + `sku_id` bigint(20) NOT NULL COMMENT '商品 SKU 编号', + `properties` json DEFAULT NULL COMMENT '属性数组', + `pic_url` varchar(512) DEFAULT NULL COMMENT '商品图片', + `count` int(11) NOT NULL COMMENT '退货商品数量', + `audit_time` datetime DEFAULT NULL COMMENT '审批时间', + `audit_user_id` bigint(20) DEFAULT NULL COMMENT '审批人', + `audit_reason` varchar(512) DEFAULT NULL COMMENT '审批备注', + `refund_price` int(11) NOT NULL COMMENT '退款金额,单位:分', + `pay_refund_id` bigint(20) DEFAULT NULL COMMENT '支付退款编号', + `refund_time` datetime DEFAULT NULL COMMENT '退款时间', + `logistics_id` bigint(20) DEFAULT NULL COMMENT '退货物流公司编号', + `logistics_no` varchar(64) DEFAULT NULL COMMENT '退货物流单号', + `delivery_time` datetime DEFAULT NULL COMMENT '退货时间', + `receive_time` datetime DEFAULT NULL COMMENT '收货时间', + `receive_reason` varchar(512) DEFAULT NULL COMMENT '收货备注', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `creator` varchar(64) NOT NULL COMMENT '创建者', + `updater` varchar(64) NOT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_no` (`no`), + KEY `idx_user_id` (`user_id`), + KEY `idx_order_id` (`order_id`), + KEY `idx_order_item_id` (`order_item_id`), + KEY `idx_status` (`status`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='售后订单表'; -- 交易售后日志表 (tz_trade_after_sale_log) -CREATE TABLE `tz_trade_after_sale_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', - `user_id` bigint(20) NOT NULL COMMENT '用户编号', - `user_type` tinyint(4) NOT NULL COMMENT '用户类型 (枚举 UserTypeEnum)', - `after_sale_id` bigint(20) NOT NULL COMMENT '售后编号', - `before_status` tinyint(4) DEFAULT NULL COMMENT '操作前状态', - `after_status` tinyint(4) DEFAULT NULL COMMENT '操作后状态', - `operate_type` tinyint(4) NOT NULL COMMENT '操作类型 (枚举 AfterSaleOperateTypeEnum)', - `content` varchar(512) NOT NULL COMMENT '操作明细', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`), - KEY `idx_after_sale_id` (`after_sale_id`), - KEY `idx_user_id` (`user_id`), - KEY `idx_operate_type` (`operate_type`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交易售后日志表'; +CREATE TABLE `tz_trade_after_sale_log` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `user_id` bigint(20) NOT NULL COMMENT '用户编号', + `user_type` tinyint(4) NOT NULL COMMENT '用户类型 (枚举 UserTypeEnum)', + `after_sale_id` bigint(20) NOT NULL COMMENT '售后编号', + `before_status` tinyint(4) DEFAULT NULL COMMENT '操作前状态', + `after_status` tinyint(4) DEFAULT NULL COMMENT '操作后状态', + `operate_type` tinyint(4) NOT NULL COMMENT '操作类型 (枚举 AfterSaleOperateTypeEnum)', + `content` varchar(512) NOT NULL COMMENT '操作明细', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `creator` varchar(64) NOT NULL COMMENT '创建者', + `updater` varchar(64) NOT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`id`), + KEY `idx_after_sale_id` (`after_sale_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_operate_type` (`operate_type`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='交易售后日志表'; -- 快递公司表 (trade_delivery_express) -CREATE TABLE `tz_trade_delivery_express` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', - `code` varchar(64) NOT NULL COMMENT '快递公司 code', - `name` varchar(128) NOT NULL COMMENT '快递公司名称', - `logo` varchar(512) DEFAULT NULL COMMENT '快递公司 logo', - `sort` int(11) DEFAULT NULL COMMENT '排序', - `status` tinyint(4) NOT NULL COMMENT '状态 (枚举 CommonStatusEnum)', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_code` (`code`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='快递公司表'; +CREATE TABLE `tz_trade_delivery_express` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', + `code` varchar(64) NOT NULL COMMENT '快递公司 code', + `name` varchar(128) NOT NULL COMMENT '快递公司名称', + `logo` varchar(512) DEFAULT NULL COMMENT '快递公司 logo', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `status` tinyint(4) NOT NULL COMMENT '状态 (枚举 CommonStatusEnum)', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `creator` varchar(64) NOT NULL COMMENT '创建者', + `updater` varchar(64) NOT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_code` (`code`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='快递公司表'; -- 快递运费模板表 (trade_delivery_express_template) -CREATE TABLE `tz_trade_delivery_express_template` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', - `name` varchar(128) NOT NULL COMMENT '模板名称', - `charge_mode` tinyint(4) NOT NULL COMMENT '配送计费方式 (枚举 DeliveryExpressChargeModeEnum)', - `sort` int(11) DEFAULT NULL COMMENT '排序', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='快递运费模板表'; +CREATE TABLE `tz_trade_delivery_express_template` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', + `name` varchar(128) NOT NULL COMMENT '模板名称', + `charge_mode` tinyint(4) NOT NULL COMMENT '配送计费方式 (枚举 DeliveryExpressChargeModeEnum)', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `creator` varchar(64) NOT NULL COMMENT '创建者', + `updater` varchar(64) NOT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='快递运费模板表'; -- 快递运费模板计费配置表 (trade_delivery_express_template_charge) -CREATE TABLE `tz_trade_delivery_express_template_charge` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', - `template_id` bigint(20) NOT NULL COMMENT '配送模板编号', - `area_ids` varchar(512) NOT NULL COMMENT '配送区域编号列表', - `charge_mode` tinyint(4) NOT NULL COMMENT '配送计费方式', - `start_count` double NOT NULL COMMENT '首件数量(件数,重量,或体积)', - `start_price` int(11) NOT NULL COMMENT '起步价,单位:分', - `extra_count` double NOT NULL COMMENT '续件数量(件, 重量,或体积)', - `extra_price` int(11) NOT NULL COMMENT '额外价,单位:分', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`), - KEY `idx_template_id` (`template_id`), - CONSTRAINT `fk_express_template_charge_template_id` FOREIGN KEY (`template_id`) REFERENCES `tz_trade_delivery_express_template` (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='快递运费模板计费配置表'; +CREATE TABLE `tz_trade_delivery_express_template_charge` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增', + `template_id` bigint(20) NOT NULL COMMENT '配送模板编号', + `area_ids` varchar(512) NOT NULL COMMENT '配送区域编号列表', + `charge_mode` tinyint(4) NOT NULL COMMENT '配送计费方式', + `start_count` double NOT NULL COMMENT '首件数量(件数,重量,或体积)', + `start_price` int(11) NOT NULL COMMENT '起步价,单位:分', + `extra_count` double NOT NULL COMMENT '续件数量(件, 重量,或体积)', + `extra_price` int(11) NOT NULL COMMENT '额外价,单位:分', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `creator` varchar(64) NOT NULL COMMENT '创建者', + `updater` varchar(64) NOT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`id`), + KEY `idx_template_id` (`template_id`), + CONSTRAINT `fk_express_template_charge_template_id` FOREIGN KEY (`template_id`) REFERENCES `tz_trade_delivery_express_template` (`id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='快递运费模板计费配置表'; -- 快递运费模板包邮配置表 (trade_delivery_express_template_free) -CREATE TABLE `tz_trade_delivery_express_template_free` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', - `template_id` bigint(20) NOT NULL COMMENT '配送模板编号', - `area_ids` varchar(512) NOT NULL COMMENT '配送区域编号列表', - `free_price` int(11) DEFAULT NULL COMMENT '包邮金额,单位:分', - `free_count` int(11) DEFAULT NULL COMMENT '包邮件数', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`), - KEY `idx_template_id` (`template_id`), - CONSTRAINT `fk_express_template_free_template_id` FOREIGN KEY (`template_id`) REFERENCES `tz_trade_delivery_express_template` (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='快递运费模板包邮配置表'; +CREATE TABLE `tz_trade_delivery_express_template_free` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `template_id` bigint(20) NOT NULL COMMENT '配送模板编号', + `area_ids` varchar(512) NOT NULL COMMENT '配送区域编号列表', + `free_price` int(11) DEFAULT NULL COMMENT '包邮金额,单位:分', + `free_count` int(11) DEFAULT NULL COMMENT '包邮件数', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `creator` varchar(64) NOT NULL COMMENT '创建者', + `updater` varchar(64) NOT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`id`), + KEY `idx_template_id` (`template_id`), + CONSTRAINT `fk_express_template_free_template_id` FOREIGN KEY (`template_id`) REFERENCES `tz_trade_delivery_express_template` (`id`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='快递运费模板包邮配置表'; -- 自提门店表 (trade_delivery_pick_up_store) -CREATE TABLE `tz_trade_delivery_pick_up_store` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', - `name` varchar(128) NOT NULL COMMENT '门店名称', - `introduction` varchar(512) DEFAULT NULL COMMENT '门店简介', - `phone` varchar(20) NOT NULL COMMENT '门店手机', - `area_id` int(11) NOT NULL COMMENT '区域编号', - `detail_address` varchar(512) NOT NULL COMMENT '门店详细地址', - `logo` varchar(512) DEFAULT NULL COMMENT '门店 logo', - `opening_time` time NOT NULL COMMENT '营业开始时间', - `closing_time` time NOT NULL COMMENT '营业结束时间', - `latitude` double DEFAULT NULL COMMENT '纬度', - `longitude` double DEFAULT NULL COMMENT '经度', - `verify_user_ids` varchar(512) DEFAULT NULL COMMENT '核销员工用户编号数组', - `status` tinyint(4) NOT NULL COMMENT '门店状态 (枚举 CommonStatusEnum)', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `creator` varchar(64) NOT NULL COMMENT '创建者', - `updater` varchar(64) NOT NULL COMMENT '更新者', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - PRIMARY KEY (`id`), - KEY `idx_area_id` (`area_id`), - KEY `idx_status` (`status`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自提门店表'; +CREATE TABLE `tz_trade_delivery_pick_up_store` +( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `name` varchar(128) NOT NULL COMMENT '门店名称', + `introduction` varchar(512) DEFAULT NULL COMMENT '门店简介', + `phone` varchar(20) NOT NULL COMMENT '门店手机', + `area_id` int(11) NOT NULL COMMENT '区域编号', + `detail_address` varchar(512) NOT NULL COMMENT '门店详细地址', + `logo` varchar(512) DEFAULT NULL COMMENT '门店 logo', + `opening_time` time NOT NULL COMMENT '营业开始时间', + `closing_time` time NOT NULL COMMENT '营业结束时间', + `latitude` double DEFAULT NULL COMMENT '纬度', + `longitude` double DEFAULT NULL COMMENT '经度', + `verify_user_ids` varchar(512) DEFAULT NULL COMMENT '核销员工用户编号数组', + `status` tinyint(4) NOT NULL COMMENT '门店状态 (枚举 CommonStatusEnum)', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '最后更新时间', + `creator` varchar(64) NOT NULL COMMENT '创建者', + `updater` varchar(64) NOT NULL COMMENT '更新者', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', + PRIMARY KEY (`id`), + KEY `idx_area_id` (`area_id`), + KEY `idx_status` (`status`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='自提门店表'; diff --git a/tashow-feign/tashow-trade-api/src/main/java/com/tashow/cloud/tradeapi/enums/order/TradeOrderStatusEnum.java b/tashow-feign/tashow-trade-api/src/main/java/com/tashow/cloud/tradeapi/enums/order/TradeOrderStatusEnum.java index fa1a997..4f667ea 100644 --- a/tashow-feign/tashow-trade-api/src/main/java/com/tashow/cloud/tradeapi/enums/order/TradeOrderStatusEnum.java +++ b/tashow-feign/tashow-trade-api/src/main/java/com/tashow/cloud/tradeapi/enums/order/TradeOrderStatusEnum.java @@ -21,7 +21,13 @@ public enum TradeOrderStatusEnum implements ArrayValuable { UNDELIVERED(10, "待发货"), DELIVERED(20, "已发货"), COMPLETED(30, "已完成"), - CANCELED(40, "已取消"); + CANCELED(40, "已取消"), + + WAITPAID(100, "等待付款"), + WAITCONFIRM(110, "等待确定"), + WAITSERVE(120, "等待服务"), + WAITACCEPT(130, "等待验收"), + SERVECANCELED(140, "取消服务"); public static final Integer[] ARRAYS = Arrays.stream(values()).map(TradeOrderStatusEnum::getStatus).toArray(Integer[]::new); diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/controller.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/controller.vm index 5aa3bae..e47b61e 100644 --- a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/controller.vm +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/controller.vm @@ -5,10 +5,6 @@ import ${jakartaPackage}.annotation.Resource; import org.springframework.validation.annotation.Validated; #if ($sceneEnum.scene == 1)import org.springframework.security.access.prepost.PreAuthorize;#end -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - import ${jakartaPackage}.validation.constraints.*; import ${jakartaPackage}.validation.*; import ${jakartaPackage}.servlet.http.*; @@ -34,7 +30,9 @@ import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.bu #end import ${basePackage}.module.${table.moduleName}.service.${table.businessName}.${table.className}Service; -@Tag(name = "${sceneEnum.name} - ${table.classComment}") +/** + * ${sceneEnum.name} - ${table.classComment} + */ @RestController ##二级的 businessName 暂时不算在 HTTP 路径上,可以根据需要写 @RequestMapping("/${table.moduleName}/${simpleClassName_strikeCase}") @@ -44,8 +42,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { @Resource private ${table.className}Service ${classNameVar}Service; + /** + * 创建${table.classComment} + */ @PostMapping("/create") - @Operation(summary = "创建${table.classComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:create')") #end @@ -53,8 +53,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { return success(${classNameVar}Service.create${simpleClassName}(createReqVO)); } + /** + * 更新${table.classComment} + */ @PutMapping("/update") - @Operation(summary = "更新${table.classComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:update')") #end @@ -63,9 +65,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { return success(true); } + /** + * 删除${table.classComment} + */ @DeleteMapping("/delete") - @Operation(summary = "删除${table.classComment}") - @Parameter(name = "id", description = "编号", required = true) #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:delete')") #end @@ -74,9 +77,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { return success(true); } + /** + * 获得${table.classComment} + */ @GetMapping("/get") - @Operation(summary = "获得${table.classComment}") - @Parameter(name = "id", description = "编号", required = true, example = "1024") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')") #end @@ -86,8 +90,11 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { } #if ( $table.templateType != 2 ) + + /** + * 获得${table.classComment}分页 + */ @GetMapping("/page") - @Operation(summary = "获得${table.classComment}分页") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')") #end @@ -98,8 +105,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { ## 特殊:树表专属逻辑(树不需要分页接口) #else + /** + * 获得${table.classComment}列表 + */ @GetMapping("/list") - @Operation(summary = "获得${table.classComment}列表") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')") #end @@ -109,8 +118,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { } #end + /** + * 导出${table.classComment} Excel + */ @GetMapping("/export-excel") - @Operation(summary = "导出${table.classComment} Excel") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:export')") #end @@ -149,9 +160,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { ## 情况一:MASTER_ERP 时,需要分查询页子表 #if ( $table.templateType == 11 ) + /** + * 获得${subTable.classComment}分页 + */ @GetMapping("/${subSimpleClassName_strikeCase}/page") - @Operation(summary = "获得${subTable.classComment}分页") - @Parameter(name = "${subJoinColumn.javaField}", description = "${subJoinColumn.columnComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')") #end @@ -163,9 +175,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { ## 情况二:非 MASTER_ERP 时,需要列表查询子表 #else #if ( $subTable.subJoinMany ) + /** + * 获得${subTable.classComment}列表 + */ @GetMapping("/${subSimpleClassName_strikeCase}/list-by-${subJoinColumn_strikeCase}") - @Operation(summary = "获得${subTable.classComment}列表") - @Parameter(name = "${subJoinColumn.javaField}", description = "${subJoinColumn.columnComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')") #end @@ -174,9 +187,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { } #else + /** + * 获得${subTable.classComment} + */ @GetMapping("/${subSimpleClassName_strikeCase}/get-by-${subJoinColumn_strikeCase}") - @Operation(summary = "获得${subTable.classComment}") - @Parameter(name = "${subJoinColumn.javaField}", description = "${subJoinColumn.columnComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')") #end @@ -188,8 +202,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { #end ## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作 #if ( $table.templateType == 11 ) + /** + * 创建${subTable.classComment} + */ @PostMapping("/${subSimpleClassName_strikeCase}/create") - @Operation(summary = "创建${subTable.classComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:create')") #end @@ -197,8 +213,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { return success(${classNameVar}Service.create${subSimpleClassName}(${subClassNameVar})); } + /** + * 更新${subTable.classComment} + */ @PutMapping("/${subSimpleClassName_strikeCase}/update") - @Operation(summary = "更新${subTable.classComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:update')") #end @@ -207,9 +225,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { return success(true); } + /** + * 删除${subTable.classComment} + */ @DeleteMapping("/${subSimpleClassName_strikeCase}/delete") - @Parameter(name = "id", description = "编号", required = true) - @Operation(summary = "删除${subTable.classComment}") #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:delete')") #end @@ -218,9 +237,10 @@ public class ${sceneEnum.prefixClass}${table.className}Controller { return success(true); } + /** + * 获得${subTable.classComment} + */ @GetMapping("/${subSimpleClassName_strikeCase}/get") - @Operation(summary = "获得${subTable.classComment}") - @Parameter(name = "id", description = "编号", required = true) #if ($sceneEnum.scene == 1) @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')") #end diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/listReqVO.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/listReqVO.vm index 46b6a25..4797c0b 100644 --- a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/listReqVO.vm +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/listReqVO.vm @@ -2,7 +2,7 @@ package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePac import lombok.*; import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; + import ${PageParamClassName}; #foreach ($column in $columns) #if (${column.javaType} == "BigDecimal") @@ -22,18 +22,24 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; #end ## 字段模板 #macro(columnTpl $prefix $prefixStr) - @Schema(description = "${prefixStr}${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) + /** + * ${prefixStr}${column.columnComment}"#if ("$!column.example" != " + */, example = "${column.example}"#end) private ${column.javaType}#if ("$!prefix" != "") ${prefix}${JavaField}#else ${column.javaField}#end; #end -@Schema(description = "${sceneEnum.name} - ${table.classComment}列表 Request VO") +/** + * ${sceneEnum.name} - ${table.classComment}列表 Request VO + */ @Data public class ${sceneEnum.prefixClass}${table.className}ListReqVO { #foreach ($column in $columns) #if (${column.listOperation})##查询操作 #if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候 - @Schema(description = "${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) + /** + * ${column.columnComment}"#if ("$!column.example" != " + */, example = "${column.example}"#end) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private ${column.javaType}[] ${column.javaField}; #else##情况二,非 Between 的时间 diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/pageReqVO.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/pageReqVO.vm index 003bac9..f7841c0 100644 --- a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/pageReqVO.vm +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/pageReqVO.vm @@ -2,7 +2,7 @@ package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePac import lombok.*; import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; + import ${PageParamClassName}; #foreach ($column in $columns) #if (${column.javaType} == "BigDecimal") @@ -22,11 +22,15 @@ import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; #end ## 字段模板 #macro(columnTpl $prefix $prefixStr) - @Schema(description = "${prefixStr}${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) + /** + * ${prefixStr}${column.columnComment}"#if ("$!column.example" != " + */, example = "${column.example}"#end) private ${column.javaType}#if ("$!prefix" != "") ${prefix}${JavaField}#else ${column.javaField}#end; #end -@Schema(description = "${sceneEnum.name} - ${table.classComment}分页 Request VO") +/** + * ${sceneEnum.name} - ${table.classComment}分页 Request VO + */ @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @@ -35,7 +39,9 @@ public class ${sceneEnum.prefixClass}${table.className}PageReqVO extends PagePar #foreach ($column in $columns) #if (${column.listOperation})##查询操作 #if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候 - @Schema(description = "${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) + /** + * ${column.columnComment}"#if ("$!column.example" != " + */, example = "${column.example}"#end) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private ${column.javaType}[] ${column.javaField}; #else##情况二,非 Between 的时间 diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/respVO.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/respVO.vm index 24c3519..e4fcf6f 100644 --- a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/respVO.vm +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/respVO.vm @@ -1,6 +1,6 @@ package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo; -import io.swagger.v3.oas.annotations.media.Schema; + import lombok.*; import java.util.*; ## 处理 BigDecimal 字段的引入 @@ -28,7 +28,9 @@ import ${DictConvertClassName}; #end #end -@Schema(description = "${sceneEnum.name} - ${table.classComment} Response VO") +/** + * ${sceneEnum.name} - ${table.classComment} Response VO + */ @Data @ExcelIgnoreUnannotated public class ${sceneEnum.prefixClass}${table.className}RespVO { @@ -37,7 +39,9 @@ public class ${sceneEnum.prefixClass}${table.className}RespVO { #foreach ($column in $columns) #if (${column.listOperationResult}) ## 1. 处理 Swagger 注解 - @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end) + /** + * ${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != " + */, example = "${column.example}"#end) ## 2. 处理 Excel 导出 #if ("$!column.dictType" != "")##处理枚举值 @ExcelProperty(value = "${column.columnComment}", converter = DictConvert.class) diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/saveReqVO.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/saveReqVO.vm index b432c75..ba32472 100644 --- a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/saveReqVO.vm +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/controller/vo/saveReqVO.vm @@ -1,6 +1,6 @@ package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo; -import io.swagger.v3.oas.annotations.media.Schema; + import lombok.*; import java.util.*; import ${jakartaPackage}.validation.constraints.*; @@ -24,7 +24,9 @@ import java.time.LocalDateTime; import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO; #end -@Schema(description = "${sceneEnum.name} - ${table.classComment}新增/修改 Request VO") +/** + * ${sceneEnum.name} - ${table.classComment}新增/修改 Request VO + */ @Data public class ${sceneEnum.prefixClass}${table.className}SaveReqVO { @@ -32,7 +34,9 @@ public class ${sceneEnum.prefixClass}${table.className}SaveReqVO { #foreach ($column in $columns) #if (${column.createOperation} || ${column.updateOperation}) ## 1. 处理 Swagger 注解 - @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end) + /** + * ${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != " + */, example = "${column.example}"#end) ## 2. 处理 Validator 参数校验 #if (!${column.nullable} && !${column.primaryKey}) #if (${column.javaType} == 'String') @@ -51,11 +55,15 @@ public class ${sceneEnum.prefixClass}${table.className}SaveReqVO { #foreach ($subTable in $subTables) #set ($index = $foreach.count - 1) #if ( $subTable.subJoinMany) - @Schema(description = "${subTable.classComment}列表") + /** + * ${subTable.classComment}列表 + */ private List<${subTable.className}DO> ${subClassNameVars.get($index)}s; #else - @Schema(description = "${subTable.classComment}") + /** + * ${subTable.classComment} + */ private ${subTable.className}DO ${subClassNameVars.get($index)}; #end diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do.vm new file mode 100644 index 0000000..b019d6e --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do.vm @@ -0,0 +1,52 @@ +package ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}; + +import lombok.*; +import java.util.*; +#foreach ($column in $columns) +#if (${column.javaType} == "BigDecimal") +import java.math.BigDecimal; +#end +#if (${column.javaType} == "LocalDateTime") +import java.time.LocalDateTime; +#end +#end +import com.baomidou.mybatisplus.annotation.*; +import ${BaseDOClassName}; + +/** + * ${table.classComment} DO + * + * @author ${table.author} + */ +@TableName("${table.tableName.toLowerCase()}") +@KeySequence("${table.tableName.toLowerCase()}_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ${table.className}DO extends BaseDO { + +## 特殊:树表专属逻辑 +#if ( $table.templateType == 2 ) + public static final Long ${treeParentColumn_javaField_underlineCase.toUpperCase()}_ROOT = 0L; + +#end +#foreach ($column in $columns) +#if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段 + /** + * ${column.columnComment} + #if ("$!column.dictType" != "")##处理枚举值 + * + * 枚举 {@link TODO ${column.dictType} 对应的类} + #end + */ + #if (${column.primaryKey})##处理主键 + @TableId#if (${column.javaType} == 'String')(type = IdType.INPUT)#end + #end + private ${column.javaType} ${column.javaField}; +#end +#end + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do_sub.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do_sub.vm new file mode 100644 index 0000000..16be55e --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/do_sub.vm @@ -0,0 +1,49 @@ +#set ($subTable = $subTables.get($subIndex))##当前表 +#set ($subColumns = $subColumnsList.get($subIndex))##当前字段数组 +package ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}; + +import lombok.*; +import java.util.*; +#foreach ($column in $subColumns) +#if (${column.javaType} == "BigDecimal") +import java.math.BigDecimal; +#end +#if (${column.javaType} == "LocalDateTime") +import java.time.LocalDateTime; +#end +#end +import com.baomidou.mybatisplus.annotation.*; +import ${BaseDOClassName}; + +/** + * ${subTable.classComment} DO + * + * @author ${subTable.author} + */ +@TableName("${subTable.tableName.toLowerCase()}") +@KeySequence("${subTable.tableName.toLowerCase()}_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ${subTable.className}DO extends BaseDO { + +#foreach ($column in $subColumns) +#if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段 + /** + * ${column.columnComment} + #if ("$!column.dictType" != "")##处理枚举值 + * + * 枚举 {@link TODO ${column.dictType} 对应的类} + #end + */ + #if (${column.primaryKey})##处理主键 + @TableId#if (${column.javaType} == 'String')(type = IdType.INPUT)#end + #end + private ${column.javaType} ${column.javaField}; +#end +#end + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.vm new file mode 100644 index 0000000..b98b471 --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.vm @@ -0,0 +1,82 @@ +package ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}; + +import java.util.*; + +import ${PageResultClassName}; +import ${QueryWrapperClassName}; +import ${BaseMapperClassName}; +import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO; +import org.apache.ibatis.annotations.Mapper; +import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*; + +## 字段模板 +#macro(listCondition) +#foreach ($column in $columns) +#if (${column.listOperation}) +#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写 +#if (${column.listOperationCondition} == "=")##情况一,= 的时候 + .eqIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#if (${column.listOperationCondition} == "!=")##情况二,!= 的时候 + .neIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#if (${column.listOperationCondition} == ">")##情况三,> 的时候 + .gtIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#if (${column.listOperationCondition} == ">=")##情况四,>= 的时候 + .geIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#if (${column.listOperationCondition} == "<")##情况五,< 的时候 + .ltIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#if (${column.listOperationCondition} == "<=")##情况五,<= 的时候 + .leIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#if (${column.listOperationCondition} == "LIKE")##情况七,Like 的时候 + .likeIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#if (${column.listOperationCondition} == "BETWEEN")##情况八,Between 的时候 + .betweenIfPresent(${table.className}DO::get${JavaField}, reqVO.get${JavaField}()) +#end +#end +#end +#end +/** + * ${table.classComment} Mapper + * + * @author ${table.author} + */ +@Mapper +public interface ${table.className}Mapper extends BaseMapperX<${table.className}DO> { + +## 特殊:树表专属逻辑(树不需要分页接口) +#if ( $table.templateType != 2 ) + default PageResult<${table.className}DO> selectPage(${sceneEnum.prefixClass}${table.className}PageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<${table.className}DO>() + #listCondition() + .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序 + + } +#else + default List<${table.className}DO> selectList(${sceneEnum.prefixClass}${table.className}ListReqVO reqVO) { + return selectList(new LambdaQueryWrapperX<${table.className}DO>() + #listCondition() + .orderByDesc(${table.className}DO::getId));## 大多数情况下,id 倒序 + + } +#end + +## 特殊:树表专属逻辑 +#if ( $table.templateType == 2 ) +#set ($TreeParentJavaField = $treeParentColumn.javaField.substring(0,1).toUpperCase() + ${treeParentColumn.javaField.substring(1)})##首字母大写 +#set ($TreeNameJavaField = $treeNameColumn.javaField.substring(0,1).toUpperCase() + ${treeNameColumn.javaField.substring(1)})##首字母大写 + default ${table.className}DO selectBy${TreeParentJavaField}And${TreeNameJavaField}(Long ${treeParentColumn.javaField}, String ${treeNameColumn.javaField}) { + return selectOne(${table.className}DO::get${TreeParentJavaField}, ${treeParentColumn.javaField}, ${table.className}DO::get${TreeNameJavaField}, ${treeNameColumn.javaField}); + } + + default Long selectCountBy${TreeParentJavaField}(${treeParentColumn.javaType} ${treeParentColumn.javaField}) { + return selectCount(${table.className}DO::get${TreeParentJavaField}, ${treeParentColumn.javaField}); + } + +#end +} \ No newline at end of file diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.xml.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.xml.vm new file mode 100644 index 0000000..290378d --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper.xml.vm @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper_sub.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper_sub.vm new file mode 100644 index 0000000..6ccaea7 --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/dal/mapper_sub.vm @@ -0,0 +1,57 @@ +#set ($subTable = $subTables.get($subIndex))##当前表 +#set ($subColumns = $subJoinColumnsList.get($subIndex))##当前字段数组 +#set ($subJoinColumn = $subJoinColumns.get($subIndex))##当前 join 字段 +#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 +package ${basePackage}.module.${subTable.moduleName}.dal.mysql.${subTable.businessName}; + +import java.util.*; + +import ${PageResultClassName}; +import ${PageParamClassName}; +import ${QueryWrapperClassName}; +import ${BaseMapperClassName}; +import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO; +import org.apache.ibatis.annotations.Mapper; + +/** + * ${subTable.classComment} Mapper + * + * @author ${subTable.author} + */ +@Mapper +public interface ${subTable.className}Mapper extends BaseMapperX<${subTable.className}DO> { + +## 情况一:MASTER_ERP 时,需要分查询页子表 +#if ( $table.templateType == 11 ) + default PageResult<${subTable.className}DO> selectPage(PageParam reqVO, ${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return selectPage(reqVO, new LambdaQueryWrapperX<${subTable.className}DO>() + .eq(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}) + .orderByDesc(${subTable.className}DO::getId));## 大多数情况下,id 倒序 + + } +## 主表与子表是一对一时 + #if (!$subTable.subJoinMany) + default ${subTable.className}DO selectBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return selectOne(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}); + } + #end + +## 情况二:非 MASTER_ERP 时,需要列表查询子表 +#else + #if ( $subTable.subJoinMany) + default List<${subTable.className}DO> selectListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return selectList(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}); + } + + #else + default ${subTable.className}DO selectBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return selectOne(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}); + } + + #end + #end + default int deleteBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return delete(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}); + } + +} diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/enums/errorcode.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/enums/errorcode.vm new file mode 100644 index 0000000..b7e21e6 --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/enums/errorcode.vm @@ -0,0 +1,22 @@ +// TODO 待办:请将下面的错误码复制到 yudao-module-${table.moduleName}-api 模块的 ErrorCodeConstants 类中。注意,请给“TODO 补充编号”设置一个错误码编号!!! +// ========== ${table.classComment} TODO 补充编号 ========== +ErrorCode ${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS = new ErrorCode(TODO 补充编号, "${table.classComment}不存在"); +## 特殊:树表专属逻辑 +#if ( $table.templateType == 2 ) +ErrorCode ${simpleClassName_underlineCase.toUpperCase()}_EXITS_CHILDREN = new ErrorCode(TODO 补充编号, "存在存在子${table.classComment},无法删除"); +ErrorCode ${simpleClassName_underlineCase.toUpperCase()}_PARENT_NOT_EXITS = new ErrorCode(TODO 补充编号,"父级${table.classComment}不存在"); +ErrorCode ${simpleClassName_underlineCase.toUpperCase()}_PARENT_ERROR = new ErrorCode(TODO 补充编号, "不能设置自己为父${table.classComment}"); +ErrorCode ${simpleClassName_underlineCase.toUpperCase()}_${treeNameColumn_javaField_underlineCase.toUpperCase()}_DUPLICATE = new ErrorCode(TODO 补充编号, "已经存在该${treeNameColumn.columnComment}的${table.classComment}"); +ErrorCode ${simpleClassName_underlineCase.toUpperCase()}_PARENT_IS_CHILD = new ErrorCode(TODO 补充编号, "不能设置自己的子${table.className}为父${table.className}"); +#end +## 特殊:主子表专属逻辑 +#if ( $table.templateType == 11 )## 特殊:ERP 情况 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) +#set ($simpleClassNameUnderlineCase = $simpleClassNameUnderlineCases.get($index)) +ErrorCode ${simpleClassNameUnderlineCase.toUpperCase()}_NOT_EXISTS = new ErrorCode(TODO 补充编号, "${subTable.classComment}不存在"); +#if ( !$subTable.subJoinMany ) +ErrorCode ${simpleClassNameUnderlineCase.toUpperCase()}_EXISTS = new ErrorCode(TODO 补充编号, "${subTable.classComment}已存在"); +#end +#end +#end \ No newline at end of file diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/service.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/service.vm new file mode 100644 index 0000000..c4ee4f0 --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/service.vm @@ -0,0 +1,147 @@ +package ${basePackage}.module.${table.moduleName}.service.${table.businessName}; + +import java.util.*; +import ${jakartaPackage}.validation.*; +import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*; +import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO; +## 特殊:主子表专属逻辑 +#foreach ($subTable in $subTables) +import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO; +#end +import ${PageResultClassName}; +import ${PageParamClassName}; + +/** + * ${table.classComment} Service 接口 + * + * @author ${table.author} + */ +public interface ${table.className}Service { + + /** + * 创建${table.classComment} + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ${primaryColumn.javaType} create${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}SaveReqVO createReqVO); + + /** + * 更新${table.classComment} + * + * @param updateReqVO 更新信息 + */ + void update${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}SaveReqVO updateReqVO); + + /** + * 删除${table.classComment} + * + * @param id 编号 + */ + void delete${simpleClassName}(${primaryColumn.javaType} id); + + /** + * 获得${table.classComment} + * + * @param id 编号 + * @return ${table.classComment} + */ + ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id); + +## 特殊:树表专属逻辑(树不需要分页接口) +#if ( $table.templateType != 2 ) + /** + * 获得${table.classComment}分页 + * + * @param pageReqVO 分页查询 + * @return ${table.classComment}分页 + */ + PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO); +#else + /** + * 获得${table.classComment}列表 + * + * @param listReqVO 查询条件 + * @return ${table.classComment}列表 + */ + List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ListReqVO listReqVO); +#end + +## 特殊:主子表专属逻辑 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) +#set ($subSimpleClassName = $subSimpleClassNames.get($index)) +#set ($subPrimaryColumn = $subPrimaryColumns.get($index))##当前 primary 字段 +#set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段 +#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 +#set ($subClassNameVar = $subClassNameVars.get($index)) + // ==================== 子表($subTable.classComment) ==================== + +## 情况一:MASTER_ERP 时,需要分查询页子表 +#if ( $table.templateType == 11 ) + /** + * 获得${subTable.classComment}分页 + * + * @param pageReqVO 分页查询 + * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment} + * @return ${subTable.classComment}分页 + */ + PageResult<${subTable.className}DO> get${subSimpleClassName}Page(PageParam pageReqVO, ${subJoinColumn.javaType} ${subJoinColumn.javaField}); + +## 情况二:非 MASTER_ERP 时,需要列表查询子表 +#else + #if ( $subTable.subJoinMany ) + /** + * 获得${subTable.classComment}列表 + * + * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment} + * @return ${subTable.classComment}列表 + */ + List<${subTable.className}DO> get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}); + + #else + /** + * 获得${subTable.classComment} + * + * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment} + * @return ${subTable.classComment} + */ + ${subTable.className}DO get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}); + + #end +#end +## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作 +#if ( $table.templateType == 11 ) + /** + * 创建${subTable.classComment} + * + * @param ${subClassNameVar} 创建信息 + * @return 编号 + */ + ${subPrimaryColumn.javaType} create${subSimpleClassName}(@Valid ${subTable.className}DO ${subClassNameVar}); + + /** + * 更新${subTable.classComment} + * + * @param ${subClassNameVar} 更新信息 + */ + void update${subSimpleClassName}(@Valid ${subTable.className}DO ${subClassNameVar}); + + /** + * 删除${subTable.classComment} + * + * @param id 编号 + */ + void delete${subSimpleClassName}(${subPrimaryColumn.javaType} id); + + /** + * 获得${subTable.classComment} + * + * @param id 编号 + * @return ${subTable.classComment} + */ + ${subTable.className}DO get${subSimpleClassName}(${subPrimaryColumn.javaType} id); + +#end +#end +} \ No newline at end of file diff --git a/tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/serviceImpl.vm b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/serviceImpl.vm new file mode 100644 index 0000000..80bc71b --- /dev/null +++ b/tashow-module/tashow-module-infra/src/main/resources/codegen/java/service/serviceImpl.vm @@ -0,0 +1,351 @@ +package ${basePackage}.module.${table.moduleName}.service.${table.businessName}; + +import org.springframework.stereotype.Service; +import ${jakartaPackage}.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*; +import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO; +## 特殊:主子表专属逻辑 +#foreach ($subTable in $subTables) +import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO; +#end +import ${PageResultClassName}; +import ${PageParamClassName}; +import ${BeanUtils}; + +import ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper; +## 特殊:主子表专属逻辑 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) +import ${basePackage}.module.${subTable.moduleName}.dal.mysql.${subTable.businessName}.${subTable.className}Mapper; +#end + +import static ${ServiceExceptionUtilClassName}.exception; +import static ${basePackage}.module.${table.moduleName}.enums.ErrorCodeConstants.*; + +/** + * ${table.classComment} Service 实现类 + * + * @author ${table.author} + */ +@Service +@Validated +public class ${table.className}ServiceImpl implements ${table.className}Service { + + @Resource + private ${table.className}Mapper ${classNameVar}Mapper; +## 特殊:主子表专属逻辑 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) + @Resource + private ${subTable.className}Mapper ${subClassNameVars.get($index)}Mapper; +#end + + @Override +## 特殊:主子表专属逻辑(非 ERP 模式) +#if ( $subTables && $subTables.size() > 0 && $table.templateType != 11 ) + @Transactional(rollbackFor = Exception.class) +#end + public ${primaryColumn.javaType} create${simpleClassName}(${sceneEnum.prefixClass}${table.className}SaveReqVO createReqVO) { +## 特殊:树表专属逻辑 +#if ( $table.templateType == 2 ) +#set ($TreeParentJavaField = $treeParentColumn.javaField.substring(0,1).toUpperCase() + ${treeParentColumn.javaField.substring(1)})##首字母大写 +#set ($TreeNameJavaField = $treeNameColumn.javaField.substring(0,1).toUpperCase() + ${treeNameColumn.javaField.substring(1)})##首字母大写 + // 校验${treeParentColumn.columnComment}的有效性 + validateParent${simpleClassName}(null, createReqVO.get${TreeParentJavaField}()); + // 校验${treeNameColumn.columnComment}的唯一性 + validate${simpleClassName}${TreeNameJavaField}Unique(null, createReqVO.get${TreeParentJavaField}(), createReqVO.get${TreeNameJavaField}()); + +#end + // 插入 + ${table.className}DO ${classNameVar} = BeanUtils.toBean(createReqVO, ${table.className}DO.class); + ${classNameVar}Mapper.insert(${classNameVar}); +## 特殊:主子表专属逻辑(非 ERP 模式) +#if ( $subTables && $subTables.size() > 0 && $table.templateType != 11 ) + + // 插入子表 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) +#set ($subSimpleClassName = $subSimpleClassNames.get($index)) +#set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段 +#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 + #if ( $subTable.subJoinMany) + create${subSimpleClassName}List(${classNameVar}.getId(), createReqVO.get${subSimpleClassNames.get($index)}s()); + #else + create${subSimpleClassName}(${classNameVar}.getId(), createReqVO.get${subSimpleClassNames.get($index)}()); + #end +#end +#end + // 返回 + return ${classNameVar}.getId(); + } + + @Override +## 特殊:主子表专属逻辑(非 ERP 模式) +#if ( $subTables && $subTables.size() > 0 && $table.templateType != 11 ) + @Transactional(rollbackFor = Exception.class) +#end + public void update${simpleClassName}(${sceneEnum.prefixClass}${table.className}SaveReqVO updateReqVO) { + // 校验存在 + validate${simpleClassName}Exists(updateReqVO.getId()); +## 特殊:树表专属逻辑 +#if ( $table.templateType == 2 ) +#set ($TreeParentJavaField = $treeParentColumn.javaField.substring(0,1).toUpperCase() + ${treeParentColumn.javaField.substring(1)})##首字母大写 +#set ($TreeNameJavaField = $treeNameColumn.javaField.substring(0,1).toUpperCase() + ${treeNameColumn.javaField.substring(1)})##首字母大写 + // 校验${treeParentColumn.columnComment}的有效性 + validateParent${simpleClassName}(updateReqVO.getId(), updateReqVO.get${TreeParentJavaField}()); + // 校验${treeNameColumn.columnComment}的唯一性 + validate${simpleClassName}${TreeNameJavaField}Unique(updateReqVO.getId(), updateReqVO.get${TreeParentJavaField}(), updateReqVO.get${TreeNameJavaField}()); + +#end + // 更新 + ${table.className}DO updateObj = BeanUtils.toBean(updateReqVO, ${table.className}DO.class); + ${classNameVar}Mapper.updateById(updateObj); +## 特殊:主子表专属逻辑(非 ERP 模式) +#if ( $subTables && $subTables.size() > 0 && $table.templateType != 11) + + // 更新子表 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) +#set ($subSimpleClassName = $subSimpleClassNames.get($index)) +#set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段 +#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 + #if ( $subTable.subJoinMany) + update${subSimpleClassName}List(updateReqVO.getId(), updateReqVO.get${subSimpleClassNames.get($index)}s()); + #else + update${subSimpleClassName}(updateReqVO.getId(), updateReqVO.get${subSimpleClassNames.get($index)}()); + #end +#end +#end + } + + @Override +## 特殊:主子表专属逻辑 +#if ( $subTables && $subTables.size() > 0) + @Transactional(rollbackFor = Exception.class) +#end + public void delete${simpleClassName}(${primaryColumn.javaType} id) { + // 校验存在 + validate${simpleClassName}Exists(id); +## 特殊:树表专属逻辑 +#if ( $table.templateType == 2 ) +#set ($ParentJavaField = $treeParentColumn.javaField.substring(0,1).toUpperCase() + ${treeParentColumn.javaField.substring(1)})##首字母大写 + // 校验是否有子${table.classComment} + if (${classNameVar}Mapper.selectCountBy${ParentJavaField}(id) > 0) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_EXITS_CHILDREN); + } +#end + // 删除 + ${classNameVar}Mapper.deleteById(id); +## 特殊:主子表专属逻辑 +#if ( $subTables && $subTables.size() > 0) + + // 删除子表 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) +#set ($subSimpleClassName = $subSimpleClassNames.get($index)) +#set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段 +#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 + delete${subSimpleClassName}By${SubJoinColumnName}(id); +#end +#end + } + + private void validate${simpleClassName}Exists(${primaryColumn.javaType} id) { + if (${classNameVar}Mapper.selectById(id) == null) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS); + } + } + +## 特殊:树表专属逻辑 +#if ( $table.templateType == 2 ) +#set ($TreeParentJavaField = $treeParentColumn.javaField.substring(0,1).toUpperCase() + ${treeParentColumn.javaField.substring(1)})##首字母大写 +#set ($TreeNameJavaField = $treeNameColumn.javaField.substring(0,1).toUpperCase() + ${treeNameColumn.javaField.substring(1)})##首字母大写 + private void validateParent${simpleClassName}(Long id, Long ${treeParentColumn.javaField}) { + if (${treeParentColumn.javaField} == null || ${simpleClassName}DO.${treeParentColumn_javaField_underlineCase.toUpperCase()}_ROOT.equals(${treeParentColumn.javaField})) { + return; + } + // 1. 不能设置自己为父${table.classComment} + if (Objects.equals(id, ${treeParentColumn.javaField})) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_PARENT_ERROR); + } + // 2. 父${table.classComment}不存在 + ${simpleClassName}DO parent${simpleClassName} = ${classNameVar}Mapper.selectById(${treeParentColumn.javaField}); + if (parent${simpleClassName} == null) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_PARENT_NOT_EXITS); + } + // 3. 递归校验父${table.classComment},如果父${table.classComment}是自己的子${table.classComment},则报错,避免形成环路 + if (id == null) { // id 为空,说明新增,不需要考虑环路 + return; + } + for (int i = 0; i < Short.MAX_VALUE; i++) { + // 3.1 校验环路 + ${treeParentColumn.javaField} = parent${simpleClassName}.get${TreeParentJavaField}(); + if (Objects.equals(id, ${treeParentColumn.javaField})) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_PARENT_IS_CHILD); + } + // 3.2 继续递归下一级父${table.classComment} + if (${treeParentColumn.javaField} == null || ${simpleClassName}DO.${treeParentColumn_javaField_underlineCase.toUpperCase()}_ROOT.equals(${treeParentColumn.javaField})) { + break; + } + parent${simpleClassName} = ${classNameVar}Mapper.selectById(${treeParentColumn.javaField}); + if (parent${simpleClassName} == null) { + break; + } + } + } + + private void validate${simpleClassName}${TreeNameJavaField}Unique(Long id, Long ${treeParentColumn.javaField}, String ${treeNameColumn.javaField}) { + ${simpleClassName}DO ${classNameVar} = ${classNameVar}Mapper.selectBy${TreeParentJavaField}And${TreeNameJavaField}(${treeParentColumn.javaField}, ${treeNameColumn.javaField}); + if (${classNameVar} == null) { + return; + } + // 如果 id 为空,说明不用比较是否为相同 id 的${table.classComment} + if (id == null) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_${treeNameColumn_javaField_underlineCase.toUpperCase()}_DUPLICATE); + } + if (!Objects.equals(${classNameVar}.getId(), id)) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_${treeNameColumn_javaField_underlineCase.toUpperCase()}_DUPLICATE); + } + } + +#end + @Override + public ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id) { + return ${classNameVar}Mapper.selectById(id); + } + +## 特殊:树表专属逻辑(树不需要分页接口) +#if ( $table.templateType != 2 ) + @Override + public PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO) { + return ${classNameVar}Mapper.selectPage(pageReqVO); + } +#else + @Override + public List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ListReqVO listReqVO) { + return ${classNameVar}Mapper.selectList(listReqVO); + } +#end + +## 特殊:主子表专属逻辑 +#foreach ($subTable in $subTables) +#set ($index = $foreach.count - 1) +#set ($subSimpleClassName = $subSimpleClassNames.get($index)) +#set ($simpleClassNameUnderlineCase = $simpleClassNameUnderlineCases.get($index)) +#set ($subPrimaryColumn = $subPrimaryColumns.get($index))##当前 primary 字段 +#set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段 +#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 +#set ($subClassNameVar = $subClassNameVars.get($index)) + // ==================== 子表($subTable.classComment) ==================== + +## 情况一:MASTER_ERP 时,需要分查询页子表 +#if ( $table.templateType == 11 ) + @Override + public PageResult<${subTable.className}DO> get${subSimpleClassName}Page(PageParam pageReqVO, ${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return ${subClassNameVars.get($index)}Mapper.selectPage(pageReqVO, ${subJoinColumn.javaField}); + } + +## 情况二:非 MASTER_ERP 时,需要列表查询子表 +#else + #if ( $subTable.subJoinMany ) + @Override + public List<${subTable.className}DO> get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return ${subClassNameVars.get($index)}Mapper.selectListBy${SubJoinColumnName}(${subJoinColumn.javaField}); + } + + #else + @Override + public ${subTable.className}DO get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) { + return ${subClassNameVars.get($index)}Mapper.selectBy${SubJoinColumnName}(${subJoinColumn.javaField}); + } + + #end +#end +## 情况一:MASTER_ERP 时,支持单个的新增、修改、删除操作 +#if ( $table.templateType == 11 ) + @Override + public ${subPrimaryColumn.javaType} create${subSimpleClassName}(${subTable.className}DO ${subClassNameVar}) { +## 特殊:一对一时,需要保证只有一条,不能重复插入 +#if ( !$subTable.subJoinMany) + // 校验是否已经存在 + if (${subClassNameVars.get($index)}Mapper.selectBy${SubJoinColumnName}(${subClassNameVar}.get${SubJoinColumnName}()) != null) { + throw exception(${simpleClassNameUnderlineCase.toUpperCase()}_EXISTS); + } + // 插入 +#end + ${subClassNameVars.get($index)}Mapper.insert(${subClassNameVar}); + return ${subClassNameVar}.getId(); + } + + @Override + public void update${subSimpleClassName}(${subTable.className}DO ${subClassNameVar}) { + // 校验存在 + validate${subSimpleClassName}Exists(${subClassNameVar}.getId()); + // 更新 + ${subClassNameVar}.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新 + ${subClassNameVars.get($index)}Mapper.updateById(${subClassNameVar}); + } + + @Override + public void delete${subSimpleClassName}(${subPrimaryColumn.javaType} id) { + // 校验存在 + validate${subSimpleClassName}Exists(id); + // 删除 + ${subClassNameVars.get($index)}Mapper.deleteById(id); + } + + @Override + public ${subTable.className}DO get${subSimpleClassName}(${subPrimaryColumn.javaType} id) { + return ${subClassNameVars.get($index)}Mapper.selectById(id); + } + + private void validate${subSimpleClassName}Exists(${subPrimaryColumn.javaType} id) { + if (${subClassNameVar}Mapper.selectById(id) == null) { + throw exception(${simpleClassNameUnderlineCase.toUpperCase()}_NOT_EXISTS); + } + } + +## 情况二:非 MASTER_ERP 时,支持批量的新增、修改操作 +#else + #if ( $subTable.subJoinMany) + private void create${subSimpleClassName}List(${primaryColumn.javaType} ${subJoinColumn.javaField}, List<${subTable.className}DO> list) { + list.forEach(o -> o.set$SubJoinColumnName(${subJoinColumn.javaField})); + ${subClassNameVars.get($index)}Mapper.insertBatch(list); + } + + private void update${subSimpleClassName}List(${primaryColumn.javaType} ${subJoinColumn.javaField}, List<${subTable.className}DO> list) { + delete${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaField}); + list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新 + create${subSimpleClassName}List(${subJoinColumn.javaField}, list); + } + + #else + private void create${subSimpleClassName}(${primaryColumn.javaType} ${subJoinColumn.javaField}, ${subTable.className}DO ${subClassNameVar}) { + if (${subClassNameVar} == null) { + return; + } + ${subClassNameVar}.set$SubJoinColumnName(${subJoinColumn.javaField}); + ${subClassNameVars.get($index)}Mapper.insert(${subClassNameVar}); + } + + private void update${subSimpleClassName}(${primaryColumn.javaType} ${subJoinColumn.javaField}, ${subTable.className}DO ${subClassNameVar}) { + if (${subClassNameVar} == null) { + return; + } + ${subClassNameVar}.set$SubJoinColumnName(${subJoinColumn.javaField}); + ${subClassNameVar}.setUpdater(null).setUpdateTime(null); // 解决更新情况下:updateTime 不更新 + ${subClassNameVars.get($index)}Mapper.insertOrUpdate(${subClassNameVar}); + } + + #end +#end + private void delete${subSimpleClassName}By${SubJoinColumnName}(${primaryColumn.javaType} ${subJoinColumn.javaField}) { + ${subClassNameVars.get($index)}Mapper.deleteBy${SubJoinColumnName}(${subJoinColumn.javaField}); + } + +#end +} \ No newline at end of file diff --git a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/controller/admin/transfer/vo/PayTransferCreateReqVO.java b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/controller/admin/transfer/vo/PayTransferCreateReqVO.java index a56a463..28dd862 100644 --- a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/controller/admin/transfer/vo/PayTransferCreateReqVO.java +++ b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/controller/admin/transfer/vo/PayTransferCreateReqVO.java @@ -4,7 +4,7 @@ package com.tashow.cloud.pay.controller.admin.transfer.vo; import com.tashow.cloud.common.util.validation.ValidationUtils; import com.tashow.cloud.common.validation.InEnum; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.transfer.PayTransferTypeEnum; import jakarta.validation.Validator; import jakarta.validation.constraints.*; @@ -83,7 +83,7 @@ public class PayTransferCreateReqVO { PayTransferTypeEnum transferType = typeOf(type); switch (transferType) { case ALIPAY_BALANCE: { - return PayChannelEnum.isAlipay(channelCode); + return PayTypeEnum.isAlipay(channelCode); } case WX_BALANCE: case BANK_CARD: diff --git a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/channel/PayChannelDO.java b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/channel/PayChannelDO.java index 8b7258d..e0d9413 100644 --- a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/channel/PayChannelDO.java +++ b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/channel/PayChannelDO.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.tashow.cloud.common.enums.CommonStatusEnum; import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO; import com.tashow.cloud.sdk.payment.client.PayClientConfig; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.tenant.core.db.TenantBaseDO; import lombok.*; @@ -33,7 +33,7 @@ public class PayChannelDO extends TenantBaseDO { /** * 渠道编码 * - * 枚举 {@link PayChannelEnum} + * 枚举 {@link PayTypeEnum} */ private String code; /** diff --git a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/order/PayOrderDO.java b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/order/PayOrderDO.java index 38520bf..62d52c1 100644 --- a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/order/PayOrderDO.java +++ b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/order/PayOrderDO.java @@ -5,7 +5,7 @@ import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO; import com.tashow.cloud.pay.dal.dataobject.channel.PayChannelDO; import com.tashow.cloud.payapi.enums.order.PayOrderStatusEnum; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import lombok.*; import java.time.LocalDateTime; @@ -42,7 +42,7 @@ public class PayOrderDO extends BaseDO { /** * 渠道编码 * - * 枚举 {@link PayChannelEnum} + * 枚举 {@link PayTypeEnum} */ private String channelCode; diff --git a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/refund/PayRefundDO.java b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/refund/PayRefundDO.java index 55d56b9..9805a4f 100644 --- a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/refund/PayRefundDO.java +++ b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/refund/PayRefundDO.java @@ -8,7 +8,7 @@ import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO; import com.tashow.cloud.pay.dal.dataobject.channel.PayChannelDO; import com.tashow.cloud.pay.dal.dataobject.order.PayOrderDO; import com.tashow.cloud.payapi.enums.refund.PayRefundStatusEnum; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import lombok.*; import java.time.LocalDateTime; @@ -60,7 +60,7 @@ public class PayRefundDO extends BaseDO { /** * 渠道编码 * - * 枚举 {@link PayChannelEnum} + * 枚举 {@link PayTypeEnum} */ private String channelCode; /** diff --git a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/transfer/PayTransferDO.java b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/transfer/PayTransferDO.java index b430afc..395a5b0 100644 --- a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/transfer/PayTransferDO.java +++ b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/dal/dataobject/transfer/PayTransferDO.java @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO; import com.tashow.cloud.pay.dal.dataobject.channel.PayChannelDO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.transfer.PayTransferStatusRespEnum; import lombok.Data; @@ -55,7 +55,7 @@ public class PayTransferDO extends BaseDO { /** * 转账渠道编码 * - * 枚举 {@link PayChannelEnum} + * 枚举 {@link PayTypeEnum} */ private String channelCode; diff --git a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/service/channel/PayChannelServiceImpl.java b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/service/channel/PayChannelServiceImpl.java index 4484094..2a0a24a 100644 --- a/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/service/channel/PayChannelServiceImpl.java +++ b/tashow-module/tashow-module-pay/src/main/java/com/tashow/cloud/pay/service/channel/PayChannelServiceImpl.java @@ -13,7 +13,7 @@ import com.tashow.cloud.sdk.payment.client.PayClient; import com.tashow.cloud.sdk.payment.client.PayClientConfig; import com.tashow.cloud.sdk.payment.client.PayClientFactory; import com.tashow.cloud.sdk.payment.client.impl.weixin.WxPubPayClient; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import jakarta.validation.Validator; @@ -52,7 +52,7 @@ public class PayChannelServiceImpl implements PayChannelService { */ @PostConstruct public void init() { - payClientFactory.registerPayClientClass(PayChannelEnum.WX_PUB, WxPubPayClient.class); + payClientFactory.registerPayClientClass(PayTypeEnum.WX_PUB, WxPubPayClient.class); } @Override @@ -90,7 +90,7 @@ public class PayChannelServiceImpl implements PayChannelService { */ private PayClientConfig parseConfig(String code, String configStr) { // 解析配置 - Class payClass = PayChannelEnum.getByCode(code).getConfigClass(); + Class payClass = PayTypeEnum.getByCode(code).getConfigClass(); if (ObjectUtil.isNull(payClass)) { throw exception(CHANNEL_NOT_FOUND); } diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.http b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.http deleted file mode 100644 index 5255d1b..0000000 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.http +++ /dev/null @@ -1,14 +0,0 @@ -### 获得交易订单分页 => 成功 -GET {{baseUrl}}/trade/order/page?pageNo=1&pageSize=10 -Authorization: Bearer {{token}} -tenant-id: {{adminTenantId}} - -### 获得交易订单分页 => 成功 -GET {{baseUrl}}/trade/order/get-detail?id=21 -Authorization: Bearer {{token}} -tenant-id: {{adminTenantId}} - -### 获得交易订单的物流轨迹 => 成功 -GET {{baseUrl}}/trade/order/get-express-track-list?id=21 -Authorization: Bearer {{token}} -tenant-id: {{adminTenantId}} \ No newline at end of file diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java index 5fd6615..7785b3c 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java @@ -5,7 +5,7 @@ import com.tashow.cloud.common.pojo.CommonResult; import com.tashow.cloud.common.pojo.PageResult; import com.tashow.cloud.memberapi.api.user.MemberUserApi; import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderDetailRespVO; -import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageItemRespVO; +import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageRespVO; import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO; import com.tashow.cloud.trade.convert.order.TradeOrderConvert; import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO; @@ -16,6 +16,7 @@ import com.tashow.cloud.trade.service.order.TradeOrderQueryService; import com.tashow.cloud.trade.service.order.TradeOrderUpdateService; import jakarta.annotation.Resource; import jakarta.annotation.security.PermitAll; +import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; @@ -56,7 +57,7 @@ public class TradeOrderController { @GetMapping("/page") @PermitAll // @PreAuthorize("@ss.hasPermission('trade:order:query')") - public CommonResult> getOrderPage(@Validated TradeOrderPageReqVO reqVO) { + public CommonResult> getOrderPage(@Valid TradeOrderPageReqVO reqVO) { // 查询订单 PageResult pageResult = tradeOrderQueryService.getOrderPage(reqVO); if (CollUtil.isEmpty(pageResult.getList())) { diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderBaseVO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderBaseVO.java index 3bdddf4..f4397a1 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderBaseVO.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderBaseVO.java @@ -1,151 +1,71 @@ package com.tashow.cloud.trade.controller.admin.order.vo; // 移除Swagger相关导入 + import lombok.Data; import java.time.LocalDateTime; /** * 交易订单 Base VO,提供给添加、修改、详细的子 VO 使用 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 */ @Data public class TradeOrderBaseVO { - // ========== 订单基本信息 ========== - - // 订单编号 - 必填,示例:1024 + // 订单编号 private Long id; - // 订单流水号 - 必填,示例:1146347329394184195 + // 订单流水号 private String orderNum; - // 下单时间 - 必填 + // 下单时间 private LocalDateTime createTime; - // 订单类型 - 必填,示例:1 - private Integer type; + // 订单类目 + private String orderCategoryName; - // 订单来源 - 必填,示例:1 - private Integer terminal; + // 订单来源 + private Integer orderTerminal; - // 用户编号 - 必填,示例:2048 + // 用户编号 private Long userId; + // 用户姓名 + private String userName; + //用户昵称 + private String userNickName; + // 用户头像 + private String userAvatar; + //用户手机号 + private String userMobile; + // 订单状态 + private Integer orderStatus; - // 用户 IP - 必填,示例:127.0.0.1 - private String userIp; + //商品图片 + private String picUrl; + //商品名称 + private String spuName; + //商品规格 + private String skuName; + // 购买的商品数量 + private Integer count; + // 单价 + private Integer price; + //到手价 + private Integer handedPrice; + //实付金额 + private Integer payPrice; + // 单位 + private String unit; + //预约时间 + private String orderTime; + //服务地址 + private String serveAddress; // 用户备注 - 必填,示例:你猜 private String userRemark; - - // 订单状态 - 必填,示例:1 - private Integer status; - - // 购买的商品数量 - 必填,示例:10 - private Integer productCount; - - // 订单完成时间 - private LocalDateTime finishTime; - - // 订单取消时间 - private LocalDateTime cancelTime; - - // 取消类型,示例:10 - private Integer cancelType; - - // 商家备注,示例:你猜一下 - private String remark; - - // ========== 价格 + 支付基本信息 ========== - - // 支付订单编号 - 必填,示例:1024 - private Long payOrderId; - - // 是否已支付 - 必填,示例:true - private Boolean payStatus; - - // 付款时间 - private LocalDateTime payTime; - - // 支付渠道 - 必填,示例:wx_lite - private String payChannelCode; - - // 商品原价(总) - 必填,示例:1000 - private Integer totalPrice; - - // 订单优惠(总) - 必填,示例:100 - private Integer discountPrice; - - // 运费金额 - 必填,示例:100 - private Integer deliveryPrice; - - // 订单调价(总) - 必填,示例:100 - private Integer adjustPrice; - - // 应付金额(总) - 必填,示例:1000 - private Integer payPrice; - - // ========== 收件 + 物流基本信息 ========== - - // 配送方式,示例:10 - private Integer deliveryType; - - // 自提门店,示例:10 - private Long pickUpStoreId; - - // 自提核销码,示例:10 - private Long pickUpVerifyCode; - - // 配送模板编号,示例:1024 - private Long deliveryTemplateId; - - // 发货物流公司编号,示例:1024 - private Long logisticsId; - - // 发货物流单号,示例:1024 - private String logisticsNo; - - // 发货时间 - private LocalDateTime deliveryTime; - - // 收货时间 - private LocalDateTime receiveTime; - - // 收件人名称 - 必填,示例:张三 - private String receiverName; - - // 收件人手机 - 必填,示例:13800138000 - private String receiverMobile; - - // 收件人地区编号 - 必填,示例:110000 - private Integer receiverAreaId; - - // 收件人详细地址 - 必填,示例:中关村大街 1 号 - private String receiverDetailAddress; - - // ========== 售后基本信息 ========== - - // 售后状态,示例:1 - private Integer afterSaleStatus; - - // 退款金额 - 必填,示例:100 - private Integer refundPrice; - - // ========== 营销基本信息 ========== - - // 优惠劵编号,示例:1024 - private Long couponId; - - // 优惠劵减免金额 - 必填,示例:100 - private Integer couponPrice; - - // 积分抵扣的金额 - 必填,示例:100 - private Integer pointPrice; - - // VIP 减免金额 - 必填,示例:888 - private Integer vipPrice; - - // 推广人编号,示例:1 - private Long brokerageUserId; + //支付方式 + private String payType; + //财务状态 + private String financeStatus; } diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java deleted file mode 100644 index ea46097..0000000 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageItemRespVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.tashow.cloud.trade.controller.admin.order.vo; - - -import com.tashow.cloud.trade.controller.admin.base.member.user.MemberUserRespVO; -import com.tashow.cloud.trade.controller.admin.base.product.property.ProductPropertyValueDetailRespVO; -import lombok.Data; - -import java.util.List; - -// 管理后台 - 交易订单的分页项 Response VO -@Data -public class TradeOrderPageItemRespVO extends TradeOrderBaseVO { - - // 收件人地区名字 - 必填,示例:上海 上海市 普陀区 - private String receiverAreaName; - - // 订单项列表 - 必填 - private List items; - - // 用户信息 - 必填 - private MemberUserRespVO user; - - // 推广人信息 - private MemberUserRespVO brokerageUser; - - // 管理后台 - 交易订单的分页项的订单项目 - @Data - public static class Item extends TradeOrderItemBaseVO { - - // 属性列表 - 必填 - private List properties; - - } - -} diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageReqVO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageReqVO.java index 4e2061e..cc27d0b 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageReqVO.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageReqVO.java @@ -2,16 +2,11 @@ package com.tashow.cloud.trade.controller.admin.order.vo; // 移除Swagger相关导入 -import com.tashow.cloud.common.enums.TerminalEnum; import com.tashow.cloud.common.pojo.PageParam; -import com.tashow.cloud.common.validation.InEnum; -import com.tashow.cloud.common.validation.Mobile; -import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; -import java.util.List; import static com.tashow.cloud.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -20,47 +15,34 @@ import static com.tashow.cloud.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_ @Data public class TradeOrderPageReqVO extends PageParam { - // 订单号,示例:88888888 - private String orderNum; - - // 用户编号,示例:1024 - private Long userId; - - // 用户昵称,示例:小王 - private String userNickname; - - // 用户手机号,示例:小王 - @Mobile - private String userMobile; - - // 配送方式,示例:1 - private Integer deliveryType; - - // 发货物流公司编号,示例:1 - private Long logisticsId; - - // 自提门店编号,示例:[1,2] - private List pickUpStoreIds; - - // 自提核销码,示例:12345678 - private String pickUpVerifyCode; - - // 订单类型,示例:1 - private Integer type; - // 订单状态,示例:1 - @InEnum(value = TradeOrderStatusEnum.class, message = "订单状态必须是 {value}") - private Integer status; + private Integer orderStatus; + //聚合检索字段(商品名称,商品id,订单号) + private String prodSearch; - // 支付渠道,示例:wx_lite - private String payChannelCode; + //聚合检索字段 买家昵称/手机号 + private String userSearch; + + //卖家名称 + private String merchantName; + + // 订单类目id,示例:1 + private Integer orderCategoryId; + // 订单来源,示例:1 + private Integer orderTerminal; + // 财务状态,示例:1 + private Integer financeStatus; + // 售后状态,示例:1 + private Integer afterSaleStatus; + // 预约类型,示例:1 + private Integer subType; // 创建时间 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + // 创建时间 + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] subTime; - // 订单来源,示例:10 - @InEnum(value = TerminalEnum.class, message = "订单来源 {value}") - private Integer terminal; } diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageRespVO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageRespVO.java new file mode 100644 index 0000000..fc2db92 --- /dev/null +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderPageRespVO.java @@ -0,0 +1,11 @@ +package com.tashow.cloud.trade.controller.admin.order.vo; + + +import lombok.Data; + +// 管理后台 - 交易订单的分页项 Response VO +@Data +public class TradeOrderPageRespVO extends TradeOrderBaseVO { + + +} diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java index 862d9f7..42b2728 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java @@ -91,7 +91,7 @@ public interface TradeOrderConvert { .setAppKey(orderProperties.getPayAppKey()).setUserIp(order.getUserIp()); // 商户相关字段 createReqDTO.setMerchantOrderId(String.valueOf(order.getId())); - String subject = orderItems.get(0).getProdName(); + String subject = orderItems.get(0).getSpuName(); subject = StrUtils.maxLength(subject, PayOrderCreateReqDTO.SUBJECT_MAX_LENGTH); // 避免超过 32 位 createReqDTO.setSubject(subject); createReqDTO.setBody(subject); // TODO 芋艿:临时写死 @@ -100,20 +100,15 @@ public interface TradeOrderConvert { return createReqDTO; } - default PageResult convertPage(PageResult pageResult, - List orderItems, - Map memberUserMap) { + default PageResult convertPage(PageResult pageResult, + List orderItems, + Map memberUserMap) { Map> orderItemMap = convertMultiMap(orderItems, TradeOrderItemDO::getOrderId); // 转化 List - List orderVOs = CollectionUtils.convertList(pageResult.getList(), order -> { + List orderVOs = CollectionUtils.convertList(pageResult.getList(), order -> { List xOrderItems = orderItemMap.get(order.getId()); - TradeOrderPageItemRespVO orderVO = convert(order, xOrderItems); + TradeOrderPageRespVO orderVO = convert(order, xOrderItems); // 处理收货地址 - orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId())); - // 增加用户信息 - orderVO.setUser(convertUser(memberUserMap.get(orderVO.getUserId()))); - // 增加推广人信息 - orderVO.setBrokerageUser(convertUser(memberUserMap.get(orderVO.getBrokerageUserId()))); return orderVO; }); return new PageResult<>(orderVOs, pageResult.getTotal()); @@ -121,7 +116,7 @@ public interface TradeOrderConvert { MemberUserRespVO convertUser(MemberUserRespDTO memberUserRespDTO); - TradeOrderPageItemRespVO convert(TradeOrderDO order, List items); + TradeOrderPageRespVO convert(TradeOrderDO order, List items); // ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean); @@ -250,7 +245,7 @@ public interface TradeOrderConvert { ProductSpuRespDTO spu, ProductSkuRespDTO sku) { BrokerageAddReqBO bo = new BrokerageAddReqBO().setBizId(String.valueOf(item.getId())).setSourceUserId(item.getUserId()) .setBasePrice(item.getPayPrice()) - .setTitle(StrUtil.format("{}成功购买{}", user.getNickname(), item.getProdId())) + .setTitle(StrUtil.format("{}成功购买{}", user.getNickname(), item.getSpuId())) .setFirstFixedPrice(0).setSecondFixedPrice(0); if (BooleanUtil.isTrue(spu.getSubCommissionType())) { bo.setFirstFixedPrice(sku.getFirstBrokeragePrice()).setSecondFixedPrice(sku.getSecondBrokeragePrice()); @@ -262,7 +257,7 @@ public interface TradeOrderConvert { List convertList04(List list); @Mappings({ - @Mapping(target = "prodId", source = "item.prodId"), + @Mapping(target = "spuId", source = "item.spuId"), @Mapping(target = "skuId", source = "item.skuId"), @Mapping(target = "count", source = "item.count"), @Mapping(target = "orderId", source = "order.id"), diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/dto/CombinationRecordCreateReqDTO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/dto/CombinationRecordCreateReqDTO.java index b40d7d4..1db81d0 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/dto/CombinationRecordCreateReqDTO.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/dto/CombinationRecordCreateReqDTO.java @@ -20,7 +20,7 @@ public class CombinationRecordCreateReqDTO { * spu 编号 */ @NotNull(message = "spu 编号不能为空") - private Long prodId; + private Long spuId; /** * sku 编号 */ diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderDO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderDO.java index 133a138..9a677ba 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderDO.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderDO.java @@ -62,6 +62,8 @@ public class TradeOrderDO extends BaseDO { * 关联 MemberUserDO 的 id 编号 */ private Long userId; + private String userMobile; + private String userName; /** * 用户 IP */ @@ -76,10 +78,7 @@ public class TradeOrderDO extends BaseDO { * 枚举 {@link TradeOrderStatusEnum} */ private Integer orderStatus; - /** - * 购买的商品数量 - */ - private Integer productCount; + private Integer financeStatus; /** * 订单完成时间 */ @@ -98,6 +97,8 @@ public class TradeOrderDO extends BaseDO { * 商家备注 */ private String merchantRemark; + private String merchantName; + private Long orderCategoryId; /** * 是否评价 * @@ -164,12 +165,9 @@ public class TradeOrderDO extends BaseDO { * 应付金额(总),单位:分 * * = {@link #totalPrice} - * - {@link #couponPrice} - * - {@link #pointPrice} * - {@link #discountPrice} * + {@link #deliveryPrice} * + {@link #adjustPrice} - * - {@link #vipPrice} */ private Integer payPrice; @@ -246,4 +244,8 @@ public class TradeOrderDO extends BaseDO { */ private Integer refundPrice; + private Integer afterSaleStatus; + private Integer subType; + private LocalDateTime subTime; + } diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderItemDO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderItemDO.java index 02ef66f..3d2198a 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderItemDO.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderItemDO.java @@ -2,15 +2,15 @@ package com.tashow.cloud.trade.dal.dataobject.order; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.Version; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; -import com.tashow.cloud.trade.dal.dataobject.aftersale.AfterSaleDO; -import com.tashow.cloud.tradeapi.enums.order.TradeOrderItemAfterSaleStatusEnum; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.List; /** @@ -52,19 +52,22 @@ public class TradeOrderItemDO extends BaseDO { * * 关联 ProductSkuDO 的 spuId 编号 */ - private Long prodId; + private Long spuId; /** * 商品 SPU 名称 * * 冗余 ProductSkuDO 的 spuName 编号 */ - private String prodName; + private String spuName; + + private Integer spuType; /** * 商品 SKU 编号 * * 关联 ProductSkuDO 的 id 编号 */ private Long skuId; + private String skuName; /** * 属性数组,JSON 格式 * @@ -80,15 +83,10 @@ public class TradeOrderItemDO extends BaseDO { * 购买数量 */ private Integer count; - /** - * 是否评价 - * - * true - 已评价 - * false - 未评价 - */ - private Boolean commentStatus; // ========== 价格 + 支付基本信息 ========== + //商品成本 + private Integer expensePrice; /** * 商品原价(单),单位:分 @@ -117,60 +115,25 @@ public class TradeOrderItemDO extends BaseDO { * 应付金额(总),单位:分 * * = {@link #price} * {@link #count} - * - {@link #couponPrice} - * - {@link #pointPrice} * - {@link #discountPrice} * + {@link #deliveryPrice} * + {@link #adjustPrice} - * - {@link #vipPrice} */ private Integer payPrice; + //实收金额 + private Integer livePrice; - // ========== 营销基本信息 ========== + private Integer orderType; + private LocalDateTime orderTime; + private String serveAddress; + private String serveInfo; + private String serveExtInfo; + private String priceExtInfo; - /** - * 优惠劵减免金额,单位:分 - * - * 对应 taobao 的 trade.coupon_fee 字段 - */ - private Integer couponPrice; - /** - * 积分抵扣的金额,单位:分 - * - * 对应 taobao 的 trade.point_fee 字段 - */ - private Integer pointPrice; - /** - * 使用的积分 - * - * 目的:用于后续取消或者售后订单时,需要归还赠送 - */ - private Integer usePoint; - /** - * 赠送的积分 - * - * 目的:用于后续取消或者售后订单时,需要扣减赠送 - */ - private Integer givePoint; - /** - * VIP 减免金额,单位:分 - */ - private Integer vipPrice; + @Version + private Integer version; - // ========== 售后基本信息 ========== - /** - * 售后单编号 - * - * 关联 {@link AfterSaleDO#getId()} 字段 - */ - private Long afterSaleId; - /** - * 售后状态 - * - * 枚举 {@link TradeOrderItemAfterSaleStatusEnum} - */ - private Integer afterSaleStatus; /** * 商品属性 diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderItemMapper.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderItemMapper.java index 912ebe5..6f47448 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderItemMapper.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderItemMapper.java @@ -3,7 +3,6 @@ package com.tashow.cloud.trade.dal.mysql.order; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX; import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX; import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO; @@ -20,8 +19,8 @@ public interface TradeOrderItemMapper extends BaseMapperX { default int updateAfterSaleStatus(Long id, Integer oldAfterSaleStatus, Integer newAfterSaleStatus, Long afterSaleId) { - return update(new TradeOrderItemDO().setAfterSaleStatus(newAfterSaleStatus).setAfterSaleId(afterSaleId), - new LambdaUpdateWrapper<>(new TradeOrderItemDO().setId(id).setAfterSaleStatus(oldAfterSaleStatus))); + return 1;// update(new TradeOrderItemDO().setAfterSaleStatus(newAfterSaleStatus).setAfterSaleId(afterSaleId), + //new LambdaUpdateWrapper<>(new TradeOrderItemDO().setId(id).setAfterSaleStatus(oldAfterSaleStatus))); } default List selectListByOrderId(Long orderId) { @@ -41,7 +40,8 @@ public interface TradeOrderItemMapper extends BaseMapperX { default List selectListByOrderIdAndCommentStatus(Long orderId, Boolean commentStatus) { return selectList(new LambdaQueryWrapperX() .eq(TradeOrderItemDO::getOrderId, orderId) - .eq(TradeOrderItemDO::getCommentStatus, commentStatus)); +// .eq(TradeOrderItemDO::getCommentStatus, commentStatus) + ); } default int selectProductSumByOrderId(@Param("orderIds") Set orderIds) { diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderMapper.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderMapper.java index b8e219d..bbd0364 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderMapper.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/mysql/order/TradeOrderMapper.java @@ -1,5 +1,6 @@ package com.tashow.cloud.trade.dal.mysql.order; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.tashow.cloud.common.pojo.PageResult; import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX; @@ -30,18 +31,21 @@ public interface TradeOrderMapper extends BaseMapperX { default PageResult selectPage(TradeOrderPageReqVO reqVO, Set userIds) { return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(TradeOrderDO::getOrderNum, reqVO.getOrderNum()) - .eqIfPresent(TradeOrderDO::getUserId, reqVO.getUserId()) - .eqIfPresent(TradeOrderDO::getDeliveryType, reqVO.getDeliveryType()) - .inIfPresent(TradeOrderDO::getUserId, userIds) - .eqIfPresent(TradeOrderDO::getOrderType, reqVO.getType()) - .eqIfPresent(TradeOrderDO::getOrderStatus, reqVO.getStatus()) - .eqIfPresent(TradeOrderDO::getPayChannelCode, reqVO.getPayChannelCode()) - .eqIfPresent(TradeOrderDO::getOrderTerminal, reqVO.getTerminal()) - .eqIfPresent(TradeOrderDO::getLogisticsId, reqVO.getLogisticsId()) - .inIfPresent(TradeOrderDO::getPickUpStoreId, reqVO.getPickUpStoreIds()) - .likeIfPresent(TradeOrderDO::getPickUpVerifyCode, reqVO.getPickUpVerifyCode()) + .likeIfPresent(TradeOrderDO::getMerchantName, reqVO.getMerchantName()) + .eqIfPresent(TradeOrderDO::getOrderCategoryId, reqVO.getOrderCategoryId()) + .eqIfPresent(TradeOrderDO::getOrderTerminal, reqVO.getOrderTerminal()) + .eqIfPresent(TradeOrderDO::getFinanceStatus, reqVO.getFinanceStatus()) + .eqIfPresent(TradeOrderDO::getAfterSaleStatus, reqVO.getAfterSaleStatus()) + .eqIfPresent(TradeOrderDO::getSubType, reqVO.getSubType()) + .betweenIfPresent(TradeOrderDO::getSubTime, reqVO.getSubTime()) .betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime()) + .and(StrUtil.isNotBlank(reqVO.getProdSearch()), + qw->qw.like(TradeOrderDO::getOrderNum, reqVO.getProdSearch()) + .or().like(TradeOrderDO::getOrderStatus, reqVO.getProdSearch()) + .or().like(TradeOrderDO::getOrderType, reqVO.getProdSearch())) + .and(StrUtil.isNotBlank(reqVO.getUserSearch()), + qw->qw.eq(TradeOrderDO::getUserMobile, reqVO.getUserSearch()) + .or().like(TradeOrderDO::getUserName,reqVO.getProdSearch())) .orderByDesc(TradeOrderDO::getId)); } @@ -51,17 +55,7 @@ public interface TradeOrderMapper extends BaseMapperX { .selectAs(TradeOrderDO::getRefundStatus, TradeOrderDO::getRefundStatus) // 售后状态 .selectCount(TradeOrderDO::getId, "count") // 售后状态对应的数量 .selectSum(TradeOrderDO::getPayPrice, "price") // 售后状态对应的支付金额 - .likeIfPresent(TradeOrderDO::getOrderNum, reqVO.getOrderNum()) - .eqIfPresent(TradeOrderDO::getUserId, reqVO.getUserId()) - .eqIfPresent(TradeOrderDO::getDeliveryType, reqVO.getDeliveryType()) .inIfPresent(TradeOrderDO::getUserId, userIds) - .eqIfPresent(TradeOrderDO::getOrderType, reqVO.getType()) - .eqIfPresent(TradeOrderDO::getOrderStatus, reqVO.getStatus()) - .eqIfPresent(TradeOrderDO::getPayChannelCode, reqVO.getPayChannelCode()) - .eqIfPresent(TradeOrderDO::getOrderTerminal, reqVO.getTerminal()) - .eqIfPresent(TradeOrderDO::getLogisticsId, reqVO.getLogisticsId()) - .inIfPresent(TradeOrderDO::getPickUpStoreId, reqVO.getPickUpStoreIds()) - .likeIfPresent(TradeOrderDO::getPickUpVerifyCode, reqVO.getPickUpVerifyCode()) .betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime()) .groupBy(TradeOrderDO::getRefundStatus)); // 按售后状态分组 } diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/aftersale/AfterSaleServiceImpl.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/aftersale/AfterSaleServiceImpl.java index fc54f80..a18efa6 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/aftersale/AfterSaleServiceImpl.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/aftersale/AfterSaleServiceImpl.java @@ -122,7 +122,7 @@ public class AfterSaleServiceImpl implements AfterSaleService { throw exception(ORDER_ITEM_NOT_FOUND); } // 已申请售后,不允许再发起售后申请 - if (!TradeOrderItemAfterSaleStatusEnum.isNone(orderItem.getAfterSaleStatus())) { + if (!TradeOrderItemAfterSaleStatusEnum.isNone(1)) { throw exception(AFTER_SALE_CREATE_FAIL_ORDER_ITEM_APPLIED); } // 申请的退款金额,不能超过商品的价格 diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/TradeOrderUpdateServiceImpl.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/TradeOrderUpdateServiceImpl.java index 0790c1b..78d54be 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/TradeOrderUpdateServiceImpl.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/TradeOrderUpdateServiceImpl.java @@ -157,7 +157,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { TradePriceCalculateRespBO calculateRespBO = calculatePrice(userId, createReqVO); // 1.2 构建订单 TradeOrderDO order = null;// buildTradeOrder(userId, createReqVO, calculateRespBO); - List orderItems =null;// buildTradeOrderItems(order, calculateRespBO); + List orderItems = null;// buildTradeOrderItems(order, calculateRespBO); // 2. 订单创建前的逻辑 tradeOrderHandlers.forEach(handler -> handler.beforeOrderCreate(order, orderItems)); @@ -227,9 +227,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { // 3. 生成预支付 // 特殊情况:积分兑换时,可能支付金额为零 - if (order.getPayPrice() > 0) { - createPayOrder(order, orderItems); - } + createPayOrder(order, orderItems); // 4. 插入订单日志 TradeOrderLogUtils.setOrderInfo(order.getId(), null, order.getOrderStatus()); @@ -787,7 +785,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { */ private boolean isAllOrderItemAfterSaleSuccess(Long id) { List orderItems = tradeOrderItemMapper.selectListByOrderId(id); - return orderItems.stream().allMatch(orderItem -> Objects.equals(orderItem.getAfterSaleStatus(), + return orderItems.stream().allMatch(orderItem -> Objects.equals(1, TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus())); } @@ -923,7 +921,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { createOrderItemComment0(orderItem, commentCreateReqVO); // 2.2 更新订单项评价状态 - tradeOrderItemMapper.updateById(new TradeOrderItemDO().setId(orderItem.getId()).setCommentStatus(Boolean.TRUE)); + tradeOrderItemMapper.updateById(new TradeOrderItemDO().setId(orderItem.getId())); } // 3. 所有订单项都评论了,则更新订单评价状态 @@ -946,8 +944,8 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { // Long commentId = productCommentApi.createComment(productCommentCreateReqDTO).getCheckedData(); // 2. 更新订单项评价状态 - tradeOrderItemMapper.updateById(new TradeOrderItemDO().setId(orderItem.getId()).setCommentStatus(Boolean.TRUE)); - return 0l;//commentId; + tradeOrderItemMapper.updateById(new TradeOrderItemDO().setId(orderItem.getId())); + return 0l;//commentId; } // =================== 营销相关的操作 =================== diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/handler/TradeOrderHandler.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/handler/TradeOrderHandler.java index 966b6d0..89e3798 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/handler/TradeOrderHandler.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/service/order/handler/TradeOrderHandler.java @@ -73,7 +73,7 @@ public interface TradeOrderHandler { */ default List filterOrderItemListByNoneAfterSale(List orderItems) { return CollectionUtils.filterList(orderItems, - item -> TradeOrderItemAfterSaleStatusEnum.isNone(item.getAfterSaleStatus())); + item -> TradeOrderItemAfterSaleStatusEnum.isNone(1)); } } diff --git a/tashow-module/tashow-module-trade/src/main/resources/application-local.yaml b/tashow-module/tashow-module-trade/src/main/resources/application-local.yaml index 6c3c17e..e3f26db 100644 --- a/tashow-module/tashow-module-trade/src/main/resources/application-local.yaml +++ b/tashow-module/tashow-module-trade/src/main/resources/application-local.yaml @@ -1,9 +1,9 @@ spring: cloud: nacos: - server-addr: localhost:8848 # Nacos 服务器地址 -# username: nacos # Nacos 账号 -# password: nacos # Nacos 密码 + server-addr: 43.139.42.137:8848 # Nacos 服务器地址 + username: nacos # Nacos 账号 + password: nacos # Nacos 密码 discovery: # 【配置中心】配置项 namespace: dev # 命名空间。这里使用 dev 开发环境 group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/PayClientFactory.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/PayClientFactory.java index 57a1093..96888da 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/PayClientFactory.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/PayClientFactory.java @@ -1,7 +1,7 @@ package com.tashow.cloud.sdk.payment.client; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; /** * 支付客户端的工厂接口 @@ -33,6 +33,6 @@ public interface PayClientFactory { * @param channel 支付渠道的编码的枚举 * @param payClientClass 支付客户端 class */ - void registerPayClientClass(PayChannelEnum channel, Class payClientClass); + void registerPayClientClass(PayTypeEnum channel, Class payClientClass); } diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/PayClientFactoryImpl.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/PayClientFactoryImpl.java index cf29aed..4f4e69e 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/PayClientFactoryImpl.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/PayClientFactoryImpl.java @@ -7,14 +7,14 @@ import com.tashow.cloud.sdk.payment.client.PayClientConfig; import com.tashow.cloud.sdk.payment.client.PayClientFactory; import com.tashow.cloud.sdk.payment.client.impl.alipay.*; import com.tashow.cloud.sdk.payment.client.impl.weixin.*; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import lombok.extern.slf4j.Slf4j; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import static com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum.*; +import static com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum.*; /** @@ -35,7 +35,7 @@ public class PayClientFactoryImpl implements PayClientFactory { /** * 支付客户端 Class Map */ - private final Map> clientClass = new ConcurrentHashMap<>(); + private final Map> clientClass = new ConcurrentHashMap<>(); public PayClientFactoryImpl() { // 微信支付客户端 @@ -56,7 +56,7 @@ public class PayClientFactoryImpl implements PayClientFactory { } @Override - public void registerPayClientClass(PayChannelEnum channel, Class payClientClass) { + public void registerPayClientClass(PayTypeEnum channel, Class payClientClass) { clientClass.put(channel, payClientClass); } @@ -87,7 +87,7 @@ public class PayClientFactoryImpl implements PayClientFactory { @SuppressWarnings("unchecked") private AbstractPayClient createPayClient(Long channelId, String channelCode, Config config) { - PayChannelEnum channelEnum = PayChannelEnum.getByCode(channelCode); + PayTypeEnum channelEnum = PayTypeEnum.getByCode(channelCode); Assert.notNull(channelEnum, String.format("支付渠道(%s) 为空", channelCode)); Class payClientClass = clientClass.get(channelEnum); Assert.notNull(payClientClass, String.format("支付渠道(%s) Class 为空", channelCode)); diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayAppPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayAppPayClient.java index 1067ab8..f8738b2 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayAppPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayAppPayClient.java @@ -6,7 +6,7 @@ import com.alipay.api.request.AlipayTradeAppPayRequest; import com.alipay.api.response.AlipayTradeAppPayResponse; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j; public class AlipayAppPayClient extends AbstractAlipayPayClient { public AlipayAppPayClient(Long channelId, AlipayPayClientConfig config) { - super(channelId, PayChannelEnum.ALIPAY_APP.getCode(), config); + super(channelId, PayTypeEnum.ALIPAY_APP.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayBarPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayBarPayClient.java index 3466dd2..a4fb081 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayBarPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayBarPayClient.java @@ -9,7 +9,7 @@ import com.alipay.api.request.AlipayTradePayRequest; import com.alipay.api.response.AlipayTradePayResponse; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -32,7 +32,7 @@ import static com.tashow.cloud.sdk.payment.client.impl.alipay.AlipayPayClientCon public class AlipayBarPayClient extends AbstractAlipayPayClient { public AlipayBarPayClient(Long channelId, AlipayPayClientConfig config) { - super(channelId, PayChannelEnum.ALIPAY_BAR.getCode(), config); + super(channelId, PayTypeEnum.ALIPAY_BAR.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayPcPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayPcPayClient.java index 0e45d45..1cdefed 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayPcPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayPcPayClient.java @@ -8,7 +8,7 @@ import com.alipay.api.request.AlipayTradePagePayRequest; import com.alipay.api.response.AlipayTradePagePayResponse; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -25,7 +25,7 @@ import java.util.Objects; public class AlipayPcPayClient extends AbstractAlipayPayClient { public AlipayPcPayClient(Long channelId, AlipayPayClientConfig config) { - super(channelId, PayChannelEnum.ALIPAY_PC.getCode(), config); + super(channelId, PayTypeEnum.ALIPAY_PC.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayQrPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayQrPayClient.java index 9995ef4..449993c 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayQrPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayQrPayClient.java @@ -6,7 +6,7 @@ import com.alipay.api.request.AlipayTradePrecreateRequest; import com.alipay.api.response.AlipayTradePrecreateResponse; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -26,7 +26,7 @@ import static com.tashow.cloud.sdk.payment.client.impl.alipay.AlipayPayClientCon public class AlipayQrPayClient extends AbstractAlipayPayClient { public AlipayQrPayClient(Long channelId, AlipayPayClientConfig config) { - super(channelId, PayChannelEnum.ALIPAY_QR.getCode(), config); + super(channelId, PayTypeEnum.ALIPAY_QR.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayWapPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayWapPayClient.java index 560fdd8..3832d7a 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayWapPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/alipay/AlipayWapPayClient.java @@ -7,7 +7,7 @@ import com.alipay.api.request.AlipayTradeWapPayRequest; import com.alipay.api.response.AlipayTradeWapPayResponse; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -22,7 +22,7 @@ import lombok.extern.slf4j.Slf4j; public class AlipayWapPayClient extends AbstractAlipayPayClient { public AlipayWapPayClient(Long channelId, AlipayPayClientConfig config) { - super(channelId, PayChannelEnum.ALIPAY_WAP.getCode(), config); + super(channelId, PayTypeEnum.ALIPAY_WAP.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxAppPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxAppPayClient.java index aa0eb68..c3c7d2b 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxAppPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxAppPayClient.java @@ -9,7 +9,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants; import com.github.binarywang.wxpay.exception.WxPayException; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -29,7 +29,7 @@ import static com.tashow.cloud.common.util.json.JsonUtils.toJsonString; public class WxAppPayClient extends AbstractWxPayClient { public WxAppPayClient(Long channelId, WxPayClientConfig config) { - super(channelId, PayChannelEnum.WX_APP.getCode(), config); + super(channelId, PayTypeEnum.WX_APP.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxBarPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxBarPayClient.java index 21c17e8..8200fc2 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxBarPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxBarPayClient.java @@ -10,7 +10,7 @@ import com.github.binarywang.wxpay.exception.WxPayException; import com.tashow.cloud.common.util.date.LocalDateTimeUtils; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -38,7 +38,7 @@ public class WxBarPayClient extends AbstractWxPayClient { private static final Duration AUTH_CODE_EXPIRE = Duration.ofMinutes(3); public WxBarPayClient(Long channelId, WxPayClientConfig config) { - super(channelId, PayChannelEnum.WX_BAR.getCode(), config); + super(channelId, PayTypeEnum.WX_BAR.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxLitePayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxLitePayClient.java index 0f764fb..3e38f0f 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxLitePayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxLitePayClient.java @@ -1,6 +1,6 @@ package com.tashow.cloud.sdk.payment.client.impl.weixin; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import lombok.extern.slf4j.Slf4j; /** @@ -16,7 +16,7 @@ import lombok.extern.slf4j.Slf4j; public class WxLitePayClient extends WxPubPayClient { public WxLitePayClient(Long channelId, WxPayClientConfig config) { - super(channelId, PayChannelEnum.WX_LITE.getCode(), config); + super(channelId, PayTypeEnum.WX_LITE.getCode(), config); } } diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxNativePayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxNativePayClient.java index 55423fc..80a8b70 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxNativePayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxNativePayClient.java @@ -8,7 +8,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants; import com.github.binarywang.wxpay.exception.WxPayException; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j; public class WxNativePayClient extends AbstractWxPayClient { public WxNativePayClient(Long channelId, WxPayClientConfig config) { - super(channelId, PayChannelEnum.WX_NATIVE.getCode(), config); + super(channelId, PayTypeEnum.WX_NATIVE.getCode(), config); } @Override diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxPubPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxPubPayClient.java index d694052..5193825 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxPubPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxPubPayClient.java @@ -11,7 +11,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants; import com.github.binarywang.wxpay.exception.WxPayException; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -30,7 +30,7 @@ import static com.tashow.cloud.common.util.json.JsonUtils.toJsonString; public class WxPubPayClient extends AbstractWxPayClient { public WxPubPayClient(Long channelId, WxPayClientConfig config) { - super(channelId, PayChannelEnum.WX_PUB.getCode(), config); + super(channelId, PayTypeEnum.WX_PUB.getCode(), config); } protected WxPubPayClient(Long channelId, String channelCode, WxPayClientConfig config) { diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxWapPayClient.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxWapPayClient.java index 731f377..3e08248 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxWapPayClient.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/client/impl/weixin/WxWapPayClient.java @@ -8,7 +8,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants; import com.github.binarywang.wxpay.exception.WxPayException; import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO; import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO; -import com.tashow.cloud.sdk.payment.enums.channel.PayChannelEnum; +import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum; import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum; import lombok.extern.slf4j.Slf4j; @@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j; public class WxWapPayClient extends AbstractWxPayClient { public WxWapPayClient(Long channelId, WxPayClientConfig config) { - super(channelId, PayChannelEnum.WX_WAP.getCode(), config); + super(channelId, PayTypeEnum.WX_WAP.getCode(), config); } protected WxWapPayClient(Long channelId, String channelCode, WxPayClientConfig config) { diff --git a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/enums/channel/PayChannelEnum.java b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/enums/channel/PayTypeEnum.java similarity index 92% rename from tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/enums/channel/PayChannelEnum.java rename to tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/enums/channel/PayTypeEnum.java index efb0eff..b11e7a0 100644 --- a/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/enums/channel/PayChannelEnum.java +++ b/tashow-sdk/tashow-sdk-payment/src/main/java/com/tashow/cloud/sdk/payment/enums/channel/PayTypeEnum.java @@ -14,7 +14,7 @@ import lombok.Getter; */ @Getter @AllArgsConstructor -public enum PayChannelEnum { +public enum PayTypeEnum { WX_PUB("wx_pub", "微信 JSAPI 支付", WxPayClientConfig.class), // 公众号网页 WX_LITE("wx_lite", "微信小程序支付", WxPayClientConfig.class), @@ -55,8 +55,12 @@ public enum PayChannelEnum { * 支付宝支付 */ public static final String ALIPAY = "ALIPAY"; + /** + * 云闪付支付 + */ + public static final String CLOUDPAY = "CLOUDPAY"; - public static PayChannelEnum getByCode(String code) { + public static PayTypeEnum getByCode(String code) { return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values()); }