/**
* @auther liminglmf
* @date 2015年4月29日
*/
package com.hehenian.biz.component.loan.impl;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.hehenian.biz.common.loan.dataobject.LoanFeeRuleDo;
import com.hehenian.biz.common.loan.dataobject.LoanSettSchemeDo;
import com.hehenian.biz.component.loan.ILoanSettSchemeComponent;
import com.hehenian.biz.dal.loan.IManagerLoanFeeRuleDao;
import com.hehenian.biz.dal.loan.IManagerLoanSettSchemeDao;
/**
* @author liminglmf
*
*/
@Component("loanSettSchemeComponent")
public class LoanSettSchemeComponentImpl implements ILoanSettSchemeComponent{
@Autowired
private IManagerLoanSettSchemeDao managerLoanSettSchemeDao;
@Autowired
private IManagerLoanFeeRuleDao managerLoanFeeRuleDao;
@Override
public LoanSettSchemeDo getById(Long id) {
LoanSettSchemeDo loanSettSchemeDo = managerLoanSettSchemeDao.getById(id);
if (loanSettSchemeDo == null) {
return loanSettSchemeDo;
}
loanSettSchemeDo.setLoanFeeRuleDoList(managerLoanFeeRuleDao.queryBySchemeId(loanSettSchemeDo.getId()));
return loanSettSchemeDo;
}
@Override
public LoanSettSchemeDo getByCode(String code) {
LoanSettSchemeDo loanSettSchemeDo = managerLoanSettSchemeDao.getByCode(code);
if (loanSettSchemeDo == null) {
return loanSettSchemeDo;
}
loanSettSchemeDo.setLoanFeeRuleDoList(managerLoanFeeRuleDao.queryBySchemeId(loanSettSchemeDo.getId()));
return loanSettSchemeDo;
}
@Override
public LoanFeeRuleDo getBySchemeIdAndType(Long schemeId, String ruleType) {
return managerLoanFeeRuleDao.getBySchemeIdAndType(schemeId, ruleType);
}
@Override
public int countList(Map<String, Object> searchItems) {
return managerLoanSettSchemeDao.countList(searchItems);
}
@Override
public List<LoanSettSchemeDo> queryList(Map<String, Object> searchItems) {
return managerLoanSettSchemeDao.queryList(searchItems);
}
@Override
public int add(LoanSettSchemeDo loanSettSchemeDo) {
int count = managerLoanSettSchemeDao.add(loanSettSchemeDo);
if (loanSettSchemeDo.getLoanFeeRuleDoList() == null || loanSettSchemeDo.getLoanFeeRuleDoList().size() == 0) {
return count;
}
for (LoanFeeRuleDo loanFeeRuleDo : loanSettSchemeDo.getLoanFeeRuleDoList()) {
loanFeeRuleDo.setSchemeId(loanSettSchemeDo.getId());
managerLoanFeeRuleDao.add(loanFeeRuleDo);
}
return count;
}
@Override
public int update(LoanSettSchemeDo loanSettSchemeDo) {
int count = managerLoanSettSchemeDao.update(loanSettSchemeDo);
managerLoanFeeRuleDao.deleteBySchemeId(loanSettSchemeDo.getId());
if (loanSettSchemeDo.getLoanFeeRuleDoList() == null || loanSettSchemeDo.getLoanFeeRuleDoList().size() == 0) {
return count;
}
for (LoanFeeRuleDo loanFeeRuleDo : loanSettSchemeDo.getLoanFeeRuleDoList()) {
loanFeeRuleDo.setSchemeId(loanSettSchemeDo.getId());
managerLoanFeeRuleDao.add(loanFeeRuleDo);
}
return count;
}
@Override
public int deleteById(Long id) {
managerLoanFeeRuleDao.deleteBySchemeId(id);// 删除费用规则信息
return managerLoanSettSchemeDao.deleteById(id);
}
/**
* 查询出产品对应的方案并查询出方案对应的费用规则
*/
@Override
public List<LoanSettSchemeDo> queryByProdId(Long prodId) {
List<LoanSettSchemeDo> list = managerLoanSettSchemeDao.queryByProdId(prodId);
if(list != null && list.size() >0){
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
LoanSettSchemeDo loanSettSchemeDo = (LoanSettSchemeDo) iterator.next();
loanSettSchemeDo.setLoanFeeRuleDoList(managerLoanFeeRuleDao.queryBySchemeId(loanSettSchemeDo.getId()));
}
}
return list;
}
@Override
public int deleteByIds(List<Long> idsList) {
return managerLoanSettSchemeDao.deleteByIds(idsList);
}
@Override
public List<LoanSettSchemeDo> queryLoanSettPage(Map<String, Object> searchItems) {
List<LoanSettSchemeDo> list = managerLoanSettSchemeDao.queryPage(searchItems);
if(list != null && list.size() >0){
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
LoanSettSchemeDo loanSettSchemeDo = (LoanSettSchemeDo) iterator.next();
loanSettSchemeDo.setLoanFeeRuleDoList(managerLoanFeeRuleDao.queryBySchemeId(loanSettSchemeDo.getId()));
}
}
return list;
}
}