mitao
2024-08-14 07057a9a0c8624ec1876670e69b0631b1213793f
修改bug
7个文件已修改
64 ■■■■ 已修改文件
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IPaylogService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/common/Configure.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/conf/param.properties 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IPaylogService.java
@@ -8,7 +8,6 @@
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
/**
 * <p>
@@ -30,7 +29,6 @@
     * @param request
     * @param res
     */
    @RequestMapping("/alipay/notify")
    public void notifyUrl(HttpServletRequest request, HttpServletResponse res);
///////////////////////////////////////////////////////////////////////////////////////////////////
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderAuctionBondServiceImpl.java
@@ -62,7 +62,7 @@
    @Override
    public R<T> getOrderAuctionBond(OrderAuctionBondDTO orderAuctionBondDTO) {
        log.info("getOrderAuctionBond:{}", orderAuctionBondDTO);
        LambdaQueryWrapper<OrderAuctionBond> wrapper = Wrappers.lambdaQuery();
        if (orderAuctionBondDTO.getUserList().size()>0){
            wrapper.notIn(OrderAuctionBond::getMemberId, orderAuctionBondDTO.getUserList());
@@ -76,6 +76,7 @@
            wrapper1.eq(Paylog::getOutTradeNo, orderAuctionBond.getOrderNo());
            wrapper1.last("limit 1");
            Paylog paylog = iPaylogService.getOne(wrapper1);
            log.info("paylog:{}", paylog);
            if (paylog.getPayType() == 1) {//支付宝
                boolean bo = paylogServiceImpl.refundForAlipay(paylog.getOutTradeNo(), paylog.getTradeNo(), orderAuctionBond.getBond().doubleValue());
                if (!bo) {
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.order.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -515,6 +517,9 @@
        return memberOrderVO;
    }
    public static void main(String[] args) {
        System.err.println(DateUtil.format(LocalDateTime.now(), DatePattern.NORM_DATETIME_PATTERN));
    }
    @Override
    public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) {
        Order order = baseMapper.selectById(memberOrderDTO.getId());
@@ -858,7 +863,8 @@
                    Wrappers.lambdaQuery(OrderReturnRequest.class)
                            .eq(OrderReturnRequest::getOrderId,
                                    MemberOrderList.getId()).last("limit 1"));
            if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) {
            if (StringUtils.isNotNull(orderReturnRequest)
                    && orderReturnRequest.getStatus() != ReturnRequestStatusEnum.QX) {
                MemberOrderList.setStatus(orderReturnRequest.getStatus());
                MemberOrderList.setRequestId(orderReturnRequest.getId());
                MemberOrderList.setIsRequest(2);
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java
@@ -102,6 +102,8 @@
    @Override
    public R<Map<String, Object>> getPayInfo(Long uid, Integer type, String orderNO, String openId,
            HttpServletRequest request) {
        PaymentMethodEnum paymentMethodEnum =
                type == 1 ? PaymentMethodEnum.ALIPAY : PaymentMethodEnum.WECHAT;
        Member member = memberClient.getMembeOne(uid, SecurityConstants.INNER).getData();
        openId = member.getMiniOpenid();
        String zfbOpenid = member.getZfbOpenid();
@@ -116,13 +118,14 @@
                    wrapper1.eq(OrderAuctionBond::getDelFlag,0);
                    OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1);
                    one1.setBoundStatus(BondStatusEnum.PAID);
                    one1.setPaymentMethod(PaymentMethodEnum.WECHAT);
                    one1.setPaymentMethod(paymentMethodEnum);
                    orderAuctionBondMapper.updateById(one1);
                    if (one1.getBond()==null||one1.getBond().compareTo(new BigDecimal(0))==0){
                        one1.setBoundStatus(BondStatusEnum.PAID);
                        Map<String, Object> returnMap = new HashMap<>();
                        // Type 1是否需要支付
                        returnMap.put("Type",1);
                        return R.ok(returnMap);
                    }
@@ -134,7 +137,7 @@
                    wrapper1.eq(Order::getDelFlag,0);
                    Order page1 = OrderMapper.selectOne(wrapper1);
                    page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED);
                    page1.setPaymentMethod(PaymentMethodEnum.WECHAT);
                    page1.setPaymentMethod(paymentMethodEnum);
                    page1.setPayTime(LocalDateTime.now());
                    OrderMapper.updateById(page1);
                    if (page1.getTotalAmount().compareTo(new BigDecimal(0))==0){
@@ -198,7 +201,7 @@
            }
        } catch (Exception e) {
            e.printStackTrace();
            log.info("获取异常", e);
        }
        return R.fail("获取异常");
    }
@@ -212,6 +215,7 @@
     */
    @Override
    public void notifyUrl(HttpServletRequest request, HttpServletResponse res) {
        log.info("=============================支付宝回调=============================");
        HttpServletResponse response = (HttpServletResponse) res;
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out;
@@ -324,7 +328,7 @@
                    log.debug("AlipayController.notifyUrl__回调逻辑代码处理异常!fail");
                    // 返回失败
                    out.println("fail");
                    e.printStackTrace();
                    log.error("AlipayController.notifyUrl__回调逻辑代码处理异常!fail", e);
                }
                // ////////////////////////////////////////////////////////////////////////////////////////
            } else {// 验证失败
@@ -334,7 +338,7 @@
        } catch (
                IOException e) {
            log.debug("AlipayController.notifyUrl__支付宝服务器异步通知数据处理失败!");
            e.printStackTrace();
            log.error("AlipayController.notifyUrl__支付宝服务器异步通知数据处理失败!", e);
        }
    }
