/** * @Project: hehenian-biz-service * @Package com.hehenian.biz.service.loan.impl * @Title: LoanInfoServiceImpl.java * @Description: TODO * @author: liuzgmf * @date 2015年4月20日 下午2:31:23 * @Copyright: HEHENIAN Co.,Ltd. All rights reserved. * @version V1.0 */ package com.hehenian.biz.service.loan.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hehenian.biz.common.base.dataobject.NPageDo; import com.hehenian.biz.common.base.result.IResult; import com.hehenian.biz.common.base.result.ResultSupport; import com.hehenian.biz.common.loan.ILoanInfoService; import com.hehenian.biz.common.loan.dataobject.LoanInfoDo; import com.hehenian.biz.component.account.IPersonComponent; import com.hehenian.biz.component.loan.ILoanInfoComponent; /** * * @author: liuzgmf * @date 2015年4月20日 下午2:31:23 */ @Service("loanInfoService") public class LoanInfoServiceImpl implements ILoanInfoService { private final Logger logger = Logger.getLogger(this.getClass()); @Autowired private ILoanInfoComponent loanInfoComponent; @Autowired private IPersonComponent personComponent; @Override public IResult<?> addLoanInfo(List<LoanInfoDo> loanInfoDoList) { IResult<String> result = new ResultSupport<String>(true); try { loanInfoComponent.addLoanInfo(loanInfoDoList); } catch (Exception e) { result.setSuccess(false); result.setErrorMessage(e.getMessage()); logger.error(e.getMessage(), e); } return result; } @Override public IResult<?> updateLoanInfo(LoanInfoDo loanInfoDo) { IResult<String> result = new ResultSupport<String>(true); try { loanInfoComponent.updateLoanInfo(loanInfoDo); } catch (Exception e) { result.setSuccess(false); result.setErrorMessage(e.getMessage()); logger.error(e.getMessage(), e); } return result; } @Override public NPageDo<LoanInfoDo> queryLoanInfos(Map<String, Object> searchItems) { NPageDo<LoanInfoDo> pageDo = new NPageDo<LoanInfoDo>(); try { long count = loanInfoComponent.countLoanInfo(searchItems); pageDo.setTotalCount(count); if (count == 0) { return pageDo; } List<LoanInfoDo> loanInfoDoList = loanInfoComponent.queryLoanInfos(searchItems); pageDo.setModelList(loanInfoDoList); return pageDo; } catch (Exception e) { logger.error(e.getMessage(), e); pageDo.setTotalCount(0l); return pageDo; } } @Override public LoanInfoDo getByLoanInfoId(Long loanInfoId) { return loanInfoComponent.getByLoanInfoId(loanInfoId); } @Override public List<LoanInfoDo> queryByLoanInfoIds(List<Long> loanInfoIdList) { return loanInfoComponent.queryByLoanInfoIds(loanInfoIdList); } @Override public IResult<?> addLoanDetail(List<Long> loanInfoIdList) { IResult<?> result = new ResultSupport<String>(); StringBuffer resultBuf = new StringBuffer(); // 查询借款信息 List<LoanInfoDo> loanInfoDoList = queryByLoanInfoIds(loanInfoIdList); for (LoanInfoDo loanInfoDo : loanInfoDoList) { // 根据用户姓名和身份证查询用户ID Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put("realName", loanInfoDo.getRealName()); paramMap.put("idNo", loanInfoDo.getIdNo()); Long userId = personComponent.getIdByRealnameAndIdNum(paramMap); try { loanInfoComponent.addLoanDetail(loanInfoDo, userId); } catch (RuntimeException e) { resultBuf.append(loanInfoDo.getRealName() + "的借款发布失败"); resultBuf.append("\r\n"); } } if (StringUtils.isBlank(resultBuf.toString())) { result.setSuccess(true); } else { result.setSuccess(false); result.setErrorMessage(resultBuf.toString()); } return result; } }