2021-06-23 bb3139e62038f3c165253cf5724325092966be78
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package cc.mrbird.febs.server.test.service.impl;
 
import cc.mrbird.febs.common.core.entity.system.TradeLog;
import cc.mrbird.febs.server.test.feign.IRemoteTradeLogService;
import cc.mrbird.febs.server.test.mapper.TradeLogMapper;
import cc.mrbird.febs.server.test.service.ITradeLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.codingapi.txlcn.tc.annotation.LcnTransaction;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
 
import java.util.Date;
 
/**
 * @author MrBird
 */
@Slf4j
@Service("tradeLogService")
@RequiredArgsConstructor
public class TradeLogServiceImpl extends ServiceImpl<TradeLogMapper, TradeLog> implements ITradeLogService {
 
    private final IRemoteTradeLogService remoteTradeLogService;
 
    @Override
    @LcnTransaction
    public void orderAndPay(TradeLog tradeLog) {
        tradeLog.setCreateTime(new Date());
        tradeLog.setStatus("下单并支付成功");
 
        // 保存支付日志
        this.save(tradeLog);
        log.info("用户已经下单并支付成功商品ID为{},名称为{}的商品", tradeLog.getGoodsId(), tradeLog.getGoodsName());
        // 调用远程方法,打包并配送商品
        remoteTradeLogService.packageAndSend(tradeLog);
        // throw new RuntimeException("抛个异常,测试全局回滚");
    }
}