Mr.qian 2 週間 前
コミット
2ba00b3b0f

+ 39 - 13
cif-service/src/main/java/com/txz/cif/service/impl/FlowServiceImpl.java

@@ -287,7 +287,9 @@ public class FlowServiceImpl extends AbstractService<Flow> implements FlowServic
         // 借:个人账户钱包(贷)     -500元
         // 贷:平台主营收入(贷)   +500元
         Date today = DateUtil.date();
-        Flow flow = Flow.builder().amount(param.getAmount()).bizType(param.getBizType())
+        Flow flow = Flow.builder()
+                .amount(param.getAmount())
+                .bizType(param.getBizType())
                 .userId(param.getUserId())
                 .bizNo(param.getBizNo())
                 .createTime(today)
@@ -296,21 +298,44 @@ public class FlowServiceImpl extends AbstractService<Flow> implements FlowServic
                 .debitAccount(account.getId())
                 .creditAccount(MyConstants.INNER_INCOME)
                 .createUser(param.getUserId() + "")
-                .bizId(param.getBizId()).type(6)
+                .bizId(param.getBizId())
+                .type(6)
                 .build();
         saveUseGeneratedKeys(flow);
         // 借:个人账户钱包(贷)     -500元
-        accountService.deal(AccountFlow.builder().accountId(account.getId()).amount(flow.getAmount())
-                .bizId(flow.getBizId()).aliases(account.getAliases()).transTime(param.getTransTime())
-                .bizNo(flow.getBizNo()).balance(account.getBalance().subtract(flow.getAmount()))
-                .freezeAmount(account.getFreezeAmount()).userId(flow.getUserId())
-                .flowType(6).type(1).bizType(param.getBizType()).flowId(flow.getId()).build());
+        accountService.deal(AccountFlow.builder()
+                .accountId(account.getId())
+                .amount(flow.getAmount())
+                .bizId(flow.getBizId())
+                .aliases(account.getAliases())
+                .transTime(param.getTransTime())
+                .bizNo(flow.getBizNo())
+                .balance(account.getBalance().subtract(flow.getAmount()))
+                .freezeAmount(account.getFreezeAmount())
+                .userId(flow.getUserId())
+                .flowType(6)
+                .type(1)
+                .bizType(param.getBizType())
+                .flowId(flow.getId())
+                .build()
+        );
         // 贷:平台主营收入(贷)   +500元
-        accountService.deal(AccountFlow.builder().accountId(MyConstants.INNER_INCOME).amount(flow.getAmount())
-                .bizId(flow.getBizId()).aliases(innerIncomeAccount.getAliases()).transTime(param.getTransTime())
-                .bizNo(flow.getBizNo()).balance(innerIncomeAccount.getBalance().add(flow.getAmount()))
-                .freezeAmount(innerIncomeAccount.getFreezeAmount()).userId(flow.getUserId())
-                .flowType(6).type(2).bizType(param.getBizType()).flowId(flow.getId()).build());
+        accountService.deal(AccountFlow.builder().
+                accountId(MyConstants.INNER_INCOME)
+                .amount(flow.getAmount())
+                .bizId(flow.getBizId())
+                .aliases(innerIncomeAccount.getAliases())
+                .transTime(param.getTransTime())
+                .bizNo(flow.getBizNo())
+                .balance(innerIncomeAccount.getBalance().add(flow.getAmount()))
+                .freezeAmount(innerIncomeAccount.getFreezeAmount())
+                .userId(flow.getUserId())
+                .flowType(6)
+                .type(2)
+                .bizType(param.getBizType())
+                .flowId(flow.getId())
+                .build()
+        );
         return Result.genSuccessResult();
     }
     
@@ -502,8 +527,9 @@ public class FlowServiceImpl extends AbstractService<Flow> implements FlowServic
             accountFreezd.setUnfreezeAmount(accountFreezd.getUnfreezeAmount().add(partialThawAmount));
             accountFreezd.setUpdateTime(new Date());
             accountFreezdService.update(accountFreezd);
+            // 解冻账户金额
             Account account = accountService.getAccount(accountFreezd.getUserId(), 1);
-            account.setFreezeAmount(account.getFreezeAmount().subtract(partialThawAmount.subtract(canUseAmount)));
+            account.setFreezeAmount(account.getFreezeAmount().subtract(partialThawAmount));
             accountService.update(account);
             return BigDecimal.ZERO;
         }