| | |
| | | |
| | | @Override |
| | | public void saveSucceeded(String id, String safeword, String userName, String partyId) { |
| | | SecUser sec = this.secUserService.findUserByLoginName(userName); |
| | | String sysSafeword = sec.getSafeword(); |
| | | |
| | | String safeword_md5 = passwordEncoder.encodePassword(safeword, userName); |
| | | if (!safeword_md5.equals(sysSafeword)) { |
| | | SecUser var5 = this.secUserService.findUserByLoginName(userName); |
| | | String var6 = var5.getSafeword(); |
| | | String var7 = this.passwordEncoder.encodePassword(safeword, userName); |
| | | if (!var7.equals(var6)) { |
| | | throw new BusinessException("资金密码错误"); |
| | | } |
| | | } else { |
| | | Withdraw var8 = this.get(id); |
| | | Date var9 = new Date(); |
| | | var8.setReviewTime(var9); |
| | | if (var8 != null && var8.getSucceeded() == 0) { |
| | | String var10 = ""; |
| | | if (var8.getMethod().indexOf("BTC") != -1) { |
| | | var10 = "btc"; |
| | | } else if (var8.getMethod().indexOf("ETH") != -1) { |
| | | var10 = "eth"; |
| | | } else { |
| | | var10 = "usdt"; |
| | | } |
| | | |
| | | Withdraw withdraw = this.get(id); |
| | | Date date = new Date(); |
| | | withdraw.setReviewTime(date); |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | |
| | | if (withdraw != null && withdraw.getSucceeded() == 0) { |
| | | String symbol = ""; |
| | | String itemId = ""; |
| | | String coin = ""; |
| | | if (withdraw.getMethod().indexOf("BTC") != -1) { |
| | | symbol = "btc"; |
| | | itemId = "4"; |
| | | coin = "btc"; |
| | | } else if (withdraw.getMethod().indexOf("ETH") != -1) { |
| | | symbol = "eth"; |
| | | itemId = "3"; |
| | | coin = "eth"; |
| | | }else if(withdraw.getMethod().indexOf("TRC") != -1){ |
| | | symbol = "usdt"; |
| | | itemId = "1"; |
| | | coin = "trc"; |
| | | }else{ |
| | | symbol = "usdt"; |
| | | itemId = "1"; |
| | | coin = "erc"; |
| | | var8.setSucceeded(1); |
| | | this.updateWithdraw(var8); |
| | | this.walletLogService.updateStatus(var8.getOrder_no(), var8.getSucceeded()); |
| | | this.userDataService.saveWithdrawHandle(var8.getPartyId(), var8.getAmount(), var8.getAmount_fee(), var10); |
| | | SecUser var11 = this.secUserService.findUserByPartyId(var8.getPartyId()); |
| | | Log var12 = new Log(); |
| | | var12.setCategory("operation"); |
| | | var12.setExtra(var8.getOrder_no()); |
| | | var12.setOperator(userName); |
| | | var12.setUsername(var11.getUsername()); |
| | | var12.setPartyId(var11.getPartyId()); |
| | | var12.setLog("通过提现申请。订单号[" + var8.getOrder_no() + "]。"); |
| | | this.logService.saveSync(var12); |
| | | this.tipService.deleteTip(var8.getId().toString()); |
| | | } |
| | | |
| | | |
| | | withdraw.setSucceeded(4); |
| | | this.updateWithdraw(withdraw); |
| | | |
| | | this.walletLogService.updateStatus(withdraw.getOrder_no(), withdraw.getSucceeded()); |
| | | |
| | | //发送提现代付 |
| | | String usercode = jdbcTemplate.queryForObject("SELECT USERCODE FROM PAT_PARTY WHERE UUID=?", String.class,withdraw.getPartyId()); |
| | | String withdrawHash = walletWithdraw(usercode,coin,itemId,withdraw.getAddress(),withdraw.getAmount()); |
| | | jdbcTemplate.update("UPDATE T_WITHDRAW_ORDER SET WITHDRAW_HASH = ? WHERE ORDER_NO = ?",withdrawHash,withdraw.getOrder_no()); |
| | | /** |
| | | * 提现订单加入userdate |
| | | */ |
| | | this.userDataService.saveWithdrawHandle(withdraw.getPartyId(), withdraw.getAmount(), |
| | | withdraw.getAmount_fee(), symbol); |
| | | |
| | | SecUser SecUser = secUserService.findUserByPartyId(withdraw.getPartyId()); |
| | | Log log = new Log(); |
| | | log.setCategory(Constants.LOG_CATEGORY_OPERATION); |
| | | log.setExtra(withdraw.getOrder_no()); |
| | | log.setOperator(userName); |
| | | log.setUsername(SecUser.getUsername()); |
| | | log.setPartyId(SecUser.getPartyId()); |
| | | log.setLog("通过提现申请。订单号[" + withdraw.getOrder_no() + "]。"); |
| | | |
| | | logService.saveSync(log); |
| | | tipService.deleteTip(withdraw.getId().toString()); |
| | | } |
| | | } |
| | | |
| | | public String walletWithdraw(String userId,String coin,String itemId,String address,double num){ |
| | | try{ |
| | | //先生成备用地址 |
| | | Map<String,Object> generateMap = new HashMap<String, Object>(); |
| | | generateMap.put("item_id", itemId); |
| | | generateMap.put("user_id", userId); |
| | | generateMap.put("address", address); |
| | | generateMap.put("num", String.valueOf(num)); |
| | | System.out.println(coin+"生成备用地址提交字符串为:"+ JsonUtils.toJson(generateMap)); |
| | | HttpsTransport httpsTransport = new HttpsTransport(); |
| | | httpsTransport.setSendEncoding("UTF-8"); |
| | | httpsTransport.setUrl("http://18.163.120.125:999/"+coin+"/withdraw"); |
| | | System.out.println(coin+"提交地址:"+ "http://18.163.120.125:999/"+coin+"/withdraw"); |
| | | String response = (String) httpsTransport.submit(generateMap); |
| | | System.out.println(coin+"生成备用地址提响应字符串为:"+ JsonUtils.toJson(response)); |
| | | //8,返回参数转map |
| | | Map<String,Object> responseMap = JsonUtils.jsonToMap(response); |
| | | if(responseMap.get("status").toString().trim().equals("1")){ |
| | | Map<String,Object> addressMap = (Map)responseMap.get("result"); |
| | | return addressMap.get("withdraw_hash").toString(); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改提现描述 |
| | | */ |