| | |
| | | package com.dsh.guns.modular.system.util; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alipay.api.domain.Shop; |
| | | import com.dsh.course.util.UUIDUtil; |
| | | import com.dsh.guns.core.util.ToolUtil; |
| | | import com.dsh.guns.modular.system.controller.util.UploadUtil; |
| | | import com.dsh.guns.modular.system.model.OperatorAuth; |
| | | import com.dsh.guns.modular.system.model.TOperator; |
| | | import com.dsh.guns.modular.system.model.User; |
| | | import com.dsh.guns.modular.system.service.IUserService; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsRequest; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult; |
| | | import com.github.binarywang.wxpay.bean.media.ImageUploadResult; |
| | | import com.github.binarywang.wxpay.service.EcommerceService; |
| | | import com.github.binarywang.wxpay.service.MerchantMediaService; |
| | | import com.github.binarywang.wxpay.service.WxPayService; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.NoArgsConstructor; |
| | | import org.apache.commons.codec.digest.DigestUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.http.*; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.InputStream; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLDecoder; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 微信工具类 |
| | | */ |
| | | @Component |
| | | public class WeChatUtil { |
| | | |
| | | private WxPayService wxService; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @description 电商二级商户进件(提交申请单) |
| | | * @author jqs |
| | | * @date 2023/8/11 10:04 |
| | | * @param shopAuthentication |
| | | * @param applyNumber |
| | | * @param operator |
| | | * @return ApplymentsResult |
| | | */ |
| | | |
| | | |
| | | public ApplymentsResult ecommerceApply(OperatorAuth shopAuthentication, String applyNumber, TOperator operator) throws Exception { |
| | | |
| | | EcommerceService ecommerceService = wxService.getEcommerceService(); |
| | | MerchantMediaService merchantMediaService = wxService.getMerchantMediaService(); |
| | | ApplymentsRequest request = new ApplymentsRequest(); |
| | | //生成提交类 |
| | | request.setOutRequestNo(applyNumber); |
| | | if("ENTERPRISE".equals(shopAuthentication.getBodyType())){ |
| | | request.setOrganizationType("2"); |
| | | }else{ |
| | | request.setOrganizationType("4"); |
| | | } |
| | | //营业执照 |
| | | ApplymentsRequest.BusinessLicenseInfo business_license_info = new ApplymentsRequest.BusinessLicenseInfo(); |
| | | InputStream blImageIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBusinessPicture().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | ImageUploadResult blImageIR = merchantMediaService.imageUploadV3(blImageIO,applyNumber+"blimage.jpg"); |
| | | business_license_info.setBusinessLicenseCopy(blImageIR.getMediaId()); |
| | | blImageIO.close(); |
| | | business_license_info.setBusinessLicenseNumber(shopAuthentication.getBusinessNumber()); |
| | | business_license_info.setMerchantName(shopAuthentication.getBusinessName()); |
| | | business_license_info.setLegalPerson(shopAuthentication.getLegalPerson()); |
| | | business_license_info.setCompanyAddress(shopAuthentication.getRegisterAddress()); |
| | | List<String> businessTimeList = new ArrayList<>(); |
| | | businessTimeList.add(0,shopAuthentication.getBusinessTerm()); |
| | | businessTimeList.add(1,shopAuthentication.getBusinessEnd()); |
| | | 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(); |
| | | InputStream lpIcFrontIO = OBSUploadUtil.getOBSStream(shopAuthentication.getLegalFront().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | ImageUploadResult lpIcFrontIR = merchantMediaService.imageUploadV3(lpIcFrontIO,applyNumber+"lpIcFront.jpg"); |
| | | id_card_info.setIdCardCopy(lpIcFrontIR.getMediaId()); |
| | | lpIcFrontIO.close(); |
| | | InputStream lpIcBackIO = OBSUploadUtil.getOBSStream(shopAuthentication.getLegalBack().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | ImageUploadResult lpIcBackIR = merchantMediaService.imageUploadV3(lpIcBackIO,applyNumber+"lpIcBack.jpg"); |
| | | id_card_info.setIdCardNational(lpIcBackIR.getMediaId()); |
| | | lpIcBackIO.close(); |
| | | id_card_info.setIdCardName(shopAuthentication.getLegalPerson()); |
| | | id_card_info.setIdCardNumber(shopAuthentication.getLeagleNumber()); |
| | | if("ENTERPRISE".equals(shopAuthentication.getBodyType())){ |
| | | id_card_info.setIdCardAddress(shopAuthentication.getLegalAddress()); |
| | | } |
| | | id_card_info.setIdCardValidTimeBegin(shopAuthentication.getLegalTerm()); |
| | | id_card_info.setIdCardValidTime(shopAuthentication.getLegalEnd()); |
| | | request.setIdCardInfo(id_card_info); |
| | | //企业填写 |
| | | if("ENTERPRISE".equals(shopAuthentication.getBodyType())){ |
| | | //受益人 |
| | | if("true".equals(shopAuthentication.getIsBeneficiary())){ |
| | | request.setOwner(true); |
| | | }else{ |
| | | request.setOwner(false); |
| | | List<ApplymentsRequest.UboInfo> ubo_info_list = new ArrayList<>(); |
| | | ApplymentsRequest.UboInfo uboInfo = new ApplymentsRequest.UboInfo(); |
| | | uboInfo.setUboIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); |
| | | InputStream uboIcFrontIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBeneficiaryFront().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | ImageUploadResult uboIcFrontIR = merchantMediaService.imageUploadV3(uboIcFrontIO,applyNumber+"uboIcFront.jpg"); |
| | | uboInfo.setUboIdDocCopy(uboIcFrontIR.getMediaId()); |
| | | uboIcFrontIO.close(); |
| | | InputStream uboIcBackIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBeneficiaryBack().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | ImageUploadResult uboIcBackIR = merchantMediaService.imageUploadV3(uboIcBackIO,applyNumber+"uboIcBack.jpg"); |
| | | uboInfo.setUboIdDocCopyBack(uboIcBackIR.getMediaId()); |
| | | uboIcBackIO.close(); |
| | | uboInfo.setUboIdDocName(shopAuthentication.getBeneficiary()); |
| | | uboInfo.setUboIdDocNumber(shopAuthentication.getBeneficiaryNumber()); |
| | | uboInfo.setUboIdDocAddress(shopAuthentication.getBeneficiaryAddress()); |
| | | uboInfo.setUboIdDocPeriodBegin(shopAuthentication.getBeneficiaryTerm()); |
| | | ubo_info_list.add(uboInfo); |
| | | request.setUboInfoList(ubo_info_list); |
| | | } |
| | | } |
| | | //结算账户信息 |
| | | ApplymentsRequest.AccountInfo accountInfo = new ApplymentsRequest.AccountInfo(); |
| | | if(shopAuthentication.getAccountType().equals(1)){ |
| | | accountInfo.setBankAccountType("74"); |
| | | }else{ |
| | | accountInfo.setBankAccountType("75"); |
| | | } |
| | | accountInfo.setAccountBank(shopAuthentication.getBank()); |
| | | accountInfo.setAccountName(shopAuthentication.getAccountName()); |
| | | accountInfo.setBankAddressCode(shopAuthentication.getCityCode()); |
| | | accountInfo.setBankName(shopAuthentication.getBankName()); |
| | | accountInfo.setAccountNumber(shopAuthentication.getBankNumber()); |
| | | request.setAccountInfo(accountInfo); |
| | | ApplymentsRequest.ContactInfo contactInfo = new ApplymentsRequest.ContactInfo(); |
| | | contactInfo.setContactType("65"); |
| | | contactInfo.setContactName(shopAuthentication.getLegalPerson()); |
| | | contactInfo.setContactIdCardNumber(shopAuthentication.getLeagleNumber()); |
| | | contactInfo.setMobilePhone(shopAuthentication.getLegalPhone()); |
| | | contactInfo.setContactEmail(shopAuthentication.getLegalEmail()); |
| | | request.setContactInfo(contactInfo); |
| | | //店铺信息 |
| | | ApplymentsRequest.SalesSceneInfo salesSceneInfo = new ApplymentsRequest.SalesSceneInfo(); |
| | | salesSceneInfo.setStoreName(operator.getName()); |
| | | // InputStream storeQrCodeIO = OBSUploadUtils.getOSSInputStream(operator.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(operator.getName()); |
| | | // request.setBusinessAdditionPics(shopAuthentication.getBaPics()); |
| | | // request.setBusinessAdditionDesc(shopAuthentication.getBaDesc()); |
| | | return ecommerceService.createApply(request); |
| | | } |
| | | |
| | | } |
| | | //package com.dsh.guns.modular.system.util; |
| | | // |
| | | //import com.alibaba.fastjson.JSON; |
| | | //import com.alibaba.fastjson.JSONObject; |
| | | //import com.alipay.api.domain.Shop; |
| | | //import com.dsh.course.util.UUIDUtil; |
| | | //import com.dsh.guns.core.util.ToolUtil; |
| | | //import com.dsh.guns.modular.system.controller.util.UploadUtil; |
| | | //import com.dsh.guns.modular.system.model.OperatorAuth; |
| | | //import com.dsh.guns.modular.system.model.TOperator; |
| | | //import com.dsh.guns.modular.system.model.User; |
| | | //import com.dsh.guns.modular.system.service.IUserService; |
| | | //import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsRequest; |
| | | //import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult; |
| | | //import com.github.binarywang.wxpay.bean.media.ImageUploadResult; |
| | | //import com.github.binarywang.wxpay.service.EcommerceService; |
| | | //import com.github.binarywang.wxpay.service.MerchantMediaService; |
| | | //import com.github.binarywang.wxpay.service.WxPayService; |
| | | //import lombok.AllArgsConstructor; |
| | | //import lombok.NoArgsConstructor; |
| | | //import org.apache.commons.codec.digest.DigestUtils; |
| | | //import org.springframework.beans.factory.annotation.Autowired; |
| | | //import org.springframework.beans.factory.annotation.Value; |
| | | //import org.springframework.context.annotation.Bean; |
| | | //import org.springframework.http.*; |
| | | //import org.springframework.stereotype.Component; |
| | | //import org.springframework.web.client.RestTemplate; |
| | | // |
| | | //import java.io.ByteArrayInputStream; |
| | | //import java.io.InputStream; |
| | | //import java.io.UnsupportedEncodingException; |
| | | //import java.net.URLDecoder; |
| | | //import java.util.ArrayList; |
| | | //import java.util.HashMap; |
| | | //import java.util.List; |
| | | //import java.util.Map; |
| | | // |
| | | ///** |
| | | // * 微信工具类 |
| | | // */ |
| | | //@Component |
| | | //public class WeChatUtil { |
| | | // |
| | | // private WxPayService wxService; |
| | | // |
| | | // |
| | | // |
| | | // /** |
| | | // * @description 电商二级商户进件(提交申请单) |
| | | // * @author jqs |
| | | // * @date 2023/8/11 10:04 |
| | | // * @param shopAuthentication |
| | | // * @param applyNumber |
| | | // * @param operator |
| | | // * @return ApplymentsResult |
| | | // */ |
| | | // |
| | | // |
| | | // public ApplymentsResult ecommerceApply(OperatorAuth shopAuthentication, String applyNumber, TOperator operator) throws Exception { |
| | | // |
| | | // EcommerceService ecommerceService = wxService.getEcommerceService(); |
| | | // MerchantMediaService merchantMediaService = wxService.getMerchantMediaService(); |
| | | // ApplymentsRequest request = new ApplymentsRequest(); |
| | | // //生成提交类 |
| | | // request.setOutRequestNo(applyNumber); |
| | | // if("ENTERPRISE".equals(shopAuthentication.getBodyType())){ |
| | | // request.setOrganizationType("2"); |
| | | // }else{ |
| | | // request.setOrganizationType("4"); |
| | | // } |
| | | // //营业执照 |
| | | // ApplymentsRequest.BusinessLicenseInfo business_license_info = new ApplymentsRequest.BusinessLicenseInfo(); |
| | | // InputStream blImageIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBusinessPicture().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | // ImageUploadResult blImageIR = merchantMediaService.imageUploadV3(blImageIO,applyNumber+"blimage.jpg"); |
| | | // business_license_info.setBusinessLicenseCopy(blImageIR.getMediaId()); |
| | | // blImageIO.close(); |
| | | // business_license_info.setBusinessLicenseNumber(shopAuthentication.getBusinessNumber()); |
| | | // business_license_info.setMerchantName(shopAuthentication.getBusinessName()); |
| | | // business_license_info.setLegalPerson(shopAuthentication.getLegalPerson()); |
| | | // business_license_info.setCompanyAddress(shopAuthentication.getRegisterAddress()); |
| | | // List<String> businessTimeList = new ArrayList<>(); |
| | | // businessTimeList.add(0,shopAuthentication.getBusinessTerm()); |
| | | // businessTimeList.add(1,shopAuthentication.getBusinessEnd()); |
| | | // 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(); |
| | | // InputStream lpIcFrontIO = OBSUploadUtil.getOBSStream(shopAuthentication.getLegalFront().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | // ImageUploadResult lpIcFrontIR = merchantMediaService.imageUploadV3(lpIcFrontIO,applyNumber+"lpIcFront.jpg"); |
| | | // id_card_info.setIdCardCopy(lpIcFrontIR.getMediaId()); |
| | | // lpIcFrontIO.close(); |
| | | // InputStream lpIcBackIO = OBSUploadUtil.getOBSStream(shopAuthentication.getLegalBack().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | // ImageUploadResult lpIcBackIR = merchantMediaService.imageUploadV3(lpIcBackIO,applyNumber+"lpIcBack.jpg"); |
| | | // id_card_info.setIdCardNational(lpIcBackIR.getMediaId()); |
| | | // lpIcBackIO.close(); |
| | | // id_card_info.setIdCardName(shopAuthentication.getLegalPerson()); |
| | | // id_card_info.setIdCardNumber(shopAuthentication.getLeagleNumber()); |
| | | // if("ENTERPRISE".equals(shopAuthentication.getBodyType())){ |
| | | // id_card_info.setIdCardAddress(shopAuthentication.getLegalAddress()); |
| | | // } |
| | | // id_card_info.setIdCardValidTimeBegin(shopAuthentication.getLegalTerm()); |
| | | // id_card_info.setIdCardValidTime(shopAuthentication.getLegalEnd()); |
| | | // request.setIdCardInfo(id_card_info); |
| | | // //企业填写 |
| | | // if("ENTERPRISE".equals(shopAuthentication.getBodyType())){ |
| | | // //受益人 |
| | | // if("true".equals(shopAuthentication.getIsBeneficiary())){ |
| | | // request.setOwner(true); |
| | | // }else{ |
| | | // request.setOwner(false); |
| | | // List<ApplymentsRequest.UboInfo> ubo_info_list = new ArrayList<>(); |
| | | // ApplymentsRequest.UboInfo uboInfo = new ApplymentsRequest.UboInfo(); |
| | | // uboInfo.setUboIdDocType("IDENTIFICATION_TYPE_MAINLAND_IDCARD"); |
| | | // InputStream uboIcFrontIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBeneficiaryFront().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | // ImageUploadResult uboIcFrontIR = merchantMediaService.imageUploadV3(uboIcFrontIO,applyNumber+"uboIcFront.jpg"); |
| | | // uboInfo.setUboIdDocCopy(uboIcFrontIR.getMediaId()); |
| | | // uboIcFrontIO.close(); |
| | | // InputStream uboIcBackIO = OBSUploadUtil.getOBSStream(shopAuthentication.getBeneficiaryBack().replace("https://obs.ap-southeast-4.myhuaweicloud.com/","")); |
| | | // ImageUploadResult uboIcBackIR = merchantMediaService.imageUploadV3(uboIcBackIO,applyNumber+"uboIcBack.jpg"); |
| | | // uboInfo.setUboIdDocCopyBack(uboIcBackIR.getMediaId()); |
| | | // uboIcBackIO.close(); |
| | | // uboInfo.setUboIdDocName(shopAuthentication.getBeneficiary()); |
| | | // uboInfo.setUboIdDocNumber(shopAuthentication.getBeneficiaryNumber()); |
| | | // uboInfo.setUboIdDocAddress(shopAuthentication.getBeneficiaryAddress()); |
| | | // uboInfo.setUboIdDocPeriodBegin(shopAuthentication.getBeneficiaryTerm()); |
| | | // ubo_info_list.add(uboInfo); |
| | | // request.setUboInfoList(ubo_info_list); |
| | | // } |
| | | // } |
| | | // //结算账户信息 |
| | | // ApplymentsRequest.AccountInfo accountInfo = new ApplymentsRequest.AccountInfo(); |
| | | // if(shopAuthentication.getAccountType().equals(1)){ |
| | | // accountInfo.setBankAccountType("74"); |
| | | // }else{ |
| | | // accountInfo.setBankAccountType("75"); |
| | | // } |
| | | // accountInfo.setAccountBank(shopAuthentication.getBank()); |
| | | // accountInfo.setAccountName(shopAuthentication.getAccountName()); |
| | | // accountInfo.setBankAddressCode(shopAuthentication.getCityCode()); |
| | | // accountInfo.setBankName(shopAuthentication.getBankName()); |
| | | // accountInfo.setAccountNumber(shopAuthentication.getBankNumber()); |
| | | // request.setAccountInfo(accountInfo); |
| | | // ApplymentsRequest.ContactInfo contactInfo = new ApplymentsRequest.ContactInfo(); |
| | | // contactInfo.setContactType("65"); |
| | | // contactInfo.setContactName(shopAuthentication.getLegalPerson()); |
| | | // contactInfo.setContactIdCardNumber(shopAuthentication.getLeagleNumber()); |
| | | // contactInfo.setMobilePhone(shopAuthentication.getLegalPhone()); |
| | | // contactInfo.setContactEmail(shopAuthentication.getLegalEmail()); |
| | | // request.setContactInfo(contactInfo); |
| | | // //店铺信息 |
| | | // ApplymentsRequest.SalesSceneInfo salesSceneInfo = new ApplymentsRequest.SalesSceneInfo(); |
| | | // salesSceneInfo.setStoreName(operator.getName()); |
| | | //// InputStream storeQrCodeIO = OBSUploadUtils.getOSSInputStream(operator.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(operator.getName()); |
| | | //// request.setBusinessAdditionPics(shopAuthentication.getBaPics()); |
| | | //// request.setBusinessAdditionDesc(shopAuthentication.getBaDesc()); |
| | | // return ecommerceService.createApply(request); |
| | | // } |
| | | // |
| | | //} |