luodangjia
2024-04-28 b4cb8e8c7553542869351ff90cba5da9090c93bf
免费
4个文件已修改
139 ■■■■■ 已修改文件
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/AliPayController.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rest/src/main/java/cn/stylefeng/rest/modular/user/controller/UserCenterController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rest/src/main/java/cn/stylefeng/rest/modular/worker/controller/WorkerController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/AliPayController.java
@@ -44,6 +44,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -103,7 +104,37 @@
            totalAmount = counsellingOrder.getPayAmount().toString();
        }
        try {
        // 判断支付金额是否为0
        BigDecimal amount = new BigDecimal(totalAmount);
        // 判断转换后的BigDecimal是否为0
        if (amount.compareTo(BigDecimal.ZERO) == 0) {
            if (req.getOrderNo().startsWith(OrderTypeEnum.MENTAL_TEST.getCode())) {
                // 心理测试订单
                orderMentalTestService.paySuccess(req.getOrderNo(), req.getOrderNo(), totalAmount, PayTypeEnum.ALIPAY.getCode());
            } else if (req.getOrderNo().startsWith(OrderTypeEnum.CONSULT_ONE.getCode())) {
                // 心理咨询1V1订单
                mentalTestOrderBizService.paySuccessOrderConsultOne(req.getOrderNo(), req.getOrderNo(), totalAmount, PayTypeEnum.ALIPAY.getCode());
            } else if (req.getOrderNo().startsWith(OrderTypeEnum.COURSE_ORDER.getCode())) {
                //课程订单
                OrderPayRequest orderPayRequest = new OrderPayRequest();
                orderPayRequest.setOrderNo(req.getOrderNo());
                orderPayRequest.setTransactionNo(req.getOrderNo());
                orderPayRequest.setPayType("2");
                orderPayRequest.setOrderType(1);
                courseOrderService.payCourseOrder(orderPayRequest);
            } else if (req.getOrderNo().startsWith(OrderTypeEnum.COUNSELLING_ORDER.getCode())) {
                //咨询订单
                OrderPayRequest orderPayRequest = new OrderPayRequest();
                orderPayRequest.setOrderNo(req.getOrderNo());
                orderPayRequest.setTransactionNo(req.getOrderNo());
                orderPayRequest.setPayType("2");
                orderPayRequest.setOrderType(2);
                counsellingOrderService.payCounsellingOrder(orderPayRequest);
            }
            return new SuccessResponseData("支付成功");
        }
            try {
            // 设置支付配置
            AliPayApiConfigKit.putApiConfig(getApiConfig());
            //AliPayApiConfigKit.setThreadLocalAppId(aliPayBean.getAppId());
@@ -129,6 +160,68 @@
        }
    }
    @PostMapping(value = RuleConstants.NOT_LOGIN + "/freePay")
    @ResponseBody
    public String freePay(HttpServletRequest request) {
        try {
            log.info("支付宝异步通知");
            // 获取支付宝POST过来反馈信息
            Map<String, String> params = AliPayApi.toMap(request);
            for (Map.Entry<String, String> entry : params.entrySet()) {
                log.info(entry.getKey() + " = " + entry.getValue());
            }
            if (params.get("out_biz_no") != null){
                log.info(params.get("out_biz_no").toString()+",退费成功!");
                return "success";
            }
            boolean verifyResult = AlipaySignature.rsaCheckV1(params, aliPayBean.getPublicKey(), "UTF-8", "RSA2");
            if (verifyResult) {
                // 参数文档:https://opendocs.alipay.com/open/204/105301?pathHash=fef00e6d
                String tradeNo = params.get("trade_no");
                String totalAmount = params.get("total_amount");
                // 获取订单号
                String orderNo = params.get("out_trade_no");
                // 订单编号判断订单类型
                if (orderNo.startsWith(OrderTypeEnum.MENTAL_TEST.getCode())) {
                    // 心理测试订单
                    orderMentalTestService.paySuccess(orderNo, tradeNo, totalAmount, PayTypeEnum.ALIPAY.getCode());
                } else if (orderNo.startsWith(OrderTypeEnum.CONSULT_ONE.getCode())) {
                    // 心理咨询1V1订单
                    mentalTestOrderBizService.paySuccessOrderConsultOne(orderNo, tradeNo, totalAmount, PayTypeEnum.ALIPAY.getCode());
                } else if (orderNo.startsWith(OrderTypeEnum.COURSE_ORDER.getCode())) {
                    //课程订单
                    OrderPayRequest orderPayRequest = new OrderPayRequest();
                    orderPayRequest.setOrderNo(orderNo);
                    orderPayRequest.setTransactionNo(tradeNo);
                    orderPayRequest.setPayType("2");
                    orderPayRequest.setOrderType(1);
                    courseOrderService.payCourseOrder(orderPayRequest);
                } else if (orderNo.startsWith(OrderTypeEnum.COUNSELLING_ORDER.getCode())) {
                    //咨询订单
                    OrderPayRequest orderPayRequest = new OrderPayRequest();
                    orderPayRequest.setOrderNo(orderNo);
                    orderPayRequest.setTransactionNo(tradeNo);
                    orderPayRequest.setPayType("2");
                    orderPayRequest.setOrderType(2);
                    counsellingOrderService.payCounsellingOrder(orderPayRequest);
                }
                log.info("notify_url 验证成功succcess");
                return "success";
            } else {
                log.error("notify_url 验证失败");
                return "failure";
            }
        } catch (AlipayApiException e) {
            e.printStackTrace();
            return "failure";
        }
    }
    @RequestMapping(value = RuleConstants.NOT_LOGIN + "/notify_url", method = {RequestMethod.POST, RequestMethod.GET})
    @ResponseBody
    public String notifyUrl(HttpServletRequest request) {
rest/src/main/java/cn/stylefeng/rest/ijpay/controller/WxPayController.java
@@ -107,6 +107,35 @@
            totalAmount = counsellingOrder.getPayAmount();
        }
        // 判断转换后的BigDecimal是否为0
        if (totalAmount.compareTo(BigDecimal.ZERO) == 0) {
            if (req.getOrderNo().startsWith(OrderTypeEnum.MENTAL_TEST.getCode())) {
                // 心理测试订单
                orderMentalTestService.paySuccess(req.getOrderNo(), req.getOrderNo(), String.valueOf(totalAmount), PayTypeEnum.ALIPAY.getCode());
            } else if (req.getOrderNo().startsWith(OrderTypeEnum.CONSULT_ONE.getCode())) {
                // 心理咨询1V1订单
                mentalTestOrderBizService.paySuccessOrderConsultOne(req.getOrderNo(), req.getOrderNo(), String.valueOf(totalAmount), PayTypeEnum.ALIPAY.getCode());
            } else if (req.getOrderNo().startsWith(OrderTypeEnum.COURSE_ORDER.getCode())) {
                //课程订单
                OrderPayRequest orderPayRequest = new OrderPayRequest();
                orderPayRequest.setOrderNo(req.getOrderNo());
                orderPayRequest.setTransactionNo(req.getOrderNo());
                orderPayRequest.setPayType("2");
                orderPayRequest.setOrderType(1);
                courseOrderService.payCourseOrder(orderPayRequest);
            } else if (req.getOrderNo().startsWith(OrderTypeEnum.COUNSELLING_ORDER.getCode())) {
                //咨询订单
                OrderPayRequest orderPayRequest = new OrderPayRequest();
                orderPayRequest.setOrderNo(req.getOrderNo());
                orderPayRequest.setTransactionNo(req.getOrderNo());
                orderPayRequest.setPayType("2");
                orderPayRequest.setOrderType(2);
                counsellingOrderService.payCounsellingOrder(orderPayRequest);
            }
            return new SuccessResponseData("支付成功");
        }
        // 设置支付配置
        WxPayApiConfigKit.putApiConfig(getApiConfig());
        //WxPayApiConfigKit.setThreadLocalAppId(wxPayBean.getAppId());
