package cn.itcast.order.service.impl;
import cn.itcast.order.client.AccountClient;
import cn.itcast.order.client.StorageClient;
import cn.itcast.order.entity.Order;
import cn.itcast.order.mapper.OrderMapper;
import cn.itcast.order.service.OrderService;
import feign.FeignException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author 虎哥
*/
@Slf4j
@Service
public class OrderServiceImpl implements OrderService {
private final AccountClient accountClient;
private final StorageClient storageClient;
private final OrderMapper orderMapper;
public OrderServiceImpl(AccountClient accountClient, StorageClient storageClient, OrderMapper orderMapper) {
this.accountClient = accountClient;
this.storageClient = storageClient;
this.orderMapper = orderMapper;
}
@Override
@Transactional
public Long create(Order order) {
// 创建订单
orderMapper.insert(order);
try {
// 扣库存
storageClient.deduct(order.getCommodityCode(), order.getCount());
// 扣款
accountClient.debit(order.getUserId(), order.getMoney());
} catch (FeignException e) {
log.error("下单失败,原因:{}", e.contentUTF8());
throw new RuntimeException(e.contentUTF8());
}
return order.getId();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
AT模式seate测试代码
共30个文件
java:21个
xml:5个
yml:4个
需积分: 13 1 下载量 149 浏览量
2022-12-26
15:16:22
上传
评论
收藏 29KB ZIP 举报
温馨提示
https://blog.csdn.net/u013938578/article/details/128444416?spm=1001.2014.3001.5501
资源推荐
资源详情
资源评论
收起资源包目录
seata-demo.zip (30个子文件)
seata-demo
pom.xml 3KB
account-service
pom.xml 1KB
src
test
java
main
resources
application.yml 604B
java
cn
itcast
account
mapper
AccountMapper.java 490B
web
AccountController.java 929B
AccountApplication.java 453B
service
impl
AccountServiceImpl.java 924B
AccountService.java 168B
entity
Account.java 350B
order-service
pom.xml 2KB
src
test
java
main
resources
application.yml 669B
java
cn
itcast
order
mapper
OrderMapper.java 222B
OrderApplication.java 530B
client
StorageClient.java 450B
AccountClient.java 457B
web
OrderController.java 876B
service
OrderService.java 182B
impl
OrderServiceImpl.java 1KB
entity
Order.java 479B
eureka-server
pom.xml 959B
src
test
java
main
resources
application.yml 218B
java
cn
itcast
eureka
EurekaApplication.java 456B
storage-service
pom.xml 1KB
src
test
java
main
resources
application.yml 604B
java
cn
itcast
storage
mapper
StorageMapper.java 503B
web
StorageController.java 1KB
StorageApplication.java 453B
service
StorageService.java 171B
impl
StorageServiceImpl.java 918B
entity
Storage.java 357B
共 30 条
- 1
资源评论
不死鸟.亚历山大.狼崽子
- 粉丝: 5824
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功