From c93e76c57a98e35abbf62d2f514d9ba51efd3243 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期一, 21 八月 2023 19:03:55 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WechatPayUtils.java | 66 +++++++++++++++++++++++++-------- 1 files changed, 50 insertions(+), 16 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..95f4c24 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,20 @@ package com.ruoyi.shop.util; +import com.alibaba.fastjson.JSONObject; 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.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 +28,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 +49,36 @@ } //营业执照 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()); + 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,22 +131,24 @@ //店铺信息 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); -- Gitblit v1.7.1