2.1.2.eshop-stock-service
我们把原来eshop-stock的相关业务代码都改到了这个module里。
同时,为了实现RPC服务的提供,我们需要:
- 导入依赖:主要需要导入两个依赖
dubbo
的依赖,和eshop-stock-api
接口声明的依赖,这里的 设置为compile,这样我们在编译eshop-stock-service的时候,也会编译相应的api依赖。
com.alibaba.cloud
spring-cloud-starter-dubbo
cn.fighter3
eshop-stock-api
1.0-SNAPSHOT
compile
StockApiServiceImpl.java
:创建一个类,实现api中声明的接口,其中@Service
是Dubbo提供的注解,表示当前服务会发布成一个远程服务,不要和Spring提供的搞混。
/**
-
@Author 三分恶
-
@Date 2021/11/14
-
@Description 库存服务提供RPC接口实现类
*/
@org.apache.dubbo.config.annotation.Service
@Slf4j
public class StockApiServiceImpl implements StockApiService {
@Autowired
private ShopStockMapper stockMapper;
/**
-
添加库存
-
@param stockAddDTO
-
@return
*/
@Override
public Integer addStock(StockAddDTO stockAddDTO) {
ShopStock stock = new ShopStock();
stock.setGoodsId(stockAddDTO.getGoodsId());
stock.setInventory(stockAddDTO.getAccount());
log.info(“准备添加库存,参数:{}”, stock.toString());
this.stockMapper.insert(stock);
Integer stockId = stock.getStockId();
log.info(“添加库存成功,stockId:{}”, stockId);
return stockId;
}
/**
-
获取库存数量
-
@param goodsId
-
@return
*/
@Override
public Integer getAccountById(Integer goodsId) {
ShopStock stock = this.stockMapper.selectOne(Wrappers.lambdaQue