From 168d852672f8f671a01d6f0f053349d0d321ec7c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 03 一月 2024 11:43:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 36 +++++++++++++++++++++++++++++++----- 1 files changed, 31 insertions(+), 5 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java index e140bb1..1d0b910 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java @@ -1041,7 +1041,7 @@ return weixinpay; } - + private String smid = "2088330203191220";//平台支付宝商户号 /** * 课程支付宝支付 * @@ -1055,6 +1055,7 @@ CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId()); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + String smid1=""; //生成支付订单 if (paymentCourseVo.getOrderId()==null){ CoursePackageOrder coursePackageOrder = new CoursePackageOrder(); @@ -1083,8 +1084,18 @@ coursePackageOrder.setPayUserId(uid); coursePackageOrderService.updateById(coursePackageOrder); } - - ResultUtil alipay = payMoneyUtil.alipay("购买课程", "购买课程", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback"); + // 判断这个课包属于哪个门店 属于哪个运营商 根据运营商 id 获取对应的商户号 + Integer coursePackageId = paymentCourseVo.getId(); + TCoursePackage byId = coursePackageService.getById(coursePackageId); + Store store = storeClient.queryStoreById(byId.getStoreId()); + if (store.getOperatorId() == null ){ + smid1 = smid; + }else{ + smid1 = storeClient.getSMIDByOperatorId(store.getOperatorId()); + } + ResultUtil alipay = payMoneyUtil.alipay(smid1,"购买课程", "购买课程", + coursePackagePaymentConfig.getId().toString(), + code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback"); if (alipay.getCode() == 200) { String finalCode = code; new Thread(new Runnable() { @@ -1092,7 +1103,6 @@ public void run() { try { Thread.sleep(1000); - int num = 1; int wait = 0; while (num <= 10) { @@ -1128,7 +1138,23 @@ coursePackageOrderService.updateById(coursePackageOrder1); addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig); moneyOut(tradeNo,tradeNo,finalCode); - break; + // 根据课程id 查询这个课程属于哪个门店 属于哪个运营商 + Integer id = paymentCourseVo.getId(); + TCoursePackage byId = coursePackageService.getById(id); + Integer storeId = byId.getStoreId(); + Store store = storeClient.queryStoreById(storeId); + Integer operatorId = store.getOperatorId(); + if (operatorId==null){ + String smid ="2088330203191220"; + // 说明是平台的 + payMoneyUtil.confirm(smid,finalCode,tradeNo,paymentPrice.toString()); + break; + }else{ + // 当前课程不属于门店 查询这个课程属于哪个门店 属于哪个运营商 + String smidByOperatorId = storeClient.getSMIDByOperatorId(operatorId); + payMoneyUtil.confirm(smidByOperatorId,finalCode,tradeNo,paymentPrice.toString()); + break; + } } if ("WAIT_BUYER_PAY".equals(s)) { num++; -- Gitblit v1.7.1