From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 26 十月 2023 18:04:58 +0800 Subject: [PATCH] 修改bug --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 99 insertions(+), 18 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 77735e7..6ff5922 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 @@ -9,7 +9,10 @@ import com.alipay.api.DefaultAlipayClient; import com.alipay.api.domain.*; import com.alipay.api.request.AlipayTradeOrderSettleRequest; +import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest; import com.alipay.api.response.AlipayTradeOrderSettleResponse; +import com.alipay.api.response.AlipayTradeQueryResponse; +import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -135,7 +138,7 @@ List<Store> stores = storeClient.queryStoreListByName(coursePackageList.getSearch()); List<Integer> collect = stores.stream().map(Store::getId).collect(Collectors.toList()); if(collect.size() > 0){ - wrapper.or().in("id", collect); + wrapper.or().in("storeId", collect); } } List<TCoursePackage> list = this.list(wrapper.last(" order by sort, insertTime desc")); @@ -169,9 +172,22 @@ coursePackageListVo.setApplicantsNumber(integer); - coursePackageListVo.setPayType(coursePackage.getPayType()); - coursePackageListVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin()); + Double cashPayment1 = coursePackagePaymentConfig.getCashPayment(); + Integer playPaiCoin = coursePackagePaymentConfig.getPlayPaiCoin(); + if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0 && ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){ + coursePackageListVo.setPayType(3); + }else if(ToolUtil.isNotEmpty(cashPayment1) && cashPayment1>0){ + coursePackageListVo.setPayType(1); + }else if(ToolUtil.isNotEmpty(playPaiCoin) && playPaiCoin>0){ + coursePackageListVo.setPayType(2); + } + + + + if (coursePackagePaymentConfig!=null) { + coursePackageListVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin()); + } //会员显示原价和会员价(最低)。非会员显示会员价和支付价(最低) if(appUser.getIsVip() == 0){//非会员 List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) @@ -508,6 +524,7 @@ coursePackageInfo.setTime(format.format(coursePackage.getStartTime())+"-"+format.format(coursePackage.getEndTime())); } coursePackageInfo.setCoverDrawing(coursePackage.getCoverDrawing()); + coursePackageInfo.setName(coursePackage.getName()); Store store = storeClient.queryStoreById(coursePackage.getStoreId()); coursePackageInfo.setStoreName(store.getName()); @@ -548,8 +565,17 @@ CoursePackagePaymentConfigVo coursePackagePaymentConfigVo = new CoursePackagePaymentConfigVo(); coursePackagePaymentConfigVo.setId(coursePackagePaymentConfig.getId()); coursePackagePaymentConfigVo.setClassHours(coursePackagePaymentConfig.getClassHours()); - coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType()); coursePackagePaymentConfigVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin()); + + if(ToolUtil.isNotEmpty(coursePackagePaymentConfig.getCashPayment()) && coursePackagePaymentConfig.getCashPayment()>0 && ToolUtil.isNotEmpty(coursePackagePaymentConfig.getPlayPaiCoin()) && coursePackagePaymentConfig.getPlayPaiCoin()>0 ){ + coursePackagePaymentConfigVo.setPayType(3); + }else if(ToolUtil.isNotEmpty(coursePackagePaymentConfig.getCashPayment()) && coursePackagePaymentConfig.getCashPayment()>0){ + coursePackagePaymentConfigVo.setPayType(1); + }else if( ToolUtil.isNotEmpty(coursePackagePaymentConfig.getPlayPaiCoin()) && coursePackagePaymentConfig.getPlayPaiCoin()>0 ){ + coursePackagePaymentConfigVo.setPayType(2); + } + +// coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType()); //会员显示原价和支付价(会员价)。非会员显示会员价和支付价(最低) if(appUser.getIsVip() == 0){//非会员 List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) @@ -944,17 +970,17 @@ if(one.getPayStatus() == 2){ break; } - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200 && one.getPayStatus() == 1){ + AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code); + if( one.getPayStatus() == 1){ /** * WAIT_BUYER_PAY(交易创建,等待买家付款)、 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、 * TRADE_SUCCESS(交易支付成功)、 * TRADE_FINISHED(交易结束,不可退款) */ - Map<String, String> data1 = resultUtil.getData(); - String s = data1.get("tradeStatus"); - String tradeNo = data1.get("tradeNo"); + String s = alipayTradeQueryResponse.getTradeStatus(); + + String tradeNo = alipayTradeQueryResponse.getTradeNo(); if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){ for (TCoursePackagePayment coursePackagePayment : list) { coursePackagePayment.setStatus(3); @@ -966,6 +992,7 @@ for (TCoursePackagePayment coursePackagePayment : list) { coursePackagePayment.setPayStatus(2); coursePackagePayment.setOrderNumber(tradeNo); + coursePackagePayment.setAppUserId(null); } coursePackagePaymentService.updateBatchById(list); System.out.println("===========到达支付"); @@ -1005,6 +1032,8 @@ } + @Autowired + private TCoursePackageService coursePackageService; public void moneyOut(String outNum,String tradeNo) throws AlipayApiException { AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2"); AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest(); @@ -1012,23 +1041,74 @@ model.setOutRequestNo(outNum); model.setTradeNo(tradeNo); List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>(); +// + + AlipayTradeRoyaltyRelationBindRequest request1 = new AlipayTradeRoyaltyRelationBindRequest(); - RoyaltyDetailInfos royaltyDetailInfos1 = new RoyaltyDetailInfos(); - royaltyDetailInfos1.setTransOutType("userId"); - royaltyDetailInfos1.setTransOut("2021004105665036"); - royaltyDetailInfos1.setTransInType("loginName"); - royaltyDetailInfos1.setTransIn("18398968484"); - royaltyDetailInfos1.setAmount("0.1"); + request1.setBizContent("{" + + " \"receiver_list\":[" + + " {" + + " \"type\":\"loginName\"," + + " \"account\":\"19522115070\"," + + " \"name\":\"罗易胜\"," + + " \"memo\":\"分账给测试商户\"," + + " }" + + " ]," + + " \"out_request_no\":\""+tradeNo+"\"" + + "}"); + AlipayTradeRoyaltyRelationBindResponse response = alipayClient.execute(request1); + if(response.isSuccess()){ + System.out.println("绑定调用成功"); + } else { + System.out.println("调用失败"); + } - royaltyDetailInfos.add(royaltyDetailInfos1); + +// RoyaltyDetailInfos royaltyDetailInfos1 = new RoyaltyDetailInfos(); +// royaltyDetailInfos1.setTransOutType("loginName"); +// royaltyDetailInfos1.setTransOut("happysports@weparklife.com"); +// royaltyDetailInfos1.setTransInType("loginName"); +// royaltyDetailInfos1.setTransIn("19522115070"); +//// royaltyDetailInfos1.setAmount("0.01"); +// royaltyDetailInfos1.setAmountPercentage("100"); + +// royaltyDetailInfos.add(royaltyDetailInfos1); + + TCoursePackagePayment one = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("code", outNum)); + TCoursePackage byId = coursePackageService.getById(one.getCoursePackageId()); + OperatorUser operatorUser = storeClient.queryByStoreId(byId.getStoreId()); + + + +// Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo); +// Integer siteBookings = siteClient.queryByCode(outTradeNo); +// List<Integer> stores = new ArrayList<>(); +// stores.add(coursePackagePayments); +// stores.add(paymentCompetitions); +// stores.add(siteBookings); +// OperatorUser operatorUser = siteClient.queryOperator(stores); + + + + + OpenApiRoyaltyDetailInfoPojo op = new OpenApiRoyaltyDetailInfoPojo(); + op.setTransOutType("loginName"); + op.setTransOut("happysports@weparklife.com"); + op.setTransInType("userId"); + op.setTransIn(operatorUser.getAlipayNum()); + op.setAmountPercentage(Long.valueOf(operatorUser.getAlipayProportion())); + + List<OpenApiRoyaltyDetailInfoPojo> ops = new ArrayList<>(); + ops.add(op); + model.setRoyaltyParameters(ops); request.setBizModel(model); - AlipayTradeOrderSettleResponse response = alipayClient.execute(request); - if(response.isSuccess()){ + AlipayTradeOrderSettleResponse response1 = alipayClient.execute(request); + if(response1.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); @@ -1037,6 +1117,7 @@ + /** * 玩湃币支付课程 * @param appUser -- Gitblit v1.7.1