diff --git a/kernel-d-seata/README.md b/kernel-d-seata/README.md deleted file mode 100644 index aff0b4426..000000000 --- a/kernel-d-seata/README.md +++ /dev/null @@ -1 +0,0 @@ -分布式事务Seata模块 diff --git a/kernel-d-seata/db/db.sql b/kernel-d-seata/db/db.sql deleted file mode 100644 index dbd4925a7..000000000 --- a/kernel-d-seata/db/db.sql +++ /dev/null @@ -1,111 +0,0 @@ - --- ---------------------------- --- 订单库 --- ---------------------------- -DROP DATABASE IF EXISTS `order`; -CREATE DATABASE IF NOT EXISTS `order` DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; - -USE `order`; - -DROP TABLE IF EXISTS `order_info`; -CREATE TABLE `order_info` ( - `order_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单ID', - `product_id` bigint(20) NOT NULL COMMENT '商品ID', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `prod_price` double(8, 2) NOT NULL COMMENT '商品单价', - `prod_number` int(11) NOT NULL COMMENT '商品数量', - `total_amount` double(10, 2) NOT NULL COMMENT '总价', - `pay_status` int(11) NOT NULL COMMENT '支付状态:1待支付,2已支付,3支付失败,已取消', - `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新者', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`order_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单表' ROW_FORMAT = Dynamic; - -DROP TABLE IF EXISTS `undo_log`; -CREATE TABLE `undo_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `branch_id` bigint(20) NOT NULL, - `xid` varchar(100) NOT NULL, - `context` varchar(128) NOT NULL, - `rollback_info` longblob NOT NULL, - `log_status` int(11) NOT NULL, - `log_created` datetime NOT NULL, - `log_modified` datetime NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT = 'seata事务记录'; - - --- ---------------------------- --- 仓储库 --- ---------------------------- -DROP DATABASE IF EXISTS `storage`; -CREATE DATABASE IF NOT EXISTS `storage` DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; - -USE `storage`; - -DROP TABLE IF EXISTS `product_info`; -CREATE TABLE `product_info` ( - `prod_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品ID', - `prod_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `inventory` int(11) NOT NULL COMMENT '库存数量', - `prod_price` double(8, 2) NOT NULL COMMENT '商品单价', - `prod_status` int(11) NOT NULL COMMENT '上架状态:1上架,2下架', - `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建者', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新者', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`prod_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '商品表' ROW_FORMAT = Dynamic; - -DROP TABLE IF EXISTS `undo_log`; -CREATE TABLE `undo_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `branch_id` bigint(20) NOT NULL, - `xid` varchar(100) NOT NULL, - `context` varchar(128) NOT NULL, - `rollback_info` longblob NOT NULL, - `log_status` int(11) NOT NULL, - `log_created` datetime NOT NULL, - `log_modified` datetime NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT = 'seata事务记录'; - - --- ---------------------------- --- 用户库 --- ---------------------------- -DROP DATABASE IF EXISTS `member`; -CREATE DATABASE IF NOT EXISTS `member` DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; - -USE `member`; - -DROP TABLE IF EXISTS `member_wallet`; -CREATE TABLE `member_wallet` ( - `member_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '会员ID', - `member_balance` double(8, 2) DEFAULT '0.00' COMMENT '会员余额', - `member_integral` double(8, 2) DEFAULT '0.00' COMMENT '会员积分', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新者', - `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - PRIMARY KEY (`member_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户钱包' ROW_FORMAT = Dynamic; - -DROP TABLE IF EXISTS `undo_log`; -CREATE TABLE `undo_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `branch_id` bigint(20) NOT NULL, - `xid` varchar(100) NOT NULL, - `context` varchar(128) NOT NULL, - `rollback_info` longblob NOT NULL, - `log_status` int(11) NOT NULL, - `log_created` datetime NOT NULL, - `log_modified` datetime NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT = 'seata事务记录'; diff --git a/kernel-d-seata/doc/seata使用手册.docx b/kernel-d-seata/doc/seata使用手册.docx deleted file mode 100644 index 9b129bfc0..000000000 Binary files a/kernel-d-seata/doc/seata使用手册.docx and /dev/null differ diff --git a/kernel-d-seata/pom.xml b/kernel-d-seata/pom.xml deleted file mode 100644 index 1a081cb98..000000000 --- a/kernel-d-seata/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - 4.0.0 - - - cn.stylefeng.roses - roses-kernel - 7.6.0 - ../pom.xml - - - kernel-d-seata - - pom - - - seata-demo-wallet-api - seata-demo-storage-api - seata-demo-order - - - - - - - cn.stylefeng.roses - kernel-a-rule - ${roses.version} - - - - - diff --git a/kernel-d-seata/seata-demo-order/pom.xml b/kernel-d-seata/seata-demo-order/pom.xml deleted file mode 100644 index 2bf7dd635..000000000 --- a/kernel-d-seata/seata-demo-order/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - 4.0.0 - - - cn.stylefeng.roses - kernel-d-seata - 7.6.0 - ../pom.xml - - - seata-demo-order - - jar - - - - - org.springframework.cloud - spring-cloud-openfeign-core - ${openfeign.version} - - - - - cn.stylefeng.roses - seata-demo-storage-api - ${roses.version} - - - cn.stylefeng.roses - seata-demo-wallet-api - ${roses.version} - - - - - io.seata - seata-all - ${seata.all.version} - - - - - - cn.stylefeng.roses - scanner-api - ${roses.version} - - - - - diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/consumer/StorageConsumer.java b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/consumer/StorageConsumer.java deleted file mode 100644 index dbe8b44dd..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/consumer/StorageConsumer.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.order.consumer; - -import cn.stylefeng.roses.kernel.seata.api.StorageApi; -import org.springframework.cloud.openfeign.FeignClient; - -/** - * 仓储 api - * - * @author wangyl - * @since 2021/04/10 16:42 - */ -@FeignClient(name = "seata-demo-storage") -public interface StorageConsumer extends StorageApi { -} diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/consumer/WalletConsumer.java b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/consumer/WalletConsumer.java deleted file mode 100644 index b8210ccf8..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/consumer/WalletConsumer.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.order.consumer; - -import cn.stylefeng.roses.kernel.seata.wallet.api.WalletApi; -import org.springframework.cloud.openfeign.FeignClient; - -/** - * 用户钱包 api - * - * @author wangyl - * @since 2021/04/10 16:42 - */ -@FeignClient(name = "seata-demo-wallet") -public interface WalletConsumer extends WalletApi { -} diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/controller/OrderController.java b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/controller/OrderController.java deleted file mode 100644 index 8cb2361d2..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/controller/OrderController.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.order.controller; - -import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum; -import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; -import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; -import cn.stylefeng.roses.kernel.seata.order.entity.Order; -import cn.stylefeng.roses.kernel.seata.order.service.OrderService; -import org.springframework.web.bind.annotation.RequestParam; - -import javax.annotation.Resource; - -/** - * 订单接口 - * - * @author wangyl - * @since 2021/04/10 16:42 - */ -@ApiResource(name = "订单接口(测试seata)", resBizType = ResBizTypeEnum.SYSTEM) -public class OrderController { - - @Resource - private OrderService orderService; - - /** - * 创建订单 - * - * @author wangyl - * @since 2021/4/20 20:11 - */ - @GetResource(name = "创建订单", path = "/order/create", requiredPermission = false, requiredLogin = false) - public Order create(@RequestParam("userId") String userId, @RequestParam("commodityCode") String commodityCode, @RequestParam("orderCount") Integer orderCount) { - return orderService.create(userId, commodityCode, orderCount); - } - -} diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/entity/Order.java b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/entity/Order.java deleted file mode 100644 index ae5525f51..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/entity/Order.java +++ /dev/null @@ -1,169 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.order.entity; - -import java.io.Serializable; -import java.util.Date; - -/** - * 订单 实体类 - * - * @author wangyl - * @since 2021/04/21 08:33 - */ -public class Order implements Serializable { - - /** - * 订单ID - */ - private Long orderId; - - /** - * 商品ID - */ - private Long productId; - - /** - * 用户ID - */ - private Long userId; - - /** - * 商品单价 - */ - private Integer prodPrice; - - /** - * 商品数量 - */ - private Integer prodNumber; - - /** - * 总价 - */ - private Integer totalAmount; - - /** - * 支付状态:1待支付,2已支付,3支付失败,已取消 - */ - private Integer payStatus; - - /** - * 创建者 - */ - private Long createUser; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 更新者 - */ - private Long updateUser; - - /** - * 更新时间 - */ - private Date updateTime; - - /** - * 备注 - */ - private String remark; - - public Long getOrderId() { - return orderId; - } - - public void setOrderId(Long orderId) { - this.orderId = orderId; - } - - public Long getProductId() { - return productId; - } - - public void setProductId(Long productId) { - this.productId = productId; - } - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public Integer getProdPrice() { - return prodPrice; - } - - public void setProdPrice(Integer prodPrice) { - this.prodPrice = prodPrice; - } - - public Integer getProdNumber() { - return prodNumber; - } - - public void setProdNumber(Integer prodNumber) { - this.prodNumber = prodNumber; - } - - public Integer getTotalAmount() { - return totalAmount; - } - - public void setTotalAmount(Integer totalAmount) { - this.totalAmount = totalAmount; - } - - public Integer getPayStatus() { - return payStatus; - } - - public void setPayStatus(Integer payStatus) { - this.payStatus = payStatus; - } - - public Long getCreateUser() { - return createUser; - } - - public void setCreateUser(Long createUser) { - this.createUser = createUser; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public Long getUpdateUser() { - return updateUser; - } - - public void setUpdateUser(Long updateUser) { - this.updateUser = updateUser; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } -} diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/mapper/OrderMapper.java b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/mapper/OrderMapper.java deleted file mode 100644 index 181d773ad..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/mapper/OrderMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.order.mapper; - -import cn.stylefeng.roses.kernel.seata.order.entity.Order; - -/** - * 订单 数据层 - * - * @author wangyl - * @since 2021/04/21 08:33 - */ -public interface OrderMapper { - - /** - * 新增订单 - * - * @param order 订单 - * @author wangyl - * @since 2021/4/21 9:43 - */ - void insertOrder(Order order); - - /** - * 根据ID查询订单 - * - * @param orderId 订单id - * @author wangyl - * @since 2021/4/21 9:43 - */ - Order selectById(Long orderId); - -} diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/mapper/mapping/OrderMapper.xml b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/mapper/mapping/OrderMapper.xml deleted file mode 100644 index a0d2b0f00..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/mapper/mapping/OrderMapper.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - insert into order( - product_id, - user_id, - prod_price, - prod_number, - total_amount, - pay_status, - create_user, - create_time - update_user, - update_time, - remark, - )values( - #{productId}, - #{userId}, - #{prodPrice}, - #{prodNumber}, - #{totalAmount}, - #{payStatus}, - #{createUser}, - #{createTime} - #{updateUser}, - #{updateTime}, - #{remark}, - ) - - - - - - diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/service/OrderService.java b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/service/OrderService.java deleted file mode 100644 index 87eec2853..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/service/OrderService.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.order.service; - -import cn.stylefeng.roses.kernel.seata.order.entity.Order; - -/** - * 订单 业务层 - * - * @author wangyl - * @since 2021/04/21 08:33 - */ -public interface OrderService { - - /** - * 创建订单 - * - * @param userId 用户ID - * @param commodityCode 商品编码 - * @param orderCount 购买数量 - * @author wangyl - * @since 2021/4/21 9:43 - */ - Order create(String userId, String commodityCode, int orderCount); - -} diff --git a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/service/impl/OrderServiceImpl.java b/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/service/impl/OrderServiceImpl.java deleted file mode 100644 index 913cd3b56..000000000 --- a/kernel-d-seata/seata-demo-order/src/main/java/cn/stylefeng/roses/kernel/seata/order/service/impl/OrderServiceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.order.service.impl; - -import cn.stylefeng.roses.kernel.seata.order.consumer.StorageConsumer; -import cn.stylefeng.roses.kernel.seata.order.consumer.WalletConsumer; -import cn.stylefeng.roses.kernel.seata.order.entity.Order; -import cn.stylefeng.roses.kernel.seata.order.mapper.OrderMapper; -import cn.stylefeng.roses.kernel.seata.order.service.OrderService; -import io.seata.spring.annotation.GlobalTransactional; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -/** - * 订单 业务层 - * - * @author wangyl - * @since 2021/04/21 08:33 - */ -@Service -public class OrderServiceImpl implements OrderService { - - @Resource - private StorageConsumer storageConsumer; - - @Resource - private WalletConsumer walletConsumer; - - @Resource - private OrderMapper orderMapper; - - @GlobalTransactional(rollbackFor = Exception.class) - @Override - public Order create(String userId, String commodityCode, int orderCount) { - Order order = new Order(); - - //保存订单 - orderMapper.insertOrder(order); - - //扣减商品库存 - storageConsumer.deduct(commodityCode, orderCount); - - //扣用户钱 - walletConsumer.debit(userId, order.getTotalAmount()); - - return order; - } - -} diff --git a/kernel-d-seata/seata-demo-storage-api/pom.xml b/kernel-d-seata/seata-demo-storage-api/pom.xml deleted file mode 100644 index 11c9a2697..000000000 --- a/kernel-d-seata/seata-demo-storage-api/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - 4.0.0 - - - cn.stylefeng.roses - kernel-d-seata - 7.6.0 - ../pom.xml - - - seata-demo-storage-api - - jar - - diff --git a/kernel-d-seata/seata-demo-storage-api/src/main/java/cn/stylefeng/roses/kernel/seata/api/StorageApi.java b/kernel-d-seata/seata-demo-storage-api/src/main/java/cn/stylefeng/roses/kernel/seata/api/StorageApi.java deleted file mode 100644 index 8e1cd759c..000000000 --- a/kernel-d-seata/seata-demo-storage-api/src/main/java/cn/stylefeng/roses/kernel/seata/api/StorageApi.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.api; - -/** - * 仓储 api - * - * @author wangyl - * @since 2021/04/10 16:42 - */ -public interface StorageApi { - - /** - * 扣除存储数量 - * - * @param commodityCode 商品编码 - * @param count 购买数量 - * @author wangyl - * @since 2021/4/21 9:44 - */ - void deduct(String commodityCode, Integer count); - -} diff --git a/kernel-d-seata/seata-demo-wallet-api/pom.xml b/kernel-d-seata/seata-demo-wallet-api/pom.xml deleted file mode 100644 index 4285441dd..000000000 --- a/kernel-d-seata/seata-demo-wallet-api/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - 4.0.0 - - - cn.stylefeng.roses - kernel-d-seata - 7.6.0 - ../pom.xml - - - seata-demo-wallet-api - - jar - - diff --git a/kernel-d-seata/seata-demo-wallet-api/src/main/java/cn/stylefeng/roses/kernel/seata/wallet/api/WalletApi.java b/kernel-d-seata/seata-demo-wallet-api/src/main/java/cn/stylefeng/roses/kernel/seata/wallet/api/WalletApi.java deleted file mode 100644 index 10e8adde2..000000000 --- a/kernel-d-seata/seata-demo-wallet-api/src/main/java/cn/stylefeng/roses/kernel/seata/wallet/api/WalletApi.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.stylefeng.roses.kernel.seata.wallet.api; - -/** - * 用户钱包 api - * - * @author wangyl - * @since 2021/04/10 16:42 - */ -public interface WalletApi { - - /** - * 从用户账户中扣除余额 - * - * @param userId 用户ID - * @param money 消费金额 - * @author wangyl - * @since 2021/4/21 9:44 - */ - void debit(String userId, Integer money); - -} diff --git a/pom.xml b/pom.xml index a8e82acc3..bfa1540d2 100644 --- a/pom.xml +++ b/pom.xml @@ -106,9 +106,6 @@ kernel-s-system - - kernel-d-seata - kernel-d-socket @@ -149,7 +146,6 @@ 3.2.1 2.5.0 2.2.6.RELEASE - 1.3.0 1.68 1.6.12