@@ -512,6 +516,7 @@
                    + "\", " + "\"refund_amount\":" + refund_amount + ", " + "\"refund_reason\":\"正常退款\","
                    + "\"out_request_no\":\"HZ01RF001\"" + "}");
            AlipayTradeRefundResponse response = alipayClient.execute(request);
            log.info("支付宝退款response:" + response.getBody());
            // 调用成功,则处理业务逻辑
            if (response.isSuccess()) {
                return true;
@@ -738,11 +743,6 @@
        System.out.println("微信退款结果: " + xmlResult);
        return true;
    }
    public static void main(String[] args) {
        refundForWxpay(4, "4200002335202408022336923702",
                "BO24080216090001", "R123456789", 1, 1, "2");
    }
    /**
     * 获取支付宝
     *
@@ -751,7 +751,7 @@
     * @throws Exception
     */
    private Paylog getPayLog_alipay(HttpServletRequest request) throws IOException {
        //////// 获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以下仅供参考)////////
        //////// 获取支付宝的通知返回参数,可参考技术文档中页面跳转步通知同参数列表(以下仅供参考)////////
        // 商户订单号
        String out_trade_no = new String(request.getParameter("out_trade_no").getBytes("ISO-8859-1"), "UTF-8");
        // 支付宝交易号
@@ -759,12 +759,12 @@
        // 交易状态
        String trade_status = new String(request.getParameter("trade_status").getBytes("ISO-8859-1"), "UTF-8");
        // 支付者唯一Id
        String buyer_id = new String(request.getParameter("buyer_id").getBytes("ISO-8859-1"), "UTF-8");
        // String buyer_id = new String(request.getParameter("buyer_id").getBytes("ISO-8859-1"), "UTF-8");
        // 支付帐号
        String buyer_email = "";
        if (SinataUtil.isNotEmpty(request.getParameter("buyer_logon_id"))) {
            buyer_email = new String(request.getParameter("buyer_logon_id").getBytes("ISO-8859-1"), "UTF-8");
        }
        // String buyer_email = "";
        // if (SinataUtil.isNotEmpty(request.getParameter("buyer_logon_id"))) {
        //     buyer_email = new String(request.getParameter("buyer_logon_id").getBytes("ISO-8859-1"), "UTF-8");
        // }
        // 支付金额
        String total_fee = new String(request.getParameter("total_amount").getBytes("ISO-8859-1"), "UTF-8");
        // 支付时间
@@ -774,7 +774,7 @@
        Paylog paylog = new Paylog();
        paylog.setOutTradeNo(out_trade_no);
        paylog.setPayType(1);
        paylog.setBuyerId(buyer_id);
        // paylog.setBuyerId(buyer_id);
        paylog.setTradeNo(trade_no);
        paylog.setPayMoney(Double.parseDouble(total_fee));
        paylog.setState(1);
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/tencent/common/Configure.java
@@ -54,8 +54,9 @@
    private static String certLocalPath_2;
    static{//从服务器相对路径中获取
        // certLocalPath_2 = Configure.class.getClassLoader().getResource("").getPath() + "com/ruoyi/order/util/tencent/common/cert_2/apiclient_cert.p12";
        certLocalPath_2 = Configure.class.getClassLoader().getResource("").getPath()
                + "cert_2/apiclient_cert.p12";
        // certLocalPath_2 = Configure.class.getClassLoader().getResource("").getPath()
        //         + "cert_2/apiclient_cert.p12";
        certLocalPath_2 = "/opt/lzlj/cert/wechat/apiclient_cert.p12";
    }    
    
    //HTTPS证书密码,默认密码等于商户号MCHID
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
@@ -41,14 +41,14 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        server-addr: 127.0.0.1:8888
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2
        namespace: 348e7dd1-5101-4c61-a8dd-d835a2a125ab
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        namespace: 3452d750-b08d-4485-a1e9-4fb0548f1fc2
        server-addr: 127.0.0.1:8888
        namespace: 348e7dd1-5101-4c61-a8dd-d835a2a125ab
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        # 配置文件格式
ruoyi-modules/ruoyi-order/src/main/resources/conf/param.properties
@@ -14,8 +14,8 @@
# 支付宝回调地址          
#notify_url = http://10.136.177.152:9000/order/forepart/paylog/alipay/notify
#notify_url=http://221.182.45.100:9000/order/forepart/paylog/wxpay/notify
notify_url=https://www.jiudinglaojiu.com/order/forepart/paylog/wxpay/notify
#notify_url=http://221.182.45.100:9000/order/forepart/paylog/alipay/notify
notify_url=https://www.jiudinglaojiu.com/order/forepart/paylog/alipay/notify
# 签约的appid
app_id = 2021004150664294