diff --git a/blade-common/pom.xml b/blade-common/pom.xml index d48104b3a..dea99a54b 100644 --- a/blade-common/pom.xml +++ b/blade-common/pom.xml @@ -5,7 +5,7 @@ BladeX-Biz org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 diff --git a/blade-example-api/blade-dubbo-provider-api/pom.xml b/blade-example-api/blade-dubbo-provider-api/pom.xml index 0a9e8e382..16c1c77b0 100644 --- a/blade-example-api/blade-dubbo-provider-api/pom.xml +++ b/blade-example-api/blade-dubbo-provider-api/pom.xml @@ -5,7 +5,7 @@ blade-example-api org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 diff --git a/blade-example-api/pom.xml b/blade-example-api/pom.xml index 0aed9c518..34e79aa10 100644 --- a/blade-example-api/pom.xml +++ b/blade-example-api/pom.xml @@ -5,13 +5,13 @@ BladeX-Biz org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 blade-example-api ${project.artifactId} - 2.0.7.RELEASE + 2.1.0.RELEASE pom BladeX 微服务范例API集合 diff --git a/blade-example/blade-dubbo-consumer/pom.xml b/blade-example/blade-dubbo-consumer/pom.xml index 06b579661..d82b291f6 100644 --- a/blade-example/blade-dubbo-consumer/pom.xml +++ b/blade-example/blade-dubbo-consumer/pom.xml @@ -5,7 +5,7 @@ blade-example org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 diff --git a/blade-example/blade-dubbo-provider/pom.xml b/blade-example/blade-dubbo-provider/pom.xml index b4b9237c4..e599da95e 100644 --- a/blade-example/blade-dubbo-provider/pom.xml +++ b/blade-example/blade-dubbo-provider/pom.xml @@ -5,7 +5,7 @@ blade-example org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 diff --git a/blade-example/blade-seata-order/README.md b/blade-example/blade-seata-order/README.md new file mode 100644 index 000000000..d8e10fddf --- /dev/null +++ b/blade-example/blade-seata-order/README.md @@ -0,0 +1,30 @@ +-- 创建 order库、业务表、undo_log表 +create database seata_order; +use seata_order; + +DROP TABLE IF EXISTS `tb_order`; +CREATE TABLE `tb_order` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` varchar(255) DEFAULT NULL, + `commodity_code` varchar(255) DEFAULT NULL, + `count` int(11) DEFAULT 0, + `money` int(11) DEFAULT 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +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, + `ext` VARCHAR(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8; \ No newline at end of file diff --git a/blade-example/blade-seata-order/pom.xml b/blade-example/blade-seata-order/pom.xml new file mode 100644 index 000000000..97ad9e822 --- /dev/null +++ b/blade-example/blade-seata-order/pom.xml @@ -0,0 +1,30 @@ + + + + blade-example + org.springblade + 2.1.0.RELEASE + + 4.0.0 + + blade-seata-order + ${project.artifactId} + ${bladex.project.version} + jar + + + + org.springblade + blade-core-boot + ${bladex.tool.version} + + + org.springblade + blade-starter-transaction + ${bladex.tool.version} + + + + diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/SeataOrderApplication.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/SeataOrderApplication.java new file mode 100644 index 000000000..a252b61a0 --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/SeataOrderApplication.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springblade.seata.order; + +import org.springblade.core.cloud.feign.EnableBladeFeign; +import org.springblade.core.launch.BladeApplication; +import org.springblade.core.transaction.annotation.SeataCloudApplication; + +/** + * Order启动器 + * + * @author Chill + */ +@EnableBladeFeign +@SeataCloudApplication +public class SeataOrderApplication { + + public static void main(String[] args) { + BladeApplication.run("blade-seata-order", SeataOrderApplication.class, args); + } + +} + diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/controller/OrderController.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/controller/OrderController.java new file mode 100644 index 000000000..930856872 --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/controller/OrderController.java @@ -0,0 +1,34 @@ +package org.springblade.seata.order.controller; + +import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springblade.seata.order.service.IOrderService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * OrderController + * + * @author Chill + */ +@RestController +@RequestMapping("order") +@AllArgsConstructor +public class OrderController { + + private IOrderService orderService; + + /** + * 创建订单 + * + * @param userId 用户id + * @param commodityCode 商品代码 + * @param count 数量 + * @return boolean + */ + @RequestMapping("/create") + public R createOrder(String userId, String commodityCode, Integer count) { + return R.status(orderService.createOrder(userId, commodityCode, count)); + } + +} diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/entity/Order.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/entity/Order.java new file mode 100644 index 000000000..8ccac26af --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/entity/Order.java @@ -0,0 +1,31 @@ +package org.springblade.seata.order.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * Order + * + * @author Chill + */ +@Data +@Accessors(chain = true) +@TableName("tb_order") +public class Order implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + private String userId; + private String commodityCode; + private Integer count; + private BigDecimal money; + +} diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/feign/IStorageClient.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/feign/IStorageClient.java new file mode 100644 index 000000000..1312d8b69 --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/feign/IStorageClient.java @@ -0,0 +1,25 @@ +package org.springblade.seata.order.feign; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * StorageClient + * + * @author Chill + */ +@FeignClient(name = "blade-seata-storage", fallback = StorageClientFallback.class) +public interface IStorageClient { + + /** + * 减库存 + * + * @param commodityCode 商品代码 + * @param count 数量 + * @return boolean + */ + @GetMapping("/deduct") + int deduct(@RequestParam("commodityCode") String commodityCode, @RequestParam("count") Integer count); + +} diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/feign/StorageClientFallback.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/feign/StorageClientFallback.java new file mode 100644 index 000000000..6bfaeef7f --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/feign/StorageClientFallback.java @@ -0,0 +1,18 @@ +package org.springblade.seata.order.feign; + +import org.springframework.stereotype.Component; + +/** + * StorageClientFallback + * + * @author Chill + */ +@Component +public class StorageClientFallback implements IStorageClient { + + @Override + public int deduct(String commodityCode, Integer count) { + return -1; + } + +} diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/mapper/OrderMapper.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/mapper/OrderMapper.java new file mode 100644 index 000000000..078c9808f --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/mapper/OrderMapper.java @@ -0,0 +1,12 @@ +package org.springblade.seata.order.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.seata.order.entity.Order; + +/** + * OrderMapper + * + * @author Chill + */ +public interface OrderMapper extends BaseMapper { +} diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/mapper/OrderMapper.xml b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/mapper/OrderMapper.xml new file mode 100644 index 000000000..da6e86c06 --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/mapper/OrderMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/service/IOrderService.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/service/IOrderService.java new file mode 100644 index 000000000..81a3a4d3b --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/service/IOrderService.java @@ -0,0 +1,23 @@ +package org.springblade.seata.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.springblade.seata.order.entity.Order; + +/** + * IOrderService + * + * @author Chill + */ +public interface IOrderService extends IService { + + /** + * 创建订单 + * + * @param userId 用户id + * @param commodityCode 商品代码 + * @param count 数量 + * @return boolean + */ + boolean createOrder(String userId, String commodityCode, Integer count); + +} diff --git a/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/service/impl/OrderServiceImpl.java b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/service/impl/OrderServiceImpl.java new file mode 100644 index 000000000..388d75fb0 --- /dev/null +++ b/blade-example/blade-seata-order/src/main/java/org/springblade/seata/order/service/impl/OrderServiceImpl.java @@ -0,0 +1,48 @@ +package org.springblade.seata.order.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.seata.spring.annotation.GlobalTransactional; +import lombok.AllArgsConstructor; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.seata.order.entity.Order; +import org.springblade.seata.order.feign.IStorageClient; +import org.springblade.seata.order.mapper.OrderMapper; +import org.springblade.seata.order.service.IOrderService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; + +/** + * OrderServiceImpl + * + * @author Chill + */ +@Service +@AllArgsConstructor +public class OrderServiceImpl extends ServiceImpl implements IOrderService { + + private IStorageClient storageClient; + + @Override + @GlobalTransactional + @Transactional(rollbackFor = Exception.class) + public boolean createOrder(String userId, String commodityCode, Integer count) { + int maxCount = 100; + BigDecimal orderMoney = new BigDecimal(count).multiply(new BigDecimal(5)); + Order order = new Order() + .setUserId(userId) + .setCommodityCode(commodityCode) + .setCount(count) + .setMoney(orderMoney); + int cnt1 = baseMapper.insert(order); + int cnt2 = storageClient.deduct(commodityCode, count); + if (cnt2 < 0) { + throw new ServiceException("创建订单失败"); + } else if (count > maxCount) { + throw new ServiceException("超过订单最大值,创建订单失败"); + } + return cnt1 > 0 && cnt2 > 0; + } + +} diff --git a/blade-example/blade-seata-order/src/main/resources/application-dev.yml b/blade-example/blade-seata-order/src/main/resources/application-dev.yml new file mode 100644 index 000000000..ed2ec0831 --- /dev/null +++ b/blade-example/blade-seata-order/src/main/resources/application-dev.yml @@ -0,0 +1,10 @@ +#服务器端口 +server: + port: 8501 + +#数据源配置 +spring: + datasource: + url: jdbc:mysql://localhost:3306/seata_order?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true + username: root + password: root diff --git a/blade-example/blade-seata-order/src/main/resources/registry.conf b/blade-example/blade-seata-order/src/main/resources/registry.conf new file mode 100644 index 000000000..da0dda80b --- /dev/null +++ b/blade-example/blade-seata-order/src/main/resources/registry.conf @@ -0,0 +1,20 @@ +registry { + # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa + type = "nacos" + + nacos { + serverAddr = "localhost" + namespace = "" + cluster = "default" + } +} + +config { + # file、nacos 、apollo、zk、consul、etcd3 + type = "nacos" + + nacos { + serverAddr = "localhost" + namespace = "" + } +} diff --git a/blade-example/blade-seata-storage/README.md b/blade-example/blade-seata-storage/README.md new file mode 100644 index 000000000..62575a7b1 --- /dev/null +++ b/blade-example/blade-seata-storage/README.md @@ -0,0 +1,33 @@ +-- 创建 storage库、业务表、undo_log表 +create database seata_storage; +use seata_storage; + +DROP TABLE IF EXISTS `tb_storage`; +CREATE TABLE `tb_storage` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `commodity_code` varchar(255) DEFAULT NULL, + `count` int(11) DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY (`commodity_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +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, + `ext` VARCHAR(100) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) +) ENGINE = InnoDB + AUTO_INCREMENT = 1 + DEFAULT CHARSET = utf8; + +-- 初始化库存模拟数据 +INSERT INTO seata_storage.tb_storage (id, commodity_code, count) VALUES (1, 'product-1', 9999999); +INSERT INTO seata_storage.tb_storage (id, commodity_code, count) VALUES (2, 'product-2', 0); \ No newline at end of file diff --git a/blade-example/blade-seata-storage/pom.xml b/blade-example/blade-seata-storage/pom.xml new file mode 100644 index 000000000..1a9cee45a --- /dev/null +++ b/blade-example/blade-seata-storage/pom.xml @@ -0,0 +1,31 @@ + + + + blade-example + org.springblade + 2.1.0.RELEASE + + 4.0.0 + + blade-seata-storage + ${project.artifactId} + ${bladex.project.version} + jar + + + + org.springblade + blade-core-boot + ${bladex.tool.version} + + + org.springblade + blade-starter-transaction + ${bladex.tool.version} + + + + + diff --git a/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/SeataStorageApplication.java b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/SeataStorageApplication.java new file mode 100644 index 000000000..10c719f69 --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/SeataStorageApplication.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springblade.seata.storage; + +import org.springblade.core.cloud.feign.EnableBladeFeign; +import org.springblade.core.launch.BladeApplication; +import org.springblade.core.transaction.annotation.SeataCloudApplication; + +/** + * Storage启动器 + * + * @author Chill + */ +@EnableBladeFeign +@SeataCloudApplication +public class SeataStorageApplication { + + public static void main(String[] args) { + BladeApplication.run("blade-seata-storage", SeataStorageApplication.class, args); + } + +} + diff --git a/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/controller/StorageController.java b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/controller/StorageController.java new file mode 100644 index 000000000..0033d2832 --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/controller/StorageController.java @@ -0,0 +1,30 @@ +package org.springblade.seata.storage.controller; + +import lombok.AllArgsConstructor; +import org.springblade.seata.storage.service.IStorageService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * StorageController + * + * @author Chill + */ +@RestController +@AllArgsConstructor +public class StorageController { + + private IStorageService storageService; + + /** + * 减库存 + * + * @param commodityCode 商品代码 + * @param count 数量 + */ + @RequestMapping(path = "/deduct") + public int deduct(String commodityCode, Integer count) { + return storageService.deduct(commodityCode, count); + } + +} diff --git a/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/entity/Storage.java b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/entity/Storage.java new file mode 100644 index 000000000..73e4935e4 --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/entity/Storage.java @@ -0,0 +1,24 @@ +package org.springblade.seata.storage.entity; + + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * storage + * + * @author Chill + */ +@Data +@TableName("tb_storage") +public class Storage implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; + private String commodityCode; + private Long count; + +} diff --git a/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/mapper/StorageMapper.java b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/mapper/StorageMapper.java new file mode 100644 index 000000000..800ac0172 --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/mapper/StorageMapper.java @@ -0,0 +1,12 @@ +package org.springblade.seata.storage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.seata.storage.entity.Storage; + +/** + * StorageMapper + * + * @author Chill + */ +public interface StorageMapper extends BaseMapper { +} diff --git a/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/mapper/StorageMapper.xml b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/mapper/StorageMapper.xml new file mode 100644 index 000000000..c2c8a9a33 --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/mapper/StorageMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/service/IStorageService.java b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/service/IStorageService.java new file mode 100644 index 000000000..1b2fe400a --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/service/IStorageService.java @@ -0,0 +1,22 @@ +package org.springblade.seata.storage.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.springblade.seata.storage.entity.Storage; + +/** + * IStorageService + * + * @author Chill + */ +public interface IStorageService extends IService { + + /** + * 减库存 + * + * @param commodityCode 商品代码 + * @param count 数量 + * @return boolean + */ + int deduct(String commodityCode, int count); + +} diff --git a/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/service/impl/StorageServiceImpl.java b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/service/impl/StorageServiceImpl.java new file mode 100644 index 000000000..fc1eaccdc --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/java/org/springblade/seata/storage/service/impl/StorageServiceImpl.java @@ -0,0 +1,30 @@ +package org.springblade.seata.storage.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springblade.seata.storage.entity.Storage; +import org.springblade.seata.storage.mapper.StorageMapper; +import org.springblade.seata.storage.service.IStorageService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * StorageServiceImpl + * + * @author Chill + */ +@Service +public class StorageServiceImpl extends ServiceImpl implements IStorageService { + + @Override + @Transactional(rollbackFor = Exception.class) + public int deduct(String commodityCode, int count) { + Storage storage = baseMapper.selectOne(Wrappers.query().lambda().eq(Storage::getCommodityCode, commodityCode)); + if (storage.getCount() < count) { + throw new RuntimeException("超过库存数,扣除失败!"); + } + storage.setCount(storage.getCount() - count); + return baseMapper.updateById(storage); + } + +} diff --git a/blade-example/blade-seata-storage/src/main/resources/application-dev.yml b/blade-example/blade-seata-storage/src/main/resources/application-dev.yml new file mode 100644 index 000000000..35d9cb440 --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/resources/application-dev.yml @@ -0,0 +1,10 @@ +#服务器端口 +server: + port: 8502 + +#数据源配置 +spring: + datasource: + url: jdbc:mysql://localhost:3306/seata_storage?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true + username: root + password: root diff --git a/blade-example/blade-seata-storage/src/main/resources/registry.conf b/blade-example/blade-seata-storage/src/main/resources/registry.conf new file mode 100644 index 000000000..da0dda80b --- /dev/null +++ b/blade-example/blade-seata-storage/src/main/resources/registry.conf @@ -0,0 +1,20 @@ +registry { + # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa + type = "nacos" + + nacos { + serverAddr = "localhost" + namespace = "" + cluster = "default" + } +} + +config { + # file、nacos 、apollo、zk、consul、etcd3 + type = "nacos" + + nacos { + serverAddr = "localhost" + namespace = "" + } +} diff --git a/blade-example/pom.xml b/blade-example/pom.xml index a6d5c2073..dc81b3ff3 100644 --- a/blade-example/pom.xml +++ b/blade-example/pom.xml @@ -5,19 +5,21 @@ BladeX-Biz org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 blade-example ${project.artifactId} - 2.0.7.RELEASE + 2.1.0.RELEASE pom BladeX 微服务范例集合 blade-dubbo-consumer blade-dubbo-provider + blade-seata-order + blade-seata-storage diff --git a/blade-gateway/pom.xml b/blade-gateway/pom.xml index 2f08404ec..db47224dd 100644 --- a/blade-gateway/pom.xml +++ b/blade-gateway/pom.xml @@ -5,7 +5,7 @@ BladeX-Biz org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 diff --git a/blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java b/blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java index 3fa268e8c..dd8c574ea 100644 --- a/blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java +++ b/blade-gateway/src/main/java/org/springblade/gateway/provider/AuthProvider.java @@ -46,6 +46,7 @@ public class AuthProvider { defaultSkipUrl.add("/process/resource-view"); defaultSkipUrl.add("/process/diagram-view"); defaultSkipUrl.add("/manager/check-upload"); + defaultSkipUrl.add("/order/create"); defaultSkipUrl.add("/error/**"); defaultSkipUrl.add("/assets/**"); } diff --git a/blade-service-api/blade-demo-api/pom.xml b/blade-service-api/blade-demo-api/pom.xml index 928bfbf43..cdc20aa77 100644 --- a/blade-service-api/blade-demo-api/pom.xml +++ b/blade-service-api/blade-demo-api/pom.xml @@ -5,7 +5,7 @@ blade-service-api org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 diff --git a/blade-service-api/pom.xml b/blade-service-api/pom.xml index 434714911..1a2d4464f 100644 --- a/blade-service-api/pom.xml +++ b/blade-service-api/pom.xml @@ -5,14 +5,14 @@ BladeX-Biz org.springblade - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 blade-service-api ${project.artifactId} - 2.0.7.RELEASE + 2.1.0.RELEASE pom BladeX 微服务API集合 diff --git a/blade-service/blade-demo/pom.xml b/blade-service/blade-demo/pom.xml index 242e267a6..7030309b2 100644 --- a/blade-service/blade-demo/pom.xml +++ b/blade-service/blade-demo/pom.xml @@ -6,7 +6,7 @@ org.springblade blade-service - 2.0.7.RELEASE + 2.1.0.RELEASE 4.0.0 diff --git a/blade-service/pom.xml b/blade-service/pom.xml index 4517f5533..695efd88c 100644 --- a/blade-service/pom.xml +++ b/blade-service/pom.xml @@ -7,12 +7,12 @@ org.springblade BladeX-Biz - 2.0.7.RELEASE + 2.1.0.RELEASE blade-service ${project.artifactId} - 2.0.7.RELEASE + 2.1.0.RELEASE pom BladeX 微服务集合 diff --git a/pom.xml b/pom.xml index 2c8b42fef..37473eafe 100644 --- a/pom.xml +++ b/pom.xml @@ -5,17 +5,17 @@ org.springblade BladeX-Biz - 2.0.7.RELEASE + 2.1.0.RELEASE pom - 2.0.7.RELEASE - 2.0.7.RELEASE + 2.1.0.RELEASE + 2.1.0.RELEASE 1.8 2.9.2 1.5.21 - 1.9.4 + 1.9.6 3.1.0 4.0.1 1.6.0 @@ -26,14 +26,14 @@ 2.1.0.RELEASE 2.7.3 - 2.1.7.RELEASE - Greenwich.SR2 - Cairo-SR7 + 2.1.8.RELEASE + Greenwich.SR3 + Cairo-SR8 192.168.0.157 http://${docker.registry.url}:2375 - 1.2.0 + 1.1.0 diff --git a/script/docker/.env b/script/docker/.env index 1a47e057f..8488464fc 100644 --- a/script/docker/.env +++ b/script/docker/.env @@ -1,2 +1,2 @@ REGISTER=192.168.0.157/blade -TAG=2.0.7.RELEASE +TAG=2.1.0.RELEASE