package com.hehenian.app.view.loan.controllor; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.hehenian.app.common.exception.SessionException; import com.hehenian.app.view.loan.common.AppConstants; import com.hehenian.biz.common.loan.ILoanPersonService; import com.hehenian.biz.common.loan.ILoanRepaymentService; import com.hehenian.biz.common.loan.dataobject.LoanDo.LoanStatus; import com.hehenian.biz.common.loan.dataobject.LoanPersonDo; import com.hehenian.biz.common.loan.dataobject.LoanRepaymentDo; /** * @Description 贷后管理 * @author huangzl QQ: 272950754 zhengyfmf * @date 2015年4月4日 下午2:36:00 * @Project hehenian-lend-app * @Package com.hehenian.app.view.loan.controllor * @File LoanManageControllor.java */ @Controller @RequestMapping(value = "app/mhk/loanManage") public class LoanManageControllor extends AppBaseController { private final Logger logger = Logger.getLogger(this.getClass()); @Autowired private ILoanRepaymentService loanRepaymentService; @Autowired private ILoanPersonService loanPersonService; /** * 逾期页面 * * @return */ @RequestMapping(value = "/overdueRepayPage") public String overdueRepayPage() { return "app/mhk/overdue/overdueRepay"; } /** * 代还款页面 * * @return */ @RequestMapping(value = "/stillRepayPage") public String stillRepayPage() { return "app/mhk/overdue/stillRepay"; } /** * 已还款页面 * * @return */ @RequestMapping(value = "/hasRepayPage") public String hasRepayPage() { return "app/mhk/overdue/hasRepay"; } /** * 已还清页面 * * @return */ @RequestMapping(value = "/repayedPage") public String repayedPage() { return "app/mhk/overdue/repayed"; } @RequestMapping(value = "/overdueList") @ResponseBody public Map<String, Object> overdueList(String realName, Long pageSize, Long curPage, Long loanStatus, Model model, HttpServletRequest request) { logger.debug("[逾期查询:搜索内容:=" + realName + ",pageSize=" + pageSize + ",curPage=" + curPage + "],loanStatus=" + loanStatus); List<Map<String, Object>> list = queryRepaying(realName, pageSize, curPage, loanStatus, request); Map<String, Object> data = new HashMap<String, Object>(); data.put("status", 0); data.put("data", list); System.out.println("========================"); System.out.println("data:" + data.toString()); return data; } /** * 逾期 * * @return */ @RequestMapping(value = "/overdueRepay") @ResponseBody public Map<String, Object> overdueRepay(String searchStr, Long pageSize, Long pageNum, Model model, HttpServletRequest request) { logger.debug("[逾期查询:搜索内容:=" + searchStr + ",pageSize=" + pageSize + ",pageNum=" + pageNum + "]"); Long queryStatus = 1L; List<Map<String, Object>> list = queryRepaying(searchStr, pageSize, pageNum, queryStatus, request); Map<String, Object> data = new HashMap<String, Object>(); data.put("status", 0); data.put("data", list); System.out.println("========================"); System.out.println("data:" + data.toString()); return data; } /** * 待还款 * * @return */ @RequestMapping(value = "/stillRepay") @ResponseBody public Map<String, Object> stillRepayment(String searchStr, Long pageSize, Long pageNum, Model model, HttpServletRequest request) { logger.debug("[逾期查询:搜索内容:=" + searchStr + ",pageSize=" + pageSize + ",pageNum=" + pageNum + "]"); Long queryStatus = 2L; List<Map<String, Object>> list = queryRepaying(searchStr, pageSize, pageNum, queryStatus, request); Map<String, Object> data = new HashMap<String, Object>(); data.put("status", 0); data.put("data", list); System.out.println("========================"); System.out.println("data:" + data.toString()); return data; } /** * 已还款 * * @return */ @RequestMapping(value = "/hasRepay") @ResponseBody public Map<String, Object> hasRepayment(String searchStr, Long pageSize, Long pageNum, Model model, HttpServletRequest request) { logger.debug("[逾期查询:搜索内容:=" + searchStr + ",pageSize=" + pageSize + ",pageNum=" + pageNum + "]"); Long queryStatus = 3L; List<Map<String, Object>> list = queryRepaying(searchStr, pageSize, pageNum, queryStatus, request); Map<String, Object> data = new HashMap<String, Object>(); data.put("status", 0); data.put("data", list); return data; } /** * 已还清 * * @return */ @SuppressWarnings("unchecked") @RequestMapping(value = "/repayed") @ResponseBody public Map<String, Object> repayed(String searchStr, Long pageSize, Long pageNum, Model model, HttpServletRequest request) { logger.debug("[逾期查询:搜索内容:=" + searchStr + ",pageSize=" + pageSize + ",pageNum=" + pageNum + "]"); Map<String, Object> searchItems = new HashMap<String, Object>(); if (StringUtils.isNotBlank(searchStr)) { searchItems.put("realName", searchStr); /* * boolean result=searchStr.matches("[0-9]+"); if(result){ * if(searchStr.length()>3){ searchItems.put("mobile", searchStr); } * }else{ searchItems.put("realName", searchStr); } */ } searchItems.put("loanStatus", LoanStatus.REPAYED.name()); try { searchItems.put("loanCidList", getLoanCidList()); } catch (SessionException e) { e.printStackTrace(); } pageNum = (StringUtils.isNotBlank(request.getParameter("curPage")) ? Long.parseLong(request.getParameter("curPage")) : 1); pageSize = (StringUtils.isNotBlank(request.getParameter("pageSize")) ? Long.parseLong(request.getParameter("pageSize")) : 10); Long beginCount = (pageNum - 1) * pageSize; searchItems.put("beginCount", (beginCount < 0 ? 0 : beginCount)); searchItems.put("pageSize", pageSize); List<Map<String, Object>> list = loanRepaymentService.getByLoanStatus(searchItems); Map<String, Object> data = new HashMap<String, Object>(); data.put("data", list); data.put("status", 0); return data; } /** * 查看记录 * * @param detailType * //查看记录类型 :1-逾期 2-待还款 3-已还款 4-已还清 * @author zhengyfmf * @return */ @RequestMapping(value = "/repayDetail") public String repayDetail(Integer detailType, Long loanId, Integer repayPeriod, Model model) { // 查询借款人信息 LoanPersonDo loanPersonDo = loanPersonService.getLoanPersonById(loanId); model.addAttribute("loanPersonDo", loanPersonDo); // 查询还款信息 List<LoanRepaymentDo> list = loanRepaymentService.queryRepaymentByLoanId(loanId); model.addAttribute("rmList", list); if (detailType.intValue() != 4) { if (list != null) { for (LoanRepaymentDo rm : list) { if (rm.getRepayPeriod() == repayPeriod) { model.addAttribute("loanRepaymentDo", rm); break; } } } } String resStr = ""; switch (detailType.intValue()) { case 1: resStr = "app/mhk/overdue/overdueRepayDetail"; break; case 2: resStr = "app/mhk/overdue/stillRepayDetail"; break; case 3: resStr = "app/mhk/overdue/hasRepayDetail"; break; case 4: resStr = "app/mhk/overdue/repayedDetail"; break; default: break; } return resStr; } /** * @param queryStatus * 查询状态:1-逾期、2-待还款、3-已还款,4、已还清 * @return */ @SuppressWarnings("unchecked") private List<Map<String, Object>> queryRepaying(String searchStr, Long pageSize, Long pageNum, Long queryStatus, HttpServletRequest request) { Map<String, Object> searchItems = new HashMap<String, Object>(); try { searchItems.put("loanCidList", getLoanCidList()); } catch (SessionException e) { e.printStackTrace(); } if (queryStatus == 4) { if (StringUtils.isNotBlank(searchStr)) { searchItems.put("realName", searchStr); } searchItems.put("loanStatus", LoanStatus.REPAYED.name()); pageNum = (StringUtils.isNotBlank(request.getParameter("curPage")) ? Long.parseLong(request.getParameter("curPage")) : 1); pageSize = (StringUtils.isNotBlank(request.getParameter("pageSize")) ? Long.parseLong(request.getParameter("pageSize")) : 10); Long beginCount = (pageNum - 1) * pageSize; searchItems.put("beginCount", (beginCount < 0 ? 0 : beginCount)); searchItems.put("pageSize", pageSize); return loanRepaymentService.getByLoanStatus(searchItems); } else { searchItems.put("queryStatus", queryStatus); if (StringUtils.isNotBlank(searchStr)) { boolean result = searchStr.matches("[0-9]+"); if (result) { if (searchStr.length() > 3) { searchItems.put("mobile", searchStr); } } else { searchItems.put("realName", searchStr); } } pageNum = (StringUtils.isNotBlank(request.getParameter("curPage")) ? Long.parseLong(request.getParameter("curPage")) : 1); pageSize = (StringUtils.isNotBlank(request.getParameter("pageSize")) ? Long.parseLong(request.getParameter("pageSize")) : 10); Long beginCount = (pageNum - 1) * pageSize; searchItems.put("beginCount", (beginCount < 0 ? 0 : beginCount)); searchItems.put("pageSize", pageSize); return loanRepaymentService.listRepayment(searchItems); } } }