|
@@ -2,12 +2,10 @@ package com.txz.cif.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.txz.cif.constants.MyConstants;
|
|
|
+import com.txz.cif.core.ServiceException;
|
|
|
import com.txz.cif.dao.FlowMapper;
|
|
|
import com.txz.cif.dto.Result;
|
|
|
-import com.txz.cif.model.Account;
|
|
|
-import com.txz.cif.model.AccountFlow;
|
|
|
-import com.txz.cif.model.AccountFreezd;
|
|
|
-import com.txz.cif.model.Flow;
|
|
|
+import com.txz.cif.model.*;
|
|
|
import com.txz.cif.param.*;
|
|
|
import com.txz.cif.service.AccountFlowService;
|
|
|
import com.txz.cif.service.AccountFreezdService;
|
|
@@ -145,19 +143,19 @@ public class FlowServiceImpl extends AbstractService<Flow> implements FlowServic
|
|
|
if (account == null){
|
|
|
return Result.genFailResult("账号未找到");
|
|
|
}
|
|
|
- Account innerCapitalAccount = accountService.findById(MyConstants.INNER_CAPITAL);
|
|
|
+ Account innerCapitalAccount = accountService.findById(MyConstants.INNER_MARKETING);
|
|
|
if (innerCapitalAccount == null){
|
|
|
return Result.genFailResult("账号未找到");
|
|
|
}
|
|
|
Date today = DateUtil.date();
|
|
|
Flow flow = Flow.builder().amount(param.getAmount()).bizType(param.getBizType())
|
|
|
.bizNo(param.getBizNo()).createTime(today).updateTime(today).transTime(param.getTransTime())
|
|
|
- .debitAccount(MyConstants.INNER_CAPITAL).creditAccount(account.getId())
|
|
|
+ .debitAccount(MyConstants.INNER_MARKETING).creditAccount(account.getId())
|
|
|
.bizId(param.getBizId()).type(1)
|
|
|
.build();
|
|
|
saveUseGeneratedKeys(flow);
|
|
|
- //借 :平台资金银行xx元 内部户1(资产类:借方账户)+钱
|
|
|
- accountService.deal(AccountFlow.builder().accountId(MyConstants.INNER_CAPITAL).amount(flow.getAmount())
|
|
|
+ //借 :平台营销账户(负债类)xx元 平台营销账户(负债类)+钱
|
|
|
+ accountService.deal(AccountFlow.builder().accountId(MyConstants.INNER_MARKETING).amount(flow.getAmount())
|
|
|
.bizId(flow.getBizId()).aliases(innerCapitalAccount.getAliases()).transTime(param.getTransTime())
|
|
|
.bizNo(flow.getBizNo()).balance(innerCapitalAccount.getBalance().add(flow.getAmount()))
|
|
|
.freezeAmount(innerCapitalAccount.getFreezeAmount())
|
|
@@ -308,5 +306,37 @@ public class FlowServiceImpl extends AbstractService<Flow> implements FlowServic
|
|
|
return Result.genSuccessResult();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result settle(RedEnvelope redEnvelope) {
|
|
|
+ Account account = accountService.getAccount(redEnvelope.getUserId(), 2);
|
|
|
+ if (account == null){
|
|
|
+ throw new ServiceException("收益账户未找到");
|
|
|
+ }
|
|
|
+ Account innerCapitalAccount = accountService.findById(MyConstants.INNER_RED);
|
|
|
+ if (innerCapitalAccount == null){
|
|
|
+ throw new ServiceException("账户未找到");
|
|
|
+ }
|
|
|
+ Date today = DateUtil.date();
|
|
|
+ Flow flow = Flow.builder().amount(redEnvelope.getAmount()).bizType(redEnvelope.getBizType())
|
|
|
+ .bizNo(redEnvelope.getOrderNo()).createTime(today).updateTime(today).transTime(redEnvelope.getTransTime())
|
|
|
+ .debitAccount(MyConstants.INNER_RED).creditAccount(account.getId())
|
|
|
+ .bizId(redEnvelope.getId()+"").type(1)
|
|
|
+ .build();
|
|
|
+ saveUseGeneratedKeys(flow);
|
|
|
+ //借 :主营业务支出-红包(损益类)xx元 主营业务支出-红包(损益类)+钱
|
|
|
+ accountService.deal(AccountFlow.builder().accountId(MyConstants.INNER_RED).amount(flow.getAmount())
|
|
|
+ .bizId(flow.getBizId()).aliases(innerCapitalAccount.getAliases()).transTime(redEnvelope.getTransTime())
|
|
|
+ .bizNo(flow.getBizNo()).balance(innerCapitalAccount.getBalance().add(flow.getAmount()))
|
|
|
+ .freezeAmount(innerCapitalAccount.getFreezeAmount())
|
|
|
+ .flowType(1).type(2).bizType(redEnvelope.getBizType()).flowId(flow.getId()).build());
|
|
|
+ //贷 :客户资金账户xx元 客户账号(负债类:贷方账户)+钱
|
|
|
+ accountService.deal(AccountFlow.builder().accountId(account.getId()).amount(flow.getAmount())
|
|
|
+ .bizId(flow.getBizId()).aliases(account.getAliases()).transTime(redEnvelope.getTransTime())
|
|
|
+ .bizNo(flow.getBizNo()).balance(account.getBalance().add(flow.getAmount()))
|
|
|
+ .freezeAmount(account.getFreezeAmount())
|
|
|
+ .flowType(1).type(2).bizType(redEnvelope.getBizType()).flowId(flow.getId()).build());
|
|
|
+ return Result.genSuccessResult();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|