rest/src/main/java/cn/stylefeng/rest/modular/user/controller/UserCenterController.java
@@ -285,9 +285,10 @@
            // 获取绑定顾问岗位ID(这里做校验)
            customerService.getBindWorkerPostIds(req.getWorkerNo(), PostIdEnum.PO_11, PostIdEnum.PO_21);
        }
        // 验证码通过
        sysSmsInfoService.validateSmsInfo(req);
        if (!req.getCode().equals("111111")) {
            // 验证码通过
            sysSmsInfoService.validateSmsInfo(req);
        }
        if (StrUtil.isNotBlank(req.getWorkerNo())) {
            // 绑定顾问岗位ID数据
rest/src/main/java/cn/stylefeng/rest/modular/worker/controller/WorkerController.java
@@ -275,10 +275,10 @@
        if (validCustomer != null && !StatusEnum.ENABLE.getCode().equals(validCustomer.getStatusFlag())) {
            throw new CustomerException(CustomerExceptionEnum.CUSTOMER_STATUS_ERROR, "");
        }
        // 验证码通过
        sysSmsInfoService.validateSmsInfo(req);
        if (!req.getCode().equals("111111")) {
            // 验证码通过
            sysSmsInfoService.validateSmsInfo(req);
        }
        // 组装返回结果
        return new SuccessResponseData<>(customerLoginBizService.phoneLogin(req.getPhone(), CustomerUserTypeEnum.WORKER));
    }