package com.sp2p.action.front; import java.io.IOException; import java.sql.SQLException; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Date; import java.util.List; import java.util.Map; import com.hehenian.biz.common.account.dataobject.AccountUserDo; import net.sf.json.JSONObject; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.shove.Convert; import com.shove.data.DataException; import com.shove.util.SqlInfusion; import com.shove.web.util.JSONUtils; import com.sp2p.constants.IConstants; import com.sp2p.service.AssignmentDebtService; import com.sp2p.service.AuctionDebtService; import com.sp2p.service.SelectedService; import com.sp2p.util.ChinaPnRInterface; import com.sp2p.util.DateUtil; /** * 债权转让 */ public class HomeDebtAction extends BaseFrontAction { public static Log log = LogFactory.getLog(HomeDebtAction.class); private static final long serialVersionUID = 1L; private AssignmentDebtService assignmentDebtService; private AuctionDebtService auctionDebtService; private SelectedService selectedService; private List<Map<String, Object>> auctionDaysList; /** * 可以转让的债权 * * @return */ public String queryCanAssignmentDebt() { String borrowTitle = SqlInfusion.FilteSqlInfusion(request("borrowTitle")); String borrowerName = SqlInfusion.FilteSqlInfusion(request("borrowerName")); pageBean.setPageNum(SqlInfusion.FilteSqlInfusion(request("curPage"))); long userId = this.getUserId(); try { assignmentDebtService.queryCanAssignmentDebt(userId, borrowTitle, borrowerName, pageBean); } catch (SQLException e) { log.error(e); e.printStackTrace(); } this.setRequestToParamMap(); return SUCCESS; } /** * 结束竞拍 * @return */ public String auctingDebtEnd(){ long debtId = Convert.strToLong(request("debtId"), -1); AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); try { assignmentDebtService.auctingDebtSuccess(debtId,user.getId(),1); } catch (SQLException e) { log.error(e); e.printStackTrace(); } return SUCCESS; } /** * 查询竞拍中的债权 * * @return */ public String queryAuctingDebt() { String borrowTitle = SqlInfusion.FilteSqlInfusion(request("borrowTitle")); String borrowerName = SqlInfusion.FilteSqlInfusion(request("borrowerName")); pageBean.setPageNum(request("curPage")); long userId = this.getUserId(); try { assignmentDebtService.queryAuctingDebt(userId, borrowTitle, borrowerName, "2", pageBean); List<Map<String, Object>> list = pageBean.getPage(); if (list != null) { Date nowDate = new Date(); for (Map<String, Object> map : list) { Date date = (Date) map.get("remainAuctionTime"); map.put("remainDays", DateUtil.remainDateToString(nowDate, date)); } } } catch (SQLException e) { log.error(e); e.printStackTrace(); } this.setRequestToParamMap(); return SUCCESS; } /** * 查询竞拍结束的债权 * * @return */ public String queryAuctedDebt() { String borrowTitle = SqlInfusion.FilteSqlInfusion(request("borrowTitle")); String borrowerName = SqlInfusion.FilteSqlInfusion(request("borrowerName")); pageBean.setPageNum(SqlInfusion.FilteSqlInfusion(request("curPage"))); long userId = this.getUserId(); try { assignmentDebtService.queryAuctingDebt(userId, borrowTitle, borrowerName, "3", pageBean); } catch (SQLException e) { log.error(e); e.printStackTrace(); } this.setRequestToParamMap(); return SUCCESS; } /** * 添加债权转让 */ public String addAssignmentDebt() throws IOException { long userId = this.getUserId(); // double auctionBasePrice = Convert.strToDouble(paramMap.get("auctionBasePrice"), -1); // double debtSum = Convert.strToDouble(paramMap.get("debtSum"), -1); // double lowerPrice = debtSum*0.5; // if(auctionBasePrice < lowerPrice || auctionBasePrice > debtSum){ // JSONUtils.printStr2("转让价格范围错误"); // return null; // } paramMap.put("alienatorId", userId + ""); paramMap.put("applyTime", DateUtil.dateToString(new Date())); long reslut = -1; try { reslut = assignmentDebtService.addAssignmentDebt(paramMap); // JSONObject json = JSONObject.fromObject(ChinaPnRInterface.creditAssign(OrdId, SellCustId, CreditAmt, CreditDealAmt, BidDetails, Fee, DivDetails, BuyCustId, OrdDate); } catch (SQLException e) { log.error(e); e.printStackTrace(); } try { if (reslut != -1) { JSONUtils.printStr("1"); } else { JSONUtils.printStr("-1"); } } catch (IOException e) { log.error(e); e.printStackTrace(); } return null; } /** * 查询失败的债权 * * @return */ public String queryAuctionFailDebt() { String borrowTitle = SqlInfusion.FilteSqlInfusion(request("borrowTitle")); String borrowerName = SqlInfusion.FilteSqlInfusion(request("borrowerName")); pageBean.setPageNum(SqlInfusion.FilteSqlInfusion(request("curPage"))); long userId = this.getUserId(); try { assignmentDebtService.queryAuctingDebt(userId, borrowTitle, borrowerName, "4,5,6,7", pageBean); } catch (SQLException e) { log.error(e); e.printStackTrace(); } this.setRequestToParamMap(); return SUCCESS; } /** * 取消申请债权转让 * * @return */ public String cancelApplyDebt() { long debtId = Convert.strToLong(request("debtId"), -1); AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); try { assignmentDebtService.cancelAssignmentDebt(debtId,5,user.getId(),1); } catch (SQLException e) { log.error(e); e.printStackTrace(); } return SUCCESS; } /** * 参与竞拍的债权 * * @return */ public String queryBuyingDebt() { String borrowTitle = SqlInfusion.FilteSqlInfusion(request("borrowTitle")); String startTime = SqlInfusion.FilteSqlInfusion(request("startTime")); String endTime = SqlInfusion.FilteSqlInfusion(request("endTime")); long userId = this.getUserId(); pageBean.setPageNum(request("curPage")); try { auctionDebtService.queryAuctionDebt(borrowTitle, startTime, endTime, userId, "", pageBean); List<Map<String, Object>> list = pageBean.getPage(); if (list != null) { Date nowDate = new Date(); for (Map<String, Object> map : list) { Date date = (Date) map.get("remainAuctionTime"); map.put("remainDays", DateUtil.remainDateToString(nowDate, date)); } } } catch (SQLException e) { log.error(e); e.printStackTrace(); } this.setRequestToParamMap(); return SUCCESS; } /** * 成功竞拍的债权 * * @return */ public String querySucessBuyedDebt() { String borrowTitle = SqlInfusion.FilteSqlInfusion(request("borrowTitle")); String startTime = SqlInfusion.FilteSqlInfusion(request("startTime")); String endTime = SqlInfusion.FilteSqlInfusion(request("endTime")); long userId = this.getUserId(); pageBean.setPageNum(SqlInfusion.FilteSqlInfusion(request("curPage"))); try { auctionDebtService.querySuccessAuctionDebt(borrowTitle, startTime, endTime, userId, pageBean); } catch (SQLException e) { log.error(e); e.printStackTrace(); } this.setRequestToParamMap(); return SUCCESS; } public void setAssignmentDebtService( AssignmentDebtService assignmentDebtService) { this.assignmentDebtService = assignmentDebtService; } public void setAuctionDebtService(AuctionDebtService auctionDebtService) { this.auctionDebtService = auctionDebtService; } public List<Map<String, Object>> getAuctionDaysList() throws SQLException, DataException { auctionDaysList = selectedService.getDebtAuctionDays(); return auctionDaysList; } public void setAuctionDaysList(List<Map<String, Object>> auctionDaysList) { this.auctionDaysList = auctionDaysList; } public void setSelectedService(SelectedService selectedService) { this.selectedService = selectedService; } }