package com.brilliance.isc.common.register.liaall.common;

import com.brilliance.isc.common.liaall.service.LiaallService;
import com.brilliance.isc.common.liaall.vo.LiaallVo;
import com.brilliance.isc.common.register.liaall.ILiaallRegister;
import com.brilliance.isc.common.vo.SimpleModuleVo;
import com.brilliance.isc.vo.component.trtcre.TrtcreVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class TrtcreLiaallRegister implements ILiaallRegister {

    @Autowired
    private LiaallService liaallService;

    @Override
    public void liaallSetTransaction(LiaallVo liaallVo) {
        TrtcreVo trtcre = liaallVo.getRec().getTrtcreVo();
        if("X".equals(trtcre.getCrefinflg())) {
            SimpleModuleVo linkModule = SimpleModuleVo.buildModule(trtcre.getTrdgrp().getRec().getInr(), "TRD");
            liaallService.liaallSetCbeAmount("FIP", 3, trtcre.getTrdgrp().getCbs().getMax().getCur(), trtcre.getTrdgrp().getCbs().getMax().getAmt(), "FIN", linkModule);
            // set maturity date to engagement
            liaallService.liaallSetDefaultMaturity("FIN", linkModule, trtcre.getTrdgrp().getRec().getMatdat());
            liaallService.liaallSetValdat(trtcre.getTrdgrp().getRec().getStttendat(), "FIN");
        }
    }
}
