package com.brilliance.isc.common.api;

import com.brilliance.isc.common.api.liaall.service.LiaallApiService;
import com.brilliance.isc.common.api.liaall.vo.LiaallRequest;
import com.brilliance.isc.common.api.liaall.vo.LiaallResponse;
import com.brilliance.isc.common.liaall.service.LiaallService;
import com.brilliance.isc.common.liaall.vo.LiaallVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class LiaallApiServiceImpl implements LiaallApiService {

    @Autowired
    private LiaallService liaallService;

    @Override
    public LiaallResponse calcLiaall(LiaallRequest liaallRequest) {
        liaallRequest.reset();
        LiaallVo liaallVo = liaallRequest.getLiaallVo();
        liaallService.assertLIAALL(liaallVo);
        return LiaallResponse.builder()
                .concur(liaallVo.getConcur())
                .misamt(liaallVo.getMisamt())
                .liaallg(liaallVo.getLiaallg())
                .oldredflg(liaallVo.getOldredflg())
                .tenorSettles(liaallVo.getTenorSettles())
                .acceptLines(liaallVo.getAcceptLines())
                .tenset(liaallVo.getTenset())
                .tensetamt(liaallVo.getTensetamt())
                .tensetmatdat(liaallVo.getTensetmatdat())
                .build();
    }

    @Override
    public LiaallVo calcTenset(LiaallVo liaallVo) {
        liaallService.liaallSetTenorFields(liaallVo);
        return liaallVo;
    }
}
