package com.example.orderservice.service;
import com.example.orderservice.client.AccountFeignClient;
import com.example.orderservice.client.StorageFeignClient;
import com.example.orderservice.entity.Order;
import com.example.orderservice.mapper.OrderMapper;
import feign.FeignException;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoProperties;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Slf4j
@Service
public class OrderService {
@Resource
private OrderMapper orderMapper;
@Autowired
private AccountFeignClient accountFeignClient;
@Autowired
private StorageFeignClient storageFeignClient;
//@Transactional
@GlobalTransactional
public Long create(Order order) {
//创建订单
orderMapper.insertSelective(order);
try{
//扣用户余额
accountFeignClient.deduct(order.getUserId(),order.getMoney());
//扣库存
storageFeignClient.deduct(order.getCommodityCode(),order.getCount());
}catch(FeignException e){
log.error("下单失败,原因:{}",e.contentUTF8(),e);
throw new RuntimeException(e.contentUTF8(),e);
}
return order.getId();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
seata-demo-at-master.zip (54个子文件)
seata-demo-at-master
seata-demo-at
pom.xml 993B
account-service
mvnw.cmd 7KB
pom.xml 5KB
src
test
java
com
example
accoutservice
AccountServiceApplicationTests.java 234B
main
resources
generator
generatorConfig.xml 2KB
config.properties 229B
application.yml 750B
com
example
accountservice
mapper
AccountMapper.xml 571B
java
com
example
accountservice
mapper
AccountMapper.java 199B
controller
AccountController.java 885B
service
AccountService.java 1KB
AccountServiceApplication.java 520B
entity
Account.java 495B
.mvn
wrapper
maven-wrapper.properties 1019B
maven-wrapper.jar 59KB
mvnw 10KB
.gitignore 395B
order-service
mvnw.cmd 7KB
pom.xml 5KB
src
test
java
com
example
orderservice
OrderServiceApplicationTests.java 231B
main
resources
sql
seata_at.sql 759B
seata_demo.sql 2KB
generator
generatorConfig.xml 2KB
config.properties 225B
application.yml 748B
com
example
orderservice
mapper
OrderMapper.xml 715B
java
com
example
orderservice
mapper
OrderMapper.java 189B
client
AccountFeignClient.java 459B
StorageFeignClient.java 452B
controller
OrderController.java 1KB
OrderServiceApplication.java 553B
service
OrderService.java 2KB
entity
Order.java 448B
.mvn
wrapper
maven-wrapper.properties 1019B
maven-wrapper.jar 59KB
mvnw 10KB
.gitignore 395B
storage-service
mvnw.cmd 7KB
pom.xml 5KB
src
test
java
com
example
storageservice
StorageServiceApplicationTests.java 235B
main
resources
generator
generatorConfig.xml 2KB
config.properties 229B
application.yml 751B
com
example
storageservice
mapper
StorageMapper.xml 585B
java
com
example
storageservice
StorageServiceApplication.java 520B
mapper
StorageMapper.java 199B
controller
StorageController.java 1009B
service
StorageService.java 1KB
entity
Storage.java 509B
.mvn
wrapper
maven-wrapper.properties 233B
maven-wrapper.jar 61KB
mvnw 11KB
.gitignore 395B
.gitignore 395B
共 54 条
- 1
资源评论
gsls200808
- 粉丝: 776
- 资源: 237
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功