无关风月
2025-08-05 3bcda507caca11eeeebf7b70d7bfb8ac56a67836
后台提现审核
3个文件已修改
1个文件已添加
135 ■■■■■ 已修改文件
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TPubWithdrawal.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/UUIDUtil.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
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;
    }
}
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);
        // 设置业务备注
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/UUIDUtil.java
New file
@@ -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();
    }
}