whyyouhitme_ 2019-06-21 21:53 采纳率: 57.1%
浏览 334
已结题

@Trasactional标签什么时候加什么时候不加?为什么这个方法没加@Trasactional

public class PayMentTransacTokenServiceImpl extends BaseApiService implements PayMentTransacTokenService {
@Autowired
private PaymentTransactionMapper paymentTransactionMapper;

@Autowired
private GenerateToken generateToken;

@Override
public BaseResponse<JSONObject> cratePayToken(PayCratePayTokenDto payCratePayTokenDto) {
    String orderId = payCratePayTokenDto.getOrderId();
    if (StringUtils.isEmpty(orderId)) {
        return setResultError("订单号码不能为空!");
    }
    Long payAmount = payCratePayTokenDto.getPayAmount();
    if (payAmount == null) {
        return setResultError("金额不能为空!");
    }
    Long userId = payCratePayTokenDto.getUserId();
    if (userId == null) {
        return setResultError("userId不能为空!");
    }
    // 2.将输入插入数据库中 待支付记录
    PaymentTransactionEntity paymentTransactionEntity = new PaymentTransactionEntity();
    paymentTransactionEntity.setOrderId(orderId);
    paymentTransactionEntity.setPayAmount(payAmount);
    paymentTransactionEntity.setUserId(userId);
    // 使用雪花算法 生成全局id
    paymentTransactionEntity.setPaymentId(SnowflakeIdUtils.nextId());
    int result = paymentTransactionMapper.insertPaymentTransaction(paymentTransactionEntity);
    if (!toDaoResult(result)) {
        return setResultError("系统错误!");
    }
    // 获取主键id
    Long payId = paymentTransactionEntity.getId();
    if (payId == null) {
        return setResultError("系统错误!");
    }

    // 3.生成对应支付令牌
    String keyPrefix = "pay_";
    String token = generateToken.createToken(keyPrefix, payId + "");
    JSONObject dataResult = new JSONObject();
    dataResult.put("token", token);

    return setResultSuccess(dataResult);
}

}

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-06-22 11:36
    关注

    需要事务性处理的时候要加,所谓事务性,就是多个操作要么全部执行,要么全部不执行,不允许执行一半

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器