From c5d38d650d2ac4101b1293a4f17346e7d5420076 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 04 七月 2025 20:39:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java | 79 ++++++++++++++++++++++++++++++--------- 1 files changed, 60 insertions(+), 19 deletions(-) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java index 14eae48..38836b9 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java @@ -1,16 +1,18 @@ package com.ruoyi.shop.util; -import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsRequest; -import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult; -import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsStatusResult; +import com.alibaba.fastjson.JSONObject; +import com.github.binarywang.wxpay.bean.ecommerce.*; +import com.github.binarywang.wxpay.bean.media.ImageUploadResult; import com.github.binarywang.wxpay.exception.WxPayException; import com.github.binarywang.wxpay.service.EcommerceService; +import com.github.binarywang.wxpay.service.MerchantMediaService; import com.github.binarywang.wxpay.service.WxPayService; import com.ruoyi.shop.domain.pojo.shop.ShopAuthentication; import com.ruoyi.system.api.domain.poji.shop.Shop; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; +import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -24,10 +26,17 @@ private final WxPayService wxService; /** - * 电商二级商户进件(提交申请单) + * @description 电商二级商户进件(提交申请单) + * @author jqs + * @date 2023/8/11 10:04 + * @param shopAuthentication + * @param applyNumber + * @param shop + * @return ApplymentsResult */ - public ApplymentsResult ecommerceApply(ShopAuthentication shopAuthentication, String applyNumber, Shop shop) throws WxPayException { + public ApplymentsResult ecommerceApply(ShopAuthentication shopAuthentication, String applyNumber, Shop shop) throws Exception { EcommerceService ecommerceService = wxService.getEcommerceService(); + MerchantMediaService merchantMediaService = wxService.getMerchantMediaService(); ApplymentsRequest request = new ApplymentsRequest(); //生成提交类 request.setOutRequestNo(applyNumber); @@ -38,20 +47,38 @@ } //营业执照 ApplymentsRequest.BusinessLicenseInfo business_license_info = new ApplymentsRequest.BusinessLicenseInfo(); - business_license_info.setBusinessLicenseCopy(shopAuthentication.getBlImage()); + InputStream blImageIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getBlImage().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); + ImageUploadResult blImageIR = merchantMediaService.imageUploadV3(blImageIO,applyNumber+"blimage.jpg"); + business_license_info.setBusinessLicenseCopy(blImageIR.getMediaId()); + blImageIO.close(); business_license_info.setBusinessLicenseNumber(shopAuthentication.getBlNumber()); business_license_info.setMerchantName(shopAuthentication.getBlShopName()); business_license_info.setLegalPerson(shopAuthentication.getBlCorporateName()); business_license_info.setCompanyAddress(shopAuthentication.getBlRegisteredAddress()); - business_license_info.setBusinessTime(shopAuthentication.getBlBusinessDeanline()); + List<String> businessTimeList = new ArrayList<>(); + businessTimeList.add(0,shopAuthentication.getBlBusinessStartTime()); + businessTimeList.add(1,shopAuthentication.getBlBusinessDeanline()); + if(businessTimeList!=null&&businessTimeList.size()>1){ + String businessTime = JSONObject.toJSONString(businessTimeList); + business_license_info.setBusinessTime(businessTime); + } request.setBusinessLicenseInfo(business_license_info); //法人证件 request.setIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); ApplymentsRequest.IdCardInfo id_card_info = new ApplymentsRequest.IdCardInfo(); - id_card_info.setIdCardCopy(shopAuthentication.getLpIcFront()); - id_card_info.setIdCardNational(shopAuthentication.getLpIcBack()); + InputStream lpIcFrontIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getLpIcFront().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); + ImageUploadResult lpIcFrontIR = merchantMediaService.imageUploadV3(lpIcFrontIO,applyNumber+"lpIcFront.jpg"); + id_card_info.setIdCardCopy(lpIcFrontIR.getMediaId()); + lpIcFrontIO.close(); + InputStream lpIcBackIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getLpIcBack().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); + ImageUploadResult lpIcBackIR = merchantMediaService.imageUploadV3(lpIcBackIO,applyNumber+"lpIcBack.jpg"); + id_card_info.setIdCardNational(lpIcBackIR.getMediaId()); + lpIcBackIO.close(); id_card_info.setIdCardName(shopAuthentication.getLpCorporateName()); id_card_info.setIdCardNumber(shopAuthentication.getLpIdCard()); + if(shopAuthentication.getMainType()==2){ + id_card_info.setIdCardAddress(shopAuthentication.getLpIdAddress()); + } id_card_info.setIdCardValidTimeBegin(shopAuthentication.getLpIcStartDate()); id_card_info.setIdCardValidTime(shopAuthentication.getLpIcEndDate()); request.setIdCardInfo(id_card_info); @@ -65,13 +92,18 @@ List<ApplymentsRequest.UboInfo> ubo_info_list = new ArrayList<>(); ApplymentsRequest.UboInfo uboInfo = new ApplymentsRequest.UboInfo(); uboInfo.setUboIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); - uboInfo.setUboIdDocCopy(shopAuthentication.getUboIcFront()); - uboInfo.setUboIdDocCopyBack(shopAuthentication.getUboIcBack()); + InputStream uboIcFrontIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getUboIcFront().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); + ImageUploadResult uboIcFrontIR = merchantMediaService.imageUploadV3(uboIcFrontIO,applyNumber+"uboIcFront.jpg"); + uboInfo.setUboIdDocCopy(uboIcFrontIR.getMediaId()); + uboIcFrontIO.close(); + InputStream uboIcBackIO = OBSUploadUtils.getOSSInputStream(shopAuthentication.getUboIcBack().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); + ImageUploadResult uboIcBackIR = merchantMediaService.imageUploadV3(uboIcBackIO,applyNumber+"uboIcBack.jpg"); + uboInfo.setUboIdDocCopyBack(uboIcBackIR.getMediaId()); + uboIcBackIO.close(); uboInfo.setUboIdDocName(shopAuthentication.getUboName()); uboInfo.setUboIdDocNumber(shopAuthentication.getUboIdCard()); uboInfo.setUboIdDocAddress(shopAuthentication.getUboIcAddress()); uboInfo.setUboIdDocPeriodBegin(shopAuthentication.getUboIcStartDate()); - uboInfo.setUboIdDocCopyBack(shopAuthentication.getUboIcEndDate()); ubo_info_list.add(uboInfo); request.setUboInfoList(ubo_info_list); } @@ -99,25 +131,34 @@ //店铺信息 ApplymentsRequest.SalesSceneInfo salesSceneInfo = new ApplymentsRequest.SalesSceneInfo(); salesSceneInfo.setStoreName(shop.getShopName()); - salesSceneInfo.setStoreUrl(""); - salesSceneInfo.setStoreQrCode(""); + InputStream storeQrCodeIO = OBSUploadUtils.getOSSInputStream(shop.getShopCode().replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","")); + ImageUploadResult storeQrCodeIR = merchantMediaService.imageUploadV3(storeQrCodeIO,applyNumber+"storeQrCode.jpg"); + salesSceneInfo.setStoreQrCode(storeQrCodeIR.getMediaId()); + storeQrCodeIO.close(); request.setSalesSceneInfo(salesSceneInfo); request.setMerchantShortname(shop.getShopName()); request.setBusinessAdditionPics(shopAuthentication.getBaPics()); request.setBusinessAdditionDesc(shopAuthentication.getBaDesc()); - return ecommerceService.createApply(request); } /** - * 通过查询申请状态API查询二级商户入驻申请结果 - * @param applymentId 微信支付申请单号 - * @return 申请状态 - * @throws WxPayException + * @description 查询申请审核状态 + * @author jqs + * @date 2023/8/11 10:04 + * @param applymentId + * @return ApplymentsStatusResult */ public ApplymentsStatusResult queryApplyStatusByApplymentId(String applymentId) throws WxPayException { return wxService.getEcommerceService().queryApplyStatusByApplymentId(applymentId); } + public ProfitSharingReceiverResult addProfitSharingReceiver(ProfitSharingReceiverRequest request) throws WxPayException { + request.setAppid("wxb7f0ea286fc4e535"); + request.setType("MERCHANT_ID"); + request.setRelationType("SERVICE_PROVIDER"); + ProfitSharingReceiverResult result = wxService.getEcommerceService().addReceivers(request); + return result; + } } -- Gitblit v1.7.1