From 3bcda507caca11eeeebf7b70d7bfb8ac56a67836 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 05 八月 2025 21:10:06 +0800 Subject: [PATCH] 后台提现审核 --- ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java | 10 +++ ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java | 3 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java | 19 +++++- ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/UUIDUtil.java | 103 ++++++++++++++++++++++++++++++++++ 4 files changed, 130 insertions(+), 5 deletions(-) diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java index 3878d4f..b5a041b 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java @@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.system.controller.general; +import com.alipay.api.AlipayApiException; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.factory.PageFactory; @@ -8,12 +9,16 @@ import com.stylefeng.guns.core.util.ExcelExportUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; +import com.stylefeng.guns.modular.system.model.TDriver; import com.stylefeng.guns.modular.system.model.TPubWithdrawal; import com.stylefeng.guns.modular.system.model.TSystemNotice; +import com.stylefeng.guns.modular.system.service.ITDriverService; import com.stylefeng.guns.modular.system.service.ITPubWithdrawalService; import com.stylefeng.guns.modular.system.service.ITSystemNoticeService; import com.stylefeng.guns.modular.system.util.HttpRequestUtil; import com.stylefeng.guns.modular.system.util.PushURL; +import com.stylefeng.guns.modular.system.util.alipay.AlipayUtils; +import com.stylefeng.guns.modular.system.util.alipay.UUIDUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -21,6 +26,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -40,6 +46,8 @@ @Autowired private ITSystemNoticeService tSystemNoticeService; + @Autowired + private ITDriverService driverService; /** * 跳转到提现列表首页 @@ -115,7 +123,7 @@ */ @RequestMapping(value = "/immediately") @ResponseBody - public Object immediately(@RequestParam Integer id,@RequestParam Integer state,@RequestParam String remark) { + public Object immediately(@RequestParam Integer id,@RequestParam Integer state,@RequestParam String remark) throws AlipayApiException { TPubWithdrawal tPubWithdrawal = tPubWithdrawalService.selectById(id); if (SinataUtil.isNotEmpty(tPubWithdrawal)){ // tPubWithdrawal.setState(state); //调用接口修改状态 @@ -125,10 +133,16 @@ Integer stateObj = 1; if (2 == state){ //同意提现 stateObj = 1; + // 支付宝提现 + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); + System.err.println("支付宝提现返回信息"+AlipayUtils.aliWithdrawal(code,tPubWithdrawal.getMoney()+"",tPubWithdrawal.getCode(),tDriver.getIdCard())); + tPubWithdrawal.setOutOrderNo( code); + tPubWithdrawalService.updateById(tPubWithdrawal); }else if (3 == state){ //拒绝提现 stateObj = 2; } - tPubWithdrawalService.updateById(tPubWithdrawal); // Map<String,String> map = new HashMap<>(); // map.put("id", String.valueOf(tPubWithdrawal.getId())); @@ -136,7 +150,6 @@ // String result = HttpRequestUtil.postRequest(PushURL.withdraw_auth_url, map); // System.out.println("提现审核接口 :【recordId="+tPubWithdrawal.getId().toString()+"】,调用接口:"+result); - // 支付宝提现 //增加系统消息 TSystemNotice notice = new TSystemNotice(); diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java index 4f469e7..4a8680e 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java @@ -42,6 +42,8 @@ * 提现金额 */ private BigDecimal money; + // 提现订单号 + private String outOrderNo; /** * 状态(1=待处理,2=成功,3=失败) */ @@ -203,4 +205,12 @@ ", withdrawalType=" + withdrawalType + "}"; } + + public String getOutOrderNo() { + return outOrderNo; + } + + public void setOutOrderNo(String outOrderNo) { + this.outOrderNo = outOrderNo; + } } diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java index f952ff3..646f619 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java @@ -58,7 +58,7 @@ /** * 提现 */ - public static String aliWithdrawal(String outBizNo, String money, String account, String idCard,String userName) throws AlipayApiException { + public static String aliWithdrawal(String outBizNo, String money, String account, String idCard) throws AlipayApiException { // 初始化SDK AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig()); @@ -81,7 +81,6 @@ payeeInfo.setIdentity(account); payeeInfo.setCertType("IDENTITY_CARD"); payeeInfo.setCertNo(idCard); - payeeInfo.setName(userName); payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); model.setPayeeInfo(payeeInfo); // 设置业务备注 diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/UUIDUtil.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/UUIDUtil.java new file mode 100644 index 0000000..774242a --- /dev/null +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/UUIDUtil.java @@ -0,0 +1,103 @@ +package com.stylefeng.guns.modular.system.util.alipay; + + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +/** + * 定义生成随机码的工具类 + */ +public class UUIDUtil { + + private int i = 1; + + + /** + * 定义生成原生的UUID随机码 + * + * @return + */ + public static String getNativeUUID() { + return UUID.randomUUID().toString(); + } + + + /** + * 生成32位随机码 + * + * @return + */ + public static String getRandomCode() { + return UUIDUtil.getNativeUUID().replaceAll("-", ""); + } + + + /** + * 获取给定长度的随机码 + * + * @param num + * @return + * @throws Exception + */ + public static String getRandomCode(Integer num) throws Exception { + String str = null; + if (0 < num) { + if (num % 32 > 0) { + Integer s = num / 32; + Integer l = num % 32; + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < s; i++) { + sb.append(UUIDUtil.getRandomCode()); + } + sb.append(UUIDUtil.getRandomCode().substring(0, l)); + str = sb.toString(); + } else if (num % 32 == 0) { + Integer s = num / 32; + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < s; i++) { + sb.append(UUIDUtil.getRandomCode()); + } + str = sb.toString(); + } else { + str = UUIDUtil.getRandomCode().substring(0, num); + } + } else { + throw new Exception("参数只能大于0"); + } + return str; + } + + + /** + * 获取根据当前时间的字符串数据 + * + * @return + */ + public synchronized static String getTimeStr() { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmssS"); + return simpleDateFormat.format(new Date()); + } + + + /** + * @Description: 获取数字随机码 + * @Author pzb + * @Date 2021/8/11 16:52 + * @Param + * @Return + * @Exception + */ + public static String getNumberRandom(Integer num) { + if (null == num) { + num = 32; + } + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < num; i++) { + sb.append(Double.valueOf(Math.random() * 10).intValue()); + } + return sb.toString(); + } + + +} -- Gitblit v1.7.1