提交 472551bf authored 作者: 吴德鹏's avatar 吴德鹏

update

上级 14514056
...@@ -358,36 +358,35 @@ public class FlutterWaveController extends Controller { ...@@ -358,36 +358,35 @@ public class FlutterWaveController extends Controller {
return result; return result;
} }
public Result saveNetworkMarketing(Bonus bonus,String userId) { public void saveNetworkMarketing(Bonus bonus, String userId) {
TbCfUserInfo info = user.user();
// Optional<String> userIdOptional = userId;
System.out.println("userId=="+userId);
String orderId = bonus.getOrderId(); String orderId = bonus.getOrderId();
if (orderId == null) if (orderId == null)
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Order is missing !!!"); logger.info("佣金:orderId为空");
Optional<TbCfOrder> orderOptional = orderRepository.findById(orderId); Optional<TbCfOrder> orderOptional = orderRepository.findById(orderId);
if (!orderOptional.isPresent()) if (!orderOptional.isPresent())
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Order is missing !!!"); logger.info("佣金:订单不存在");
TbCfOrder order = orderOptional.get(); TbCfOrder order = orderOptional.get();
if (!OrderStatusEnum.PAID.getValue().equals(order.getPayStatus())) { if (!OrderStatusEnum.PAID.getValue().equals(order.getPayStatus())) {
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Invalid order status"); logger.info("佣金:订单未支付");
} }
if (bonusRepository.existsByOrderId(orderId)) { boolean condition = orderId != null && orderOptional.isPresent() && OrderStatusEnum.PAID.getValue().equals(order.getPayStatus()) && !StringUtils.isBlank(userId);
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Transaction already done !!!");
} // if (bonusRepository.existsByOrderId(orderId)) {
// return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Transaction already done !!!");
// }
BigDecimal amount = bonus.getAmount(); BigDecimal amount = bonus.getAmount();
if (!StringUtils.isBlank(userId)) { if (condition) {
Optional<TbCfUserInfo> optionalUser = userRepository.findById(userId); Optional<TbCfUserInfo> optionalUser = userRepository.findById(userId);
...@@ -406,9 +405,9 @@ public class FlutterWaveController extends Controller { ...@@ -406,9 +405,9 @@ public class FlutterWaveController extends Controller {
if (productSharer != null) { if (productSharer != null) {
sharer = userRepository.findByCode(productSharer); sharer = userRepository.findByCode(productSharer);
} }
synchronized (this) {
boolean exists = bonusRepository.existsByOrderId(orderId);
if (user.invited()) { if (!exists && user.invited()) {
BigDecimal v = amount.multiply(BigDecimal.valueOf(10)).divide(BigDecimal.valueOf(100), RoundingMode.CEILING); BigDecimal v = amount.multiply(BigDecimal.valueOf(10)).divide(BigDecimal.valueOf(100), RoundingMode.CEILING);
bonus.setAmount(v); bonus.setAmount(v);
bonus.setUserInfo(user); bonus.setUserInfo(user);
...@@ -418,15 +417,16 @@ public class FlutterWaveController extends Controller { ...@@ -418,15 +417,16 @@ public class FlutterWaveController extends Controller {
sendNotification(user.getFcm(), "Bonus alert !!", user.display() + ", You received bonus of $" + formatter.format(v) + " in your account"); sendNotification(user.getFcm(), "Bonus alert !!", user.display() + ", You received bonus of $" + formatter.format(v) + " in your account");
} }
} }
}
TbCfUserInfo bonusInc = runBonusInc(user, amount, 5, false, orderId); TbCfUserInfo bonusInc = runBonusInc(user, amount, 5, false, orderId);
runBonusInc(sharer.orElseGet(() -> postOptional.isPresent() ? postOptional.get().getRealUser() : bonusInc), amount, 5, postOptional.isPresent() || sharer.isPresent(), orderId); runBonusInc(sharer.orElseGet(() -> postOptional.isPresent() ? postOptional.get().getRealUser() : bonusInc), amount, 5, postOptional.isPresent() || sharer.isPresent(), orderId);
//runBonusInc(bonusInc, amount, 0); //runBonusInc(bonusInc, amount, 0);
} }
} }
return new Result<>(bonus);
} }
private TbCfUserInfo runBonusInc(TbCfUserInfo user, BigDecimal amount, int percent, boolean direct, String orderId) { private TbCfUserInfo runBonusInc(TbCfUserInfo user, BigDecimal amount, int percent, boolean direct, String orderId) {
......
...@@ -286,36 +286,35 @@ public class PaypalContoller extends Controller { ...@@ -286,36 +286,35 @@ public class PaypalContoller extends Controller {
return now; return now;
} }
public Result saveNetworkMarketing(Bonus bonus, String userId) { public void saveNetworkMarketing(Bonus bonus, String userId) {
// TbCfUserInfo info = user.user();
// Optional<String> userIdOptional = userId;
System.out.println("userId=="+userId);
String orderId = bonus.getOrderId(); String orderId = bonus.getOrderId();
if (orderId == null) if (orderId == null)
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Order is missing !!!"); logger.info("佣金:orderId为空");
Optional<TbCfOrder> orderOptional = orderRepository.findById(orderId); Optional<TbCfOrder> orderOptional = orderRepository.findById(orderId);
if (!orderOptional.isPresent()) if (!orderOptional.isPresent())
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Order is missing !!!"); logger.info("佣金:订单不存在");
TbCfOrder order = orderOptional.get(); TbCfOrder order = orderOptional.get();
if (!OrderStatusEnum.PAID.getValue().equals(order.getPayStatus())) { if (!OrderStatusEnum.PAID.getValue().equals(order.getPayStatus())) {
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Invalid order status"); logger.info("佣金:订单未支付");
} }
if (bonusRepository.existsByOrderId(orderId)) { boolean condition = orderId != null && orderOptional.isPresent() && OrderStatusEnum.PAID.getValue().equals(order.getPayStatus()) && !StringUtils.isBlank(userId);
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Transaction already done !!!");
} // if (bonusRepository.existsByOrderId(orderId)) {
// return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(), "Transaction already done !!!");
// }
BigDecimal amount = bonus.getAmount(); BigDecimal amount = bonus.getAmount();
if (!StringUtils.isBlank(userId)) { if (condition) {
Optional<TbCfUserInfo> optionalUser = userRepository.findById(userId); Optional<TbCfUserInfo> optionalUser = userRepository.findById(userId);
...@@ -334,9 +333,9 @@ public class PaypalContoller extends Controller { ...@@ -334,9 +333,9 @@ public class PaypalContoller extends Controller {
if (productSharer != null) { if (productSharer != null) {
sharer = userRepository.findByCode(productSharer); sharer = userRepository.findByCode(productSharer);
} }
synchronized (this) {
boolean exists = bonusRepository.existsByOrderId(orderId);
if (user.invited()) { if (!exists && user.invited()) {
BigDecimal v = amount.multiply(BigDecimal.valueOf(10)).divide(BigDecimal.valueOf(100), RoundingMode.CEILING); BigDecimal v = amount.multiply(BigDecimal.valueOf(10)).divide(BigDecimal.valueOf(100), RoundingMode.CEILING);
bonus.setAmount(v); bonus.setAmount(v);
bonus.setUserInfo(user); bonus.setUserInfo(user);
...@@ -346,17 +345,17 @@ public class PaypalContoller extends Controller { ...@@ -346,17 +345,17 @@ public class PaypalContoller extends Controller {
sendNotification(user.getFcm(), "Bonus alert !!", user.display() + ", You received bonus of $" + formatter.format(v) + " in your account"); sendNotification(user.getFcm(), "Bonus alert !!", user.display() + ", You received bonus of $" + formatter.format(v) + " in your account");
} }
} }
}
TbCfUserInfo bonusInc = runBonusInc(user, amount, 5, false, orderId); TbCfUserInfo bonusInc = runBonusInc(user, amount, 5, false, orderId);
runBonusInc(sharer.orElseGet(() -> postOptional.isPresent() ? postOptional.get().getRealUser() : bonusInc), amount, 5, postOptional.isPresent() || sharer.isPresent(), orderId); runBonusInc(sharer.orElseGet(() -> postOptional.isPresent() ? postOptional.get().getRealUser() : bonusInc), amount, 5, postOptional.isPresent() || sharer.isPresent(), orderId);
//runBonusInc(bonusInc, amount, 0); //runBonusInc(bonusInc, amount, 0);
}
} }
return new Result<>(bonus);
} }
}
private TbCfUserInfo runBonusInc(TbCfUserInfo user, BigDecimal amount, int percent, boolean direct, String orderId) { private TbCfUserInfo runBonusInc(TbCfUserInfo user, BigDecimal amount, int percent, boolean direct, String orderId) {
if (user == null) return null; if (user == null) return null;
Optional<Network> userCode = networkRepository.findByNetworkInfoCode(user.getCode()); Optional<Network> userCode = networkRepository.findByNetworkInfoCode(user.getCode());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论