Your Name
2023-08-26 7958f1dddb8a7f4e70d232b07a7703955ecedae0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.java110.acct.bmo.accountWithdrawalApply.impl;
 
import com.java110.acct.bmo.accountWithdrawalApply.IUpdateAccountWithdrawalApplyBMO;
import com.java110.acct.dao.IAccountServiceDao;
import com.java110.core.annotation.Java110Transactional;
 
import com.java110.dto.account.AccountDto;
import com.java110.dto.account.AccountWithdrawalApplyDto;
import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.acct.IAccountWithdrawalApplyInnerServiceSMO;
import com.java110.po.account.AccountDetailPo;
import com.java110.po.account.AccountWithdrawalApplyPo;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
 
@Service("updateAccountWithdrawalApplyBMOImpl")
public class UpdateAccountWithdrawalApplyBMOImpl implements IUpdateAccountWithdrawalApplyBMO {
 
    @Autowired
    private IAccountWithdrawalApplyInnerServiceSMO accountWithdrawalApplyInnerServiceSMOImpl;
    @Autowired
    private IAccountInnerServiceSMO accountInnerServiceSMOImpl;
    @Autowired
    private IAccountServiceDao accountServiceDaoImpl;
    /**
     *
     *
     * @param accountWithdrawalApplyPo
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> update(AccountWithdrawalApplyPo accountWithdrawalApplyPo) {
 
            if(accountWithdrawalApplyPo.getState().equals( AccountWithdrawalApplyPo.STATE_PASS ) || accountWithdrawalApplyPo.getState().equals( AccountWithdrawalApplyPo.STATE_ERROR_PAYER )){
                AccountWithdrawalApplyDto accountWithdrawalApplyDto = new AccountWithdrawalApplyDto();
                accountWithdrawalApplyDto.setApplyId( accountWithdrawalApplyPo.getApplyId() );
                accountWithdrawalApplyDto.setAcctId( accountWithdrawalApplyPo.getAcctId() );
                //查询到账户体现的费用
                List<AccountWithdrawalApplyDto> accountWithdrawalApplyDtos = accountWithdrawalApplyInnerServiceSMOImpl.queryAccountWithdrawalApplys( accountWithdrawalApplyDto );
                if (accountWithdrawalApplyDtos == null || accountWithdrawalApplyDtos.size() < 1) {
                    throw new IllegalArgumentException("账户提现信息不存在");
                }
                AccountWithdrawalApplyDto WithdrawalApplyDto = accountWithdrawalApplyDtos.get( 0 );
                AccountDetailPo accountDetailPo = new AccountDetailPo();
                accountDetailPo.setAcctId( WithdrawalApplyDto.getAcctId() );
                accountDetailPo.setAmount( WithdrawalApplyDto.getAmount() );
                accountDetailPo.setRemark( accountWithdrawalApplyPo.getContext() );
                //查询账户详细信息获得objId
                AccountDto accountDto = new AccountDto();
                accountDto.setAcctId(WithdrawalApplyDto.getAcctId());
                List<AccountDto> accounts = BeanConvertUtil.covertBeanList(accountServiceDaoImpl.getAccountInfo(BeanConvertUtil.beanCovertMap(accountDto)), AccountDto.class);
                if (accounts == null || accounts.size() < 1) {
                    throw new IllegalArgumentException("账户不存在");
                }
                accountDetailPo.setObjId( accounts.get( 0 ).getObjId() );
                accountDetailPo.setObjType( "7007");
                //调用预存接口
                accountInnerServiceSMOImpl.prestoreAccount( accountDetailPo );
        }
 
        int flag = accountWithdrawalApplyInnerServiceSMOImpl.updateAccountWithdrawalApply(accountWithdrawalApplyPo);
 
        if (flag > 0) {
        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
        }
 
        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
    }
 
}