july 4 лет назад
Родитель
Сommit
e5ee19f678

+ 19 - 15
ldt-core/src/main/java/org/springblade/payment/handle/handler/CancelTradeHandle.java

@@ -21,6 +21,7 @@ import org.springblade.ldt.user.service.IUserChannelPointService;
 import org.springblade.payment.entity.SuccessParams;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -50,28 +51,31 @@ public class CancelTradeHandle {
 			Bills bills = billsService.getById(successParamsBills.getId());
 			if (ObjectUtils.isNotEmpty(bills) && !bills.getPayStatus().equals(AppConstant.BillPayStatus.取消付款.name())) {
 
-				FrozenRec frozenRec = frozenRecService.getOne(Wrappers.<FrozenRec>lambdaQuery().eq(FrozenRec::getTradeNo, bills.getId()));
+				List<FrozenRec> frozenRecs = frozenRecService.list(Wrappers.<FrozenRec>lambdaQuery().eq(FrozenRec::getTradeNo, bills.getId()));
+
 				UserChannelPoint channelPoint = userChannelPointService.getById(successParams.getChannelId());
 
 				//修改用户冻结余额或积分
 				LoginUser user = loginUserService.getById(bills.getPayId());
-				if (ObjectUtils.isNotEmpty(user) && ObjectUtils.isNotEmpty(frozenRec)) {
-					frozenRec.setFrozenSatus(FrozenSatus.RETURNED_FROZEN);
-					if (Objects.equals(frozenRec.getFrozenType(), FrozenType.POINT)) {
-						user.setChannelPoint(user.getChannelPoint().add(frozenRec.getFrozenNum()));
-						user.setFrozenPoint(user.getFrozenPoint().subtract(frozenRec.getFrozenNum()));
-						if (ObjectUtils.isNotEmpty(channelPoint)) {
-							channelPoint.setAvailable(channelPoint.getAvailable().add(frozenRec.getFrozenNum()));
-							userChannelPointService.saveOrUpdate(channelPoint);
+				if (ObjectUtils.isNotEmpty(user)) {
+					frozenRecs.forEach(frozenRec -> {
+						frozenRec.setFrozenSatus(FrozenSatus.RETURNED_FROZEN);
+						if (Objects.equals(frozenRec.getFrozenType(), FrozenType.POINT)) {
+							user.setChannelPoint(user.getChannelPoint().add(frozenRec.getFrozenNum()));
+							user.setFrozenPoint(user.getFrozenPoint().subtract(frozenRec.getFrozenNum()));
+							if (ObjectUtils.isNotEmpty(channelPoint)) {
+								channelPoint.setAvailable(channelPoint.getAvailable().add(frozenRec.getFrozenNum()));
+								userChannelPointService.saveOrUpdate(channelPoint);
+							}
+						} else if (Objects.equals(frozenRec.getFrozenType(), FrozenType.BALANCE)) {
+							user.setBalance(user.getBalance().add(frozenRec.getFrozenNum()));
+							user.setFrozenBalance(user.getFrozenBalance().subtract(frozenRec.getFrozenNum()));
 						}
-					} else if (Objects.equals(frozenRec.getFrozenType(), FrozenType.BALANCE)) {
-						user.setBalance(user.getBalance().add(frozenRec.getFrozenNum()));
-						user.setFrozenBalance(user.getFrozenBalance().subtract(frozenRec.getFrozenNum()));
-					}
+					});
 				}
 
-				if (ObjectUtils.isNotEmpty(frozenRec)) {
-					frozenRecService.saveOrUpdate(frozenRec);
+				if (ObjectUtils.isNotEmpty(frozenRecs)) {
+					frozenRecService.updateBatchById(frozenRecs);
 				}
 				loginUserService.saveOrUpdate(user);