JAVA全系列 教程
3762个小节阅读:7091.4k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
项目公共模块的持久层是转出银行微服务和转入银行微服务共用的,在逻辑上既实现了转出金额的处理,又实现了转入金额的处理,同时还实现了TCC分布式事务每个阶段执行记录的保存和查询操作。
xxxxxxxxxx
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserAccountDto implements Serializable {
private static final long serialVersionUID = 3361105512695088121L;
/**
* 自定义事务编号
*/
private String txNo;
/**
* 转出账户
*/
private String sourceAccountNo;
/**
* 转入账户
*/
private String targetAccountNo;
/**
* 金额
*/
private BigDecimal amount;
}
在整个项目的实现过程中,转出银行微服务和转入银行微服务之间是通过Dubbo实现远程接口调用。因为项目中定义的Dubbo接口需要被转出银行微服务和转入银行微服务同时引用,所以需要将Dubbo接口放在项目的公共模块。
xxxxxxxxxx
public interface UserAccountBank02Service {
/**
* 转账
*/
void transferAmountToBank2(UserAccountDto userAccountDto);
}