package com.sp2p.action.admin;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.Vector;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.shove.Convert;
import com.shove.data.DataException;
import com.shove.util.SqlInfusion;
import com.shove.web.util.ExcelUtils;
import com.shove.web.util.JSONUtils;
import com.sp2p.action.front.BaseFrontAction;
import com.sp2p.constants.BorrowType;
import com.sp2p.constants.IConstants;
import com.sp2p.entity.Admin;
import com.sp2p.service.BorrowService;
import com.sp2p.service.DataApproveService;
import com.sp2p.service.FinanceService;
import com.sp2p.service.OperationLogService;
import com.sp2p.service.SelectedService;
import com.sp2p.service.SendMessageService;
import com.sp2p.service.UserService;
import com.sp2p.service.admin.BorrowManageService;
import com.sp2p.service.admin.PlatformCostService;
import com.sp2p.service.admin.ShoveBorrowTypeService;
import com.sp2p.task.TaskTimer;
import com.sp2p.util.ChinaPnRInterface;
/**
* @ClassName: FrontMyFinanceAction.java
* @Author: gang.lv
* @Date: 2013-3-4 上午11:16:33
* @Copyright: 2013 www.emis.com Inc. All rights reserved.
* @Version: V1.0.1
* @Descrb: 我的借款控制层
*/
public class BorrowManageAction extends BaseFrontAction {
public static Log log = LogFactory.getLog(BorrowManageAction.class);
private File userFile;
private static final long serialVersionUID = 1L;
private BorrowManageService borrowManageService;
// ---add by houli
private DataApproveService dataApproveService;
// ---add by C_J
private ShoveBorrowTypeService shoveBorrowTypeService;
private SendMessageService sendMessageService;
private BorrowService borrowService;
private FinanceService financeService;
private SelectedService selectedService;
private PlatformCostService platformCostService;
private UserService userService;
private Map<String, String> borrowMFADetail;
private Map<String, String> borrowMTenderInDetail;
private Map<String, String> borrowMFullScaleDetail;
private Map<String, String> borrowMFlowMarkDetail;
private Map<String, String> borrowMAllDetail;
private Map<String, String> borrowCirculationDetail;
private List<Map<String, Object>> cirList;
private Object borrowId = "";
// 下拉列表
private List<Map<String, Object>> borrowPurposeList;
private List<Map<String, Object>> borrowDeadlineList;
private List<Map<String, Object>> borrowAmountList;
private List<Map<String, Object>> borrowRaiseTermList;
private List<Map<String, Object>> sysImageList;
private List<Map<String, Object>> borrowTurnlineList;
private List<Map<String, Object>> borrowerList;
public SendMessageService getSendMessageService() {
return sendMessageService;
}
public void setSendMessageService(SendMessageService sendMessageService) {
this.sendMessageService = sendMessageService;
}
/**
* @MethodName: borrowManageFistAuditInit
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-11 上午09:54:00
* @Return:
* @Descb: 后台借款管理初审初始化
* @Throws:
*/
public String borrowManageFistAuditInit() throws SQLException, DataException {
return "success";
}
/**
* @MethodName: borrowManageFistAuditInit
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-10 下午10:58:57
* @Return:
* @Descb: 后台借款管理初审列表
* @Throws:
*/
@SuppressWarnings("unchecked")
public String borrowManageFistAuditList() throws SQLException, DataException {
String pageNums = SqlInfusion.FilteSqlInfusion((String) (request().getParameter("curPage") == null ? ""
: request().getParameter("curPage")));
if (StringUtils.isNotBlank(pageNums)) {
pageBean.setPageNum(pageNums);
}
pageBean.setPageSize(IConstants.PAGE_SIZE_10);
String userName = SqlInfusion
.FilteSqlInfusion(paramMap.get("userName") == null ? "" : paramMap.get("userName"));
String borrowWay = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay") == null ? "" : paramMap
.get("borrowWay"));
int borrowWayInt = Convert.strToInt(borrowWay, -1);
// 暂时性的修改 用于修改显示所有初审中的借款
// 不用做判断处理~
// borrowManageService.queryBorrowAllByCondition(userName, borrowWayInt,
// 1,pageBean);
// 做了判断的处理
borrowManageService.queryBorrowFistAuditByCondition(userName, borrowWayInt, pageBean);
Map<String, String> repaymentMap = borrowManageService.queryBorrowTotalFistAuditDetail();
request().setAttribute("repaymentMap", repaymentMap);
// 统计当前页应收款
double fistAuditAmount = 0;
List<Map<String, Object>> payList = pageBean.getPage();
if (payList != null) {
for (Map<String, Object> map : payList) {
fistAuditAmount = fistAuditAmount + Convert.strToDouble(map.get("borrowAmount") + "", 0);
}
}
DecimalFormat fmt = new DecimalFormat("0.00");
request().setAttribute("fistAuditAmount", fmt.format(fistAuditAmount));
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return "success";
}
@SuppressWarnings("unchecked")
public String borrowManageWaitingAuditList() throws SQLException, DataException {
String pageNums = SqlInfusion.FilteSqlInfusion((String) (request().getParameter("curPage") == null ? ""
: request().getParameter("curPage")));
if (StringUtils.isNotBlank(pageNums)) {
pageBean.setPageNum(pageNums);
}
pageBean.setPageSize(IConstants.PAGE_SIZE_10);
String userName = SqlInfusion
.FilteSqlInfusion(paramMap.get("userName") == null ? "" : paramMap.get("userName"));
String borrowWay = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay") == null ? "" : paramMap
.get("borrowWay"));
int borrowWayInt = Convert.strToInt(borrowWay, -1);
borrowManageService.queryBorrowWaitingAuditByCondition(userName, borrowWayInt, pageBean);
Map<String, String> waitTotalAmount = borrowManageService.queryBorrowTotalWait();
request().setAttribute("waitTotalAmount", waitTotalAmount);
// 统计当前页等待
double waitingAuditAmount = 0;
List<Map<String, Object>> payList = pageBean.getPage();
if (payList != null) {
for (Map<String, Object> map : payList) {
waitingAuditAmount = waitingAuditAmount + Convert.strToDouble(map.get("borrowAmount") + "", 0);
}
}
DecimalFormat fmt = new DecimalFormat("0.00");
request().setAttribute("waitingAuditAmount", fmt.format(waitingAuditAmount));
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return "success";
}
/**
* @throws Exception
* @MethodName: borrowManageFistAuditDetail
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-10 下午11:02:22
* @Return:
* @Descb: 后台借款管理中的借款详情
* @Throws:
*/
public String borrowManageFistAuditDetail() throws Exception {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id") == null ? "" : request().getParameter(
"id"));
long idLong = Convert.strToLong(id, -1);
Map<String, String> TypeLogMap = null;
if (borrowMFADetail == null) {
// 初审中的借款详情
borrowMFADetail = borrowManageService.queryBorrowFistAuditDetailById(idLong);
String nid_log = borrowMFADetail.get("nid_log");
if (StringUtils.isNotBlank(nid_log)) {
TypeLogMap = shoveBorrowTypeService.queryBorrowTypeLogByNid(nid_log.trim());
int stauts = Convert.strToInt(TypeLogMap.get("subscribe_status"), -1);
request().setAttribute("subscribes", stauts);
}
}
return "success";
}
/**
* @throws DataException
* @throws SQLException
* @throws IOException
* @throws DataException
* @throws IOException
* @MethodName: updateBorrowF
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-11 下午03:58:28
* @Return:
* @Descb: 审核借款中的初审记录
* @Throws:
*/
public String updateBorrowF() throws SQLException, DataException, IOException {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
JSONObject obj = new JSONObject();
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
long idLong = Convert.strToLong(id, -1);
String reciver = SqlInfusion.FilteSqlInfusion(paramMap.get("reciver"));
long reciverLong = Convert.strToLong(reciver, -1);
String status = SqlInfusion.FilteSqlInfusion(paramMap.get("status"));
int statusLong = Convert.strToInt(status, -1);
String msg = SqlInfusion.FilteSqlInfusion(paramMap.get("msg"));
String auditOpinion = SqlInfusion.FilteSqlInfusion(paramMap.get("auditOpinion"));
long result = -1;
try {
result = borrowManageService.updateBorrowFistAuditStatus(idLong, reciverLong, statusLong, msg,
auditOpinion, admin.getId(), getBasePath());
} catch (Exception e) {
log.error(e);
e.printStackTrace();
}
if (result <= 0) {
// 操作失败提示
obj.put("msg", IConstants.ACTION_FAILURE);
JSONUtils.printObject(obj);
return null;
}
// 前台跳转地址
obj.put("msg", "1");
JSONUtils.printObject(obj);
return null;
}
/**
* @MethodName: borrowManageTenderInInit
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:01
* @Return:
* @Descb: 后台借款管理招标中初始化
* @Throws:
*/
public String borrowManageTenderInInit() throws SQLException, DataException {
return "success";
}
/**
* @MethodName: borrowManageTenderInList
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:32
* @Return:
* @Descb: 后台借款招标中的记录
* @Throws:
*/
@SuppressWarnings("unchecked")
public String borrowManageTenderInList() throws SQLException, DataException {
String pageNums = SqlInfusion.FilteSqlInfusion((String) (request().getParameter("curPage") == null ? ""
: request().getParameter("curPage")));
if (StringUtils.isNotBlank(pageNums)) {
pageBean.setPageNum(pageNums);
}
pageBean.setPageSize(IConstants.PAGE_SIZE_10);
String userName = SqlInfusion
.FilteSqlInfusion(paramMap.get("userName") == null ? "" : paramMap.get("userName"));
String borrowWay = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay") == null ? "" : paramMap
.get("borrowWay"));
int borrowWayInt = Convert.strToInt(borrowWay, -1);
borrowManageService.queryBorrowTenderInByCondition(userName, borrowWayInt, pageBean);
Map<String, String> repaymentMap = borrowManageService.queryBorrowTotalTenderDetail();
request().setAttribute("repaymentMap", repaymentMap);
// 统计当前页等待
double tenderAmount = 0;
List<Map<String, Object>> payList = pageBean.getPage();
if (payList != null) {
for (Map<String, Object> map : payList) {
tenderAmount = tenderAmount + Convert.strToDouble(map.get("borrowAmount") + "", 0);
}
}
DecimalFormat fmt = new DecimalFormat("0.00");
request().setAttribute("tenderAmount", fmt.format(tenderAmount));
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return "success";
}
/**
* @throws Exception
* @MethodName: borrowManageFistAuditDetail
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-10 下午11:02:22
* @Return:
* @Descb: 后台借款管理招标中的借款详情
* @Throws:
*/
public String borrowManageTenderInDetail() throws Exception {
return "success";
}
/**
* @throws IOException
* @throws DataException
* @MethodName: updateBorrowF
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-11 下午03:58:28
* @Return:
* @Descb: 审核借款中的招标中记录
* @Throws:
*/
public String updateBorrowTenderIn() throws SQLException, IOException, DataException {
JSONObject obj = new JSONObject();
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
long idLong = Convert.strToLong(id, -1);
String auditOpinion = paramMap.get("auditOpinion");
long result = -1;
result = borrowManageService.updateBorrowTenderInStatus(idLong, auditOpinion);
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
if (result <= 0) {
obj.put("msg", IConstants.ACTION_FAILURE);
JSONUtils.printObject(obj);
operationLogService.addOperationLog("t_borrow", admin.getUserName(), IConstants.UPDATE, admin.getLastIP(),
0, "审核借款中的招标中记录,操作失败", 2);
return null;
}
// 前台跳转地址
obj.put("msg", "1");
JSONUtils.printObject(obj);
operationLogService.addOperationLog("t_borrow", admin.getUserName(), IConstants.UPDATE, admin.getLastIP(), 0,
"审核借款中的招标中记录,操作成功", 2);
return null;
}
public String reBackBorrowFistAudit() throws IOException, SQLException {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
JSONObject obj = new JSONObject();
long result = -1;
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id") == null ? "" : paramMap.get("id"));
long idLong = Convert.strToLong(id, -1);
// 调用撤消服务
result = borrowManageService.reBackBorrowFistAudit(idLong, admin.getId(), getBasePath(), "", "");
if (result <= 0) {
// 操作失败
obj.put("msg", IConstants.ACTION_FAILURE);
JSONUtils.printObject(obj);
return null;
}
// 操作成功
obj.put("msg", "1");
JSONUtils.printObject(obj);
return null;
}
/**
* @throws DataException
* @throws SQLException
* @throws IOException
* @MethodName: reBackBorrowTenderIn
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 下午04:00:42
* @Return:
* @Descb: 撤消招标中的借款
* @Throws:
*/
public String reBackBorrowTenderIn() throws Exception {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
JSONObject obj = new JSONObject();
long result = -1;
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id") == null ? "" : paramMap.get("id"));
long idLong = Convert.strToLong(id, -1);
// 调用撤消服务
result = borrowManageService.reBackBorrow(idLong, admin.getId(), getBasePath());
if (result < 0) {
// 操作失败
obj.put("msg", IConstants.ACTION_FAILURE);
JSONUtils.printObject(obj);
return null;
}
// 操作成功
obj.put("msg", "1");
JSONUtils.printObject(obj);
return null;
}
/**
* @MethodName: borrowManageFullScaleInit
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:01
* @Return:
* @Descb: 后台借款管理满标初始化
* @Throws:
*/
public String borrowManageFullScaleInit() throws SQLException, DataException {
return "success";
}
/**
* @MethodName: borrowManageFullScaleList
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:32
* @Return:
* @Descb: 后台借款满标的记录
* @Throws:
*/
@SuppressWarnings("unchecked")
public String borrowManageFullScaleList() throws SQLException, DataException {
String pageNums = (String) (request().getParameter("curPage") == null ? "" : SqlInfusion
.FilteSqlInfusion(request().getParameter("curPage")));
if (StringUtils.isNotBlank(pageNums)) {
pageBean.setPageNum(pageNums);
}
pageBean.setPageSize(IConstants.PAGE_SIZE_10);
String userName = paramMap.get("userName") == null ? "" : SqlInfusion
.FilteSqlInfusion(paramMap.get("userName"));
String borrowWay = paramMap.get("borrowWay") == null ? "" : SqlInfusion.FilteSqlInfusion(paramMap
.get("borrowWay"));
int borrowWayInt = Convert.strToInt(borrowWay, -1);
borrowManageService.queryBorrowFullScaleByCondition(userName, borrowWayInt, pageBean);
Map<String, String> repaymentMap = borrowManageService.queryBorrowTotalFullScaleDetail();
request().setAttribute("repaymentMap", repaymentMap);
// 统计当前页应收款
double fullScaleAmount = 0;
List<Map<String, Object>> payList = pageBean.getPage();
if (payList != null) {
for (Map<String, Object> map : payList) {
fullScaleAmount = fullScaleAmount + Convert.strToDouble(map.get("borrowAmount") + "", 0);
}
}
DecimalFormat fmt = new DecimalFormat("0.##");
request().setAttribute("fistAuditAmount", fmt.format(fullScaleAmount));
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return "success";
}
/**
* @throws Exception
* @MethodName: borrowManageFistAuditDetail
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-10 下午11:02:22
* @Return:
* @Descb: 后台借款管理满标的借款详情
* @Throws:
*/
public String borrowManageFullScaleDetail() throws Exception {
String id = request("id") == null ? "" : SqlInfusion.FilteSqlInfusion(request("id"));
long idLong = Convert.strToLong(id, -1);
Map<String, String> fullScaleDetail = new HashMap<String, String>();
// 满标的借款详情
fullScaleDetail = borrowManageService.queryBorrowFullScaleDetailById(idLong);
// String nid_log = fullScaleDetail.get("nid_log");
// if (StringUtils.isNotBlank(nid_log)) {
// TypeLogMap =
// shoveBorrowTypeService.queryBorrowTypeLogByNid(nid_log.trim());
// int stauts = Convert.strToInt(TypeLogMap.get("subscribe_status"),
// -1);
// request().setAttribute("subscribes", stauts);
// }
// ---add by houli 屏蔽链接
if (fullScaleDetail != null) {
String mailContent = fullScaleDetail.get("mailContent");
String newStr = changeStr2Str(mailContent);
fullScaleDetail.put("mailContent", newStr);
}
request().setAttribute("fullScaleDetail", fullScaleDetail);
// ---------end
return "success";
}
/**
* @throws Exception
* @MethodName: updateBorrowF
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-11 下午03:58:28
* @Return:
* @Descb: 审核借款中的满标记录
* @desc 投资人放款给借款人,同时通过分账串商户可以收取费用等。 后台方式,需在页面上打印 RECV_ORD_ID_ 和 OrdId
* @Throws:
*/
public String updateBorrowFullScale() throws Exception {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
JSONObject obj = new JSONObject();
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
long idLong = Convert.strToLong(id, -1);
String status = SqlInfusion.FilteSqlInfusion(paramMap.get("status"));
long statusLong = Convert.strToLong(status, -1);
String auditOpinion = SqlInfusion.FilteSqlInfusion(paramMap.get("auditOpinion"));
String isDefault = "N";
/*
* SqlInfusion.FilteSqlInfusion(paramMap.get("isDefault")); if
* (StringUtils.isBlank(isDefault)) { isDefault = "N"; } else {
* isDefault = "Y"; }
*/
Map<String, String> retMap = borrowManageService.updateBorrowFullScaleStatus(idLong, statusLong, auditOpinion,
admin.getId(), getBasePath(), isDefault);
long retVal = -1;
retVal = Convert.strToLong(retMap.get("ret") + "", -1);
request().setAttribute("borrowStatus", retMap.get("borrowStatus"));
session().removeAttribute("randomCode");
if (retVal <= 0) {
obj.put("msg", retMap.get("ret_desc"));
JSONUtils.printObject(obj);
return null;
} else {
obj.put("msg", "1");
JSONUtils.printObject(obj);
return null;
}
}
/**
* @MethodName: borrowManageFlowMarkInit
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:01
* @Return:
* @Descb: 后台借款管理流标初始化
* @Throws:
*/
public String borrowManageFlowMarkInit() throws SQLException, DataException {
// String OrdId = paramMap.get("id");
// Map<String, String> fullMap =
// borrowManageService.queryBorrowFullList(Convert.strToLong(OrdId,
// -1));
// chinapnt.loans(OrdId, OutCustId, TransAmt, Fee, SubOrdId, SubOrdDate,
// InCustId, DivDetails, IsDefault);
return "success";
}
/**
* @MethodName: borrowManageFlowMarkList
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:32
* @Return:
* @Descb: 后台借款流标的记录
* @Throws:
*/
@SuppressWarnings("unchecked")
public String borrowManageFlowMarkList() throws SQLException, DataException {
String pageNums = SqlInfusion.FilteSqlInfusion((String) (request().getParameter("curPage") == null ? ""
: request().getParameter("curPage")));
if (StringUtils.isNotBlank(pageNums)) {
pageBean.setPageNum(pageNums);
}
pageBean.setPageSize(IConstants.PAGE_SIZE_10);
String userName = SqlInfusion
.FilteSqlInfusion(paramMap.get("userName") == null ? "" : paramMap.get("userName"));
String borrowWay = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay") == null ? "" : paramMap
.get("borrowWay"));
int borrowWayInt = Convert.strToInt(borrowWay, -1);
borrowManageService.queryBorrowFlowMarkByCondition(userName, borrowWayInt, pageBean);
Map<String, String> repaymentMap = borrowManageService.queryBorrowFlowMarkDetail();
request().setAttribute("repaymentMap", repaymentMap);
// 统计当前页应收款
double flowmarkAmount = 0;
List<Map<String, Object>> payList = pageBean.getPage();
if (payList != null) {
for (Map<String, Object> map : payList) {
flowmarkAmount = flowmarkAmount + Convert.strToDouble(map.get("borrowAmount") + "", 0);
}
}
DecimalFormat fmt = new DecimalFormat("0.00");
request().setAttribute("flowmarkAmount", fmt.format(flowmarkAmount));
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return "success";
}
/**
* @throws Exception
* @MethodName: borrowManageFistAuditDetail
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-10 下午11:02:22
* @Return:
* @Descb: 后台借款管理流标的借款详情
* @Throws:
*/
public String borrowManageFlowMarkDetail() throws Exception {
return "success";
}
/**
* @MethodName: borrowManageAllInit
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:01
* @Return:
* @Descb: 后台借款管理初始化
* @Throws:
*/
public String borrowManageAllInit() throws SQLException, DataException {
return "success";
}
/**
* @MethodName: borrowManageAllList
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-13 上午11:36:32
* @Return:
* @Descb: 后台借款的记录
* @Throws:
*/
@SuppressWarnings("unchecked")
public String borrowManageAllList() throws SQLException, DataException {
pageBean.setPageSize(IConstants.PAGE_SIZE_10);
String userName = SqlInfusion
.FilteSqlInfusion(paramMap.get("userName") == null ? "" : paramMap.get("userName"));
String borrowStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowStatus") == null ? "" : paramMap
.get("borrowStatus"));
int borrowStatusInt = Convert.strToInt(borrowStatus, -1);
String borrowWay = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay") == null ? "" : paramMap
.get("borrowWay"));
int borrowWayInt = Convert.strToInt(borrowWay, -1);
borrowManageService.queryBorrowAllByCondition(userName, borrowWayInt, borrowStatusInt, pageBean);
// ----add by houli 对等待资料的借款进行标记
List<Map<String, Object>> lists = borrowManageService.queryAllWaitingBorrow();
Vector<String> ids = new Vector<String>();
if (lists != null && lists.size() > 0) {
for (Map<String, Object> map : lists) {
ids.add(map.get("id").toString());
}
}
List<Map<String, Object>> lls = pageBean.getPage();
if (lls != null && lls.size() > 0) {
for (Map<String, Object> map : lls) {
if (ids.contains(map.get("id").toString())) {
map.put("flag", "0");
} else {
map.put("flag", "1");
}
}
}
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return "success";
}
// 校验提交借款参数
public boolean isValidate(double amountDouble, String excitationType, double sumRateDouble, double annualRateDouble)
throws SQLException, DataException {
// 获取借款的范围
Map<String, String> tempBorrwBidMessage = new HashMap<String, String>();
tempBorrwBidMessage = shoveBorrowTypeService.queryShoveBorrowTypeByNid(IConstants.BORROW_TYPE_FLOW);
// 取得按借款金额的比例进行奖励
double accountfirst = Convert.strToDouble(tempBorrwBidMessage.get("award_account_first") + "", 0);
double accountend = Convert.strToDouble(tempBorrwBidMessage.get("award_account_end") + "", 0);
if (StringUtils.isNotBlank(excitationType)) {
// 按借款金额比例奖励
if (StringUtils.isNumericSpace(excitationType) && "2".equals(excitationType)) {
if (sumRateDouble < accountfirst || sumRateDouble > accountend) {
this.addFieldError("paramMap['sum']", "固定总额奖励填写不正确");
return false;
}
}
}
// 如果选择金额的话,则按此奖励的金额范围
double scalefirst = Convert.strToDouble(tempBorrwBidMessage.get("award_scale_first") + "", 0);
double scaleend = Convert.strToDouble(tempBorrwBidMessage.get("award_scale_end") + "", 0);
if (StringUtils.isNotBlank(excitationType)) {
// 按借款金额比例奖励
if (StringUtils.isNumericSpace(excitationType) && "3".equals(excitationType)) {
if (sumRateDouble < scalefirst || sumRateDouble > scaleend) {
this.addFieldError("paramMap['sumRate']", "奖励比例填写不正确");
return false;
}
}
}
// 借款额度
double borrowMoneyfirst = Convert.strToDouble(tempBorrwBidMessage.get("amount_first") + "", 0);
double borrowMoneyend = Convert.strToDouble(tempBorrwBidMessage.get("amount_end") + "", 0);
if (borrowMoneyfirst > amountDouble || borrowMoneyend < amountDouble) {
this.addFieldError("paramMap['amount']", "输入的借款总额不正确");
return false;
}
// 借款额度倍数
double accountmultiple = Convert.strToDouble(tempBorrwBidMessage.get("account_multiple") + "", -1);
if (accountmultiple != 0) {
if (amountDouble % accountmultiple != 0) {
this.addFieldError("paramMap['amount']", "输入的借款总额的倍数不正确");
return false;
}
}
// 年利率
double aprfirst = Convert.strToDouble(tempBorrwBidMessage.get("apr_first") + "", 0);
double aprend = Convert.strToDouble(tempBorrwBidMessage.get("apr_end") + "", 0);
if (aprfirst > annualRateDouble || aprend < annualRateDouble) {
this.addFieldError("paramMap['annualRate']", "输入的年利率不正确");
return false;
}
return true;
}
/**
* @MethodName: circulationBorrowInit
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-5-20 上午11:33:18
* @Return:
* @Descb: 流转标借款初始化
* @Throws:
*/
public String circulationBorrowInit() throws SQLException, DataException {
return "success";
}
/**
* @throws DataException
* @throws SQLException
* @MethodName: circulationBorrowList
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-5-20 上午11:35:50
* @Return:
* @Descb: 流转标借款
* @Throws:
*/
public String circulationBorrowList() throws SQLException, DataException {
String userName = SqlInfusion
.FilteSqlInfusion(paramMap.get("userName") == null ? "" : paramMap.get("userName"));
String undertaker = SqlInfusion.FilteSqlInfusion(paramMap.get("undertaker") == null ? "" : paramMap
.get("undertaker"));
String borrowStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowStatus") == null ? "" : paramMap
.get("borrowStatus"));
int borrowStatusInt = Convert.strToInt(borrowStatus, -1);
borrowManageService.queryAllCirculationByCondition(userName, -1, borrowStatusInt, undertaker, pageBean);
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return "success";
}
/**
* @MethodName: borrowCirculationDetail
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-5-20 下午01:44:03
* @Return:
* @Descb: 流转标借款详情
* @Throws:
*/
public String borrowCirculationDetail() throws SQLException, DataException {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id") == null ? "" : request().getParameter(
"id"));
long idLong = Convert.strToLong(id, -1);
if (borrowCirculationDetail == null) {
// 初审中的借款详情
borrowCirculationDetail = borrowManageService.queryBorrowCirculationDetailById(idLong);
}
return "success";
}
/**
* @MethodName: updateBorrowCirculation
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-5-20 下午03:23:42
* @Return:
* @Descb:
* @Throws:
*/
public String updateBorrowCirculation() throws IOException {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
JSONObject obj = new JSONObject();
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
long borrowId = Convert.strToLong(id, -1);
String reciver = SqlInfusion.FilteSqlInfusion(paramMap.get("reciver"));
long reciverId = Convert.strToLong(reciver, -1);
String status = SqlInfusion.FilteSqlInfusion(paramMap.get("status"));
long statusLong = Convert.strToLong(status, -1);
String auditOpinion = SqlInfusion.FilteSqlInfusion(paramMap.get("auditOpinion"));
long result = -1;
if (statusLong == -1) {
obj.put("msg", "请选择审核状态");
JSONUtils.printObject(obj);
return null;
}
if (!StringUtils.isNotBlank(auditOpinion)) {
obj.put("msg", "请填写风险控制措施");
JSONUtils.printObject(obj);
return null;
} else if (auditOpinion.length() > 500) {
obj.put("msg", "风险控制措施内容不能超过500字符");
JSONUtils.printObject(obj);
return null;
}
try {
result = borrowManageService.updateBorrowCirculationStatus(borrowId, reciverId, statusLong, auditOpinion,
admin.getId(), getBasePath(), getPlatformCost());
operationLogService.addOperationLog("t_borrow", admin.getUserName(), IConstants.UPDATE, admin.getLastIP(),
0, "更新流转标的状态", 2);
} catch (Exception e) {
log.error(e);
e.printStackTrace();
}
if (result <= 0) {
// 操作失败提示
obj.put("msg", IConstants.ACTION_FAILURE);
JSONUtils.printObject(obj);
return null;
}
// 前台跳转地址
obj.put("msg", "1");
JSONUtils.printObject(obj);
return null;
}
/**
* @throws Exception
* @MethodName: borrowManageFistAuditDetail
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-3-10 下午11:02:22
* @Return:
* @Descb: 后台借款管理的借款详情
* @Throws:
*/
public String borrowManageAllDetail() throws Exception {
return "success";
}
public BorrowManageService getBorrowManageService() {
return borrowManageService;
}
public void setBorrowManageService(BorrowManageService borrowManageService) {
this.borrowManageService = borrowManageService;
}
public Map<String, String> getBorrowMFADetail() throws SQLException, DataException {
return borrowMFADetail;
}
public Map<String, String> getBorrowMTenderInDetail() throws SQLException, DataException {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id") == null ? "" : request().getParameter(
"id"));
long idLong = Convert.strToLong(id, -1);
Map<String, String> TypeLogMap = null;
if (borrowMTenderInDetail == null) {
// 招标中的借款详情
borrowMTenderInDetail = borrowManageService.queryBorrowTenderInDetailById(idLong);
String nid_log = borrowMTenderInDetail.get("nid_log");
if (StringUtils.isNotBlank(nid_log)) {
TypeLogMap = shoveBorrowTypeService.queryBorrowTypeLogByNid(nid_log.trim());
int stauts = Convert.strToInt(TypeLogMap.get("subscribe_status"), -1);
request().setAttribute("subscribes", stauts);
}
}
// ---add by houli 屏蔽链接
String mailContent = borrowMTenderInDetail.get("mailContent");
String newStr = changeStr2Str(mailContent);
borrowMTenderInDetail.put("mailContent", newStr);
// ---------end
return borrowMTenderInDetail;
}
public void setPlatformCostService(PlatformCostService platformCostService) {
this.platformCostService = platformCostService;
}
public Map<String, String> getBorrowMFullScaleDetail() throws Exception {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id") == null ? "" : request().getParameter(
"id"));
long idLong = Convert.strToLong(id, -1);
Map<String, String> TypeLogMap = null;
if (borrowMFullScaleDetail == null) {
// 满标的借款详情
borrowMFullScaleDetail = borrowManageService.queryBorrowFullScaleDetailById(idLong);
String nid_log = borrowMFullScaleDetail.get("nid_log");
if (StringUtils.isNotBlank(nid_log)) {
TypeLogMap = shoveBorrowTypeService.queryBorrowTypeLogByNid(nid_log.trim());
int stauts = Convert.strToInt(TypeLogMap.get("subscribe_status"), -1);
request().setAttribute("subscribes", stauts);
}
}
// ---add by houli 屏蔽链接
String mailContent = borrowMFullScaleDetail.get("mailContent");
String newStr = changeStr2Str(mailContent);
borrowMFullScaleDetail.put("mailContent", newStr);
// ---------end
return borrowMFullScaleDetail;
}
public Map<String, String> getBorrowMFlowMarkDetail() throws SQLException, DataException {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id") == null ? "" : request().getParameter(
"id"));
long idLong = Convert.strToLong(id, -1);
Map<String, String> TypeLogMap = null;
if (borrowMFlowMarkDetail == null) {
// 流标的借款详情
borrowMFlowMarkDetail = borrowManageService.queryBorrowFlowMarkDetailById(idLong);
String nid_log = borrowMFlowMarkDetail.get("nid_log");
if (StringUtils.isNotBlank(nid_log)) {
TypeLogMap = shoveBorrowTypeService.queryBorrowTypeLogByNid(nid_log.trim());
int stauts = Convert.strToInt(TypeLogMap.get("subscribe_status"), -1);
request().setAttribute("subscribes", stauts);
}
}
return borrowMFlowMarkDetail;
}
public String circulationRepayRecordInit() throws SQLException, DataException {
return "success";
}
/**
* @throws DataException
* @throws SQLException
* @MethodName: circulationBorrowList
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-5-20 上午11:35:50
* @Return:
* @Descb: 流转标借款
* @Throws:
*/
public String circulationRepayRecordList() throws SQLException, DataException {
String userName = SqlInfusion
.FilteSqlInfusion(paramMap.get("userName") == null ? "" : paramMap.get("userName"));
String borrowTitle = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowTitle") == null ? "" : paramMap
.get("borrowTitle"));
String borrowStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowStatus") == null ? "" : paramMap
.get("borrowStatus"));
int borrowStatusInt = Convert.strToInt(borrowStatus, -1);
borrowManageService.queryAllCirculationRepayRecordByCondition(userName, borrowStatusInt, borrowTitle, pageBean);
return "success";
}
/**
* @MethodName: circulationRepayForAdd
* @Param: BorrowManageAction
* @Return:
* @Descb: 流转标还款详情添加初始化
* @Throws:
*/
public String circulationRepayForAdd() {
return "success";
}
/**
* @throws SQLException
* @MethodName: circulationRepayAdd
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-7-23 下午03:48:45
* @Return:
* @Descb: 添加流转标详情
* @Throws:
*/
public String circulationRepayAdd() throws SQLException {
Admin admin = (Admin) session().getAttribute("admin");
String amount = SqlInfusion.FilteSqlInfusion(paramMap.get("amount"));
double amountDouble = Convert.strToDouble(amount, -1);
String remark = SqlInfusion.FilteSqlInfusion(paramMap.get("remark"));
Object id = session().getAttribute("repayId");
long repayId = Convert.strToLong(id + "", -1);
if (repayId == -1) {
this.addFieldError("paramMap['action']", "操作失败");
return "input";
}
if (amountDouble == -1 || amountDouble <= 0) {
this.addFieldError("paramMap['amount']", "金额格式错误");
return "input";
}
if (remark.length() > 500) {
this.addFieldError("paramMap['remark']", "备注不能超过500字符");
return "input";
}
long returnId = -1;
returnId = borrowManageService.addCirculationRepay(repayId, amountDouble, admin.getId(), remark);
operationLogService.addOperationLog("t_borrow", admin.getUserName(), IConstants.INSERT, admin.getLastIP(), 0,
"添加流转标还款记录", 2);
if (returnId < 1) {
this.addFieldError("paramMap['action']", "操作失败");
return "input";
}
borrowId = session().getAttribute("borrowId");
;
return "success";
}
public Map<String, String> getBorrowMAllDetail() throws SQLException, DataException {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id") == null ? "" : request().getParameter(
"id"));
long idLong = Convert.strToLong(id, -1);
if (borrowMAllDetail == null) {
// 所以的借款详情
borrowMAllDetail = borrowManageService.queryBorrowAllDetailById(idLong);
}
return borrowMAllDetail;
}
/**
* 验证用户资料信息
*
* @return
*/
public String isNotUnderCoirculationBorrow() {
// JSONObject obj = new JSONObject();
long uId = Convert.strToLong(request().getParameter("i"), -1);
Map<String, String> userMap;
try {
userMap = userService.queryUserById(uId);
if (Convert.strToInt(userMap.get("vipStatus"), 0) == IConstants.UNVIP_STATUS) {// 没有成为VIP
JSONUtils.printStr("3");
return null;
}
if (Convert.strToInt(userMap.get("authStep"), 0) == 1) {
// 基本信息认证步骤
JSONUtils.printStr("7");
return null;
} else if (Convert.strToInt(userMap.get("authStep"), 0) == 2) {
// 工作信息认证步骤
JSONUtils.printStr("4");
return null;
} else if (Convert.strToInt(userMap.get("authStep"), 0) == 3) {
// VIP申请认证步骤
JSONUtils.printStr("5");
return null;
} else if (Convert.strToInt(userMap.get("authStep"), 0) == 4) {
// 上传资料认证步骤
JSONUtils.printStr("6");
return null;
}
Map<String, String> map = dataApproveService.querySauthId(uId, IConstants.FLOW_PHONE);
if (map == null) {
JSONUtils.printStr("2");// 手机认证
return null;
} else {
Long sauthId = Convert.strToLong(map.get("id"), -1L);
Long status = dataApproveService.queryApproveStatus(sauthId);
if (status < 0) {
JSONUtils.printStr("8");// 手机认证待审核
return null;
}
}
// 条件满足
JSONUtils.printStr("1");
return null;
} catch (DataException e) {
log.error(e);
e.printStackTrace();
} catch (SQLException e) {
log.error(e);
e.printStackTrace();
} catch (IOException e) {
log.error(e);
e.printStackTrace();
}
return null;
}
/**
* @MethodName: underCirculationBorrow
* @Param: BorrowManageAction
* @Author: gang.lv
* @Date: 2013-5-20 下午04:38:02
* @Return:
* @Descb: 代发流转标
* @Throws:
*/
public String underCirculationBorrow() {
String uId = SqlInfusion.FilteSqlInfusion(request().getParameter("i") == null ? "" : request()
.getParameter("i"));
session().setAttribute("uId", uId);
Map<String, String> tempBorrwBidMessage = new HashMap<String, String>();
try {
tempBorrwBidMessage = shoveBorrowTypeService.queryShoveBorrowTypeByNid(IConstants.BORROW_TYPE_FLOW);
// 取得按借款金额的比例进行奖励
paramMap.put("scalefirst", tempBorrwBidMessage.get("award_scale_first") + "");
paramMap.put("scaleend", tempBorrwBidMessage.get("award_scale_end") + "");
// 如果选择金额的话,则按此奖励的金额范围
paramMap.put("accountfirst", tempBorrwBidMessage.get("award_account_first") + "");
paramMap.put("accountend", tempBorrwBidMessage.get("award_account_end") + "");
// 借款额度
paramMap.put("borrowMoneyfirst", tempBorrwBidMessage.get("amount_first") + "");
paramMap.put("borrowMoneyend", tempBorrwBidMessage.get("amount_end") + "");
// 借款额度倍数
paramMap.put("accountmultiple", tempBorrwBidMessage.get("account_multiple") + "");
// 年利率
paramMap.put("aprfirst", tempBorrwBidMessage.get("apr_first") + "");
paramMap.put("aprend", tempBorrwBidMessage.get("apr_end") + "");
} catch (SQLException e) {
log.error(e);
e.printStackTrace();
} catch (DataException e) {
log.error(e);
e.printStackTrace();
}
return "success";
}
public DataApproveService getDataApproveService() {
return dataApproveService;
}
public void setDataApproveService(DataApproveService dataApproveService) {
this.dataApproveService = dataApproveService;
}
private String changeStr2Str(String mailContent) {
if (mailContent != null && !mailContent.equals("")) {
int ind1 = mailContent.indexOf("<");
int ind2 = mailContent.indexOf(">");
if (ind1 < 0 || ind2 < 0 || ind2 <= ind1) {
return mailContent;
}
String newStr = mailContent.substring(0, ind1) + mailContent.substring(ind2 + 1);
// 处理<a>链接的结束标签
newStr.replace("</a>", "");
return newStr;
}
return mailContent;
}
public void setShoveBorrowTypeService(ShoveBorrowTypeService shoveBorrowTypeService) {
this.shoveBorrowTypeService = shoveBorrowTypeService;
}
public List<Map<String, Object>> getCirList() {
return cirList;
}
public void setCirList(List<Map<String, Object>> cirList) {
this.cirList = cirList;
}
public Map<String, String> getBorrowCirculationDetail() {
return borrowCirculationDetail;
}
public void setBorrowCirculationDetail(Map<String, String> borrowCirculationDetail) {
this.borrowCirculationDetail = borrowCirculationDetail;
}
public File getUserFile() {
return userFile;
}
public void setUserFile(File userFile) {
this.userFile = userFile;
}
public void setFinanceService(FinanceService financeService) {
this.financeService = financeService;
}
public Object getBorrowId() {
return borrowId;
}
public void setBorrowId(Object borrowId) {
this.borrowId = borrowId;
}
public static Log getLog() {
return log;
}
public List<Map<String, Object>> getBorrowPurposeList() throws SQLException, DataException {
if (borrowPurposeList == null) {
// 借款目的列表
borrowPurposeList = selectedService.borrowPurpose();
}
return borrowPurposeList;
}
public List<Map<String, Object>> getBorrowDeadlineList() throws SQLException, DataException {
if (borrowDeadlineList == null) {
// 借款期限列表
borrowDeadlineList = selectedService.borrowDeadline();
}
return borrowDeadlineList;
}
public List<Map<String, Object>> getBorrowRaiseTermList() throws SQLException, DataException {
if (borrowRaiseTermList == null) {
// 筹款期限列表
borrowRaiseTermList = selectedService.borrowRaiseTerm();
}
return borrowRaiseTermList;
}
public List<Map<String, Object>> getSysImageList() throws SQLException, DataException {
if (sysImageList == null) {
// 系统列表
sysImageList = selectedService.sysImageList();
}
return sysImageList;
}
/**
* 初审列表初始化
*/
public String queryFirstTrialIndex() {
return SUCCESS;
}
/**
* 查询初审列表
*/
@SuppressWarnings("unchecked")
public String queryFirstTrialList() throws SQLException, DataException {
String userName = SqlInfusion.FilteSqlInfusion(paramMap.get("userName"));
String borrowWay = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay"));
String borrowStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowStatus"));
borrowManageService.queryFirstTrialList(pageBean, userName, borrowWay, borrowStatus);
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return SUCCESS;
}
/**
* 根据ID查询借款信息--初审 queryFirsttrialById
*/
public String queryFirsttrialById() throws DataException, SQLException {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id"));
Map<String, String> map = null;
try {
map = borrowManageService.queryFirsttrialById(id);
request().setAttribute("map", map);
} catch (DataException e) {
e.printStackTrace();
throw e;
} catch (SQLException e) {
e.printStackTrace();
throw e;
}
return SUCCESS;
}
/**
* 初审--发送站内信
*
* @return
* @throws SQLException
* [参数说明]
*
* @return String [返回类型说明]
* @throws IOException
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
public String updateFirsttrial() throws SQLException, IOException {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
String borrowStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowStatus"));
String windControl = SqlInfusion.FilteSqlInfusion(paramMap.get("windControl").trim());
String reciver = SqlInfusion.FilteSqlInfusion(paramMap.get("reciver"));
String mailTitle = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowTitle"));
String mailContent = SqlInfusion.FilteSqlInfusion(paramMap.get("mailContent").trim());
String firstTrial = admin.getUserName();
long sender = admin.getId();
long result = 0;
try {
result = borrowManageService.updateFirsttrial(id, borrowStatus, windControl, firstTrial, reciver,
mailTitle, sender, mailContent);
if (result > 0) {
JSONUtils.printStr("1");
} else {
JSONUtils.printStr("2");
}
} catch (Exception e) {
e.printStackTrace();
JSONUtils.printStr("2");
}
return null;
}
/**
* 复审列表初始化
*
* @return [参数说明]
*
* @return String [返回类型说明]
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
public String queryRecheckIndex() {
return SUCCESS;
}
/**
* 查询复审列表
*
* @return
* @throws SQLException
* @throws DataException
* [参数说明]
*
* @return String [返回类型说明]
* @throws DataException
* @throws SQLException
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
@SuppressWarnings("unchecked")
public String queryRecheckList() throws SQLException, DataException {
String userName = SqlInfusion.FilteSqlInfusion(paramMap.get("userName"));
String borrowWay = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay"));
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
Admin admin = (Admin) session().getAttribute("admin");
borrowManageService.queryRecheckList(pageBean, userName, borrowWay, id);
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
request().setAttribute("adminName", admin.getUserName());
return SUCCESS;
}
/**
* 根据ID查询借款信息--复审 queryRecheckById
*
* @return [参数说明]
*
* @return Map<String,String> [返回类型说明]
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
public String queryRecheckById() throws DataException, SQLException {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id"));
Map<String, String> map = null;
try {
map = borrowManageService.queryRecheckById(id);
// 测试服务器报错,小小的处理一下
String excitationSum = map.get("excitationSum");
if (Convert.strToInt(excitationSum, -1) < 0) {
excitationSum = "不设置奖励";
}
map.put("excitationSum", excitationSum);
String maxTenderedSum = map.get("maxTenderedSum");
if (Convert.strToDouble(maxTenderedSum, -1) < 0) {
maxTenderedSum = "没有限制";
}
map.put("maxTenderedSum", maxTenderedSum);
request().setAttribute("map", map);
} catch (DataException e) {
e.printStackTrace();
throw e;
} catch (SQLException e) {
e.printStackTrace();
throw e;
}
return SUCCESS;
}
/**
* 复审--发送站内信--新增修改借款信息
*/
public String updateRecheck() throws SQLException, IOException {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
String borrowStatus = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowStatus"));
String windControl = SqlInfusion.FilteSqlInfusion(paramMap.get("windControl"));
String reciver = SqlInfusion.FilteSqlInfusion(paramMap.get("reciver"));
String mailTitle = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowTitle"));
String mailContent = SqlInfusion.FilteSqlInfusion(paramMap.get("mailContent").trim());
String minTenderedSum = SqlInfusion.FilteSqlInfusion(paramMap.get("minTenderedSum"));
String maxTenderedSum = SqlInfusion.FilteSqlInfusion(paramMap.get("maxTenderedSum"));
String userIds = SqlInfusion.FilteSqlInfusion(paramMap.get("userIds"));
String recheck = admin.getUserName();
long sender = admin.getId();
long result = 0;
/** 新增修改借款信息,不存在给予默认值 */
String borrowAmounts = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("borrowAmount")), "0");// 没有给0
String annualRate = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("annualRate")), "-1");
String deadline = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("deadline")), "-1");
String raiseTerm = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("raiseTerm")), "-1");
String borrowGroup = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("borrowGroup")), "0");
try {
// 重新初审
if (borrowStatus == "9" || borrowStatus.equals("9")) {
result = borrowManageService.updateFirsttrialAgain(id, borrowStatus, borrowAmounts, annualRate,
deadline, raiseTerm);
if (result > 0) {
JSONUtils.printStr("1");
} else {
JSONUtils.printStr("2");
}
} else {
//
result = borrowManageService.updateRecheck(id, borrowStatus, windControl, recheck, reciver, mailTitle,
sender, mailContent, minTenderedSum, maxTenderedSum, userIds, borrowAmounts, annualRate,
deadline, raiseTerm, borrowGroup);
if (result > 0) {
JSONUtils.printStr("1");
} else {
JSONUtils.printStr("2");
}
}
} catch (Exception e) {
e.printStackTrace();
JSONUtils.printStr("2");
}
return null;
}
/**
* 查询待发布列表初始化
*
* @return [参数说明]
*
* @return String [返回类型说明]
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
public String queryReleasedListIndex() {
return SUCCESS;
}
/**
* 查询待发布列表
*
* @return
* @throws SQLException
* @throws DataException
* [参数说明]
*
* @return String [返回类型说明]
* @throws DataException
* @throws SQLException
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
@SuppressWarnings("unchecked")
public String queryReleasedList() throws SQLException, DataException {
String userName = SqlInfusion.FilteSqlInfusion(paramMap.get("userName"));
String source = SqlInfusion.FilteSqlInfusion(paramMap.get("source"));
String borrowAmount = SqlInfusion.FilteSqlInfusion(paramMap.get("borrowAmount"));
Admin admin = (Admin) session().getAttribute("admin");
borrowManageService.queryReleasedList(pageBean, userName, source, borrowAmount);
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
request().setAttribute("adminName", admin.getUserName());
return SUCCESS;
}
/**
* 发布借款
*
* @return
* @throws SQLException
* @throws IOException
* [参数说明]
*
* @return String [返回类型说明]
* @exception throws [违例类型] [违例说明]
* @see [类、类#方法、类#成员]
*/
public String updateReleased() throws SQLException, IOException {
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
long result = 0;
try {
result = borrowManageService.updateReleased(id);
if (result > 0) {
JSONUtils.printStr("1");
} else {
JSONUtils.printStr("2");
}
} catch (Exception e) {
e.printStackTrace();
JSONUtils.printStr("2");
}
return null;
}
/**
* 撮合借款列表初始化
*/
public String queryBringListIndex() {
return SUCCESS;
}
/**
* 查询撮合借款列表
*/
@SuppressWarnings("unchecked")
public String queryBringList() throws SQLException, DataException {
String userName = SqlInfusion.FilteSqlInfusion(paramMap.get("userName"));
String source = SqlInfusion.FilteSqlInfusion(paramMap.get("source"));
borrowManageService.queryBringList(pageBean, userName, source);
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
return SUCCESS;
}
/**
* 撮合借款
*/
public String updateBring() throws Exception {
String idstr = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
double collagen = Convert.strToDouble(paramMap.get("collagen"), -1); // 投标进度
if (collagen <= 0) {
borrowManageService.updateBring(idstr);
JSONUtils.printStr2("操作成功");
return null;
}
List<Map<String, Object>> list = borrowManageService.queryBringByIds(idstr);
if (list == null || list.size() == 0) {
JSONUtils.printStr2("未找到数据");
return null;
}
for (Map<String, Object> map : list) {
String id = map.get("id") + "";
String number = map.get("number") + "";
JSONObject json = null;
String str = ChinaPnRInterface.usrUnFreeze(map.get("ordId") + "", map.get("trxId") + "");
try {
json = JSONObject.fromObject(str);
// 失败借款,插入资金记录
borrowManageService.insertFundrecord(map);
// -----------------c_j
/*
* Map<String,String> usersex =
* userService.queryIdNOsex(Convert.
* strToLong(map.get("investor")+"",-1L)); if (usersex!=null) {
* String username_sex =
* AmountUtil.isnoQuerySex(usersex.get("realName"),
* usersex.get("idNo")); String sendcontent =
* "尊敬的"+username_sex+
* "您好,你投资的编号为"+number+"的借款标的,由于在特定时间内未完成资金募集,交易撮合失败,您所投资的资金"
* +map.get("transAmt")+"元解冻,请您投资其它标的.";
* sendMessageService.noteSend(sendcontent,
* Convert.strToLong(map.get("investor")+"",-1L));
* //------------------- }
*/
} catch (Exception e) {
str = str.substring(str.indexOf("<p class=\"desc\">") + "<p class=\"desc\">".length());
JSONUtils.printStr2(str.substring(0, str.indexOf("</p>")));
e.printStackTrace();
return null;
}
if (0 != json.getInt("RespCode")) {// 成功
JSONUtils.printStr2("失败:" + json.getString("RespDesc"));
return null;
}
borrowManageService.updateBring(id);
}
JSONUtils.printStr2("操作成功");
return null;
}
public void timer() {
Timer timer = new Timer();
timer.schedule(new TaskTimer(), 0, 2000);
}
/**
* 定时发布
*/
public String timerSend() throws SQLException, DataException, IOException {
log.info("定时发布借款开始......");
// borrowManageService.queryRedayReleasedList(pageBean, "", "", "");
// List<Map<String, Object>> list = pageBean.getPage(); // 查询出系统发布时间
// if (null != list && list.size() != 0) {
// }
try {
borrowManageService.updateTimerSend();
} catch (SQLException e) {
e.printStackTrace();
}
log.info("定时发布借款OK......");
return null;
}
/**
* 定时
*/
public String updateReleasedTimeList() {
String id = SqlInfusion.FilteSqlInfusion(paramMap.get("id"));
String times = SqlInfusion.FilteSqlInfusion(paramMap.get("times"));
long result = 0;
try {
result = borrowManageService.updateTimer(id, times);
if (result > 0) {
JSONUtils.printStr("1");
} else {
JSONUtils.printStr("2");
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public SelectedService getSelectedService() {
return selectedService;
}
public void setSelectedService(SelectedService selectedService) {
this.selectedService = selectedService;
}
public List<Map<String, Object>> getBorrowAmountList() {
return borrowAmountList;
}
public void setBorrowAmountList(List<Map<String, Object>> borrowAmountList) {
this.borrowAmountList = borrowAmountList;
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public void setBorrowService(BorrowService borrowService) {
this.borrowService = borrowService;
}
public ShoveBorrowTypeService getShoveBorrowTypeService() {
return shoveBorrowTypeService;
}
public FinanceService getFinanceService() {
return financeService;
}
public void setBorrowMFADetail(Map<String, String> borrowMFADetail) {
this.borrowMFADetail = borrowMFADetail;
}
public void setBorrowMTenderInDetail(Map<String, String> borrowMTenderInDetail) {
this.borrowMTenderInDetail = borrowMTenderInDetail;
}
public void setBorrowMFullScaleDetail(Map<String, String> borrowMFullScaleDetail) {
this.borrowMFullScaleDetail = borrowMFullScaleDetail;
}
public void setBorrowMFlowMarkDetail(Map<String, String> borrowMFlowMarkDetail) {
this.borrowMFlowMarkDetail = borrowMFlowMarkDetail;
}
public void setBorrowMAllDetail(Map<String, String> borrowMAllDetail) {
this.borrowMAllDetail = borrowMAllDetail;
}
public void setBorrowPurposeList(List<Map<String, Object>> borrowPurposeList) {
this.borrowPurposeList = borrowPurposeList;
}
public void setBorrowDeadlineList(List<Map<String, Object>> borrowDeadlineList) {
this.borrowDeadlineList = borrowDeadlineList;
}
public void setBorrowRaiseTermList(List<Map<String, Object>> borrowRaiseTermList) {
this.borrowRaiseTermList = borrowRaiseTermList;
}
public void setSysImageList(List<Map<String, Object>> sysImageList) {
this.sysImageList = sysImageList;
}
/** 借款人(用户列表) */
public List<Map<String, Object>> getBorrowerList() throws SQLException {
borrowerList = userService.queryUsers();
return borrowerList;
}
public void setBorrowerList(List<Map<String, Object>> borrowerList) {
this.borrowerList = borrowerList;
}
public List<Map<String, Object>> getBorrowTurnlineList() {
if (borrowTurnlineList == null) {
// 借款期限列表
// borrowDeadlineList = selectedService.borrowDeadline();
// 获取的到相应的map
Map<String, String> borrowTrunlineMap;
try {
borrowTrunlineMap = shoveBorrowTypeService.queryShoveBorrowTypeByNid(IConstants.BORROW_TYPE_FLOW);
borrowTurnlineList = new ArrayList<Map<String, Object>>();
if (borrowTrunlineMap != null && borrowTrunlineMap.size() > 0) {
String trunmonth = Convert.strToStr(borrowTrunlineMap.get("period_month") + "", "");
String[] trunmonths = trunmonth.split(",");// 截取;符号
// 放入String数组
if (trunmonths != null) {
String str = " 个月";
for (String file : trunmonths) {// 遍历String数组
Map<String, Object> map = new HashMap<String, Object>();
map.put("key", file.trim());
map.put("value", file + str);
borrowTurnlineList.add(map);
}
}
}
} catch (SQLException e) {
log.error(e);
e.printStackTrace();
} catch (DataException e) {
log.error(e);
e.printStackTrace();
}
}
return borrowTurnlineList;
}
public void setBorrowTurnlineList(List<Map<String, Object>> borrowTurnlineList) {
this.borrowTurnlineList = borrowTurnlineList;
}
public OperationLogService getOperationLogService() {
return operationLogService;
}
@SuppressWarnings("unchecked")
public void setOperationLogService(OperationLogService operationLogService) {
this.operationLogService = operationLogService;
}
// ////////////失败借款
public String failedBorrowIndex() throws Exception {
return SUCCESS;
}
// 失败借款列表
@SuppressWarnings("unchecked")
public String failedBorrowList() throws Exception {
String userName = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("userName")), null);
int borrowWay = Convert.strToInt(SqlInfusion.FilteSqlInfusion(paramMap.get("borrowWay")), 0);
try {
borrowManageService.queryAllFailedBorrowList(pageBean, userName, borrowWay);
int pageNum = (int) (pageBean.getPageNum() - 1) * pageBean.getPageSize();
request().setAttribute("pageNum", pageNum);
request().setAttribute("totalNum", pageBean.getTotalNum());
} catch (Exception e) {
log.error(e);
e.printStackTrace();
throw e;
}
return SUCCESS;
}
// 删除失败借款
public String deleteFailedBorrow() throws Exception {
String ids = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("id")), null);
if (ids != null) {
try {
long result = borrowManageService.deleteFailedBorrow(ids);
if (result > 0) {
JSONUtils.printStr("1");
} else {
JSONUtils.printStr("2");
}
} catch (Exception e) {
log.error(e);
e.printStackTrace();
throw e;
}
}
return null;
}
// 导出选中的失败借款数据
@SuppressWarnings("unchecked")
public String exportAllFailedBorrow() {
String idString = Convert.strToStr(SqlInfusion.FilteSqlInfusion(request("ids")), null);
pageBean.pageNum = 1;
pageBean.setPageSize(100000);
String exporName = "借款失败";
try {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
borrowManageService.queryselectedFailedBorrowList(pageBean, idString);
if (pageBean.getPage() == null) {
getOut().print("<script>alert(' 导出记录条数不能为空! ');window.history.go(-1);</script>");
return null;
}
if (pageBean.getPage().size() > IConstants.EXCEL_MAX) {
getOut().print("<script>alert(' 导出记录条数不能大于50000条 ');window.history.go(-1);</script>");
return null;
}
HSSFWorkbook wb = ExcelUtils.exportExcel(exporName, pageBean.getPage(), new String[] { "标的id", "用户名",
"真实姓名", "来源", "标的类型", "借款标题", "借款金额", "利率", "期限", "筹标期限", "状态" }, new String[] { "id", "userName",
"realName", "source", "borrowWay", "borrowTitle", "borrowAmount", "annualRate", "deadLine",
"raiseTerm", "borrowStatus", });
this.export(wb, new Date().getTime() + ".xls");
// 系统操作日志
operationLogService.addOperationLog("v_t_user_failedborrow_lists", admin.getUserName(), IConstants.EXCEL,
admin.getLastIP(), 0, "导出" + exporName, 2);
} catch (SQLException e) {
e.printStackTrace();
} catch (DataException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 导出选中的初审借款数据
@SuppressWarnings("unchecked")
public String exportFirstTrialBorrow() {
String idString = Convert.strToStr(SqlInfusion.FilteSqlInfusion(request("ids")), null);
pageBean.pageNum = 1;
pageBean.setPageSize(100000);
String exporName = "初审借款";
try {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
borrowManageService.queryselectedFirstTrialBorrowList(pageBean, idString);
if (pageBean.getPage() == null) {
getOut().print("<script>alert(' 导出记录条数不能为空! ');window.history.go(-1);</script>");
return null;
}
if (pageBean.getPage().size() > IConstants.EXCEL_MAX) {
getOut().print("<script>alert(' 导出记录条数不能大于50000条 ');window.history.go(-1);</script>");
return null;
}
// HSSFWorkbook wb = ExcelUtils.exportExcel(exporName,
// pageBean.getPage(), new String[] { "标的id", "用户名", "真实姓名", "借款来源",
// "标的类型", "借款标题",
// "借款金额", "利率", "期限", "筹标期限", "状态" }, new String[] { "id",
// "userName", "realName", "source", "borrowWay", "borrowTitle",
// "borrowAmount", "annualRate", "deadLine", "raiseTerm",
// "circulationStatus", });
HSSFWorkbook wb = ExcelUtils.exportExcel(exporName, pageBean.getPage(), new String[] { "借款编号", "真实姓名",
"标的类型", "借款标题", "借款金额", "利率", "期限", "筹标期限", "状态" }, new String[] { "number", "realName",
"borrowWay", "borrowTitle", "borrowAmount", "annualRate", "deadLine", "raiseTerm",
"circulationStatus", });
this.export(wb, new Date().getTime() + ".xls");
// 系统操作日志
operationLogService.addOperationLog("v_t_user_firsttrialborrow_lists", admin.getUserName(),
IConstants.EXCEL, admin.getLastIP(), 0, "导出" + exporName, 2);
} catch (SQLException e) {
e.printStackTrace();
} catch (DataException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 导出选中的复审借款数据
@SuppressWarnings("unchecked")
public String exportAllRecheckBorrow() {
String idString = Convert.strToStr(SqlInfusion.FilteSqlInfusion(request("ids")), null);
pageBean.pageNum = 1;
pageBean.setPageSize(100000);
String exporName = "复审借款";
try {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
borrowManageService.queryselectedRecheckTrialBorrowList(pageBean, idString);
if (pageBean.getPage() == null) {
getOut().print("<script>alert(' 导出记录条数不能为空! ');window.history.go(-1);</script>");
return null;
}
if (pageBean.getPage().size() > IConstants.EXCEL_MAX) {
getOut().print("<script>alert(' 导出记录条数不能大于50000条 ');window.history.go(-1);</script>");
return null;
}
// HSSFWorkbook wb = ExcelUtils.exportExcel(exporName,
// pageBean.getPage(), new String[] { "标的id", "用户名", "真实姓名", "借款来源",
// "标的类型", "借款标题",
// "借款金额", "利率", "期限", "筹标期限", "初审人" }, new String[] { "id",
// "userName", "realName", "source", "borrowWay", "borrowTitle",
// "borrowAmount", "annualRate", "deadLine", "raiseTerm",
// "firstTrial", });
HSSFWorkbook wb = ExcelUtils.exportExcel(exporName, pageBean.getPage(), new String[] { "借款编号", "真实姓名",
"标的类型", "借款标题", "借款金额", "利率", "期限", "筹标期限", "初审人" }, new String[] { "number", "realName",
"borrowWay", "borrowTitle", "borrowAmount", "annualRate", "deadLine", "raiseTerm", "firstTrial", });
this.export(wb, new Date().getTime() + ".xls");
// 系统操作日志
operationLogService.addOperationLog("v_t_user_rechecktrialborrow_lists", admin.getUserName(),
IConstants.EXCEL, admin.getLastIP(), 0, "导出" + exporName, 2);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 导出选中的待发布借款数据
@SuppressWarnings("unchecked")
public String exportAllReleaseBorrow() {
String idString = Convert.strToStr(SqlInfusion.FilteSqlInfusion(request("ids")), null);
pageBean.pageNum = 1;
pageBean.setPageSize(100000);
String exporName = "待发布借款";
try {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
borrowManageService.queryselectedReleaseBorrowList(pageBean, idString);
if (pageBean.getPage() == null) {
getOut().print("<script>alert(' 导出记录条数不能为空! ');window.history.go(-1);</script>");
return null;
}
if (pageBean.getPage().size() > IConstants.EXCEL_MAX) {
getOut().print("<script>alert(' 导出记录条数不能大于50000条 ');window.history.go(-1);</script>");
return null;
}
HSSFWorkbook wb = ExcelUtils.exportExcel(exporName, pageBean.getPage(), new String[] { "标的id", "用户名",
"真实姓名", "借款来源", "标的类型", "借款标题", "借款金额", "利率", "期限", "筹标期限", "复审人" }, new String[] { "id",
"userName", "realName", "source", "borrowWay", "borrowTitle", "borrowAmount", "annualRate",
"deadLine", "raiseTerm", "recheck", });
this.export(wb, new Date().getTime() + ".xls");
// 系统操作日志
operationLogService.addOperationLog("v_t_user_releaseborrow_lists", admin.getUserName(), IConstants.EXCEL,
admin.getLastIP(), 0, "导出" + exporName, 2);
} catch (SQLException e) {
e.printStackTrace();
} catch (DataException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private Map<String, String> getBorrowTypeMap(String type) throws SQLException, DataException {
String nid = "";
if (IConstants.BORROW_TYPE_NET_VALUE.equals(type)) {
// 薪金贷
nid = BorrowType.WORTH.getValue();
} else if (IConstants.BORROW_TYPE_SECONDS.equals(type)) {
// 彩生活
nid = BorrowType.SECONDS.getValue();
} else if (IConstants.BORROW_TYPE_GENERAL.equals(type)) {
// 业主贷
nid = BorrowType.ORDINARY.getValue();
}
session().setAttribute("nid", nid);
return shoveBorrowTypeService.queryShoveBorrowTypeByNid(nid);
}
// 导出选中的撮合借款数据
@SuppressWarnings("unchecked")
public String exportAllBringBorrow() {
String idString = Convert.strToStr(SqlInfusion.FilteSqlInfusion(request("ids")), null);
pageBean.pageNum = 1;
pageBean.setPageSize(100000);
String exporName = "撮合借款";
try {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
borrowManageService.queryselectedBringBorrowList(pageBean, idString);
if (pageBean.getPage() == null) {
getOut().print("<script>alert(' 导出记录条数不能为空! ');window.history.go(-1);</script>");
return null;
}
if (pageBean.getPage().size() > IConstants.EXCEL_MAX) {
getOut().print("<script>alert(' 导出记录条数不能大于50000条 ');window.history.go(-1);</script>");
return null;
}
HSSFWorkbook wb = ExcelUtils.exportExcel(exporName, pageBean.getPage(), new String[] { "标的id", "用户名",
"真实姓名", "借款来源", "标的类型", "借款标题", "借款金额", "利率", "期限", "筹标期限", "投标状态", "复审人" }, new String[] { "id",
"userName", "realName", "source", "borrowWay", "borrowTitle", "borrowAmount", "annualRate",
"deadLine", "raiseTerm", "collagen", "recheck", });
this.export(wb, new Date().getTime() + ".xls");
// 系统操作日志
operationLogService.addOperationLog("v_t_user_bringborrow_lists", admin.getUserName(), IConstants.EXCEL,
admin.getLastIP(), 0, "导出" + exporName, 2);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 按id查询失败的借款
public String queryFailedBorrowById() throws DataException, SQLException {
String id = SqlInfusion.FilteSqlInfusion(request().getParameter("id"));
Map<String, String> map = null;
try {
map = borrowManageService.queryFailedBorrowById(id);
request().setAttribute("map", map);
} catch (DataException e) {
e.printStackTrace();
throw e;
} catch (SQLException e) {
e.printStackTrace();
throw e;
}
return SUCCESS;
}
/**
* 借款 复审 后台批量导入彩生活用户 和 借款信息
*/
public String borrowUserFromColorlife() {
return SUCCESS;
}
/**
* 用户是否存在
*/
public String checkUserExits() throws IOException {
try {
String userName = SqlInfusion.FilteSqlInfusion(paramMap.get("userName")); // 用户名
Long vidResult = -1L;
// 判断用户名是否唯一
if (StringUtils.isNotBlank(userName)) {
vidResult = userService.isUEjihuo_(null, userName);
if (vidResult < 0) {// 没有这个账号
JSONUtils.printStr("2");
return null;
}
JSONUtils.printStr("4");// 有这个账号
return null;
}
} catch (Exception e) {
log.error(e);
e.printStackTrace();
}
JSONUtils.printStr("2");
return null;
}
/** 手动录入标的初始化 */
public String enterBorrowInit() {
return SUCCESS;
}
/** 后台 审核管理 手动录入标 */
public String addEnterBorrow() throws IOException {
Admin admin = (Admin) session().getAttribute(IConstants.SESSION_ADMIN);
String title = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("title")), "");
JSONObject json = new JSONObject();
if (StringUtils.isBlank(title)) {
json.put("msg", "请填入借款标题");
JSONUtils.printObject(json);
return null;
}
String username = Convert.strToStr(SqlInfusion.FilteSqlInfusion(paramMap.get("username")), "");
if (StringUtils.isBlank(username)) {
json.put("msg", "请输入借款人");
JSONUtils.printObject(json);
return null;
}
int borrowWay = Convert.strToInt(paramMap.get("borrowway"), 0);
if (borrowWay < 1 || borrowWay > 3) {
json.put("msg", "请选择借款类型");
JSONUtils.printObject(json);
return null;
}
String purpose = SqlInfusion.FilteSqlInfusion(paramMap.get("purpose"));
if (StringUtils.isBlank(purpose)) {
json.put("msg", "请选择借款用途");
JSONUtils.printObject(json);
return null;
}
int deadLine = Convert.strToInt(paramMap.get("deadLine"), -1);
if (deadLine < 0) {
json.put("msg", "请选择借款期限");
JSONUtils.printObject(json);
return null;
}
int daythe = 1;// 1月标
double amount = Convert.strToDouble(paramMap.get("amount"), 0);
if (amount < 0) {
json.put("msg", "请填入借款金额");
JSONUtils.printObject(json);
return null;
}
double annualRate = Convert.strToDouble(paramMap.get("anna"), 0);
if (annualRate < 0) {
json.put("msg", "请填入借款利率");
JSONUtils.printObject(json);
return null;
}
int maxInvest = Convert.strToInt(paramMap.get("maxInvest"), 0);
if (maxInvest > 0 && (maxInvest < 2 || maxInvest > 49)) {
json.put("msg", "最大投标人数在2~49人之间");
JSONUtils.printObject(json);
return null;
}
int raiseTerm = Convert.strToInt(paramMap.get("raiseTerm"), 0);
if (raiseTerm < 0) {
json.put("msg", "请选择筹标期限");
JSONUtils.printObject(json);
return null;
}
String zxf = paramMap.get("zxf");// 借款咨询方
String zxfh = paramMap.get("zxfh");// 咨询方分行
long publisher = -1L;
long userCustId = -1L;
try {
Map<String, String> map = userService.queryUserByName(username);
if (map != null && map.size() > 0) {
publisher = Convert.strToLong(map.get("id"), -1);
userCustId = Convert.strToLong(map.get("usrCustId"), -1);
}
} catch (Exception e) {
e.printStackTrace();
}
if (publisher < 0) {// 没有这个账号
json.put("msg", "该用户不存在,请重新输入");
JSONUtils.printObject(json);
return null;
}
if (userCustId < 0) {
json.put("msg", "该用户还不是汇付天下会员");
JSONUtils.printObject(json);
return null;
}
String detail = paramMap.get("info");
int excitationType = 1;// 没有奖励
// 查询标种类型
Map<String, String> borrowTypeMap = null;
List<Map<String, Object>> mapList = null;
try {
borrowTypeMap = getBorrowTypeMap(borrowWay + "");
mapList = platformCostService.queryAllPlatformCost();
} catch (Exception e) {
e.printStackTrace();
}
double frozenMargin = amount * Double.parseDouble(borrowTypeMap.get("all_frost_scale")) / 100;
Map<String, Object> mapfee = new HashMap<String, Object>();
Map<String, Object> mapFeestate = new HashMap<String, Object>();
for (Map<String, Object> platformCostMap : mapList) {
double costFee = Convert.strToDouble(platformCostMap.get("costFee") + "", 0);
int costMode = Convert.strToInt(platformCostMap.get("costMode") + "", 0);
String remark = Convert.strToStr(platformCostMap.get("remark") + "", "");
if (costMode == 1) {
mapfee.put(platformCostMap.get("alias") + "", costFee * 0.01);
} else {
mapfee.put(platformCostMap.get("alias") + "", costFee);
}
mapFeestate.put(platformCostMap.get("alias") + "", remark); // 费用说明
}
String json1 = JSONObject.fromObject(mapfee).toString();
String jsonState = JSONObject.fromObject(mapFeestate).toString();
try {
// title = purpose
/*
* 20140610 by 刘文韬 增加标的所属群组
*/
int borrowGroup = 0;
Map<String, String> map = borrowService.addBorrow(purpose, "images/default-img.jpg", borrowWay, -1,
deadLine, 1, amount, annualRate, 100, 1000, raiseTerm, excitationType, -1, detail, 1, null, -1,
admin.getLastIP(), publisher, 0, daythe, getBasePath(), "", 0, 0, 0, 0,
borrowTypeMap.get("identifier"), frozenMargin, json1, jsonState, purpose, 2, maxInvest, zxf, zxfh,
borrowGroup);
if (Convert.strToInt(map.get("ret"), -1) > 0) {
json.put("msg", "录入成功");
JSONUtils.printObject(json);
} else {
json.put("msg", "失败:" + map.get("ret_desc"));
JSONUtils.printObject(json);
}
} catch (Exception e) {
json.put("msg", "系统出现异常");
e.printStackTrace();
JSONUtils.printObject(json);
}
return null;
}
/** 后台 审核管理 手动录入标的 查询用户 */
public String queryBorrowerListHHN() throws IOException {
String uname = SqlInfusion.FilteSqlInfusion(paramMap.get("keyword"));
List<Map<String, Object>> list = null;
try {
list = userService.queryUsersForImport(uname);
} catch (Exception e) {
e.printStackTrace();
}
JSONUtils.printArray(list);
return null;
}
/** 后台 审核管理 自动导入 */
public String importBorrowDetailHHN() throws SQLException, IOException {
if (userFile == null) {
this.addFieldError("userFile", "数据上传错误,请选择文件!");
return INPUT;
}
String[][] datas = null;
try {
datas = ExcelUtils.getData(userFile, 2);
} catch (Exception e) {
e.printStackTrace();
this.addFieldError("userFile", "数据文件格式错误,请选择正确的文件!");
return INPUT;
}
if (datas == null || datas.length == 0) {
this.addFieldError("userFile", "数据导入为空,请按照模板填写资料后再导入!");
return INPUT;
}
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
for (int i = 0; i < datas.length; i++) {
String idNo = Convert.strToStr(datas[i][8], "");// 申请者身份证号码
if ("".equals(idNo)) {
Map<String, String> map = new HashMap<String, String>();
map.put("hhnMsg", "身份证未填写");
list.add(map);
continue;
}
Map<String, String> map = userService.queryByIdNo(idNo);
if (map == null || map.size() == 0) {
map = new HashMap<String, String>();
map.put("hhnMsg", "身份证不存在");
list.add(map);
continue;
}
if (Convert.strToLong(map.get("usrCustId"), -1) <= 0) {
map = new HashMap<String, String>();
map.put("hhnMsg", "该用户还不是汇付天下会员");
list.add(map);
continue;
}
/**
* 加业务编码导入的检查
*/
if ("".equals(Convert.strToStr(datas[i][28], ""))) {
map = new HashMap<String, String>();
map.put("hhnMsg", "业务编码不可以为空");
list.add(map);
continue;
}
long userId = Convert.strToLong(map.get("userId"), -1);
map = new HashMap<String, String>();
map.put("userId", userId + "");
map.put("idNo", idNo);
map.put("realName", Convert.strToStr(datas[i][0], ""));// 客户名称
map.put("sex", Convert.strToStr(datas[i][1], ""));// 性别
map.put("age", Convert.strToInt(datas[i][2], 18) + "");// 年龄
map.put("maritalStatus", Convert.strToStr(datas[i][3], ""));// 婚姻状况
map.put("hasHourse", Convert.strToStr(datas[i][4], ""));// 居住状况
map.put("highestEdu", Convert.strToStr(datas[i][5], ""));// 学历
map.put("creditNum", Convert.strToStr(datas[i][6], ""));// 信用卡总张数
map.put("creditSum", Convert.strToStr(datas[i][7], ""));// 信用卡总额度
map.put("hasCar", Convert.strToStr(datas[i][9], ""));// 车辆信息
map.put("orgName", Convert.strToStr(datas[i][10], ""));// 公司名称
map.put("companyAddress", Convert.strToStr(datas[i][11], ""));// 公司地址
map.put("job", Convert.strToStr(datas[i][12], ""));// 职位级别
map.put("companyType", Convert.strToStr(datas[i][13], ""));// 企业性质
map.put("workYear", Convert.strToStr(datas[i][14], ""));// 现公司工作年限
map.put("companyLine", Convert.strToStr(datas[i][15], ""));// 公司行业
map.put("monthlyIncome", Convert.strToStr(datas[i][16], ""));// 月收入
map.put("monthlyOutcome", Convert.strToStr(datas[i][17], ""));// 月支出合计
map.put("borrowAmount", Convert.strToDouble(datas[i][18], 0) + "");// 借款金额
map.put("deadline", Convert.strToInt(datas[i][19], 1) + "");// 申请期限
map.put("borrowWay", Convert.strToInt(datas[i][20], 1) + "");// 产品类型1=薪金贷2=生意贷3=业主贷
map.put("paymentMode", getPaymentMode(Convert.strToStr(datas[i][21], "")));//还款方式
map.put("annualRate", Convert.strToDouble(datas[i][22], 0) + "");// 年利率(%)
map.put("raiseTerm", Convert.strToInt(datas[i][23], 3) + "");// 筹标期限(天)
map.put("moneyPurposes", Convert.strToStr(datas[i][24], ""));// 贷款资金用途
map.put("borrowadvisory", Convert.strToStr(datas[i][25], ""));// 借款咨询方
map.put("advisorybranch", Convert.strToStr(datas[i][26], ""));// 咨询方分行
int borrowGroup = 0;
if (datas[i].length >= 28) {
try {
borrowGroup = Integer.parseInt(datas[i][27]);
} catch (Exception e) {
log.info("borrowGroup is not a number.----" + datas[i][27]);
;
}
}
map.put("borrowGroup", borrowGroup + "");// 标的所属群组
/**
* 2014-10-14 增加导入业务编码 zhangyunhua
*/
if (datas[i].length >= 29) {
map.put("businessNo", Convert.strToStr(datas[i][28], ""));// 业务编号
}
list.add(map);
}
String ip = ((Admin) session().getAttribute(IConstants.SESSION_ADMIN)).getLastIP();
List<String> ret = borrowManageService.importDatasHHN(list, ip, getBasePath(),null,BorrowManageService.OPERATE_TYPE_IMPORT);
request().setAttribute("result", ret);
return SUCCESS;
}
/**
* 获取还款方式
*
* @param paymentModel
* @return
* @author: liuzgmf
* @date: 2014年12月30日上午10:19:48
*/
private String getPaymentMode(String paymentModel) {
if (StringUtils.isBlank(paymentModel)) {// 默认为等本等息
return "1";
}
if (paymentModel.equals("IIFP") || paymentModel.equals("2")) {// 一次付息到期还本
return "2";
}
if (paymentModel.equals("MIFP") || paymentModel.equals("3")) {// 按月付息到期还本
return "3";
}
if (paymentModel.equals("PI") || paymentModel.equals("4")) {// 一次付息到期还本
return "4";
}
if (paymentModel.equals("JTD") || paymentModel.equals("5")) {// 集团贷还款方式
return "5";
}
if (paymentModel.equals("E_FPIC") || paymentModel.equals("101")) {// 集团贷还款方式
return "101";
}
if (paymentModel.equals("E_LP") || paymentModel.equals("102")) {// 集团贷还款方式
return "102";
}
if (paymentModel.equals("E_PI") || paymentModel.equals("103")) {// 集团贷还款方式
return "103";
}
int value = Convert.strToInt(paymentModel, 0);
if(value > 0){
return value + "";
}
return "1";
}
/** 后台 撮合借款 查看借款进度 */
public String queryInvestPrecentById() throws SQLException {
String borrowId = request("id");
borrowManageService.queryInvestPrecentById(pageBean, borrowId);
return SUCCESS;
}
}