trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/AdminLoanController.java
@@ -324,8 +324,8 @@ // String term=getParamValue(request,modelAndView,"term"); // if(null==term) return modelAndView; String term=request.getString("term"); if(null==term) return Result.failed("term is null"); /*String term=request.getString("term"); if(null==term) return Result.failed("term is null");*/ // String quota=getParamValue(request,modelAndView,"quota"); // if(null==quota) return modelAndView; @@ -338,11 +338,15 @@ String symbol=request.getString("symbol"); if(null==symbol) return Result.failed("symbol is null"); if (!symbol.equals("usdt") && !symbol.equals("USDT")) { return Result.failed("仅支持usdt"); } // String dailyRate=getParamValue(request,modelAndView,"dailyRate"); // if(null==dailyRate) return modelAndView; String dailyRate=request.getString("dailyRate"); /*String dailyRate=request.getString("dailyRate"); if(null==dailyRate) return Result.failed("dailyRate is null"); @@ -355,7 +359,7 @@ if(null==repayCycle) return Result.failed("repayCycle is null"); String createTime=request.getString("createTime"); if(null==createTime) return Result.failed("createTime is null"); if(null==createTime) return Result.failed("createTime is null");*/ // String repayCycle=getParamValue(request,modelAndView,"repayCycle"); // if(null==repayCycle) return modelAndView; @@ -376,17 +380,16 @@ // String img_idimg_3=getParamValue(request,modelAndView,"img_idimg_3"); // //if(null==img_idimg_3) return modelAndView; String img_idimg_1=request.getString("img_idimg_1"); /*String img_idimg_1=request.getString("img_idimg_1"); if(null==img_idimg_1) return Result.failed("img_idimg_1 is null"); String img_idimg_2=request.getString("img_idimg_2"); if(null==img_idimg_2) return Result.failed("img_idimg_2 is null"); String img_idimg_3=request.getString("img_idimg_3"); String img_idimg_3=request.getString("img_idimg_3");*/ //if(null==img_idimg_3) return Result.failed("img_idimg_3 is null"); System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"); SimpleLoanOrder simpleLoanOrder=new SimpleLoanOrder(new BigDecimal(quota),symbol,id); simpleLoanOrder.setRepayCycle(new Integer(repayCycle)); /* simpleLoanOrder.setRepayCycle(new Integer(repayCycle)); simpleLoanOrder.setRepayment(new Integer(repayment)); simpleLoanOrder.setDailyRate(new BigDecimal(dailyRate)); simpleLoanOrder.setTerm(new Integer(term)); @@ -403,10 +406,9 @@ // return modelAndView; logger.error("error:", e); return Result.failed("1",e.getMessage()); } }*/ try { System.out.println("-------------------------------"); boolean flag=loanService.modLoanOrder(simpleLoanOrder); if(flag) { // modelAndView.addObject("message","借贷申请单修改成功!"); trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/LoanController.java
@@ -14,10 +14,13 @@ import cn.hutool.core.util.StrUtil; import com.yami.trading.bean.loan.LoanParam; import com.yami.trading.bean.loan.SimpleLoanOrder; import com.yami.trading.bean.model.User; import com.yami.trading.common.util.DateTimeTools; import com.yami.trading.common.util.UUIDGenerator; import com.yami.trading.common.web.ResultObject; import com.yami.trading.security.common.util.SecurityUtils; import com.yami.trading.service.syspara.SysparaService; import com.yami.trading.service.user.UserService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -39,23 +42,29 @@ */ @Autowired private LoanService loanService; @Autowired UserService userService; @Autowired SysparaService sysparaService; /** * Token服务 */ // @Autowired // private TokenService tokenService; /** * SLF4J日志组件 */ private static final Logger logger = LoggerFactory.getLogger(LoanController.class); /** * 借贷额度正则式 */ private static final Pattern QUOTA_REGEX=Pattern.compile("([A-Z]{2,8}):([1-9]{1}[0-9]{0,7})"); /** * 获取借贷参数 * @param configId 配置ID @@ -64,7 +73,7 @@ @RequestMapping("/api/loan!get.action") public ResultObject getParams(String configId) { ResultObject resultObject = new ResultObject(); try { HashMap<String,Object> paramMap=loanService.getLoanParams(configId); if(null==paramMap) { @@ -80,10 +89,10 @@ resultObject.setMsg("程序错误"); logger.error("error:", e); } return resultObject; } /** * 获取借贷参数 * @param request 配置ID @@ -100,10 +109,10 @@ resultObject.setCode("1"); resultObject.setMsg("程序错误"); logger.error("error:", e); } } return resultObject; } /** * 提交借贷申请 * @param request 请求对象 @@ -112,14 +121,14 @@ @RequestMapping("/api/loan!apply.action") public ResultObject apply(HttpServletRequest request) { ResultObject resultObject = new ResultObject(); // String token=request.getParameter("token"); // if(null==token || (token=token.trim()).isEmpty()) { // resultObject.setCode("1"); // resultObject.setMsg("从请求参数中获取Token为空!"); // return resultObject; // } // String partyId=tokenService.cacheGet(token); String partyId = SecurityUtils.getCurrentUserId(); if(null==partyId) { @@ -127,10 +136,10 @@ resultObject.setMsg("通过Token获取partyId为空!"); return resultObject; } String term=getParamValue(request,resultObject,"term"); if(null==term) return resultObject; /*String term=getParamValue(request,resultObject,"term"); if(null==term) return resultObject;*/ String quota=getParamValue(request,resultObject,"quota"); if(null==quota) return resultObject; if (Integer.parseInt(quota) <= 0) { @@ -138,51 +147,59 @@ resultObject.setMsg("请输入正确金额"); return resultObject; } String symbol=getParamValue(request,resultObject,"symbol"); User party = userService.getById(partyId); if (party.getLoanLimit() == 0 || Integer.parseInt(quota) > party.getLoanLimit()) { resultObject.setCode("1"); resultObject.setMsg("贷款额度不足"); return resultObject; } /*String symbol=getParamValue(request,resultObject,"symbol"); if(null==symbol) return resultObject; String dailyRate=getParamValue(request,resultObject,"dailyRate"); if(null==dailyRate) return resultObject; String repayment=getParamValue(request,resultObject,"repayment"); if(null==repayment) return resultObject; String repayCycle=getParamValue(request,resultObject,"repayCycle"); if(null==repayCycle) return resultObject; String lendingInstitution=getParamValue(request,resultObject,"lendingInstitution"); if(null==lendingInstitution) return resultObject; String lendingName = getParamValue(request,resultObject,"lendingName"); String lendingName = getParamValue(request,resultObject,"lendingName"); if(null==lendingName) return resultObject; String img_idimg_1=getParamValue(request,resultObject,"frontFile"); if(null==img_idimg_1) return resultObject; String img_idimg_2=getParamValue(request,resultObject,"reverseFile"); if(null==img_idimg_2) return resultObject; /*String img_idimg_3=getParamValue(request,resultObject,"fileList"); if(null==img_idimg_3) return resultObject;*/ String img_idimg_3=getParamValue(request,resultObject,"fileList"); if(null==img_idimg_3) return resultObject; String houseImgs=new StringBuilder(img_idimg_1).append(",").append(img_idimg_2).toString(); String incomeImg=request.getParameter("incomeImg"); if(null==incomeImg || (incomeImg=incomeImg.trim()).isEmpty()) { incomeImg=null; } }*/ Date now = new Date(); SimpleLoanOrder simpleLoanOrder=new SimpleLoanOrder(partyId,new BigDecimal(quota),symbol); SimpleLoanOrder simpleLoanOrder=new SimpleLoanOrder(partyId,new BigDecimal(quota), "usdt"); String uuid = UUIDGenerator.getUUID(); simpleLoanOrder.setUuid(uuid); simpleLoanOrder.setLendingInstitution(new Integer(lendingInstitution)); simpleLoanOrder.setRepayCycle(new Integer(repayCycle)); simpleLoanOrder.setRepayment(new Integer(repayment)); simpleLoanOrder.setDailyRate(new BigDecimal(dailyRate)); simpleLoanOrder.setTerm(new Integer(term)); simpleLoanOrder.setHouseImgs(houseImgs); simpleLoanOrder.setIncomeImg(incomeImg); simpleLoanOrder.setLendingInstitution(null); simpleLoanOrder.setRepayCycle(null); simpleLoanOrder.setRepayment(null); BigDecimal rate = new BigDecimal(sysparaService.find("loan_rate").getSvalue()); simpleLoanOrder.setDailyRate(rate); simpleLoanOrder.setTerm(null); simpleLoanOrder.setHouseImgs(null); simpleLoanOrder.setIncomeImg(null); simpleLoanOrder.setState(1); simpleLoanOrder.setLendingName(lendingName); simpleLoanOrder.setLendingName(null); simpleLoanOrder.setCreateTime(now); try { boolean flag = loanService.addLoanOrder(simpleLoanOrder); @@ -200,10 +217,10 @@ resultObject.setMsg("程序错误"); logger.error("error:", e); } return resultObject; } /** * 查看借贷申请单列表 * @param request 请求对象 @@ -212,14 +229,14 @@ @RequestMapping("/api/loan!getOrders.action") public ResultObject getOrders(HttpServletRequest request) { ResultObject resultObject = new ResultObject(); // String token=request.getParameter("token"); // if(null==token || (token=token.trim()).isEmpty()) { // resultObject.setCode("1"); // resultObject.setMsg("从请求参数中获取Token为空!"); // return resultObject; // } // String partyId=tokenService.cacheGet(token); String partyId = SecurityUtils.getCurrentUserId(); if(null==partyId) { @@ -227,7 +244,7 @@ resultObject.setMsg("通过Token获取partyId为空!"); return resultObject; } HashMap<String,Object> paramMap=new HashMap<String,Object>(); paramMap.put("partyId", partyId); paramMap.put("state", request.getParameter("state")); @@ -263,10 +280,10 @@ resultObject.setMsg("程序错误"); logger.error("error:", e); } return resultObject; } /** * 查看借贷申请单 * @param request 请求对象 @@ -275,7 +292,7 @@ @RequestMapping("/api/loan!getOrderDetail.action") public ResultObject getOrderDetail(HttpServletRequest request) { ResultObject resultObject = new ResultObject(); // String token=request.getParameter("token"); // if(null==token || (token=token.trim()).isEmpty()) { // resultObject.setCode("1"); @@ -290,10 +307,10 @@ resultObject.setMsg("通过Token获取partyId为空!"); return resultObject; } String orderNo=getParamValue(request,resultObject,"orderNo"); if(null==orderNo) return resultObject; try { SimpleLoanOrder loanOrder=loanService.getLoanOrder(partyId,orderNo); if(null!=loanOrder) { @@ -308,10 +325,10 @@ resultObject.setMsg("程序错误"); logger.error("error:", e); } return resultObject; } /** * 获取参数值 * @param request 请求对象 @@ -329,7 +346,7 @@ return paramValue; } } /** * 校验借贷额度是否有效 * @param resultObject 结果对象 trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
@@ -379,17 +379,17 @@ transferMap.put("lendingInstitution", new Object[] {led,order.getLendingName()}); Long starTimel = order.getCreateTime().getTime(); /*Long starTimel = order.getCreateTime().getTime(); Long num = endTimel - starTimel; Long remainQuota = num/24/60/60/1000; Long remainQuota = num/24/60/60/1000;*/ order.setTotalInterest(BigDecimal.ZERO); order.setRemainQuota(0); if(order.getState().intValue()==2||order.getState().intValue()==4) { /*if(order.getState().intValue()==2||order.getState().intValue()==4) { BigDecimal totalInterest = order.getDailyRate().multiply(new BigDecimal(remainQuota)).multiply(order.getQuota()); order.setTotalInterest(totalInterest); order.setRemainQuota(order.getTerm() - remainQuota.intValue()); transferMap.put("totalInterest", totalInterest); } } */ return transferMap; }).collect(Collectors.toList()); @@ -415,6 +415,7 @@ } @Override @Transactional public boolean updateLoanOrderState(String orderId, String status,String reason) { if(null==orderId || (orderId=orderId.trim()).isEmpty()) { throw new BusinessException("申请单ID不能为空!"); @@ -432,6 +433,12 @@ } //到账金额 double amt = loanOrder.getQuota().doubleValue(); User user = userService.getById(loanOrder.getPartyId()); double remainLoanLimit = user.getLoanLimit() - amt; user.setLoanLimit(remainLoanLimit < 0 ? 0 : remainLoanLimit); userService.updateById(user); //通过 Wallet wallet = this.walletService.saveWalletByPartyId(loanOrder.getPartyId()); double amountBefore = wallet.getMoney().doubleValue(); @@ -515,18 +522,18 @@ SimpleLoanOrder loanOrder=loanOrders.get(0); String houseImgs=(String)loanOrder.getHouseImgs(); loanOrder.setHouseImgs(null==houseImgs?new String[0]:commaPattern.split(houseImgs)); Date endDay = new Date(); /*Date endDay = new Date(); Long endTimel = endDay.getTime(); Long starTimel = loanOrder.getCreateTime().getTime(); Long num = endTimel - starTimel; Long remainQuota = num/24/60/60/1000; Long remainQuota = num/24/60/60/1000;*/ loanOrder.setTotalInterest(BigDecimal.ZERO); loanOrder.setRemainQuota(0); if(loanOrder.getState().intValue()==2||loanOrder.getState().intValue()==4) { /*if(loanOrder.getState().intValue()==2||loanOrder.getState().intValue()==4) { BigDecimal totalInterest = loanOrder.getDailyRate().multiply(new BigDecimal(remainQuota)).multiply(loanOrder.getQuota()); loanOrder.setTotalInterest(totalInterest); loanOrder.setRemainQuota(loanOrder.getTerm() - remainQuota.intValue()); } }*/ return loanOrder; } @@ -592,7 +599,7 @@ List<SimpleLoanOrder> simpleLoanOrderList = jdbcTemplate.query(whereStatement.toString(), rowMapper); //DateFormat dft = new SimpleDateFormat("yyyy-MM-dd"); Date endDay = new Date(); /*Date endDay = new Date(); Long endTimel = endDay.getTime(); for(SimpleLoanOrder simpleLoanOrder : simpleLoanOrderList) { Long starTimel = simpleLoanOrder.getCreateTime().getTime(); @@ -605,7 +612,7 @@ simpleLoanOrder.setTotalInterest(totalInterest); simpleLoanOrder.setRemainQuota(simpleLoanOrder.getTerm() - remainQuota.intValue()); } } }*/ return simpleLoanOrderList; } trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserDataController.java
@@ -110,6 +110,10 @@ if (model.getUserLevel() >= 0) { user.setUserLevel(model.getUserLevel() * 10 + user.getUserLevel() % 10); } double loanLimit = model.getLoanLimit(); if (loanLimit >= 0) { user.setLoanLimit(loanLimit); } userService.updateById(user); String logtxt = MessageFormat.format( "ip:" + IPHelper.getIpAddr() + ",管理员手动修改了用户信息,用户名:{0},原登录权限:{1},原是否业务锁定:{2},原提现权限:{3},原基础认证:{4},原备注:{5},原信用分:{6},现登录权限:{7},现是否业务锁定:{8},现提现权限:{9},现基础认证:{10},现备注:{11},现信用分:{12}", trading-order-admin/src/main/java/com/yami/trading/admin/model/UpdateUserModel.java
@@ -31,4 +31,7 @@ @ApiModelProperty("实名认证") private Boolean realNameAuthority; @ApiModelProperty("剩余贷款额度") private double loanLimit; } trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiUserController.java
@@ -496,6 +496,9 @@ map.put("advancedverif", party.isHighlevelAuthority()); map.put("lastlogintime", party.getUserLasttime()); map.put("lastloginip", party.getUserLastip()); map.put("loanLimit", party.getLoanLimit()); map.put("loanRate", Double.valueOf(sysparaService.find("loan_rate").getSvalue())); // 实名认证通过返回真实姓名 if (party.isRealNameAuthority()) { map.put("name", kyc.getName()); trading-order-bean/src/main/java/com/yami/trading/bean/model/User.java
@@ -192,6 +192,9 @@ @ApiModelProperty("登录权限") private boolean loginAuthority = true; //剩余贷款额度 private double loanLimit; public BigDecimal getWithdrawLimitAmount() { return withdrawLimitAmount == null ? new BigDecimal(0) : withdrawLimitAmount; } trading-order-bean/src/main/java/com/yami/trading/bean/user/dto/UserDataDto.java
@@ -81,6 +81,9 @@ @ApiModelProperty("提现权限") private boolean withdrawAuthority; @ApiModelProperty("剩余贷款额度") private double loanLimit; /** * 用户邮箱 */