|
|
@@ -22,6 +22,7 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.Synchronized;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.Objects;
|
|
|
@@ -60,7 +61,7 @@ public class KxsUserAmountServiceImpl extends ServiceImpl<KxsUserAmountMapper, K
|
|
|
public R userAmountChange(KxsUserAmountLog userAmountLog) {
|
|
|
|
|
|
KxsUserAmount userAmount = this.getOne(Wrappers.<KxsUserAmount>lambdaQuery()
|
|
|
- .eq(KxsUserAmount::getUserId, userAmountLog.getUserId()));
|
|
|
+ .eq(KxsUserAmount::getUserId, userAmountLog.getUserId()).last("FOR UPDATE"));
|
|
|
|
|
|
userAmountLog.setBeforeAmount(userAmount.getAmount());
|
|
|
BigDecimal afterAmount;
|
|
|
@@ -85,7 +86,7 @@ public class KxsUserAmountServiceImpl extends ServiceImpl<KxsUserAmountMapper, K
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Synchronized
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public R yuePay(PayRequestDTO payReq) {
|
|
|
|
|
|
Long userId = SecurityUtils.getUser().getId();
|