├── weixin-java-pay └── src │ ├── test │ ├── resources │ │ ├── .gitignore │ │ └── logback-test.xml │ └── java │ │ └── com │ │ └── github │ │ └── binarywang │ │ └── wxpay │ │ └── bean │ │ └── entpay │ │ └── EntPayRequestTest.java │ └── main │ └── java │ └── com │ └── github │ └── binarywang │ └── wxpay │ ├── v3 │ ├── Validator.java │ ├── Credentials.java │ ├── auth │ │ ├── Verifier.java │ │ └── Signer.java │ ├── SpecEncrypt.java │ └── WxPayV3DownloadHttpGet.java │ ├── bean │ ├── applyment │ │ └── enums │ │ │ ├── AccountTypeEnum.java │ │ │ ├── BankAccountTypeEnum.java │ │ │ ├── MicroBizTypeEnum.java │ │ │ ├── SettlementVerifyStateEnum.java │ │ │ ├── SettlementVerifyResultEnum.java │ │ │ └── SalesScenesTypeEnum.java │ ├── applyconfirm │ │ └── enums │ │ │ └── AuthorizeStateEnum.java │ ├── payscore │ │ └── enums │ │ │ ├── UserSignPlanCancelSignTypeEnum.java │ │ │ └── SignPlanServiceOrderStateEnum.java │ ├── ecommerce │ │ └── enums │ │ │ ├── SpAccountTypeEnum.java │ │ │ └── FundBillTypeEnum.java │ ├── marketing │ │ └── enums │ │ │ └── StockTypeEnum.java │ └── notify │ │ └── WxPayBaseNotifyV3Result.java │ ├── config │ └── HttpClientBuilderCustomizer.java │ └── service │ └── impl │ └── WxPayServiceImpl.java ├── solon-plugins ├── wx-java-qidian-solon-plugin │ └── src │ │ ├── test │ │ ├── resources │ │ │ └── app.yml │ │ └── java │ │ │ └── features │ │ │ └── test │ │ │ └── LoadTest.java │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── solon │ │ │ └── wx-java-qidian-solon-plugin.properties │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── solon │ │ └── wxjava │ │ └── qidian │ │ ├── properties │ │ └── HostConfig.java │ │ └── enums │ │ ├── HttpClientType.java │ │ └── StorageType.java ├── wx-java-channel-solon-plugin │ └── src │ │ ├── test │ │ ├── resources │ │ │ └── app.yml │ │ └── java │ │ │ └── features │ │ │ └── test │ │ │ └── LoadTest.java │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── solon │ │ │ └── wx-java-channel-solon-plugin.properties │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── solon │ │ └── wxjava │ │ └── channel │ │ └── enums │ │ ├── HttpClientType.java │ │ └── StorageType.java ├── wx-java-pay-solon-plugin │ └── src │ │ ├── test │ │ ├── resources │ │ │ └── app.yml │ │ └── java │ │ │ └── features │ │ │ └── test │ │ │ └── LoadTest.java │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── solon │ │ └── wx-java-pay-solon-plugin.properties ├── wx-java-cp-solon-plugin │ └── src │ │ ├── main │ │ └── resources │ │ │ └── META-INF │ │ │ └── solon │ │ │ └── wx-java-cp-solon-plugin.properties │ │ └── test │ │ └── java │ │ └── features │ │ └── test │ │ └── LoadTest.java ├── wx-java-mp-solon-plugin │ └── src │ │ ├── main │ │ ├── resources │ │ │ └── META-INF │ │ │ │ └── solon │ │ │ │ └── wx-java-mp-solon-plugin.properties │ │ └── java │ │ │ └── com │ │ │ └── binarywang │ │ │ └── solon │ │ │ └── wxjava │ │ │ └── mp │ │ │ ├── enums │ │ │ ├── HttpClientType.java │ │ │ └── StorageType.java │ │ │ └── properties │ │ │ └── HostConfig.java │ │ └── test │ │ ├── java │ │ └── features │ │ │ └── test │ │ │ └── LoadTest.java │ │ └── resources │ │ └── app.properties ├── wx-java-open-solon-plugin │ └── src │ │ ├── main │ │ └── resources │ │ │ └── META-INF │ │ │ └── solon │ │ │ └── wx-java-open-solon-plugin.properties │ │ └── test │ │ ├── java │ │ └── features │ │ │ └── test │ │ │ └── LoadTest.java │ │ └── resources │ │ └── app.properties ├── wx-java-cp-multi-solon-plugin │ └── src │ │ ├── main │ │ └── resources │ │ │ └── META-INF │ │ │ └── solon │ │ │ └── wx-java-cp-multi-solon-plugin.properties │ │ └── test │ │ └── java │ │ └── features │ │ └── test │ │ └── LoadTest.java ├── wx-java-miniapp-solon-plugin │ └── src │ │ ├── main │ │ ├── resources │ │ │ └── META-INF │ │ │ │ └── solon │ │ │ │ └── wx-java-miniapp-solon-plugin.properties │ │ └── java │ │ │ └── com │ │ │ └── binarywang │ │ │ └── solon │ │ │ └── wxjava │ │ │ └── miniapp │ │ │ └── enums │ │ │ ├── HttpClientType.java │ │ │ └── StorageType.java │ │ └── test │ │ └── java │ │ └── features │ │ └── test │ │ └── LoadTest.java ├── wx-java-mp-multi-solon-plugin │ └── src │ │ ├── main │ │ └── resources │ │ │ └── META-INF │ │ │ └── solon │ │ │ └── wx-java-mp-multi-solon-plugin.properties │ │ └── test │ │ └── java │ │ └── features │ │ └── test │ │ └── LoadTest.java ├── wx-java-channel-multi-solon-plugin │ └── src │ │ ├── main │ │ ├── resources │ │ │ └── META-INF │ │ │ │ └── solon │ │ │ │ └── wx-java-multi-channel-solon-plugin.properties │ │ └── java │ │ │ └── com │ │ │ └── binarywang │ │ │ └── solon │ │ │ └── wxjava │ │ │ └── channel │ │ │ └── enums │ │ │ ├── StorageType.java │ │ │ └── HttpClientType.java │ │ └── test │ │ └── java │ │ └── features │ │ └── test │ │ └── LoadTest.java └── wx-java-miniapp-multi-solon-plugin │ └── src │ ├── main │ └── resources │ │ └── META-INF │ │ └── solon │ │ └── wx-java-miniapp-multi-solon-plugin.properties │ └── test │ └── java │ └── features │ └── test │ └── LoadTest.java ├── images ├── qrcodes │ ├── cp.png │ ├── mp.png │ ├── alipay.jpg │ ├── ding.jpg │ └── wepay.jpg ├── banners │ ├── aliyun.jpg │ ├── coding.jpg │ ├── tcloud.jpg │ └── wiki.jpg └── api-signature │ ├── api-signature-1.png │ └── api-signature-2.png ├── others ├── check-plugin-updates.sh ├── check-property-updates.sh ├── check-dependency-updates.sh └── .mvn │ └── wrapper │ └── maven-wrapper.properties ├── weixin-java-cp └── src │ ├── test │ ├── resources │ │ ├── mm.amr │ │ ├── mm.mp3 │ │ ├── mm.mp4 │ │ ├── mm.jpeg │ │ └── logback-test.xml │ └── java │ │ └── me │ │ └── chanjar │ │ └── weixin │ │ └── cp │ │ └── api │ │ └── ApiTestModuleWithMockServer.java │ └── main │ └── java │ └── me │ └── chanjar │ └── weixin │ └── cp │ ├── tp │ ├── service │ │ └── impl │ │ │ └── WxCpTpServiceImpl.java │ └── message │ │ └── WxCpTpMessageMatcher.java │ ├── bean │ ├── oa │ │ ├── templatedata │ │ │ ├── TemplateTipsContent.java │ │ │ ├── TemplateTipsSubTextContentPlainText.java │ │ │ ├── TemplateTipsSubText.java │ │ │ ├── TemplateTipsSubTextContentLink.java │ │ │ ├── TemplateLocation.java │ │ │ ├── TemplateTips.java │ │ │ ├── TemplateTipsText.java │ │ │ ├── TemplateTitle.java │ │ │ ├── control │ │ │ │ ├── TemplateDate.java │ │ │ │ ├── TemplateVacation.java │ │ │ │ ├── TemplateContact.java │ │ │ │ ├── TemplateTable.java │ │ │ │ └── TemplateSelector.java │ │ │ ├── TemplateContent.java │ │ │ ├── TemplateTipsSubTextContent.java │ │ │ ├── TemplateControls.java │ │ │ ├── TemplateDateRange.java │ │ │ └── TemplateVacationItem.java │ │ ├── applydata │ │ │ └── ContentTitle.java │ │ ├── WxCpApprovalApplyData.java │ │ ├── WxCpApproverAttr.java │ │ ├── WxCpOperator.java │ │ ├── WxCpCheckinOption.java │ │ └── WxCpApprovalApplier.java │ ├── external │ │ ├── msg │ │ │ ├── Location.java │ │ │ ├── Text.java │ │ │ ├── File.java │ │ │ └── Video.java │ │ ├── moment │ │ │ ├── ExternalContactList.java │ │ │ ├── CustomerItem.java │ │ │ └── SenderList.java │ │ └── product │ │ │ └── Image.java │ ├── kf │ │ ├── msg │ │ │ ├── WxCpKfResourceMsg.java │ │ │ ├── WxCpKfBusinessCardMsg.java │ │ │ └── WxCpKfTextMsg.java │ │ └── WxCpKfAccountDel.java │ ├── WxCpChat.java │ ├── linkedcorp │ │ └── WxCpLinkedCorpAgentPerm.java │ └── corpgroup │ │ └── WxCpCorpGroupCorpGetTokenReq.java │ └── message │ └── WxCpMessageMatcher.java ├── weixin-java-mp └── src │ ├── test │ ├── resources │ │ ├── 0.jpeg │ │ ├── 1.jpeg │ │ ├── mm.mp3 │ │ ├── mm.mp4 │ │ ├── mm.jpeg │ │ ├── logback-test.xml │ │ └── test-config.sample.xml │ └── java │ │ └── me │ │ └── chanjar │ │ └── weixin │ │ └── mp │ │ └── api │ │ └── test │ │ └── TestConstants.java │ └── main │ └── java │ └── me │ └── chanjar │ └── weixin │ └── mp │ ├── api │ ├── impl │ │ └── WxMpServiceImpl.java │ └── WxMpMessageMatcher.java │ ├── bean │ ├── card │ │ ├── membercard │ │ │ ├── ActivatePluginParamResult.java │ │ │ ├── MemberCardUserInfo.java │ │ │ ├── NameValues.java │ │ │ └── ActivatePluginParam.java │ │ ├── AbstractCardCreateRequest.java │ │ ├── enums │ │ │ ├── DateInfoType.java │ │ │ ├── CardFieldType.java │ │ │ ├── BusinessServiceType.java │ │ │ ├── CardStatusType.java │ │ │ ├── CardSceneType.java │ │ │ ├── CardCodeType.java │ │ │ └── CardRichFieldType.java │ │ ├── BaseWxMpCardResult.java │ │ ├── PayInfo.java │ │ └── Card.java │ ├── invoice │ │ └── merchant │ │ │ ├── MerchantInvoicePlatformInfoWrapper.java │ │ │ ├── MerchantContactInfoWrapper.java │ │ │ ├── InvoiceAuthPageResult.java │ │ │ └── MerchantContactInfo.java │ ├── device │ │ ├── AbstractDeviceBean.java │ │ ├── RespMsg.java │ │ └── WxDeviceBind.java │ ├── marketing │ │ └── WxMpAdLeadInfo.java │ ├── material │ │ ├── WxMpMaterialArticleUpdate.java │ │ └── WxMediaImgUploadResult.java │ └── WxMpMassVideo.java │ ├── enums │ ├── WxCardType.java │ └── AiLangType.java │ ├── builder │ └── kefu │ │ └── BaseBuilder.java │ └── util │ └── WxMpConfigStorageHolder.java ├── weixin-graal └── src │ └── main │ └── resources │ └── META-INF │ └── services │ └── javax.annotation.processing.Processor ├── weixin-java-channel └── src │ ├── test │ ├── resources │ │ ├── tmp.png │ │ ├── test-config.sample.xml │ │ ├── logback-test.xml │ │ └── testng.xml │ └── java │ │ └── me │ │ └── chanjar │ │ └── weixin │ │ └── channel │ │ └── test │ │ └── TestConfig.java │ └── main │ └── java │ └── me │ └── chanjar │ └── weixin │ └── channel │ ├── message │ └── rule │ │ ├── HandlerConsumer.java │ │ └── WxChannelMessageMatcher.java │ ├── enums │ └── MessageType.java │ └── bean │ ├── freight │ └── NotSendArea.java │ ├── product │ ├── AfterSaleInfo.java │ └── SpuCategory.java │ ├── shop │ └── ShopInfoResponse.java │ ├── order │ ├── DropshipInfo.java │ ├── FreeGiftInfo.java │ ├── QualityInsepctInfo.java │ └── OrderRefundInfo.java │ ├── coupon │ ├── UserCouponIdInfo.java │ └── UserExtInfo.java │ ├── league │ └── CatInfo.java │ ├── vip │ ├── VipInfoResponse.java │ ├── VipScoreResponse.java │ ├── ScoreInfo.java │ └── UserInfo.java │ ├── warehouse │ ├── WarehouseParam.java │ └── WarehouseResponse.java │ ├── audit │ └── CatsV2.java │ ├── home │ └── tree │ │ ├── LevelTreeInfo.java │ │ ├── TreeShowGetResponse.java │ │ └── TreeShowSetResponse.java │ └── live │ └── dashboard │ └── DataNode.java ├── weixin-java-miniapp └── src │ ├── test │ ├── resources │ │ ├── tmp.png │ │ ├── wx-ma-jssecacerts │ │ ├── wx-mp-jssecacerts │ │ └── logback-test.xml │ └── java │ │ └── cn │ │ └── binarywang │ │ └── wx │ │ └── miniapp │ │ └── test │ │ ├── TestConstants.java │ │ └── AddOrderJsonTest.java │ └── main │ └── java │ └── cn │ └── binarywang │ └── wx │ └── miniapp │ ├── bean │ ├── analysis │ │ └── package-info.java │ ├── code │ │ └── package-info.java │ ├── product │ │ ├── WxMinishopSpuGetResponse.java │ │ ├── WxMinishopDeliveryCompany.java │ │ ├── WxMinishopResult.java │ │ ├── WxMinishopSpuGet.java │ │ ├── WxMinishopSkuListResponse.java │ │ ├── WxMinishopAddGoodsSpuData.java │ │ ├── WxMinishopSpuListResponse.java │ │ ├── WxMinishopOrderDetailResponse.java │ │ ├── WxMiniGetAfterSaleOrderResponse.java │ │ ├── WxMinishopAddGoodsSkuData.java │ │ ├── WxMinishopOrderListResponse.java │ │ ├── WxMinishopUpdateGoodsSkuData.java │ │ ├── WxMiniBatchGetAfterSaleOrderResponse.java │ │ └── MinishopShopCat.java │ ├── intractiy │ │ ├── WxMaStoreRefundRequest.java │ │ ├── PayMode.java │ │ ├── WxMaStoreChargeRequest.java │ │ └── WxMaPreAddOrderRequest.java │ ├── AbstractWxMaQrcodeWrapper.java │ ├── shop │ │ ├── response │ │ │ ├── WxMaShopAfterSaleAddResponse.java │ │ │ ├── WxMaShopCouponResponse.java │ │ │ ├── WxMaOrderShippingInfoGetResponse.java │ │ │ ├── WxMaShopAuditBrandResponse.java │ │ │ └── WxMaShopAuditCategoryResponse.java │ │ ├── WxMaShopAccountGetInfo.java │ │ └── request │ │ │ └── WxMaShopRegisterApplySceneRequest.java │ ├── express │ │ └── result │ │ │ └── WxMaExpressInfoResult.java │ ├── WxMaCodeLineColor.java │ ├── WxMaShareInfo.java │ ├── promoter │ │ └── response │ │ │ ├── WxMaPromotionUpdatePromoterResponse.java │ │ │ └── WxMaPromotionUpdateRoleResponse.java │ ├── invoice │ │ └── reimburse │ │ │ └── InvoiceCommodityInfo.java │ └── order │ │ └── WxMaOrderManagementGetOrderDetailPath.java │ ├── api │ ├── impl │ │ └── WxMaServiceImpl.java │ └── WxMaShopCatService.java │ ├── message │ └── WxMaMessageMatcher.java │ └── config │ └── impl │ └── WxMaRedisConnectionConfigImpl.java ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── agents │ └── my-agent.agent.md ├── spring-boot-starters ├── wx-java-cp-spring-boot-starter │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ ├── spring │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── spring.factories ├── wx-java-mp-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── mp │ │ ├── enums │ │ ├── StorageType.java │ │ └── HttpClientType.java │ │ └── properties │ │ └── HostConfig.java ├── wx-java-pay-spring-boot-starter │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ ├── spring │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── spring.factories ├── wx-java-open-spring-boot-starter │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ ├── spring │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── spring.factories ├── wx-java-miniapp-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── miniapp │ │ └── enums │ │ ├── HttpClientType.java │ │ └── StorageType.java ├── wx-java-qidian-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── qidian │ │ ├── properties │ │ └── HostConfig.java │ │ └── enums │ │ ├── HttpClientType.java │ │ └── StorageType.java ├── wx-java-channel-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── channel │ │ └── enums │ │ ├── HttpClientType.java │ │ └── StorageType.java ├── wx-java-cp-multi-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── cp │ │ └── autoconfigure │ │ └── WxCpMultiAutoConfiguration.java ├── wx-java-mp-multi-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── mp │ │ └── autoconfigure │ │ └── WxMpMultiAutoConfiguration.java ├── wx-java-cp-tp-multi-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── cp │ │ └── autoconfigure │ │ └── WxCpTpMultiAutoConfiguration.java ├── wx-java-miniapp-multi-spring-boot-starter │ └── src │ │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ ├── spring │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── spring.factories │ │ └── java │ │ └── com │ │ └── binarywang │ │ └── spring │ │ └── starter │ │ └── wxjava │ │ └── miniapp │ │ └── autoconfigure │ │ └── WxMaMultiAutoConfiguration.java └── wx-java-channel-multi-spring-boot-starter │ └── src │ └── main │ ├── resources │ └── META-INF │ │ ├── spring │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── spring.factories │ └── java │ └── com │ └── binarywang │ └── spring │ └── starter │ └── wxjava │ └── channel │ └── enums │ ├── HttpClientType.java │ └── StorageType.java ├── weixin-java-qidian └── src │ ├── main │ └── java │ │ └── me │ │ └── chanjar │ │ └── weixin │ │ └── qidian │ │ ├── bean │ │ ├── dial │ │ │ ├── Ivr.java │ │ │ └── IVRListResponse.java │ │ └── call │ │ │ ├── SwitchBoard.java │ │ │ ├── SwitchBoardList.java │ │ │ └── GetSwitchBoardListResponse.java │ │ ├── api │ │ ├── impl │ │ │ └── WxQidianServiceImpl.java │ │ ├── WxQidianCallDataService.java │ │ └── WxQidianDialService.java │ │ └── util │ │ └── WxQidianConfigStorageHolder.java │ └── test │ └── resources │ ├── logback-test.xml │ └── test-config.sample.xml ├── .circleci └── config.yml ├── weixin-java-open └── src │ ├── main │ └── java │ │ └── me │ │ └── chanjar │ │ └── weixin │ │ └── open │ │ ├── api │ │ └── impl │ │ │ └── WxOpenServiceImpl.java │ │ └── bean │ │ ├── result │ │ ├── WxOpenAuthorizerListResult.java │ │ ├── WxOpenMaApplyLiveInfoResult.java │ │ ├── WxOpenRegisterBetaWeappResult.java │ │ ├── WxOpenAuthorizerOptionResult.java │ │ ├── WxOpenQueryAuthResult.java │ │ ├── WxOpenRegisterPersonalWeappResult.java │ │ ├── WxOpenMaWebDomainResult.java │ │ └── WxOpenMaSubmitAuditResult.java │ │ ├── ma │ │ ├── WxOpenMaMember.java │ │ ├── WxMaScheme.java │ │ ├── WxMaOpenNetworkTimeout.java │ │ ├── privacy │ │ │ ├── ApplyPrivacyInterfaceResult.java │ │ │ └── UploadPrivacyFileResult.java │ │ ├── WxMaOpenSubpackage.java │ │ ├── WxMaOpenPage.java │ │ └── WxMaPrefetchDomain.java │ │ ├── minishop │ │ ├── goods │ │ │ ├── WxMinishopAddGoodsSkuData.java │ │ │ ├── WxMinishopDeliveryCompany.java │ │ │ ├── WxMinishopAddGoodsSpuResult.java │ │ │ └── WxMinishopAddGoodsSpuData.java │ │ ├── MinishopCategory.java │ │ ├── MinishopBrandList.java │ │ ├── MinishopCategories.java │ │ ├── MinishopShopCatList.java │ │ ├── MinishopShopCat.java │ │ ├── MinishopDeliveryTemplate.java │ │ └── coupon │ │ │ ├── WxMinishopCouponStockInfo.java │ │ │ └── WxMinishopCouponResponse.java │ │ ├── auth │ │ ├── WxOpenMiniProgramInfo.java │ │ ├── MaAuthQueryIdentityTreeResultIdentityLeaf.java │ │ ├── MaAuthSubmitParamContactInfo.java │ │ ├── MaAuthResubmitParamAuthData.java │ │ └── WxOpenAuthorizationInfo.java │ │ ├── minishopgoods │ │ ├── ParentCatId.java │ │ └── ExpressInfo.java │ │ └── shoppingOrders │ │ ├── WxOpenShoppingOrdersConfirmResult.java │ │ └── WxOpenShoppingInfoVerifyUploadResult.java │ └── test │ ├── resources │ ├── logback-test.xml │ ├── test-config.sample.xml │ └── testng.xml │ └── java │ └── me │ └── chanjar │ └── weixin │ └── open │ └── test │ └── TestConfigStorage.java ├── .editorconfig ├── .travis.yml ├── weixin-java-common └── src │ ├── main │ ├── java │ │ └── me │ │ │ └── chanjar │ │ │ └── weixin │ │ │ └── common │ │ │ ├── util │ │ │ ├── xml │ │ │ │ ├── XStreamMediaIdConverter.java │ │ │ │ ├── XStreamReplaceNameConverter.java │ │ │ │ └── XStreamCDataConverter.java │ │ │ ├── http │ │ │ │ ├── apache │ │ │ │ │ ├── ApacheBasicResponseHandler.java │ │ │ │ │ └── ByteArrayResponseHandler.java │ │ │ │ ├── HttpClientType.java │ │ │ │ ├── ResponseHandler.java │ │ │ │ ├── hc │ │ │ │ │ └── BasicResponseHandler.java │ │ │ │ └── RequestHttp.java │ │ │ └── LogExceptionHandler.java │ │ │ ├── api │ │ │ └── WxErrorExceptionHandler.java │ │ │ ├── bean │ │ │ ├── result │ │ │ │ ├── WxMinishopPicFileCustomizeResult.java │ │ │ │ └── WxMinishopPicFileResult.java │ │ │ ├── ToJson.java │ │ │ ├── WxAccessTokenEntity.java │ │ │ └── subscribemsg │ │ │ │ ├── CategoryData.java │ │ │ │ ├── PubTemplateKeyword.java │ │ │ │ └── TemplateInfo.java │ │ │ ├── session │ │ │ ├── WxSession.java │ │ │ └── WxSessionManager.java │ │ │ ├── service │ │ │ └── WxOAuth2ServiceDecorator.java │ │ │ ├── annotation │ │ │ └── Required.java │ │ │ ├── enums │ │ │ └── WxType.java │ │ │ └── error │ │ │ └── WxRuntimeException.java │ └── resources │ │ └── META-INF │ │ └── native-image │ │ └── com.github.binarywang │ │ └── weixin-java-common │ │ ├── native-image.properties │ │ └── reflect-config.json │ └── test │ ├── resources │ └── logback-test.xml │ └── java │ └── me │ └── chanjar │ └── weixin │ └── common │ ├── bean │ └── WxAccessTokenTest.java │ └── redis │ └── JedisWxRedisOpsTest.java └── .gitee └── ISSUE_TEMPLATE.md /weixin-java-pay/src/test/resources/.gitignore: -------------------------------------------------------------------------------- 1 | *.p12 2 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-qidian-solon-plugin/src/test/resources/app.yml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-solon-plugin/src/test/resources/app.yml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/qrcodes/cp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/qrcodes/cp.png -------------------------------------------------------------------------------- /images/qrcodes/mp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/qrcodes/mp.png -------------------------------------------------------------------------------- /images/banners/aliyun.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/banners/aliyun.jpg -------------------------------------------------------------------------------- /images/banners/coding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/banners/coding.jpg -------------------------------------------------------------------------------- /images/banners/tcloud.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/banners/tcloud.jpg -------------------------------------------------------------------------------- /images/banners/wiki.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/banners/wiki.jpg -------------------------------------------------------------------------------- /images/qrcodes/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/qrcodes/alipay.jpg -------------------------------------------------------------------------------- /images/qrcodes/ding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/qrcodes/ding.jpg -------------------------------------------------------------------------------- /images/qrcodes/wepay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/qrcodes/wepay.jpg -------------------------------------------------------------------------------- /others/check-plugin-updates.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ./mvnw org.codehaus.mojo:versions-maven-plugin:display-plugin-updates 3 | -------------------------------------------------------------------------------- /images/api-signature/api-signature-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/api-signature/api-signature-1.png -------------------------------------------------------------------------------- /images/api-signature/api-signature-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/images/api-signature/api-signature-2.png -------------------------------------------------------------------------------- /others/check-property-updates.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ./mvnw org.codehaus.mojo:versions-maven-plugin:display-property-updates 3 | -------------------------------------------------------------------------------- /weixin-java-cp/src/test/resources/mm.amr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-cp/src/test/resources/mm.amr -------------------------------------------------------------------------------- /weixin-java-cp/src/test/resources/mm.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-cp/src/test/resources/mm.mp3 -------------------------------------------------------------------------------- /weixin-java-cp/src/test/resources/mm.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-cp/src/test/resources/mm.mp4 -------------------------------------------------------------------------------- /weixin-java-mp/src/test/resources/0.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-mp/src/test/resources/0.jpeg -------------------------------------------------------------------------------- /weixin-java-mp/src/test/resources/1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-mp/src/test/resources/1.jpeg -------------------------------------------------------------------------------- /weixin-java-mp/src/test/resources/mm.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-mp/src/test/resources/mm.mp3 -------------------------------------------------------------------------------- /weixin-java-mp/src/test/resources/mm.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-mp/src/test/resources/mm.mp4 -------------------------------------------------------------------------------- /others/check-dependency-updates.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ./mvnw org.codehaus.mojo:versions-maven-plugin:display-dependency-updates 3 | -------------------------------------------------------------------------------- /weixin-graal/src/main/resources/META-INF/services/javax.annotation.processing.Processor: -------------------------------------------------------------------------------- 1 | com.github.binarywang.wx.graal.GraalProcessor 2 | -------------------------------------------------------------------------------- /weixin-java-cp/src/test/resources/mm.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-cp/src/test/resources/mm.jpeg -------------------------------------------------------------------------------- /weixin-java-mp/src/test/resources/mm.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-mp/src/test/resources/mm.jpeg -------------------------------------------------------------------------------- /solon-plugins/wx-java-pay-solon-plugin/src/test/resources/app.yml: -------------------------------------------------------------------------------- 1 | wx: 2 | pay: 3 | appId: 4 | mchId: 5 | mchKey: 6 | keyPath: 7 | -------------------------------------------------------------------------------- /weixin-java-channel/src/test/resources/tmp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-channel/src/test/resources/tmp.png -------------------------------------------------------------------------------- /weixin-java-miniapp/src/test/resources/tmp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-miniapp/src/test/resources/tmp.png -------------------------------------------------------------------------------- /others/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip -------------------------------------------------------------------------------- /weixin-java-miniapp/src/test/resources/wx-ma-jssecacerts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-miniapp/src/test/resources/wx-ma-jssecacerts -------------------------------------------------------------------------------- /weixin-java-miniapp/src/test/resources/wx-mp-jssecacerts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/binarywang/WxJava/HEAD/weixin-java-miniapp/src/test/resources/wx-mp-jssecacerts -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [binarywang] 4 | custom: https://github.com/Wechat-Group/WxJava/blob/master/images/qrcodes/wepay.jpg?raw=true 5 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-cp-solon-plugin/src/main/resources/META-INF/solon/wx-java-cp-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.cp.integration.WxCpPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-solon-plugin/src/main/resources/META-INF/solon/wx-java-mp-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.mp.integration.WxMpPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-open-solon-plugin/src/main/resources/META-INF/solon/wx-java-open-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.open.integration.WxOpenPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-pay-solon-plugin/src/main/resources/META-INF/solon/wx-java-pay-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.pay.integration.WxPayPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-qidian-solon-plugin/src/main/resources/META-INF/solon/wx-java-qidian-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.qidian.integration.WxQidianPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.cp.config.WxCpAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.mp.config.WxMpAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-pay-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.pay.config.WxPayAutoConfiguration 2 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-solon-plugin/src/main/resources/META-INF/solon/wx-java-channel-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.channel.integration.WxChannelPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-cp-multi-solon-plugin/src/main/resources/META-INF/solon/wx-java-cp-multi-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.cp_multi.integration.WxCpMultiPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-miniapp-solon-plugin/src/main/resources/META-INF/solon/wx-java-miniapp-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.miniapp.integration.WxMiniappPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-multi-solon-plugin/src/main/resources/META-INF/solon/wx-java-mp-multi-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.mp_multi.integration.WxMpMultiPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.binarywang.spring.starter.wxjava.mp.config.WxMpAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-open-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.open.config.WxOpenAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.cp.config.WxCpAutoConfiguration 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.miniapp.config.WxMaAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-pay-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.binarywang.spring.starter.wxjava.pay.config.WxPayAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-qidian-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.qidian.config.WxQidianAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.channel.config.WxChannelAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-multi-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.cp.autoconfigure.WxCpMultiAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.binarywang.spring.starter.wxjava.miniapp.config.WxMaAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-multi-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.mp.autoconfigure.WxMpMultiAutoConfiguration 2 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-multi-solon-plugin/src/main/resources/META-INF/solon/wx-java-multi-channel-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.channel.integration.WxChannelMultiPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-miniapp-multi-solon-plugin/src/main/resources/META-INF/solon/wx-java-miniapp-multi-solon-plugin.properties: -------------------------------------------------------------------------------- 1 | solon.plugin=com.binarywang.solon.wxjava.miniapp.integration.WxMiniappMultiPluginImpl 2 | solon.plugin.priority=10 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-tp-multi-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.cp.autoconfigure.WxCpTpMultiAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-open-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.open.config.WxOpenAutoConfiguration 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-qidian-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.binarywang.spring.starter.wxjava.qidian.config.WxQidianAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-miniapp-multi-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.miniapp.autoconfigure.WxMaMultiAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-multi-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports: -------------------------------------------------------------------------------- 1 | com.binarywang.spring.starter.wxjava.channel.autoconfigure.WxChannelMultiAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.channel.config.WxChannelAutoConfiguration 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-multi-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.cp.autoconfigure.WxCpMultiAutoConfiguration 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-multi-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.mp.autoconfigure.WxMpMultiAutoConfiguration 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-tp-multi-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.cp.autoconfigure.WxCpTpMultiAutoConfiguration 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-miniapp-multi-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.miniapp.autoconfigure.WxMaMultiAutoConfiguration 3 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-multi-spring-boot-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.binarywang.spring.starter.wxjava.channel.autoconfigure.WxChannelMultiAutoConfiguration 3 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/analysis/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 数据分析 3 | * 4 | * @author Charming 5 | * @since 2018-04-28 6 | */ 7 | package cn.binarywang.wx.miniapp.bean.analysis; 8 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/bean/dial/Ivr.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.bean.dial; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class Ivr { 7 | private String ivr_id; 8 | private String ivr_name; 9 | } 10 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/code/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 微信小程序代码管理相关的 bean 3 | * 4 | * @author Charming 5 | * @since 2018-04-26 19:44 6 | */ 7 | package cn.binarywang.wx.miniapp.bean.code; 8 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2.1 2 | jobs: 3 | build: 4 | docker: 5 | - image: cimg/openjdk:11.0 6 | steps: 7 | - checkout 8 | - run: 9 | name: Build 10 | command: mvn -B -DskipTests clean package -Dcheckstyle.skip=true 11 | 12 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceImpl.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.api.impl; 2 | 3 | /** 4 | * @author 007 5 | */ 6 | public class WxOpenServiceImpl extends WxOpenServiceApacheHttpClientImpl { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig: http://editorconfig.org/ 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | 13 | [*.md] 14 | trim_trailing_whitespace = false 15 | 16 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | 3 | jdk: 4 | - openjdk8 5 | script: "mvn clean package -DskipTests=true -Dcheckstyle.skip=true" 6 | 7 | branches: 8 | only: 9 | - develop 10 | 11 | cache: 12 | directories: 13 | - '$HOME/.m2/repository' 14 | 15 | notifications: 16 | email: 17 | - a@binarywang.com 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 请求添加新功能 3 | about: 如果有什么新功能需要添加,请告诉我们 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | # 提问前,请确保阅读过项目首页说明以及wiki开发文档相关内容,完成内容后,请务必移除包括本句在内的无用内容,以免影响他人阅读,否则直接关闭,谢谢合作~ 11 | 12 | ### 简要描述 13 | 14 | 15 | ### 官方文档地址 16 | __请提供所需功能对应的微信官方文档地址以便进行确认。__ 17 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/Validator.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.v3; 2 | 3 | import java.io.IOException; 4 | import org.apache.http.client.methods.CloseableHttpResponse; 5 | 6 | public interface Validator { 7 | boolean validate(CloseableHttpResponse response) throws IOException; 8 | } 9 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamMediaIdConverter.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.xml; 2 | 3 | public class XStreamMediaIdConverter extends XStreamCDataConverter { 4 | @Override 5 | public String toString(Object obj) { 6 | return "" + super.toString(obj) + ""; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-cp-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-miniapp-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-open-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-pay-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-qidian-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.api.impl; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | 5 | /** 6 | * @author Binary Wang 7 | */ 8 | @Slf4j 9 | public class WxMaServiceImpl extends WxMaServiceHttpClientImpl { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-cp-multi-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-multi-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-channel/src/test/java/me/chanjar/weixin/channel/test/TestConfig.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.test; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import me.chanjar.weixin.channel.config.impl.WxChannelDefaultConfigImpl; 6 | 7 | @Getter 8 | @Setter 9 | public class TestConfig extends WxChannelDefaultConfigImpl { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamReplaceNameConverter.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.xml; 2 | 3 | public class XStreamReplaceNameConverter extends XStreamCDataConverter { 4 | @Override 5 | public String toString(Object obj) { 6 | return "" + super.toString(obj) + ""; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-multi-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-miniapp-multi-solon-plugin/src/test/java/features/test/LoadTest.java: -------------------------------------------------------------------------------- 1 | package features.test; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.noear.solon.test.SolonTest; 5 | 6 | /** 7 | * @author noear 2024/9/4 created 8 | */ 9 | @SolonTest 10 | public class LoadTest { 11 | @Test 12 | public void load(){ 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopSpuGetResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author leiin 7 | * created on 2022/6/20 4:46 下午 8 | */ 9 | @Data 10 | public class WxMinishopSpuGetResponse extends WxMinishopResult { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/impl/WxCpTpServiceImpl.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.tp.service.impl; 2 | 3 | /** 4 | *
 5 |  *  默认接口实现类,使用apache httpclient实现
 6 |  * Created by zhenjun cai.
 7 |  * 
8 | * 9 | * @author zhenjun cai 10 | */ 11 | public class WxCpTpServiceImpl extends WxCpTpServiceApacheHttpClientImpl { 12 | } 13 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-solon-plugin/src/main/java/com/binarywang/solon/wxjava/channel/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.channel.enums; 2 | 3 | /** 4 | * httpclient类型 5 | * 6 | * @author Zeyes 7 | */ 8 | public enum HttpClientType { 9 | /** 10 | * HttpClient 11 | */ 12 | HttpClient 13 | } 14 | -------------------------------------------------------------------------------- /weixin-java-channel/src/test/resources/test-config.sample.xml: -------------------------------------------------------------------------------- 1 | 2 | JSON或者XML 3 | appid 4 | secret 5 | Token 6 | EncodingAESKey 7 | false 8 | 可以不填写 9 | 可以不填写 10 | 11 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/Credentials.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.v3; 2 | 3 | import java.io.IOException; 4 | 5 | import org.apache.http.client.methods.HttpRequestWrapper; 6 | 7 | public interface Credentials { 8 | 9 | String getSchema(); 10 | 11 | String getToken(HttpRequestWrapper request) throws IOException; 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxErrorExceptionHandler.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.api; 2 | 3 | import me.chanjar.weixin.common.error.WxErrorException; 4 | 5 | /** 6 | * WxErrorException处理器. 7 | * 8 | * @author Daniel Qian 9 | */ 10 | public interface WxErrorExceptionHandler { 11 | 12 | void handle(WxErrorException e); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxMinishopPicFileCustomizeResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean.result; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class WxMinishopPicFileCustomizeResult implements Serializable { 9 | private String mediaId; 10 | private String tempImgUrl; 11 | } 12 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/applyment/enums/AccountTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.applyment.enums; 2 | 3 | 4 | /** 5 | * 银行结算账户枚举类 6 | */ 7 | public enum AccountTypeEnum { 8 | /** 9 | * 对公银行账户 10 | */ 11 | ACCOUNT_TYPE_BUSINESS, 12 | 13 | /** 14 | * 经营者个人银行卡 15 | */ 16 | ACCOUNT_TYPE_PRIVATE, 17 | ; 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/ToJson.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean; 2 | 3 | /** 4 | * 包含toJson()方法的接口. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-10-05 8 | */ 9 | public interface ToJson { 10 | /** 11 | * 转换为json字符串 12 | * @return json字符串 13 | */ 14 | String toJson(); 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxMinishopPicFileResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean.result; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class WxMinishopPicFileResult implements Serializable { 9 | private String mediaId; 10 | private String payMediaId; 11 | private String tempImgUrl; 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTipsContent.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author mrsiu@msn.com 7 | * @version 1.0 8 | * @date 2025/1/16 09:42 9 | */ 10 | @Data 11 | public class TemplateTipsContent { 12 | 13 | private TemplateTipsText text; 14 | private String lang; 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTipsSubTextContentPlainText.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author mrsiu@msn.com 7 | * @date 2025/1/16 09:47 8 | * @version 1.0 9 | */ 10 | @Data 11 | public class TemplateTipsSubTextContentPlainText { 12 | private String content; 13 | } 14 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpServiceImpl.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.api.impl; 2 | 3 | /** 4 | *
 5 |  * 默认接口实现类,使用apache httpclient实现
 6 |  * Created by Binary Wang on 2017-5-27.
 7 |  * 
8 | * 9 | * @author Binary Wang 10 | */ 11 | public class WxMpServiceImpl extends WxMpServiceHttpClientImpl { 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/applyconfirm/enums/AuthorizeStateEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.applyconfirm.enums; 2 | 3 | 4 | /** 5 | * 授权状态枚举类 6 | */ 7 | public enum AuthorizeStateEnum { 8 | /** 9 | * 未授权 10 | */ 11 | AUTHORIZE_STATE_UNAUTHORIZED, 12 | 13 | /** 14 | * 已授权 15 | */ 16 | AUTHORIZE_STATE_AUTHORIZED, 17 | ; 18 | } 19 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/channel/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.channel.enums; 2 | 3 | /** 4 | * httpclient类型 5 | * 6 | * @author Zeyes 7 | */ 8 | public enum HttpClientType { 9 | /** 10 | * HttpClient 11 | */ 12 | HttpClient 13 | } 14 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTipsSubText.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author mrsiu@msn.com 7 | * @version 1.0 8 | * @date 2025/1/16 09:45 9 | */ 10 | @Data 11 | public class TemplateTipsSubText { 12 | private Integer type; 13 | private TemplateTipsSubTextContent content; 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTipsSubTextContentLink.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author mrsiu@msn.com 7 | * @version 1.0 8 | * @date 2025/1/16 09:49 9 | */ 10 | @Data 11 | public class TemplateTipsSubTextContentLink { 12 | private String title; 13 | private String url; 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/applyment/enums/BankAccountTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.applyment.enums; 2 | 3 | 4 | /** 5 | * 银行结算账户枚举类 6 | */ 7 | public enum BankAccountTypeEnum { 8 | /** 9 | * 对公银行账户 10 | */ 11 | BANK_ACCOUNT_TYPE_CORPORATE, 12 | 13 | /** 14 | * 经营者个人银行卡 15 | */ 16 | BANK_ACCOUNT_TYPE_PERSONAL, 17 | ; 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/apache/ApacheBasicResponseHandler.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.http.apache; 2 | 3 | import org.apache.http.impl.client.BasicResponseHandler; 4 | 5 | public class ApacheBasicResponseHandler extends BasicResponseHandler { 6 | 7 | public static final ApacheBasicResponseHandler INSTANCE = new ApacheBasicResponseHandler(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/resources/META-INF/native-image/com.github.binarywang/weixin-java-common/native-image.properties: -------------------------------------------------------------------------------- 1 | Args = --initialize-at-run-time=org.apache.http.impl.auth.NTLMEngineImpl \ 2 | --initialize-at-run-time=org.apache.http.impl.auth.NTLMEngine \ 3 | --initialize-at-run-time=org.apache.http.impl.auth.KerberosScheme \ 4 | --initialize-at-run-time=org.apache.http.impl.auth.SPNegoScheme 5 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateLocation.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * The type Template location. 7 | * 8 | * @author RickSun sunalee@dingtalk.com 9 | */ 10 | @Data 11 | public class TemplateLocation { 12 | 13 | /** 14 | * 模板位置的范围 15 | */ 16 | private Integer distance; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerListResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | /** 9 | * @author robgao 10 | */ 11 | @Data 12 | public class WxOpenAuthorizerListResult { 13 | private int totalCount; 14 | private List> list; 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/HttpClientBuilderCustomizer.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.config; 2 | 3 | import org.apache.http.impl.client.HttpClientBuilder; 4 | 5 | /** 6 | * @author dagewang 7 | */ 8 | @FunctionalInterface 9 | public interface HttpClientBuilderCustomizer { 10 | void customize(HttpClientBuilder var1); 11 | } 12 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/auth/Verifier.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.v3.auth; 2 | 3 | import java.security.cert.X509Certificate; 4 | 5 | public interface Verifier { 6 | boolean verify(String serialNumber, byte[] message, String signature); 7 | 8 | 9 | X509Certificate getValidCertificate(); 10 | 11 | default void setOtherVerifier(Verifier verifier) {}; 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-common/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | %d{HH:mm:ss.SSS} [%thread] %-5level %replace(%caller{1}){'Caller', ''} - %msg%n 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /weixin-java-cp/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %replace(%caller{1}){'Caller', ''} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/membercard/ActivatePluginParamResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.membercard; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author yqx 7 | * created on 2018/9/19 8 | */ 9 | @Data 10 | public class ActivatePluginParamResult { 11 | 12 | private int errcode; 13 | 14 | private String errmsg; 15 | 16 | private String url; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-mp/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %replace(%caller{1}){'Caller', ''} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /weixin-java-channel/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %replace(%caller{1}){'Caller', ''} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %replace(%caller{1}){'Caller', ''} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /weixin-java-open/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %replace(%caller{1}){'Caller', ''} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/api/impl/WxQidianServiceImpl.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.api.impl; 2 | 3 | /** 4 | *
 5 |  * 默认接口实现类,使用apache httpclient实现
 6 |  * Created by Binary Wang on 2017-5-27.
 7 |  * 
8 | * 9 | * @author Binary Wang 10 | */ 11 | public class WxQidianServiceImpl extends WxQidianServiceHttpClientImpl { 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/bean/call/SwitchBoard.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.bean.call; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class SwitchBoard { 7 | private String switchboard; 8 | private String createTime; 9 | private Boolean callinStatus; 10 | private Boolean calloutStatus; 11 | private String spName; 12 | private String cityName; 13 | } 14 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %replace(%caller{1}){'Caller', ''} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/intractiy/WxMaStoreRefundRequest.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.intractiy; 2 | 3 | import org.apache.commons.lang3.builder.ToStringBuilder; 4 | 5 | public class WxMaStoreRefundRequest extends BasicWxMaStoreChargeRefundRequest { 6 | 7 | @Override 8 | public String toString() { 9 | return ToStringBuilder.reflectionToString(this); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.service.impl; 2 | 3 | /** 4 | *
 5 |  * 微信支付接口请求实现类,默认使用Apache HttpClient实现
 6 |  * Created by Binary Wang on 2017-7-8.
 7 |  * 
8 | * 9 | * @author Binary Wang 10 | */ 11 | public class WxPayServiceImpl extends WxPayServiceApacheHttpImpl { 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxOpenMaMember.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 微信开放平台小程序成员对象 9 | * 10 | * @author yqx 11 | * created on 2018/9/12 12 | */ 13 | @Data 14 | public class WxOpenMaMember implements Serializable { 15 | /** 16 | * 人员对应的唯一字符串 17 | */ 18 | private String userstr; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/applyment/enums/MicroBizTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.applyment.enums; 2 | 3 | /** 4 | * 小微经营类型 5 | */ 6 | public enum MicroBizTypeEnum { 7 | /** 8 | * 门店场所 9 | */ 10 | MICRO_TYPE_STORE, 11 | /** 12 | * 流动经营/便民服务 13 | */ 14 | MICRO_TYPE_MOBILE, 15 | /** 16 | * 线上商品/服务交易 17 | */ 18 | MICRO_TYPE_ONLINE, 19 | ; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/applyment/enums/SettlementVerifyStateEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.applyment.enums; 2 | 3 | /** 4 | * 结算账户修改审核状态 5 | **/ 6 | public enum SettlementVerifyStateEnum { 7 | /** 8 | * 审核成功 9 | */ 10 | AUDIT_SUCCESS, 11 | 12 | /** 13 | * 审核中 14 | */ 15 | AUDITING, 16 | 17 | /** 18 | * 审核驳回 19 | */ 20 | AUDIT_FAIL, 21 | ; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/message/rule/HandlerConsumer.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.message.rule; 2 | 3 | import me.chanjar.weixin.channel.message.WxChannelMessage; 4 | 5 | /** 6 | * @author Zeyes 7 | */ 8 | @FunctionalInterface 9 | public interface HandlerConsumer { 10 | 11 | void accept(T t, U u, V v, W w, X x); 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopDeliveryCompany.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import java.io.Serializable; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class WxMinishopDeliveryCompany implements Serializable { 8 | private static final long serialVersionUID = 3736970376549639779L; 9 | private String deliveryId; 10 | 11 | private String deliveryName; 12 | } 13 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Location.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.msg; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | /** 7 | * 地理位置 8 | * 9 | * @author leiin created on 2021-10-29 10 | */ 11 | @Data 12 | @Accessors(chain = true) 13 | public class Location { 14 | private String latitude; 15 | private String longitude; 16 | private String name; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopResult.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import java.io.Serializable; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class WxMinishopResult implements Serializable { 8 | private static final long serialVersionUID = 4323118714581265968L; 9 | private Integer errcode; 10 | 11 | private String errmsg; 12 | 13 | private T data; 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/goods/WxMinishopAddGoodsSkuData.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop.goods; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class WxMinishopAddGoodsSkuData implements Serializable { 9 | private static final long serialVersionUID = -2596988603027040989L; 10 | private Long skuId; 11 | 12 | private String createTime; 13 | } 14 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-solon-plugin/src/test/resources/app.properties: -------------------------------------------------------------------------------- 1 | # ?????(??) 2 | wx.mp.app-id=appId 3 | wx.mp.secret=@secret 4 | wx.mp.token=@token 5 | wx.mp.aes-key=@aesKey 6 | wx.mp.use-stable-access-token=@useStableAccessToken 7 | # ????redis(??) # ????: Memory(??), Jedis, RedisTemplate 8 | wx.mp.config-storage.type=memory 9 | wx.mp.config-storage.key-prefix=wx 10 | wx.mp.config-storage.redis.host=127.0.0.1 11 | wx.mp.config-storage.redis.port=6379 12 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageMatcher.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.api; 2 | 3 | import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; 4 | 5 | /** 6 | * 消息匹配器,用在消息路由的时候 7 | */ 8 | public interface WxMpMessageMatcher { 9 | 10 | /** 11 | * 消息是否匹配某种模式 12 | * 13 | * @param message the message 14 | * @return the boolean 15 | */ 16 | boolean match(WxMpXmlMessage message); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/goods/WxMinishopDeliveryCompany.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop.goods; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class WxMinishopDeliveryCompany implements Serializable { 9 | private static final long serialVersionUID = 3736970376549639779L; 10 | private String deliveryId; 11 | 12 | private String deliveryName; 13 | } 14 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/AbstractCardCreateRequest.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * . 9 | * 10 | * @author leeis 11 | * created on 2018/12/29 12 | */ 13 | @Data 14 | public abstract class AbstractCardCreateRequest implements Serializable { 15 | private static final long serialVersionUID = -260291223712818801L; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaScheme.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | import me.chanjar.weixin.open.bean.result.WxOpenResult; 6 | 7 | @Data 8 | @EqualsAndHashCode(callSuper = true) 9 | public class WxMaScheme extends WxOpenResult { 10 | private static final long serialVersionUID = 6099475183322341647L; 11 | 12 | private String openlink; 13 | } 14 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/MinishopCategory.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class MinishopCategory implements Serializable { 9 | private static final long serialVersionUID = -4843799448671123177L; 10 | 11 | private Integer catId; 12 | 13 | private Integer fCatId; 14 | 15 | private String name; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/enums/MessageType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.enums; 2 | 3 | /** 4 | * 消息类型 5 | * 6 | * @author Zeyes 7 | */ 8 | public enum MessageType { 9 | EVENT("event"), 10 | ; 11 | 12 | private final String key; 13 | 14 | MessageType(String key) { 15 | this.key = key; 16 | } 17 | 18 | public String getKey() { 19 | return key; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/intractiy/PayMode.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.intractiy; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | /** 充值、扣费主体 */ 6 | public enum PayMode { 7 | /** 门店 */ 8 | @SerializedName("PAY_MODE_STORE") 9 | STORE, 10 | /** 小程序 */ 11 | @SerializedName("PAY_MODE_APP") 12 | APP, 13 | /** 服务商 */ 14 | @SerializedName("PAY_MODE_COMPONENT") 15 | COMPONENT; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenMiniProgramInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.auth; 2 | 3 | import lombok.Data; 4 | import org.apache.commons.lang3.tuple.Pair; 5 | 6 | import java.util.List; 7 | import java.util.Map; 8 | 9 | @Data 10 | public class WxOpenMiniProgramInfo { 11 | private Map> network; 12 | private List> categories; 13 | private Integer visitStatus; 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishopgoods/ParentCatId.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishopgoods; 2 | 3 | import com.google.gson.JsonObject; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class ParentCatId { 8 | private Integer fCatId; 9 | 10 | public JsonObject toJsonObject() { 11 | JsonObject jsonObject = new JsonObject(); 12 | jsonObject.addProperty("f_cat_id", fCatId); 13 | return jsonObject; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopSpuGet.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import java.io.Serializable; 4 | import lombok.Data; 5 | 6 | /** 7 | * @author leiin 8 | * created on 2022/6/20 4:36 下午 9 | */ 10 | @Data 11 | public class WxMinishopSpuGet implements Serializable { 12 | 13 | private static final long serialVersionUID = -957810527714924409L; 14 | 15 | private WxMinishopSpu spu; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/auth/Signer.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.v3.auth; 2 | 3 | public interface Signer { 4 | SignatureResult sign(byte[] message); 5 | 6 | class SignatureResult { 7 | String sign; 8 | String certificateSerialNumber; 9 | 10 | public SignatureResult(String sign, String serialNumber) { 11 | this.sign = sign; 12 | this.certificateSerialNumber = serialNumber; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/api/WxQidianCallDataService.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.api; 2 | 3 | import me.chanjar.weixin.common.error.WxErrorException; 4 | import me.chanjar.weixin.qidian.bean.call.GetSwitchBoardListResponse; 5 | 6 | /** 7 | * 通话数据相关操作接口. 8 | * 9 | * @author alegria 10 | */ 11 | public interface WxQidianCallDataService { 12 | public GetSwitchBoardListResponse getSwitchBoardList() throws WxErrorException; 13 | } 14 | -------------------------------------------------------------------------------- /.github/agents/my-agent.agent.md: -------------------------------------------------------------------------------- 1 | --- 2 | # Fill in the fields below to create a basic custom agent for your repository. 3 | # The Copilot CLI can be used for local testing: https://gh.io/customagents/cli 4 | # To make this agent available, merge this file into the default repository branch. 5 | # For format details, see: https://gh.io/customagents/config 6 | 7 | name: 全部用中文 8 | description: 需要用中文,包括PR标题和分析总结过程 9 | --- 10 | 11 | # My Agent 12 | 13 | 请使用中文输出思考过程和总结,包括PR标题,提交commit信息也要使用中文 14 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/session/WxSession.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.session; 2 | 3 | import java.util.Enumeration; 4 | 5 | /** 6 | * @author Daniel Qian 7 | */ 8 | public interface WxSession { 9 | 10 | Object getAttribute(String name); 11 | 12 | Enumeration getAttributeNames(); 13 | 14 | void setAttribute(String name, Object value); 15 | 16 | void removeAttribute(String name); 17 | 18 | void invalidate(); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/resources/META-INF/native-image/com.github.binarywang/weixin-java-common/reflect-config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "me.chanjar.weixin.common.util.RandomUtils", 4 | "methods": [ 5 | {"name": "getRandomStr", "parameterTypes": []} 6 | ] 7 | }, 8 | { 9 | "name": "me.chanjar.weixin.common.util.crypto.WxCryptUtil", 10 | "allDeclaredConstructors": true, 11 | "allDeclaredMethods": true, 12 | "allDeclaredFields": true 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/message/WxCpMessageMatcher.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.message; 2 | 3 | import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage; 4 | 5 | /** 6 | * 消息匹配器,用在消息路由的时候 7 | * 8 | * @author Daniel Qian 9 | */ 10 | public interface WxCpMessageMatcher { 11 | 12 | /** 13 | * 消息是否匹配某种模式 14 | * 15 | * @param message the message 16 | * @return the boolean 17 | */ 18 | boolean match(WxCpXmlMessage message); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopSkuListResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopBaseResponse; 4 | import java.util.List; 5 | import lombok.Data; 6 | 7 | /** 8 | * @author leiin 9 | * created on 2022/7/13 20:00 10 | */ 11 | @Data 12 | public class WxMinishopSkuListResponse extends WxMaShopBaseResponse { 13 | private List skus; 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/goods/WxMinishopAddGoodsSpuResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop.goods; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class WxMinishopAddGoodsSpuResult implements Serializable { 9 | private static final long serialVersionUID = 4323118714581265968L; 10 | private Integer errcode; 11 | 12 | private String errmsg; 13 | 14 | private T data; 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/SpecEncrypt.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.v3; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 敏感信息字段 10 | * @author zhouyognshen 11 | **/ 12 | @Target({ElementType.FIELD}) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface SpecEncrypt { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/moment/ExternalContactList.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.moment; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * The type External contact list. 11 | */ 12 | @Getter 13 | @Setter 14 | public class ExternalContactList { 15 | @SerializedName("tag_list") 16 | private List tagList; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/bean/call/SwitchBoardList.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.bean.call; 2 | 3 | import java.util.List; 4 | import java.util.stream.Collectors; 5 | 6 | import lombok.Data; 7 | 8 | @Data 9 | public class SwitchBoardList { 10 | private List records; 11 | 12 | public List switchBoards() { 13 | return records.stream().map(SwitchBoard::getSwitchboard).collect(Collectors.toList()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.http; 2 | 3 | /** 4 | * Created by ecoolper on 2017/4/28. 5 | */ 6 | public enum HttpClientType { 7 | /** 8 | * jodd-http. 9 | */ 10 | JODD_HTTP, 11 | /** 12 | * apache httpclient 4.x. 13 | */ 14 | APACHE_HTTP, 15 | /** 16 | * okhttp. 17 | */ 18 | OK_HTTP, 19 | /** 20 | * apache httpclient 5.x. 21 | */ 22 | HTTP_COMPONENTS 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/ResponseHandler.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.http; 2 | 3 | /** 4 | *
 5 |  * http请求响应回调处理接口.
 6 |  * Created by Binary Wang on 2018/12/8.
 7 |  * 
8 | * 9 | * @param 返回值类型 10 | * @author Binary Wang 11 | */ 12 | public interface ResponseHandler { 13 | /** 14 | * 响应结果处理. 15 | * 16 | * @param t 要处理的对象 17 | */ 18 | void handle(T t); 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/goods/WxMinishopAddGoodsSpuData.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop.goods; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class WxMinishopAddGoodsSpuData implements Serializable { 9 | private static final long serialVersionUID = 2023708625713948192L; 10 | private Long productId; 11 | 12 | private String outProductId; 13 | 14 | private String createTime; 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-open/src/test/resources/test-config.sample.xml: -------------------------------------------------------------------------------- 1 | 2 | 第三方平台appID 3 | 第三方平台appsecret 4 | 第三方平台appsecret 5 | 微信服务器推送过来的ticket 6 | 第三方平台Token 7 | 第三方平台EncodingAESKey 8 | 测试公众号 9 | 测试小程序 10 | 11 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxAccessTokenEntity.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean; 2 | 3 | import lombok.EqualsAndHashCode; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import lombok.ToString; 7 | 8 | /** 9 | * token 10 | * 11 | * @author cn 12 | */ 13 | @Getter 14 | @Setter 15 | @ToString(callSuper = true) 16 | @EqualsAndHashCode(callSuper = true) 17 | public class WxAccessTokenEntity extends WxAccessToken { 18 | private String appid; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/service/WxOAuth2ServiceDecorator.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.service; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.experimental.Delegate; 5 | 6 | /** 7 | * 微信 oauth2服务 装饰器 8 | * 9 | * @author 广州跨界 10 | */ 11 | @AllArgsConstructor 12 | public class WxOAuth2ServiceDecorator implements WxOAuth2Service { 13 | 14 | @Delegate 15 | private final WxOAuth2Service wxOAuth2Service; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/applydata/ContentTitle.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.applydata; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * The type Content title. 9 | * 10 | * @author element 11 | */ 12 | @Data 13 | public class ContentTitle implements Serializable { 14 | 15 | private static final long serialVersionUID = -4501999157383517007L; 16 | 17 | private String text; 18 | private String lang; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTips.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author mrsiu@msn.com 10 | * @version 1.0 11 | * @date 2025/1/16 09:40 12 | */ 13 | @Data 14 | public class TemplateTips { 15 | 16 | @SerializedName("tips_content") 17 | private List tipsContent; 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTipsText.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author mrsiu@msn.com 10 | * @date 2025/1/16 09:43 11 | * @version 1.0 12 | */ 13 | @Data 14 | public class TemplateTipsText { 15 | @SerializedName("sub_text") 16 | private List subText; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/message/WxCpTpMessageMatcher.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.tp.message; 2 | 3 | import me.chanjar.weixin.cp.bean.message.WxCpTpXmlMessage; 4 | 5 | /** 6 | * 消息匹配器,用在消息路由的时候 7 | * 8 | * @author Daniel Qian 9 | */ 10 | public interface WxCpTpMessageMatcher { 11 | 12 | /** 13 | * 消息是否匹配某种模式 14 | * 15 | * @param message the message 16 | * @return the boolean 17 | */ 18 | boolean match(WxCpTpXmlMessage message); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/enums/DateInfoType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.enums; 2 | 3 | public enum DateInfoType { 4 | DATE_TYPE_PERMANENT("永久有效类型"), 5 | DATE_TYPE_FIX_TIME_RANGE("固定日期"), 6 | DATE_TYPE_FIX_TERM("固定时长"); 7 | 8 | private final String description; 9 | 10 | DateInfoType(String description) { 11 | this.description = description; 12 | } 13 | 14 | public String getDescription() { 15 | return description; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/xml/XStreamCDataConverter.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.xml; 2 | 3 | import com.thoughtworks.xstream.converters.basic.StringConverter; 4 | 5 | /** 6 | * CDATA 内容转换器,加上CDATA标签. 7 | * 8 | * @author Daniel Qian 9 | */ 10 | public class XStreamCDataConverter extends StringConverter { 11 | 12 | @Override 13 | public String toString(Object obj) { 14 | return ""; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/kf/msg/WxCpKfResourceMsg.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.kf.msg; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * The type Wx cp kf resource msg. 9 | * 10 | * @author leiin created on 2022/1/26 5:31 下午 11 | */ 12 | @NoArgsConstructor 13 | @Data 14 | public class WxCpKfResourceMsg { 15 | @SerializedName("media_id") 16 | private String mediaId; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/MinishopBrandList.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | @Data 9 | public class MinishopBrandList implements Serializable { 10 | private static final long serialVersionUID = -8508031421949817741L; 11 | 12 | private Integer errcode; 13 | 14 | private String errmsg; 15 | 16 | private List brands; 17 | } 18 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-qidian-solon-plugin/src/main/java/com/binarywang/solon/wxjava/qidian/properties/HostConfig.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.qidian.properties; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class HostConfig implements Serializable { 9 | 10 | private static final long serialVersionUID = -4172767630740346001L; 11 | 12 | private String apiHost; 13 | 14 | private String openHost; 15 | 16 | private String qidianHost; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaOpenNetworkTimeout.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * @author yqx 9 | * created on 2018/9/13 10 | */ 11 | @Data 12 | public class WxMaOpenNetworkTimeout implements Serializable { 13 | 14 | private Integer request; 15 | 16 | private Integer connectSocket; 17 | 18 | private Integer uploadFile; 19 | 20 | private Integer downloadFile; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/MinishopCategories.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | @Data 9 | public class MinishopCategories implements Serializable { 10 | private static final long serialVersionUID = 7273326128218540329L; 11 | 12 | private Integer errcode; 13 | 14 | private String errmsg; 15 | 16 | private List catList; 17 | } 18 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/mp/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.mp.enums; 2 | 3 | /** 4 | * httpclient类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient. 12 | */ 13 | HttpClient, 14 | /** 15 | * OkHttp. 16 | */ 17 | OkHttp, 18 | /** 19 | * JoddHttp. 20 | */ 21 | JoddHttp, 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/hc/BasicResponseHandler.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.http.hc; 2 | 3 | import org.apache.hc.client5.http.impl.classic.BasicHttpClientResponseHandler; 4 | 5 | /** 6 | * ApacheBasicResponseHandler 7 | * 8 | * @author altusea 9 | */ 10 | public class BasicResponseHandler extends BasicHttpClientResponseHandler { 11 | 12 | public static final BasicHttpClientResponseHandler INSTANCE = new BasicHttpClientResponseHandler(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/kf/msg/WxCpKfBusinessCardMsg.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.kf.msg; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * The type Wx cp kf business card msg. 9 | * 10 | * @author leiin created on 2022/1/26 5:35 下午 11 | */ 12 | @NoArgsConstructor 13 | @Data 14 | public class WxCpKfBusinessCardMsg { 15 | @SerializedName("userid") 16 | private String userId; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTitle.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * The type Template title. 9 | * 10 | * @author gyv12345 @163.com 11 | */ 12 | @Data 13 | public class TemplateTitle implements Serializable { 14 | private static final long serialVersionUID = -3229779834737051398L; 15 | 16 | private String text; 17 | 18 | private String lang; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/message/WxMaMessageMatcher.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.message; 2 | 3 | import cn.binarywang.wx.miniapp.bean.WxMaMessage; 4 | 5 | /** 6 | * 消息匹配器,用在消息路由的时候. 7 | * 8 | * @author Binary Wang 9 | */ 10 | public interface WxMaMessageMatcher { 11 | 12 | /** 13 | * 消息是否匹配某种模式. 14 | * 15 | * @param message 消息 16 | * @return 是否匹配 17 | */ 18 | boolean match(WxMaMessage message); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/MinishopShopCatList.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | @Data 9 | public class MinishopShopCatList implements Serializable { 10 | private static final long serialVersionUID = 8718853679902050471L; 11 | 12 | private Integer errcode; 13 | 14 | private String errmsg; 15 | 16 | private List shopCatList; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/WxPayV3DownloadHttpGet.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.v3; 2 | 3 | 4 | import org.apache.http.client.methods.HttpGet; 5 | 6 | import java.net.URI; 7 | 8 | public class WxPayV3DownloadHttpGet extends HttpGet { 9 | 10 | 11 | public WxPayV3DownloadHttpGet() { 12 | } 13 | 14 | public WxPayV3DownloadHttpGet(URI uri) { 15 | super(uri); 16 | } 17 | 18 | public WxPayV3DownloadHttpGet(String uri) { 19 | super(uri); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequestTest.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.entpay; 2 | 3 | import org.testng.annotations.Test; 4 | 5 | /** 6 | * . 7 | * 8 | * @author Binary Wang 9 | * created on 2019-08-18 10 | */ 11 | public class EntPayRequestTest { 12 | 13 | @Test 14 | public void testToString() { 15 | System.out.println(EntPayRequest.newBuilder().mchId("123").build().toString()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/AbstractWxMaQrcodeWrapper.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean; 2 | 3 | import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder; 4 | 5 | /** 6 | * 微信二维码(小程序码)包装器. 7 | * 8 | * @author Element 9 | */ 10 | public abstract class AbstractWxMaQrcodeWrapper { 11 | public String toJson() { 12 | return WxMaGsonBuilder.create().toJson(this); 13 | } 14 | 15 | @Override 16 | public String toString() { 17 | return this.toJson(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopAddGoodsSpuData.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import java.io.Serializable; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class WxMinishopAddGoodsSpuData implements Serializable { 8 | private static final long serialVersionUID = 2023708625713948192L; 9 | private Long productId; 10 | 11 | private String outProductId; 12 | 13 | private String createTime; 14 | 15 | private String updateTime; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-open/src/test/java/me/chanjar/weixin/open/test/TestConfigStorage.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.test; 2 | 3 | import com.thoughtworks.xstream.annotations.XStreamAlias; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import me.chanjar.weixin.open.api.impl.WxOpenInMemoryConfigStorage; 7 | 8 | @Getter 9 | @Setter 10 | @XStreamAlias("xml") 11 | public class TestConfigStorage extends WxOpenInMemoryConfigStorage { 12 | 13 | private String testMpAppId; 14 | 15 | private String testMaAppId; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-pay/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-qidian-solon-plugin/src/main/java/com/binarywang/solon/wxjava/qidian/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.qidian.enums; 2 | 3 | /** 4 | * httpclient类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient. 12 | */ 13 | HttpClient, 14 | /** 15 | * OkHttp. 16 | */ 17 | OkHttp, 18 | /** 19 | * JoddHttp. 20 | */ 21 | JoddHttp, 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/MaAuthQueryIdentityTreeResultIdentityLeaf.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.auth; 2 | 3 | import lombok.Data; 4 | import lombok.NoArgsConstructor; 5 | 6 | /** 7 | * 职业身份叶子信息 8 | * 9 | * @author 广州跨界 10 | * created on 2024/01/11 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | public class MaAuthQueryIdentityTreeResultIdentityLeaf { 15 | 16 | /** 17 | * 要求说明 18 | */ 19 | private String requirement; 20 | } 21 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.miniapp.enums; 2 | 3 | /** 4 | * httpclient类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-05-25 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient. 12 | */ 13 | HttpClient, 14 | /** 15 | * OkHttp. 16 | */ 17 | OkHttp, 18 | /** 19 | * JoddHttp. 20 | */ 21 | JoddHttp, 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpChat.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | /** 9 | * 群聊 10 | * 11 | * @author gaigeshen 12 | */ 13 | @Data 14 | public class WxCpChat implements Serializable { 15 | private static final long serialVersionUID = -4301684507150486556L; 16 | 17 | private String id; 18 | private String name; 19 | private String owner; 20 | private List users; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/control/TemplateDate.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata.control; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * The type Template date. 9 | * 10 | * @author Administrator 11 | */ 12 | @Data 13 | public class TemplateDate implements Serializable { 14 | private static final long serialVersionUID = 1300634733160349684L; 15 | /** 16 | * day-日期;hour-日期+时间 17 | */ 18 | private String type; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/applyment/enums/SettlementVerifyResultEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.applyment.enums; 2 | 3 | /** 4 | * 返回特约商户的结算账户-汇款验证结果枚举类 5 | * 6 | * @author zhouyognshen 7 | */ 8 | public enum SettlementVerifyResultEnum { 9 | /** 10 | * 系统汇款验证中,商户可发起提现尝试。 11 | */ 12 | VERIFYING, 13 | /** 14 | * 系统成功汇款,该账户可正常发起提现。 15 | */ 16 | VERIFY_SUCCESS, 17 | /** 18 | * 系统汇款失败,该账户无法发起提现,请检查修改。 19 | */ 20 | VERIFY_FAIL, 21 | ; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/moment/CustomerItem.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.moment; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | /** 8 | * The type Customer item. 9 | * 10 | * @author Boris 11 | */ 12 | @Getter 13 | @Setter 14 | public class CustomerItem { 15 | @SerializedName("external_userid") 16 | private String externalUserId; 17 | @SerializedName("userid") 18 | private String userId; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateContent.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | /** 9 | * The type Template content. 10 | * 11 | * @author gyv12345 @163.com 12 | */ 13 | @Data 14 | public class TemplateContent implements Serializable { 15 | private static final long serialVersionUID = -5640250983775840865L; 16 | 17 | private List controls; 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopSpuListResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import java.util.List; 5 | import lombok.Data; 6 | 7 | /** 8 | * @author leiin 9 | * created on 2022/6/20 4:46 下午 10 | */ 11 | @Data 12 | public class WxMinishopSpuListResponse extends WxMinishopResult { 13 | @SerializedName("total_num") 14 | private Long totalNum; 15 | 16 | private List spus; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaApplyLiveInfoResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | /** 8 | * @author 清心 9 | * created at 2022-10-04 16:11 10 | */ 11 | @EqualsAndHashCode(callSuper = true) 12 | @Data 13 | public class WxOpenMaApplyLiveInfoResult extends WxOpenResult{ 14 | 15 | @SerializedName("action") 16 | private String action; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenRegisterBetaWeappResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | @Data 8 | @EqualsAndHashCode(callSuper = true) 9 | public class WxOpenRegisterBetaWeappResult extends WxOpenResult { 10 | @SerializedName("authorize_url") 11 | private String authorizeUrl; 12 | @SerializedName("unique_id") 13 | protected String uniqueId; 14 | } 15 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-qidian-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/qidian/properties/HostConfig.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.qidian.properties; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class HostConfig implements Serializable { 9 | 10 | private static final long serialVersionUID = -4172767630740346001L; 11 | 12 | private String apiHost; 13 | 14 | private String openHost; 15 | 16 | private String qidianHost; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/message/rule/WxChannelMessageMatcher.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.message.rule; 2 | 3 | import me.chanjar.weixin.channel.message.WxChannelMessage; 4 | 5 | /** 6 | * 消息匹配器,用在消息路由的时候 7 | * 8 | * @author Zeyes 9 | */ 10 | public interface WxChannelMessageMatcher { 11 | 12 | /** 13 | * 消息是否匹配某种模式 14 | * 15 | * @param message 消息 16 | * @return 是否匹配 17 | */ 18 | boolean match(WxChannelMessage message); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/membercard/MemberCardUserInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.membercard; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * @author YuJian 9 | * created on 2017/7/11 10 | */ 11 | @Data 12 | public class MemberCardUserInfo implements Serializable { 13 | private static final long serialVersionUID = -4259196162619282129L; 14 | 15 | private NameValues[] commonFieldList; 16 | 17 | private NameValues[] customFieldList; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/membercard/NameValues.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.membercard; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 9 | * @author YuJian 10 | * created on 2017/7/11 11 | */ 12 | @Data 13 | public class NameValues implements Serializable{ 14 | private static final long serialVersionUID = -8529369702944594330L; 15 | 16 | private String name; 17 | 18 | private String value; 19 | 20 | private String[] valueList; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/invoice/merchant/MerchantInvoicePlatformInfoWrapper.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.invoice.merchant; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 设置商户联系信息和发票过时时间参数 9 | * 10 | * @author Mario Luo 11 | */ 12 | @Data 13 | public class MerchantInvoicePlatformInfoWrapper implements Serializable { 14 | private static final long serialVersionUID = 7994013978048258576L; 15 | 16 | private MerchantInvoicePlatformInfo paymchInfo; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenAuthorizerOptionResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * @author 007 9 | */ 10 | @Data 11 | public class WxOpenAuthorizerOptionResult implements Serializable { 12 | private static final long serialVersionUID = 4477837353654658179L; 13 | 14 | String authorizerAppid; 15 | String optionName; 16 | String optionValue; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-open/src/test/resources/testng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/session/WxSessionManager.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.session; 2 | 3 | /** 4 | * @author Daniel Qian 5 | */ 6 | public interface WxSessionManager { 7 | 8 | /** 9 | * 获取某个sessionId对应的session,如果sessionId没有对应的session,则新建一个并返回。 10 | */ 11 | WxSession getSession(String sessionId); 12 | 13 | /** 14 | * 获取某个sessionId对应的session,如果sessionId没有对应的session,若create为true则新建一个,否则返回null。 15 | */ 16 | WxSession getSession(String sessionId, boolean create); 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateTipsSubTextContent.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | /** 7 | * @author mrsiu@msn.com 8 | * @version 1.0 9 | * @date 2025/1/16 09:46 10 | */ 11 | @Data 12 | public class TemplateTipsSubTextContent { 13 | @SerializedName("plain_text") 14 | private TemplateTipsSubTextContentPlainText plainText; 15 | private TemplateTipsSubTextContentLink link; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopOrderDetailResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopBaseResponse; 4 | import lombok.Data; 5 | 6 | /** 7 | * 获取订单详情 回包结构 8 | * 9 | * @author leiin 10 | * created on 2022/6/20 7:09 下午 11 | */ 12 | @Data 13 | public class WxMinishopOrderDetailResponse extends WxMaShopBaseResponse { 14 | 15 | /** 16 | * 订单结构 17 | */ 18 | private WxMinishopOrderResult order; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/test/TestConstants.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.api.test; 2 | 3 | /** 4 | *
 5 |  * 仅供测试使用的一些常量
 6 |  * Created by Binary Wang on 2017-3-9.
 7 |  * 
8 | */ 9 | public class TestConstants { 10 | /////////////////////// 11 | // 文件类型 12 | /////////////////////// 13 | public static final String FILE_JPG = "jpeg"; 14 | public static final String FILE_MP3 = "mp3"; 15 | public static final String FILE_AMR = "amr"; 16 | public static final String FILE_MP4 = "mp4"; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/MinishopShopCat.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 店铺的商品分类 9 | */ 10 | @Data 11 | public class MinishopShopCat implements Serializable { 12 | private static final long serialVersionUID = 4179473856929659641L; 13 | 14 | private Integer shopCatId; 15 | 16 | private String shopCatName; 17 | 18 | private Integer fShopCatId; 19 | 20 | private Integer catLevel; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-channel/src/test/resources/testng.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/LogExceptionHandler.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import me.chanjar.weixin.common.api.WxErrorExceptionHandler; 5 | import me.chanjar.weixin.common.error.WxErrorException; 6 | 7 | /** 8 | * @author Daniel Qian 9 | */ 10 | @Slf4j 11 | public class LogExceptionHandler implements WxErrorExceptionHandler { 12 | @Override 13 | public void handle(WxErrorException e) { 14 | log.error("Error happens", e); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateControls.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * The type Template controls. 9 | * 10 | * @author Administrator 11 | */ 12 | @Data 13 | public class TemplateControls implements Serializable { 14 | 15 | private static final long serialVersionUID = -7496794407355510374L; 16 | 17 | private TemplateProperty property; 18 | 19 | private TemplateConfig config; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopAfterSaleAddResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.shop.response; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | 7 | /** 8 | * @author leiin 9 | * created on 2022/6/28 11:29 上午 10 | */ 11 | @Data 12 | public class WxMaShopAfterSaleAddResponse extends WxMaShopBaseResponse implements Serializable { 13 | @SerializedName("aftersale_id") 14 | private String aftersaleId; 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/test/TestConstants.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.test; 2 | 3 | /** 4 | *
 5 |  * 仅供测试使用的一些常量
 6 |  * Created by Binary Wang on 2017-3-9.
 7 |  * 
8 | */ 9 | public class TestConstants { 10 | /////////////////////// 11 | // 文件类型 12 | /////////////////////// 13 | public static final String FILE_JPG = "jpeg"; 14 | public static final String FILE_MP3 = "mp3"; 15 | public static final String FILE_AMR = "amr"; 16 | public static final String FILE_MP4 = "mp4"; 17 | } 18 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-solon-plugin/src/main/java/com/binarywang/solon/wxjava/channel/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.channel.enums; 2 | 3 | /** 4 | * storage类型 5 | * 6 | * @author Zeyes 7 | */ 8 | public enum StorageType { 9 | /** 10 | * 内存 11 | */ 12 | Memory, 13 | /** 14 | * redis(JedisClient) 15 | */ 16 | Jedis, 17 | /** 18 | * redis(Redisson) 19 | */ 20 | Redisson, 21 | /** 22 | * redis(RedisTemplate) 23 | */ 24 | RedisTemplate 25 | } 26 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/subscribemsg/CategoryData.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean.subscribemsg; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * . 9 | * 10 | * @author Binary Wang 11 | * created on 2021-01-27 12 | */ 13 | @Data 14 | public class CategoryData implements Serializable { 15 | private static final long serialVersionUID = -5935548352317679892L; 16 | 17 | private int id; 18 | private String name; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/membercard/ActivatePluginParam.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.membercard; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | /** 7 | * @author yqx 8 | * created on 2018/9/19 9 | */ 10 | @Data 11 | public class ActivatePluginParam { 12 | 13 | @SerializedName("encrypt_card_id") 14 | String encryptCardId; 15 | 16 | @SerializedName("outer_str") 17 | String outerStr; 18 | 19 | @SerializedName("biz") 20 | String biz; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.miniapp.enums; 2 | 3 | /** 4 | * httpclient类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-05-25 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient. 12 | */ 13 | HttpClient, 14 | /** 15 | * OkHttp. 16 | */ 17 | OkHttp, 18 | /** 19 | * JoddHttp. 20 | */ 21 | JoddHttp, 22 | } 23 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-qidian-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/qidian/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.qidian.enums; 2 | 3 | /** 4 | * httpclient类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient. 12 | */ 13 | HttpClient, 14 | /** 15 | * OkHttp. 16 | */ 17 | OkHttp, 18 | /** 19 | * JoddHttp. 20 | */ 21 | JoddHttp, 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/freight/NotSendArea.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.freight; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * 不发货区域 9 | * 10 | * @author Zeyes 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | @EqualsAndHashCode(callSuper = true) 15 | public class NotSendArea extends AddressInfoList { 16 | 17 | private static final long serialVersionUID = -1836467830293286560L; 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateDateRange.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * The type Template date range. 9 | * 10 | * @author gyv12345 @163.com 11 | */ 12 | @Data 13 | public class TemplateDateRange implements Serializable { 14 | 15 | private static final long serialVersionUID = -9209035461466543180L; 16 | 17 | /** 18 | * 时间刻度:hour-精确到分钟, halfday—上午/下午 19 | */ 20 | private String type; 21 | } 22 | -------------------------------------------------------------------------------- /.gitee/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 强烈建议大家到 `github` 相关页面提交问题,方便统一查询管理,具体页面地址:https://github.com/binarywang/WxJava/issues 2 | 3 | 当然如果必须在这里提问,请务必按以下格式填写,谢谢配合~ 4 | 5 | # 提问前,请确保阅读过项目首页说明以及wiki开发文档相关内容,尤其是常见问题部分。完成内容后,请务必移除包括本句在内的无用内容,以免影响阅读,谢谢合作~ 6 | # 另外如果确认属于bug,而且已明确如何修复,请参考贡献指南直接提交PR,省的浪费时间在这里描述问题,非常感谢配合 7 | 8 | ### 简要描述 9 | __简单概括描述下你所遇到的问题。__ 10 | 11 | ### 模块版本情况 12 | * `WxJava` 模块名: 13 | * `WxJava` 版本号: 14 | 15 | ### 详细描述 16 | __尽量详细描述。请不要使用截图,尽量使用文字描述,代码直接贴上来,日志则请附在后面所示区域。__ 17 | 18 | ### 日志 19 | __将日志放在 [`Pastebin`](https://paste.ubuntu.com/) 或者其他地方,并将其url地址贴在这里__ 20 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/channel/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.channel.enums; 2 | 3 | /** 4 | * httpclient类型 5 | * 6 | * @author Winnie 7 | * @date 2024/9/13 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient 12 | */ 13 | HTTP_CLIENT, 14 | // WxChannelServiceOkHttpImpl 实现经测试无法正常完成业务固暂不支持OK_HTTP方式 15 | // /** 16 | // * OkHttp. 17 | // */ 18 | // OK_HTTP, 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Text.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.msg; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 消息文本消息. 10 | * 11 | * @author Binary Wang created on 2020-08-16 12 | */ 13 | @Data 14 | @Accessors(chain = true) 15 | public class Text implements Serializable { 16 | private static final long serialVersionUID = 6608288753719551600L; 17 | private String content; 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/WxCpApprovalApplyData.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.cp.bean.oa.applydata.ApplyDataContent; 5 | 6 | import java.io.Serializable; 7 | import java.util.List; 8 | 9 | /** 10 | * 审批申请数据 11 | * 12 | * @author element 13 | */ 14 | @Data 15 | public class WxCpApprovalApplyData implements Serializable { 16 | 17 | private static final long serialVersionUID = 4061352949894274704L; 18 | 19 | private List contents; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/WxCpApproverAttr.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | /** 6 | * 审批方式 7 | * 8 | * @author element 9 | */ 10 | public enum WxCpApproverAttr { 11 | /** 12 | * 或签 13 | */ 14 | @SerializedName("1") 15 | ONE_SIGN(1), 16 | /** 17 | * 会签 18 | */ 19 | @SerializedName("2") 20 | ALL_SIGN(2); 21 | 22 | private final Integer attr; 23 | 24 | WxCpApproverAttr(Integer attr) { 25 | this.attr = attr; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/WxCpOperator.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | 9 | /** 10 | * 企业微信操作人 11 | * 12 | * @author element 13 | */ 14 | @Data 15 | public class WxCpOperator implements Serializable { 16 | 17 | private static final long serialVersionUID = 5797144853574346736L; 18 | 19 | /** 20 | * 企业微信userid 21 | */ 22 | @SerializedName("userid") 23 | private String userId; 24 | } 25 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenQueryAuthResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.open.bean.auth.WxOpenAuthorizationInfo; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * @author 007 10 | */ 11 | @Data 12 | public class WxOpenQueryAuthResult implements Serializable { 13 | private static final long serialVersionUID = 2394736235020206855L; 14 | 15 | private WxOpenAuthorizationInfo authorizationInfo; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenRegisterPersonalWeappResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | @Data 8 | @EqualsAndHashCode(callSuper = true) 9 | public class WxOpenRegisterPersonalWeappResult extends WxOpenResult { 10 | private String taskid; 11 | @SerializedName("authorize_url") 12 | private String authorizeUrl; 13 | @SerializedName("status") 14 | private Integer status; 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/TemplateVacationItem.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | /** 9 | * The type Template vacation item. 10 | * 11 | * @author gyv12345 @163.com 12 | */ 13 | @Data 14 | public class TemplateVacationItem implements Serializable { 15 | private static final long serialVersionUID = 4510594801023791319L; 16 | 17 | private Integer id; 18 | 19 | private List name; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/express/result/WxMaExpressInfoResult.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.express.result; 2 | 3 | import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder; 4 | 5 | public class WxMaExpressInfoResult { 6 | /** 7 | * 错误码 8 | */ 9 | private Integer errcode; 10 | 11 | /** 12 | * 错误信息 13 | */ 14 | private String errmsg; 15 | 16 | public static WxMaExpressInfoResult fromJson(String json) { 17 | return WxMaGsonBuilder.create().fromJson(json, WxMaExpressInfoResult.class); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/device/AbstractDeviceBean.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.device; 2 | 3 | import me.chanjar.weixin.common.util.json.WxGsonBuilder; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 设备抽象类. 9 | * 10 | * @author keungtung 11 | * created on 14/12/2016 12 | */ 13 | public abstract class AbstractDeviceBean implements Serializable { 14 | private static final long serialVersionUID = 4359729626772515385L; 15 | 16 | public String toJson() { 17 | return WxGsonBuilder.create().toJson(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/invoice/merchant/MerchantContactInfoWrapper.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.invoice.merchant; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 设置商户联系信息和发票过时时间参数 10 | * 11 | * @author Mario Luo 12 | */ 13 | @Data 14 | @AllArgsConstructor 15 | public class MerchantContactInfoWrapper implements Serializable { 16 | private static final long serialVersionUID = -5377979396495452212L; 17 | 18 | private MerchantContactInfo contact; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/MinishopDeliveryTemplate.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class MinishopDeliveryTemplate implements Serializable { 9 | private static final long serialVersionUID = 6408833494371482534L; 10 | 11 | public enum ValuationType { 12 | PACKAGE, 13 | WEIGHT 14 | } 15 | 16 | private Integer templateId; 17 | 18 | private String name; 19 | 20 | private ValuationType valuationType; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/bean/dial/IVRListResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.bean.dial; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.common.util.json.WxGsonBuilder; 5 | import me.chanjar.weixin.qidian.bean.common.QidianResponse; 6 | 7 | import java.util.List; 8 | 9 | @Data 10 | public class IVRListResponse extends QidianResponse { 11 | private List node; 12 | 13 | public static IVRListResponse fromJson(String json) { 14 | return WxGsonBuilder.create().fromJson(json, IVRListResponse.class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/product/AfterSaleInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.product; 2 | 3 | 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | import java.io.Serializable; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | /** 10 | * 商品售后信息 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | public class AfterSaleInfo implements Serializable { 15 | 16 | 17 | /** 18 | * 商品的售后地址id,可使用获取地址详情 19 | */ 20 | @JsonProperty("after_sale_address_id") 21 | private Long afterSaleAddressId; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/moment/SenderList.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.moment; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * The type Sender list. 11 | * 12 | * @author Boris 13 | */ 14 | @Getter 15 | @Setter 16 | public class SenderList { 17 | @SerializedName("user_list") 18 | private List userList; 19 | @SerializedName("department_list") 20 | private List departmentList; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopCatService.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.api; 2 | 3 | import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopCatGetResponse; 4 | import me.chanjar.weixin.common.error.WxErrorException; 5 | 6 | /** 7 | * 小程序交易组件-接入商品前必需接口 8 | * 9 | * @author liming1019 10 | */ 11 | public interface WxMaShopCatService { 12 | /** 13 | * 获取商品类目 14 | * 15 | * @return WxMaShopCatGetResponse 16 | * @throws WxErrorException 17 | */ 18 | WxMaShopCatGetResponse getCat() throws WxErrorException; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaCodeLineColor.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | *
 9 |  * lineColor 包装类
10 |  * 用于描述二维码(小程序码)颜色(RGB参数值),
11 |  * 详情请查看文档 https://mp.weixin.qq.com/debug/wxadoc/dev/api/qrcode.html
12 |  * 
13 | * @author Element 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | public class WxMaCodeLineColor { 19 | private String r = "0", g = "0", b = "0"; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMiniGetAfterSaleOrderResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopBaseResponse; 4 | import com.google.gson.annotations.SerializedName; 5 | import lombok.Data; 6 | 7 | /** 8 | * @author leiin 9 | * created on 2022/7/11 20:58 10 | */ 11 | @Data 12 | public class WxMiniGetAfterSaleOrderResponse extends WxMaShopBaseResponse { 13 | @SerializedName("after_sale_order") 14 | private WxMiniAfterSaleOrder afterSaleOrder; 15 | } 16 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopCouponResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.shop.response; 2 | 3 | import cn.binarywang.wx.miniapp.bean.shop.WxMaShopCouponInfo; 4 | import lombok.Data; 5 | 6 | /** 7 | * @author leiin 8 | * created on 2022/7/1 3:34 下午 9 | */ 10 | @Data 11 | public class WxMaShopCouponResponse extends WxMaShopBaseResponse { 12 | private ResponseCouponResult result; 13 | 14 | @Data 15 | public static class ResponseCouponResult { 16 | private WxMaShopCouponInfo coupon; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/mp/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.mp.enums; 2 | 3 | /** 4 | * storage类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存. 12 | */ 13 | Memory, 14 | /** 15 | * redis(JedisClient). 16 | */ 17 | Jedis, 18 | /** 19 | * redis(Redisson). 20 | */ 21 | Redisson, 22 | /** 23 | * redis(RedisTemplate). 24 | */ 25 | RedisTemplate 26 | } 27 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/channel/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.channel.enums; 2 | 3 | /** 4 | * storage类型 5 | * 6 | * @author Zeyes 7 | */ 8 | public enum StorageType { 9 | /** 10 | * 内存 11 | */ 12 | Memory, 13 | /** 14 | * redis(JedisClient) 15 | */ 16 | Jedis, 17 | /** 18 | * redis(Redisson) 19 | */ 20 | Redisson, 21 | /** 22 | * redis(RedisTemplate) 23 | */ 24 | RedisTemplate 25 | } 26 | -------------------------------------------------------------------------------- /weixin-java-common/src/test/java/me/chanjar/weixin/common/bean/WxAccessTokenTest.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean; 2 | 3 | import org.testng.*; 4 | import org.testng.annotations.*; 5 | 6 | @Test 7 | public class WxAccessTokenTest { 8 | 9 | public void testFromJson() { 10 | 11 | String json = "{\"access_token\":\"ACCESS_TOKEN\",\"expires_in\":7200}"; 12 | WxAccessToken wxError = WxAccessToken.fromJson(json); 13 | Assert.assertEquals(wxError.getAccessToken(), "ACCESS_TOKEN"); 14 | Assert.assertTrue(wxError.getExpiresIn() == 7200); 15 | 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/product/Image.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.product; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 商品画册图片 10 | * 11 | * @author Lo_ading 12 | */ 13 | @Data 14 | public class Image implements Serializable { 15 | private static final long serialVersionUID = -2737415903252627814L; 16 | 17 | @SerializedName("media_id") 18 | private String mediaId; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/enums/CardFieldType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.enums; 2 | 3 | /** 4 | * 微信卡券激活字段类型 5 | * 6 | * @author yuanqixun 7 | * created on 2018-08-30 8 | */ 9 | public enum CardFieldType { 10 | COMMON_FIELD("微信选项"), 11 | CUSTOM_FIELD("自定义选项"), 12 | RICH_FIELD("自定义富文本类型"); 13 | 14 | private final String description; 15 | 16 | CardFieldType(String description) { 17 | this.description = description; 18 | } 19 | 20 | public String getDescription() { 21 | return description; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaWebDomainResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | import java.util.List; 8 | 9 | @Data 10 | @EqualsAndHashCode(callSuper = true) 11 | public class WxOpenMaWebDomainResult extends WxOpenResult { 12 | 13 | private static final long serialVersionUID = -2182687859448940313L; 14 | 15 | @SerializedName("webviewdomain") 16 | List webviewdomainList; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/enums/BusinessServiceType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.enums; 2 | 3 | /** 4 | * 商户提供服务类型 5 | */ 6 | public enum BusinessServiceType { 7 | BIZ_SERVICE_DELIVER("外卖服务"), 8 | BIZ_SERVICE_FREE_PARK("停车位"), 9 | BIZ_SERVICE_WITH_PET("可带宠物"), 10 | BIZ_SERVICE_FREE_WIFI("可带宠物"); 11 | 12 | private final String description; 13 | 14 | BusinessServiceType(String description) { 15 | this.description = description; 16 | } 17 | 18 | public String getDescription() { 19 | return description; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/enums/CardStatusType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.enums; 2 | 3 | public enum CardStatusType { 4 | CARD_STATUS_NOT_VERIFY("待审核"), 5 | CARD_STATUS_VERIFY_FAIL("审核失败"), 6 | CARD_STATUS_VERIFY_OK("通过审核"), 7 | CARD_STATUS_DELETE("卡券被商户删除"), 8 | CARD_STATUS_DISPATCH("在公众平台投放过的卡券"); 9 | 10 | private final String description; 11 | 12 | CardStatusType(String description) { 13 | this.description = description; 14 | } 15 | 16 | public String getDescription() { 17 | return description; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-multi-solon-plugin/src/main/java/com/binarywang/solon/wxjava/channel/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.channel.enums; 2 | 3 | /** 4 | * storage类型 5 | * 6 | * @author Winnie 7 | * @date 2024/9/13 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存 12 | */ 13 | MEMORY, 14 | /** 15 | * redis(JedisClient) 16 | */ 17 | JEDIS, 18 | /** 19 | * redis(Redisson) 20 | */ 21 | REDISSON, 22 | /** 23 | * redis(RedisTemplate) 24 | */ 25 | REDIS_TEMPLATE 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/marketing/WxMpAdLeadInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.marketing; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * @author 007 10 | */ 11 | @Data 12 | public class WxMpAdLeadInfo implements Serializable { 13 | private static final long serialVersionUID = -6462312242780350479L; 14 | @SerializedName("key") 15 | private String key; 16 | @SerializedName("value") 17 | private String value; 18 | } 19 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-miniapp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/miniapp/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.miniapp.enums; 2 | 3 | /** 4 | * storage类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-05-25 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存. 12 | */ 13 | Memory, 14 | /** 15 | * redis(JedisClient). 16 | */ 17 | Jedis, 18 | /** 19 | * redis(Redisson). 20 | */ 21 | Redisson, 22 | /** 23 | * redis(RedisTemplate). 24 | */ 25 | RedisTemplate 26 | } 27 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-qidian-solon-plugin/src/main/java/com/binarywang/solon/wxjava/qidian/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.qidian.enums; 2 | 3 | /** 4 | * storage类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存. 12 | */ 13 | Memory, 14 | /** 15 | * redis(JedisClient). 16 | */ 17 | Jedis, 18 | /** 19 | * redis(Redisson). 20 | */ 21 | Redisson, 22 | /** 23 | * redis(RedisTemplate). 24 | */ 25 | RedisTemplate 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/enums/CardSceneType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.enums; 2 | 3 | public enum CardSceneType { 4 | SCENE_NEAR_BY("附近"), 5 | SCENE_MENU("自定义菜单"), 6 | SCENE_QRCODE("二维码"), 7 | SCENE_ARTICLE("公众号文章"), 8 | SCENE_H5("H5"), 9 | SCENE_IVR("自动回复"), 10 | SCENE_CARD_CUSTOM_CELL("卡券自定义cell"); 11 | 12 | private final String description; 13 | 14 | CardSceneType(String description) { 15 | this.description = description; 16 | } 17 | 18 | public String getDescription() { 19 | return description; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/invoice/merchant/InvoiceAuthPageResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.invoice.merchant; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 获取授权链接返回结果DTO 9 | * 10 | * @author Mario Luo 11 | */ 12 | @Data 13 | public class InvoiceAuthPageResult implements Serializable { 14 | private static final long serialVersionUID = 2922797121045894425L; 15 | 16 | /** 17 | * 授权页地址 18 | */ 19 | private String authUrl; 20 | 21 | /** 22 | * 当发起端为小程序时, 返回 23 | */ 24 | private String appid; 25 | } 26 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxCardType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.enums; 2 | 3 | /** 4 | * 微信卡券类型. 5 | * 6 | * @author chenyixin 7 | * created on 2019-09-07 23:33 8 | **/ 9 | public enum WxCardType { 10 | MEMBER_CARD("MEMBER_CARD"), 11 | GROUPON("GROUPON"), 12 | CASH("CASH"), 13 | DISCOUNT("DISCOUNT"), 14 | GIFT("GIFT"), 15 | GENERAL_COUPON("GENERAL_COUPON"); 16 | 17 | private final String code; 18 | 19 | WxCardType(String code) { 20 | this.code = code; 21 | } 22 | 23 | public String getCode() { 24 | return code; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/shop/ShopInfoResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.shop; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse; 7 | 8 | /** 9 | * 店铺基本信息响应 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class ShopInfoResponse extends WxChannelBaseResponse { 16 | 17 | @JsonProperty("info") 18 | private ShopInfo info; 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/annotation/Required.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | *
10 |  * 标识某个字段是否是必填的
11 |  * Created by Binary Wang on 2016/9/25.
12 |  * 
13 | * 14 | * @author binarywang (https://github.com/binarywang) 15 | */ 16 | @Retention(RetentionPolicy.RUNTIME) 17 | @Target(ElementType.FIELD) 18 | public @interface Required { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/enums/CardCodeType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.enums; 2 | 3 | public enum CardCodeType { 4 | 5 | CODE_TYPE_TEXT("文本"), 6 | CODE_TYPE_NONE("不显示任何码型"), 7 | CODE_TYPE_ONLY_BARCODE("仅显示一维码"), 8 | CODE_TYPE_ONLY_QRCODE("仅显示二维码"), 9 | CODE_TYPE_BARCODE("一维码"), 10 | CODE_TYPE_QRCODE("二维码"); 11 | 12 | private final String description; 13 | 14 | CardCodeType(String description) { 15 | this.description = description; 16 | } 17 | 18 | public String getDescription() { 19 | return description; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/bean/call/GetSwitchBoardListResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.bean.call; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.common.util.json.WxGsonBuilder; 5 | import me.chanjar.weixin.qidian.bean.common.QidianResponse; 6 | 7 | @Data 8 | public class GetSwitchBoardListResponse extends QidianResponse { 9 | private SwitchBoardList data; 10 | 11 | public static GetSwitchBoardListResponse fromJson(String result) { 12 | return WxGsonBuilder.create().fromJson(result, GetSwitchBoardListResponse.class); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-channel-multi-solon-plugin/src/main/java/com/binarywang/solon/wxjava/channel/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.channel.enums; 2 | 3 | /** 4 | * httpclient类型 5 | * 6 | * @author Winnie 7 | * @date 2024/9/13 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient 12 | */ 13 | HTTP_CLIENT, 14 | /** 15 | * HttpComponents 16 | */ 17 | HTTP_COMPONENTS 18 | // WxChannelServiceOkHttpImpl 实现经测试无法正常完成业务固暂不支持OK_HTTP方式 19 | // /** 20 | // * OkHttp. 21 | // */ 22 | // OK_HTTP, 23 | } 24 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-open-solon-plugin/src/test/resources/app.properties: -------------------------------------------------------------------------------- 1 | # ?????(??) 2 | wx.open.appId = appId 3 | wx.open.secret = @secret 4 | wx.open.token = @token 5 | wx.open.aesKey = @aesKey 6 | # ????redis(??) 7 | # ???????(JedisPool, RedissonClient), ????wx.open.config-storage.redis.host, ????????redis???? 8 | wx.open.config-storage.type = redis # ????: memory(??), redis(jedis), jedis, redisson, redistemplate 9 | wx.open.config-storage.key-prefix = wx # ??redis????: wx(??) 10 | wx.open.config-storage.redis.host = 127.0.0.1 11 | wx.open.config-storage.redis.port = 6379 12 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/enums/CardRichFieldType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card.enums; 2 | 3 | /** 4 | * 会员卡富文本字段类型 5 | * 6 | * @author yuanqixun 7 | * created on 2018-08-30 8 | */ 9 | public enum CardRichFieldType { 10 | FORM_FIELD_RADIO("自定义单选"), 11 | FORM_FIELD_SELECT("自定义选择项"), 12 | FORM_FIELD_CHECK_BOX("自定义多选"); 13 | 14 | private final String description; 15 | 16 | CardRichFieldType(String description) { 17 | this.description = description; 18 | } 19 | 20 | public String getDescription() { 21 | return description; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.mp.enums; 2 | 3 | /** 4 | * storage类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存. 12 | */ 13 | Memory, 14 | /** 15 | * redis(JedisClient). 16 | */ 17 | Jedis, 18 | /** 19 | * redis(Redisson). 20 | */ 21 | Redisson, 22 | /** 23 | * redis(RedisTemplate). 24 | */ 25 | RedisTemplate 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/order/DropshipInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.order; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 代发相关信息 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | public class DropshipInfo implements Serializable { 15 | 16 | private static final long serialVersionUID = -4562618835611282016L; 17 | 18 | /** 19 | * 代发单号 20 | */ 21 | @JsonProperty("ds_order_id") 22 | private Long dsOrderId; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-channel-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/channel/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.channel.enums; 2 | 3 | /** 4 | * storage类型 5 | * 6 | * @author Winnie 7 | * @date 2024/9/13 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存 12 | */ 13 | MEMORY, 14 | /** 15 | * redis(JedisClient) 16 | */ 17 | JEDIS, 18 | /** 19 | * redis(Redisson) 20 | */ 21 | REDISSON, 22 | /** 23 | * redis(RedisTemplate) 24 | */ 25 | REDIS_TEMPLATE 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/subscribemsg/PubTemplateKeyword.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean.subscribemsg; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * . 9 | * 10 | * @author Binary Wang 11 | * created on 2021-01-27 12 | */ 13 | @Data 14 | public class PubTemplateKeyword implements Serializable { 15 | private static final long serialVersionUID = -1100641668859815647L; 16 | 17 | private int kid; 18 | private String name; 19 | private String example; 20 | private String rule; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaShareInfo.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean; 2 | 3 | import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * @author zhfish 10 | */ 11 | @Data 12 | public class WxMaShareInfo implements Serializable { 13 | private static final long serialVersionUID = -8053613683499632226L; 14 | 15 | private String openGId; 16 | 17 | public static WxMaShareInfo fromJson(String json) { 18 | return WxMaGsonBuilder.create().fromJson(json, WxMaShareInfo.class); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopAddGoodsSkuData.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | 7 | @Data 8 | public class WxMinishopAddGoodsSkuData implements Serializable { 9 | private static final long serialVersionUID = -2596988603027040989L; 10 | @SerializedName("sku_id") 11 | private Long skuId; 12 | @SerializedName("out_sku_id") 13 | private String outSkuId; 14 | @SerializedName("create_time") 15 | private String createTime; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopOrderListResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopBaseResponse; 4 | import com.google.gson.annotations.SerializedName; 5 | import java.util.List; 6 | import lombok.Data; 7 | 8 | /** 9 | * @author leiin 10 | * created on 2022/6/20 7:09 下午 11 | */ 12 | @Data 13 | public class WxMinishopOrderListResponse extends WxMaShopBaseResponse { 14 | private List orders; 15 | @SerializedName("total_num") 16 | private Long totalNum; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/applyment/enums/SalesScenesTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.applyment.enums; 2 | 3 | /** 4 | * 经营场景类型枚举值 5 | */ 6 | public enum SalesScenesTypeEnum { 7 | /** 8 | * 线下门店 9 | */ 10 | SALES_SCENES_STORE, 11 | /** 12 | * 公众号 13 | */ 14 | SALES_SCENES_MP, 15 | /** 16 | * 小程序 17 | */ 18 | SALES_SCENES_MINI_PROGRAM, 19 | /** 20 | * 互联网 21 | */ 22 | SALES_SCENES_WEB, 23 | /** 24 | * APP 25 | */ 26 | SALES_SCENES_APP, 27 | /** 28 | * 企业微信 29 | */ 30 | SALES_SCENES_WEWORK, 31 | ; 32 | } 33 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/autoconfigure/WxMpMultiAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.mp.autoconfigure; 2 | 3 | import com.binarywang.spring.starter.wxjava.mp.configuration.WxMpMultiServiceConfiguration; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.context.annotation.Import; 6 | 7 | /** 8 | * @author yl 9 | * created on 2024/1/23 10 | */ 11 | @Configuration 12 | @Import(WxMpMultiServiceConfiguration.class) 13 | public class WxMpMultiAutoConfiguration { 14 | } 15 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-qidian-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/qidian/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.qidian.enums; 2 | 3 | /** 4 | * storage类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存. 12 | */ 13 | Memory, 14 | /** 15 | * redis(JedisClient). 16 | */ 17 | Jedis, 18 | /** 19 | * redis(Redisson). 20 | */ 21 | Redisson, 22 | /** 23 | * redis(RedisTemplate). 24 | */ 25 | RedisTemplate 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMinishopUpdateGoodsSkuData.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | 7 | @Data 8 | public class WxMinishopUpdateGoodsSkuData implements Serializable { 9 | private static final long serialVersionUID = -2596988603027040989L; 10 | @SerializedName("sku_id") 11 | private Long skuId; 12 | @SerializedName("out_sku_id") 13 | private String outSkuId; 14 | @SerializedName("update_time") 15 | private String updateTime; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMpMaterialArticleUpdate.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.material; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; 5 | 6 | import java.io.Serializable; 7 | 8 | @Data 9 | public class WxMpMaterialArticleUpdate implements Serializable { 10 | private static final long serialVersionUID = -7611963949517780270L; 11 | 12 | private String mediaId; 13 | private int index; 14 | private WxMpNewsArticle articles; 15 | 16 | public String toJson() { 17 | return WxMpGsonBuilder.create().toJson(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/AiLangType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.enums; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | *
 7 |  *  AI开放接口里的语言类型,目前只支持两种:中文和英文
 8 |  *  Created by BinaryWang on 2018/6/10.
 9 |  * 
10 | * 11 | * @author Binary Wang 12 | */ 13 | @Getter 14 | public enum AiLangType { 15 | /** 16 | * 中文 汉语. 17 | */ 18 | zh_CN("zh_CN"), 19 | /** 20 | * 英文 英语. 21 | */ 22 | en_US("en_US"); 23 | 24 | private final String code; 25 | 26 | AiLangType(String code) { 27 | this.code = code; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/enums/StorageType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.miniapp.enums; 2 | 3 | /** 4 | * storage类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-05-25 8 | */ 9 | public enum StorageType { 10 | /** 11 | * 内存. 12 | */ 13 | Memory, 14 | /** 15 | * redis(JedisClient). 16 | */ 17 | Jedis, 18 | /** 19 | * redis(Redisson). 20 | */ 21 | Redisson, 22 | /** 23 | * redis(RedisTemplate). 24 | */ 25 | RedisTemplate 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/control/TemplateVacation.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata.control; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.cp.bean.oa.templatedata.TemplateVacationItem; 5 | 6 | import java.io.Serializable; 7 | import java.util.List; 8 | 9 | /** 10 | * The type Template vacation. 11 | * 12 | * @author gyv12345 @163.com 13 | */ 14 | @Data 15 | public class TemplateVacation implements Serializable { 16 | private static final long serialVersionUID = 3442297114957906890L; 17 | 18 | private List item; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/WxMiniBatchGetAfterSaleOrderResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopBaseResponse; 4 | import com.google.gson.annotations.SerializedName; 5 | import java.util.List; 6 | import lombok.Data; 7 | 8 | /** 9 | * @author leiin 10 | * created on 2022/7/11 20:59 11 | */ 12 | @Data 13 | public class WxMiniBatchGetAfterSaleOrderResponse extends WxMaShopBaseResponse { 14 | @SerializedName("after_sale_order_list") 15 | private List afterSaleOrderList; 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/promoter/response/WxMaPromotionUpdatePromoterResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.promoter.response; 2 | 3 | import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * @author zhuangzibin 11 | */ 12 | 13 | @Data 14 | @EqualsAndHashCode(callSuper = true) 15 | public class WxMaPromotionUpdatePromoterResponse extends WxMaBaseResponse implements Serializable { 16 | 17 | private static final long serialVersionUID = 4181066183104514177L; 18 | } 19 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/promoter/response/WxMaPromotionUpdateRoleResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.promoter.response; 2 | 3 | import cn.binarywang.wx.miniapp.bean.WxMaBaseResponse; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * @author zhuangzibin 11 | */ 12 | 13 | @Data 14 | @EqualsAndHashCode(callSuper = true) 15 | public class WxMaPromotionUpdateRoleResponse extends WxMaBaseResponse implements Serializable { 16 | 17 | private static final long serialVersionUID = -7820893467305453782L; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/BaseWxMpCardResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * 卡券返回结果基础类. 7 | * 8 | * @author fanxl 9 | * created on 2019/1/22 0022 10:08 10 | */ 11 | public class BaseWxMpCardResult implements Serializable { 12 | private static final long serialVersionUID = -3502867243738689870L; 13 | 14 | /** 15 | * 错误码 16 | */ 17 | private Integer errcode; 18 | 19 | /** 20 | * 错误信息 21 | */ 22 | private String errmsg; 23 | 24 | public boolean isSuccess() { 25 | return 0 == errcode; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/BaseBuilder.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.builder.kefu; 2 | 3 | import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; 4 | 5 | public class BaseBuilder { 6 | protected String msgType; 7 | protected String toUser; 8 | 9 | @SuppressWarnings("unchecked") 10 | public T toUser(String toUser) { 11 | this.toUser = toUser; 12 | return (T) this; 13 | } 14 | 15 | public WxMpKefuMessage build() { 16 | WxMpKefuMessage m = new WxMpKefuMessage(); 17 | m.setMsgType(this.msgType); 18 | m.setToUser(this.toUser); 19 | return m; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/MaAuthSubmitParamContactInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.auth; 2 | 3 | import lombok.Data; 4 | import lombok.NoArgsConstructor; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * 联系人信息 9 | * 10 | * @author 广州跨界 11 | * created on 2024/01/11 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class MaAuthSubmitParamContactInfo { 16 | 17 | /** 18 | * 姓名 19 | */ 20 | @NotNull 21 | private String name; 22 | 23 | /** 24 | * 邮箱 25 | */ 26 | @NotNull 27 | private String email; 28 | } 29 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/privacy/ApplyPrivacyInterfaceResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma.privacy; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import me.chanjar.weixin.open.bean.result.WxOpenResult; 7 | 8 | /** 9 | * 获取接口列表 响应 10 | * 11 | * @author 广州跨界 12 | */ 13 | @Getter 14 | @Setter 15 | public class ApplyPrivacyInterfaceResult extends WxOpenResult { 16 | 17 | /** 18 | * 审核ID 19 | */ 20 | @SerializedName("audit_id") 21 | private Long auditId; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/enums/HttpClientType.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.mp.enums; 2 | 3 | /** 4 | * httpclient类型. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-08-30 8 | */ 9 | public enum HttpClientType { 10 | /** 11 | * HttpClient. 12 | */ 13 | HttpClient, 14 | /** 15 | * OkHttp. 16 | */ 17 | OkHttp, 18 | /** 19 | * JoddHttp. 20 | */ 21 | JoddHttp, 22 | /** 23 | * HttpComponents (Apache HttpClient 5.x). 24 | */ 25 | HttpComponents, 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/coupon/UserCouponIdInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.coupon; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * 用户优惠券id 9 | * 10 | * @author Zeyes 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | public class UserCouponIdInfo extends CouponIdInfo { 15 | 16 | private static final long serialVersionUID = -8285585134793264542L; 17 | /** 用户优惠券ID */ 18 | @JsonProperty("user_coupon_id") 19 | private String userCouponId; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/linkedcorp/WxCpLinkedCorpAgentPerm.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.linkedcorp; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 获取应用可见范围请求类 10 | * 11 | * @author libo 12 | */ 13 | @Data 14 | public class WxCpLinkedCorpAgentPerm implements Serializable { 15 | private static final long serialVersionUID = 6794613362541093845L; 16 | @SerializedName("userids") 17 | private String[] userIdList; 18 | @SerializedName("department_ids") 19 | private String[] departmentIdList; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/WxCpCheckinOption.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 企业微信打卡规则. 10 | * 11 | * @author Element created on 2019-04-06 13:22 12 | */ 13 | @Data 14 | public class WxCpCheckinOption implements Serializable { 15 | private static final long serialVersionUID = -1964233697990417482L; 16 | 17 | @SerializedName("userid") 18 | private String userId; 19 | 20 | @SerializedName("group") 21 | private WxCpCheckinGroupBase group; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/control/TemplateContact.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata.control; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * The type Template contact. 9 | * 10 | * @author gyv12345 @163.com 11 | */ 12 | @Data 13 | public class TemplateContact implements Serializable { 14 | private static final long serialVersionUID = -7840088884653172851L; 15 | /** 16 | * 选择方式:single-单选;multi-多选 17 | */ 18 | private String type; 19 | /** 20 | * 选择对象:user-成员;department-部门 21 | */ 22 | private String mode; 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/league/CatInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.league; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 商品分类信息 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class CatInfo implements Serializable { 16 | 17 | private static final long serialVersionUID = 8449223922139383888L; 18 | /** 类目id */ 19 | @JsonProperty("cat_id") 20 | private String catId; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/RequestHttp.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.http; 2 | 3 | /** 4 | * Created by ecoolper on 2017/4/22. 5 | * 6 | * @author ecoolper 7 | */ 8 | public interface RequestHttp { 9 | 10 | /** 11 | * 返回httpClient. 12 | * 13 | * @return 返回httpClient 14 | */ 15 | H getRequestHttpClient(); 16 | 17 | /** 18 | * 返回httpProxy. 19 | * 20 | * @return 返回httpProxy 21 | */ 22 | P getRequestHttpProxy(); 23 | 24 | /** 25 | * 返回HttpType. 26 | * 27 | * @return HttpType 28 | */ 29 | HttpClientType getRequestType(); 30 | 31 | } 32 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/WxMaShopAccountGetInfo.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.shop; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * @author liming1019 10 | * created on 2021/8/9 11 | */ 12 | @Data 13 | public class WxMaShopAccountGetInfo implements Serializable { 14 | /** 15 | * 品牌ID 16 | */ 17 | @SerializedName("brand_id") 18 | private Long brandId; 19 | 20 | /** 21 | * 品牌名称 22 | */ 23 | @SerializedName("brand_wording") 24 | private String brandWording; 25 | } 26 | 27 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/api/WxQidianDialService.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.api; 2 | 3 | import me.chanjar.weixin.common.error.WxErrorException; 4 | import me.chanjar.weixin.qidian.bean.dial.IVRDialRequest; 5 | import me.chanjar.weixin.qidian.bean.dial.IVRDialResponse; 6 | import me.chanjar.weixin.qidian.bean.dial.IVRListResponse; 7 | 8 | /** 9 | * 基础话务相关操作接口. 10 | * 11 | * @author alegria 12 | */ 13 | public interface WxQidianDialService { 14 | IVRDialResponse ivrDial(IVRDialRequest ivrDial) throws WxErrorException; 15 | 16 | IVRListResponse getIVRList() throws WxErrorException; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-miniapp-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/autoconfigure/WxMaMultiAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.miniapp.autoconfigure; 2 | 3 | import com.binarywang.spring.starter.wxjava.miniapp.configuration.WxMaMultiServiceConfiguration; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.context.annotation.Import; 6 | 7 | /** 8 | * @author monch 9 | * created on 2024/9/6 10 | */ 11 | @Configuration 12 | @Import(WxMaMultiServiceConfiguration.class) 13 | public class WxMaMultiAutoConfiguration { 14 | } 15 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/subscribemsg/TemplateInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.bean.subscribemsg; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * . 9 | * 10 | * @author Binary Wang 11 | * created on 2021-01-27 12 | */ 13 | @Data 14 | public class TemplateInfo implements Serializable { 15 | private static final long serialVersionUID = 6971785763573992264L; 16 | 17 | private String priTmplId; 18 | private String title; 19 | private String content; 20 | private String example; 21 | private int type; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/enums/WxType.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.enums; 2 | 3 | /** 4 | *
 5 |  *  微信类型枚举.
 6 |  *  Created by BinaryWang on 2018/5/14.
 7 |  * 
8 | * 9 | * @author Binary Wang 10 | */ 11 | public enum WxType { 12 | /** 13 | * 企业微信. 14 | */ 15 | CP, 16 | /** 17 | * 微信公众号. 18 | */ 19 | MP, 20 | /** 21 | * 微信小程序. 22 | */ 23 | MiniApp, 24 | /** 25 | * 微信开放平台. 26 | */ 27 | Open, 28 | /** 29 | * 微信支付. 30 | */ 31 | Pay, 32 | /** 33 | * 微信视频号 34 | */ 35 | Channel, 36 | ; 37 | } 38 | -------------------------------------------------------------------------------- /weixin-java-common/src/test/java/me/chanjar/weixin/common/redis/JedisWxRedisOpsTest.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.redis; 2 | 3 | import org.testng.annotations.AfterTest; 4 | import org.testng.annotations.BeforeTest; 5 | import redis.clients.jedis.JedisPool; 6 | 7 | public class JedisWxRedisOpsTest extends CommonWxRedisOpsTest { 8 | 9 | JedisPool jedisPool; 10 | 11 | @BeforeTest 12 | public void init() { 13 | this.jedisPool = new JedisPool("127.0.0.1", 6379); 14 | this.wxRedisOps = new JedisWxRedisOps(jedisPool); 15 | } 16 | 17 | @AfterTest 18 | public void destroy() { 19 | this.jedisPool.close(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/intractiy/WxMaStoreChargeRequest.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.intractiy; 2 | 3 | import org.apache.commons.lang3.builder.ToStringBuilder; 4 | 5 | public class WxMaStoreChargeRequest extends BasicWxMaStoreChargeRefundRequest { 6 | 7 | /** 充值金额 单位:分, 50元起充 */ 8 | private int amount; 9 | 10 | public int getAmount() { 11 | return amount; 12 | } 13 | 14 | public void setAmount(int amount) { 15 | this.amount = amount; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return ToStringBuilder.reflectionToString(this); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/device/RespMsg.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.device; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | /** 8 | * 9 | * @author keungtung. 10 | * created on 10/12/2016 11 | */ 12 | @Data 13 | @EqualsAndHashCode(callSuper = false) 14 | public class RespMsg extends AbstractDeviceBean { 15 | private static final long serialVersionUID = -4241272701707684136L; 16 | 17 | @SerializedName("ret_code") 18 | private Integer retCode; 19 | @SerializedName("error_info") 20 | private String errorInfo; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaOpenSubpackage.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * @author momorans 8 | * @since 2019-03-12 9 | **/ 10 | @Data 11 | @Builder 12 | public class WxMaOpenSubpackage { 13 | /** 14 | * 分包根目录 15 | */ 16 | private String root; 17 | 18 | /** 19 | * 分包别名,分包预下载时可以使用 20 | */ 21 | private String name; 22 | 23 | 24 | /** 25 | * 分包页面路径,相对与分包根目录 26 | */ 27 | private String pages; 28 | 29 | /** 30 | * 分包是否是独立分包 31 | */ 32 | private Boolean independent; 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/coupon/UserExtInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.coupon; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 用户优惠券附加信息 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class UserExtInfo implements Serializable { 16 | 17 | private static final long serialVersionUID = 8304922825230343409L; 18 | /** 优惠券核销时间 */ 19 | @JsonProperty("use_time") 20 | private Long useTime; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/product/SpuCategory.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.product; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 商品类目id 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class SpuCategory implements Serializable { 16 | 17 | private static final long serialVersionUID = -8500610555473351789L; 18 | 19 | /** 类目id */ 20 | @JsonProperty("cat_id") 21 | private String id; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/vip/VipInfoResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.vip; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse; 7 | 8 | /** 9 | * @author : zhenyun.su 10 | * @since : 2023/10/8 11 | */ 12 | 13 | @Data 14 | @NoArgsConstructor 15 | public class VipInfoResponse extends WxChannelBaseResponse { 16 | 17 | private static final long serialVersionUID = -2439510304690862381L; 18 | @JsonProperty("info") 19 | private VipInfo vipInfo; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassVideo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 群发时用到的视频素材 10 | * 11 | * @author chanjarster 12 | */ 13 | @Data 14 | public class WxMpMassVideo implements Serializable { 15 | private static final long serialVersionUID = 9153925016061915637L; 16 | 17 | private String mediaId; 18 | private String title; 19 | private String description; 20 | 21 | public String toJson() { 22 | return WxMpGsonBuilder.create().toJson(this); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/privacy/UploadPrivacyFileResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma.privacy; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import me.chanjar.weixin.open.bean.result.WxOpenResult; 7 | 8 | /** 9 | * 上传小程序用户隐私保护指引文件 响应 10 | * 11 | * @author 广州跨界 12 | */ 13 | @Getter 14 | @Setter 15 | public class UploadPrivacyFileResult extends WxOpenResult { 16 | 17 | /** 18 | * 文件的media_id 19 | */ 20 | @SerializedName("ext_file_media_id") 21 | private String extFileMediaId; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/coupon/WxMinishopCouponStockInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop.coupon; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * 小商店优惠券消耗信息 9 | */ 10 | @Data 11 | public class WxMinishopCouponStockInfo implements Serializable { 12 | private static final long serialVersionUID = 7690057714224606954L; 13 | 14 | /** 15 | * 优惠券发放量 16 | */ 17 | private Integer issuedNum; 18 | 19 | /** 20 | * 优惠券领用量 21 | */ 22 | private Integer receiveNum; 23 | 24 | /** 25 | * 优惠券已用量 26 | */ 27 | private Integer usedNum; 28 | } 29 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishopgoods/ExpressInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishopgoods; 2 | 3 | import com.google.gson.JsonObject; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | @Data 8 | @Accessors(chain = true) 9 | public class ExpressInfo { 10 | /** 11 | * 运费模板ID(先通过获取运费模板接口delivery/get_freight_template拿到) 12 | */ 13 | private Integer templateId; 14 | 15 | 16 | public JsonObject toJsonObject() { 17 | JsonObject jsonObject = new JsonObject(); 18 | jsonObject.addProperty("template_id", templateId); 19 | return jsonObject; 20 | } 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/vip/VipScoreResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.vip; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse; 7 | 8 | /** 9 | * @author : zhenyun.su 10 | * @since : 2023/10/8 11 | */ 12 | 13 | @Data 14 | @NoArgsConstructor 15 | public class VipScoreResponse extends WxChannelBaseResponse { 16 | 17 | private static final long serialVersionUID = -7252972818862693546L; 18 | @JsonProperty("info") 19 | private ScoreInfo scoreInfo; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/request/WxMaShopRegisterApplySceneRequest.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.shop.request; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * @author liming1019 10 | * created on 2021/8/6 11 | */ 12 | @Data 13 | public class WxMaShopRegisterApplySceneRequest implements Serializable { 14 | 15 | private static final long serialVersionUID = -3008686013597621522L; 16 | /** 17 | * 1:视频号、公众号场景 18 | */ 19 | @SerializedName("scene_group_id") 20 | private Long sceneGroupId; 21 | } 22 | 23 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/material/WxMediaImgUploadResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.material; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * @author miller 10 | */ 11 | @Data 12 | public class WxMediaImgUploadResult implements Serializable { 13 | private static final long serialVersionUID = 1996392453428768829L; 14 | private String url; 15 | 16 | public static WxMediaImgUploadResult fromJson(String json) { 17 | return WxMpGsonBuilder.create().fromJson(json, WxMediaImgUploadResult.class); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/enums/UserSignPlanCancelSignTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.payscore.enums; 2 | 3 | /** 4 | * @author UltramanNoa 5 | * @className UserSignPlanCancelSignTypeEnum 6 | * @description 签约计划取消类型 7 | * @createTime 2023/11/3 17:15 8 | **/ 9 | public enum UserSignPlanCancelSignTypeEnum { 10 | /** 11 | * 用户已签约协议未取消 12 | */ 13 | NOT_CANCEL, 14 | 15 | /** 16 | * 用户取消已签约的协议 17 | */ 18 | USER, 19 | 20 | /** 21 | * 商户取消已签约的协议 22 | */ 23 | MERCHANT, 24 | 25 | /** 26 | * 用户解除服务授权时取消服务下的已签约协议 27 | */ 28 | REVOKE_SERVICE, 29 | ; 30 | } 31 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/cp/autoconfigure/WxCpMultiAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.cp.autoconfigure; 2 | 3 | import com.binarywang.spring.starter.wxjava.cp.configuration.WxCpMultiServicesAutoConfiguration; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.context.annotation.Import; 6 | 7 | /** 8 | * 企业微信自动注册 9 | * 10 | * @author yl 11 | * created on 2023/10/16 12 | */ 13 | @Configuration 14 | @Import(WxCpMultiServicesAutoConfiguration.class) 15 | public class WxCpMultiAutoConfiguration { 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/warehouse/WarehouseParam.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.warehouse; 2 | 3 | import com.fasterxml.jackson.annotation.JsonInclude; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 仓库 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | @EqualsAndHashCode(callSuper = true) 16 | @JsonInclude(JsonInclude.Include.NON_NULL) 17 | public class WarehouseParam extends Warehouse { 18 | 19 | private static final long serialVersionUID = -3412047348380785225L; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/control/TemplateTable.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata.control; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.cp.bean.oa.templatedata.TemplateControls; 5 | 6 | import java.io.Serializable; 7 | import java.util.List; 8 | 9 | /** 10 | * The type Template table. 11 | * 12 | * @author gyv12345 @163.com 13 | */ 14 | @Data 15 | public class TemplateTable implements Serializable { 16 | private static final long serialVersionUID = -8181588935694605858L; 17 | 18 | private List children; 19 | 20 | private String[] statField; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/intractiy/WxMaPreAddOrderRequest.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.intractiy; 2 | 3 | import org.apache.commons.lang3.builder.ToStringBuilder; 4 | 5 | public class WxMaPreAddOrderRequest extends BasicWxMaOrder { 6 | private Cargo cargo; 7 | 8 | public Cargo getCargo() { 9 | return cargo; 10 | } 11 | 12 | public void setCargo(Cargo cargo) { 13 | this.cargo = cargo; 14 | } 15 | 16 | public static class Cargo extends BasicWxMaOrder.Cargo {} 17 | 18 | @Override 19 | public String toString() { 20 | return ToStringBuilder.reflectionToString(this); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/product/MinishopShopCat.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.product; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | 7 | /** 8 | * 店铺的商品分类 9 | */ 10 | @Data 11 | public class MinishopShopCat implements Serializable { 12 | private static final long serialVersionUID = 4179473856929659641L; 13 | 14 | @SerializedName("cat_id") 15 | private Integer shopCatId; 16 | 17 | private String shopCatName; 18 | 19 | private Integer fShopCatId; 20 | 21 | @SerializedName("level") 22 | private Integer catLevel; 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-mp/src/test/resources/test-config.sample.xml: -------------------------------------------------------------------------------- 1 | 2 | 公众号appID 3 | 公众号appsecret 4 | 公众号Token 5 | 公众号EncodingAESKey 6 | 可以不填写 7 | 可以不填写 8 | 某个加你公众号的用户的openId 9 | 微信商户平台ID 10 | 商户平台设置的API密钥 11 | 商户平台的证书文件地址 12 | 模版消息的模版ID 13 | 网页授权获取用户信息回调地址 14 | 网页应用授权登陆回调地址 15 | 完整客服账号,格式为:账号前缀@公众号微信号 16 | 17 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/result/WxOpenMaSubmitAuditResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.result; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | /** 8 | * 微信开放平台小程序发布代码审核结果. 9 | * 10 | * @author yqx 11 | * created on 2018/9/12 12 | */ 13 | @Data 14 | @EqualsAndHashCode(callSuper = true) 15 | public class WxOpenMaSubmitAuditResult extends WxOpenResult { 16 | private static final long serialVersionUID = 7431725910039734365L; 17 | 18 | /** 19 | * 审核编号. 20 | */ 21 | @SerializedName("auditid") 22 | Long auditId; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/shoppingOrders/WxOpenShoppingOrdersConfirmResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.shoppingOrders; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | import me.chanjar.weixin.open.bean.result.WxOpenResult; 7 | 8 | @Data 9 | @EqualsAndHashCode(callSuper = true) 10 | public class WxOpenShoppingOrdersConfirmResult extends WxOpenResult { 11 | private static final long serialVersionUID = 8534868743462740891L; 12 | /** 13 | * 最近一次审核的结果 14 | */ 15 | @SerializedName("last_result") 16 | private String lastResult; 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/vip/ScoreInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.vip; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 视频号小店-会员功能 - 订单详情 11 | * 12 | * @author asushiye 13 | * 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | public class ScoreInfo implements Serializable { 18 | 19 | private static final long serialVersionUID = -3290653233070826576L; 20 | /** 积分 */ 21 | @JsonProperty("score") 22 | protected String score; 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/MaAuthResubmitParamAuthData.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.auth; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * 小程序认证 重新提交操作 认证参数 10 | * 11 | * @author 广州跨界 12 | * created on 2024/01/11 13 | */ 14 | @Getter 15 | @Setter 16 | public class MaAuthResubmitParamAuthData extends MaAuthSubmitParamAuthData { 17 | 18 | /** 19 | * 认证任务id 20 | */ 21 | @NotNull 22 | @SerializedName("taskid") 23 | private String taskId; 24 | } 25 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/auth/WxOpenAuthorizationInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.auth; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | /** 9 | * @author 007 10 | */ 11 | @Data 12 | public class WxOpenAuthorizationInfo implements Serializable { 13 | private static final long serialVersionUID = -8713680081354754208L; 14 | 15 | private String authorizerAppid; 16 | private String authorizerAccessToken; 17 | private int expiresIn; 18 | private String authorizerRefreshToken; 19 | private List funcInfo; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/enums/SpAccountTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.ecommerce.enums; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * 服务商账户类型 8 | * 9 | * @author f00lish 10 | * created on 2020/09/12 11 | */ 12 | @Getter 13 | @AllArgsConstructor 14 | public enum SpAccountTypeEnum { 15 | 16 | /** 17 | * 基本账户 18 | */ 19 | BASIC("BASIC"), 20 | /** 21 | * 运营账户 22 | */ 23 | OPERATION("OPERATION"), 24 | /** 25 | * 手续费账户 26 | */ 27 | FEES("FEES"); 28 | 29 | /** 30 | * 账户类型 31 | */ 32 | private final String value; 33 | } 34 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/test/resources/test-config.sample.xml: -------------------------------------------------------------------------------- 1 | 2 | 公众号appID 3 | 公众号appsecret 4 | 公众号Token 5 | 公众号EncodingAESKey 6 | 可以不填写 7 | 可以不填写 8 | 某个加你公众号的用户的openId 9 | 微信商户平台ID 10 | 商户平台设置的API密钥 11 | 商户平台的证书文件地址 12 | 模版消息的模版ID 13 | 网页授权获取用户信息回调地址 14 | 网页应用授权登陆回调地址 15 | 完整客服账号,格式为:账号前缀@公众号微信号 16 | 17 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-cp-tp-multi-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/cp/autoconfigure/WxCpTpMultiAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.cp.autoconfigure; 2 | 3 | import com.binarywang.spring.starter.wxjava.cp.configuration.WxCpTpMultiServicesAutoConfiguration; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.context.annotation.Import; 6 | 7 | /** 8 | * 企业微信自动注册 9 | * 10 | * @author yl 11 | * created on 2023/10/16 12 | */ 13 | @Configuration 14 | @Import(WxCpTpMultiServicesAutoConfiguration.class) 15 | public class WxCpTpMultiAutoConfiguration { 16 | } 17 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/File.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.msg; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * The type File. 11 | * 12 | * @author Binary Wang created on 2021-08-23 13 | */ 14 | @Data 15 | @Accessors(chain = true) 16 | public class File implements Serializable { 17 | private static final long serialVersionUID = 2794189478198329090L; 18 | 19 | @SerializedName("media_id") 20 | private String mediaId; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/impl/WxMaRedisConnectionConfigImpl.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.config.impl; 2 | 3 | import lombok.RequiredArgsConstructor; 4 | import redis.clients.jedis.Jedis; 5 | 6 | /** 7 | * 基于Redis的微信配置provider. 使用自己管理的 Jedis 实例进行 Redis 操作。 8 | * 9 | *
10 |  * 需要引入依赖jedis-lock,才能使用该类。
11 |  * 
12 | */ 13 | @RequiredArgsConstructor 14 | public class WxMaRedisConnectionConfigImpl extends AbstractWxMaRedisConfig { 15 | private final Jedis jedis; 16 | 17 | @Override 18 | protected Jedis getJedis() { 19 | return jedis; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/shoppingOrders/WxOpenShoppingInfoVerifyUploadResult.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.shoppingOrders; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | import me.chanjar.weixin.open.bean.result.WxOpenResult; 7 | 8 | @Data 9 | @EqualsAndHashCode(callSuper = true) 10 | public class WxOpenShoppingInfoVerifyUploadResult extends WxOpenResult { 11 | 12 | private static final long serialVersionUID = -3223834939130803964L; 13 | /** 14 | * 验证结果 15 | */ 16 | @SerializedName("verify_result") 17 | private String verifyResult; 18 | } 19 | -------------------------------------------------------------------------------- /solon-plugins/wx-java-mp-solon-plugin/src/main/java/com/binarywang/solon/wxjava/mp/properties/HostConfig.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.solon.wxjava.mp.properties; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class HostConfig implements Serializable { 9 | 10 | private static final long serialVersionUID = -4172767630740346001L; 11 | 12 | /** 13 | * 对应于:https://api.weixin.qq.com 14 | */ 15 | private String apiHost; 16 | 17 | /** 18 | * 对应于:https://open.weixin.qq.com 19 | */ 20 | private String openHost; 21 | 22 | /** 23 | * 对应于:https://mp.weixin.qq.com 24 | */ 25 | private String mpHost; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/order/FreeGiftInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.order; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | import java.util.List; 9 | 10 | /** 11 | * 赠品信息 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class FreeGiftInfo implements Serializable { 16 | 17 | private static final long serialVersionUID = 2024061212345678901L; 18 | 19 | /** 20 | * 赠品对应的主品信息 21 | */ 22 | @JsonProperty("main_product_list") 23 | private List mainProductList; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/order/QualityInsepctInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.order; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 质检信息 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class QualityInsepctInfo implements Serializable { 16 | 17 | private static final long serialVersionUID = 8109819414306253475L; 18 | 19 | /** 质检状态 */ 20 | @JsonProperty("inspect_status") 21 | private Integer inspectStatus; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/vip/UserInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.vip; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 视频号小店-会员功能 - 订单详情 11 | * 12 | * @author asushiye 13 | * 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | public class UserInfo implements Serializable { 18 | 19 | private static final long serialVersionUID = 8523354700203385190L; 20 | /** 手机号 */ 21 | @JsonProperty("phone_number") 22 | protected String phoneNumber; 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/kf/msg/WxCpKfTextMsg.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.kf.msg; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * The type Wx cp kf text msg. 9 | * 10 | * @author leiin created on 2022/1/26 5:30 下午 11 | */ 12 | @NoArgsConstructor 13 | @Data 14 | public class WxCpKfTextMsg { 15 | 16 | /** 17 | *
18 |    *   参数:content
19 |    *   是否必须:是
20 |    *   类型:string
21 |    *   说明:消息内容,最长不超过2048个字节
22 |    * 
23 | */ 24 | private String content; 25 | @SerializedName("menu_id") 26 | private String menuId; 27 | } 28 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaOrderShippingInfoGetResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.shop.response; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * @author xzh 10 | * created on 2023/5/17 17:01 11 | */ 12 | @Data 13 | public class WxMaOrderShippingInfoGetResponse extends WxMaOrderShippingInfoBaseResponse implements Serializable { 14 | private static final long serialVersionUID = -5414031943436195493L; 15 | 16 | /** 17 | * 支付单信息 18 | */ 19 | @SerializedName("order") 20 | private Order order; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/test/AddOrderJsonTest.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.test; 2 | 3 | import cn.binarywang.wx.miniapp.bean.delivery.AddOrderRequest; 4 | import me.chanjar.weixin.common.util.json.WxGsonBuilder; 5 | import org.testng.annotations.Test; 6 | 7 | public class AddOrderJsonTest { 8 | 9 | /** 10 | * 验证转化Json时是否有deliverySign 11 | */ 12 | @Test 13 | public void test(){ 14 | AddOrderRequest request = new AddOrderRequest(); 15 | request.setShopId("1"); 16 | request.setAppSecret("2"); 17 | request.getDeliverySign(); 18 | System.out.printf(WxGsonBuilder.create().toJson(request)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/device/WxDeviceBind.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.device; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | /** 8 | * @author keungtung. 9 | * created on 10/12/2016 10 | */ 11 | @Data 12 | @EqualsAndHashCode(callSuper = false) 13 | public class WxDeviceBind extends AbstractDeviceBean { 14 | private static final long serialVersionUID = 467559769037590880L; 15 | 16 | private String ticket; 17 | @SerializedName("device_id") 18 | private String deviceId; 19 | @SerializedName("openid") 20 | private String openId; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/invoice/merchant/MerchantContactInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.invoice.merchant; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 商户联系信息 10 | * 11 | * @author Mario Luo 12 | */ 13 | @Data 14 | public class MerchantContactInfo implements Serializable { 15 | private static final long serialVersionUID = -2008465944249686100L; 16 | 17 | /** 18 | * 联系电话 19 | */ 20 | private String phone; 21 | 22 | /** 23 | * 开票超时时间 24 | */ 25 | @SerializedName("time_out") 26 | private Integer timeout; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/WxMpConfigStorageHolder.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.util; 2 | 3 | /** 4 | * @author yd 5 | * created on 2019-03-20 22:06 6 | */ 7 | public class WxMpConfigStorageHolder { 8 | private static final ThreadLocal THREAD_LOCAL = ThreadLocal.withInitial(() -> "default"); 9 | 10 | public static String get() { 11 | return THREAD_LOCAL.get(); 12 | } 13 | 14 | public static void set(String label) { 15 | THREAD_LOCAL.set(label); 16 | } 17 | 18 | /** 19 | * 此方法需要用户根据自己程序代码,在适当位置手动触发调用,本SDK里无法判断调用时机 20 | */ 21 | public static void remove() { 22 | THREAD_LOCAL.remove(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/enums/FundBillTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.ecommerce.enums; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * 账单类型 8 | * 9 | * @author f00lish 10 | * created on 2020/09/28 11 | */ 12 | @Getter 13 | @AllArgsConstructor 14 | public enum FundBillTypeEnum { 15 | 16 | /** 17 | * 资金账单 18 | */ 19 | FUND_FLOW_BILL("%s/v3/bill/fundflowbill?%s"), 20 | /** 21 | * 二级商户资金账单 22 | */ 23 | SUB_FUND_FLOW_BILL("%s/v3/ecommerce/bill/fundflowbill?%s"); 24 | 25 | /** 26 | * url 27 | */ 28 | private final String url; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/marketing/enums/StockTypeEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.marketing.enums; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * 批次类型 8 | * 9 | * @author yujam 10 | */ 11 | @Getter 12 | @AllArgsConstructor 13 | public enum StockTypeEnum { 14 | 15 | /** 16 | * NORMAL:固定面额满减券批次 17 | */ 18 | NORMAL("NORMAL"), 19 | 20 | /** 21 | * DISCOUNT:折扣券批次 22 | */ 23 | DISCOUNT("DISCOUNT"), 24 | 25 | /** 26 | * EXCHANGE:换购券批次 27 | */ 28 | EXCHANGE("EXCHANGE"); 29 | 30 | /** 31 | * 批次类型 32 | */ 33 | private final String value; 34 | } 35 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/msg/Video.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.external.msg; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.experimental.Accessors; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 视频消息 11 | * 12 | * @author pg created on 2021-6-21 13 | */ 14 | @Data 15 | @Accessors(chain = true) 16 | public class Video implements Serializable { 17 | private static final long serialVersionUID = -6048642921382867138L; 18 | @SerializedName("media_id") 19 | private String mediaId; 20 | @SerializedName("thumb_media_id") 21 | private String thumbMediaId; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/WxCpApprovalApplier.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 申请人信息 11 | * 12 | * @author element 13 | */ 14 | @Data 15 | @EqualsAndHashCode(callSuper = true) 16 | public class WxCpApprovalApplier extends WxCpOperator implements Serializable { 17 | 18 | private static final long serialVersionUID = -8974662568286821271L; 19 | 20 | /** 21 | * 申请人所在部门id 22 | */ 23 | @SerializedName("partyid") 24 | private String partyId; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/PayInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card; 2 | 3 | import java.io.Serializable; 4 | 5 | import com.google.gson.annotations.SerializedName; 6 | import lombok.Data; 7 | import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; 8 | 9 | /** 10 | * 支付功能. 11 | * @author yuanqixun 12 | * date:2018-08-25 00:33 13 | */ 14 | @Data 15 | public class PayInfo implements Serializable { 16 | 17 | /** 18 | * 刷卡功能 19 | */ 20 | @SerializedName("swipe_card") 21 | private SwipeCard swipeCard; 22 | 23 | @Override 24 | public String toString() { 25 | return WxMpGsonBuilder.create().toJson(this); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaOpenPage.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * @author yqx 9 | * created on 2018/9/13 10 | */ 11 | @Data 12 | public class WxMaOpenPage implements Serializable { 13 | private String navigationBarBackgroundColor; 14 | private String navigationBarTextStyle; 15 | private String navigationBarTitleText; 16 | private String backgroundColor; 17 | private String backgroundTextStyle; 18 | private Boolean enablePullDownRefresh; 19 | private Integer onReachBottomDistance; 20 | private Boolean disableScroll; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/error/WxRuntimeException.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.error; 2 | 3 | /** 4 | * WxJava专用的runtime exception. 5 | * 6 | * @author Binary Wang 7 | * created on 2020-09-26 8 | */ 9 | public class WxRuntimeException extends RuntimeException { 10 | private static final long serialVersionUID = 4881698471192264412L; 11 | 12 | public WxRuntimeException(Throwable e) { 13 | super(e); 14 | } 15 | 16 | public WxRuntimeException(String msg) { 17 | super(msg); 18 | } 19 | 20 | public WxRuntimeException(String msg, Throwable e) { 21 | super(msg, e); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/apache/ByteArrayResponseHandler.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.common.util.http.apache; 2 | 3 | import org.apache.http.HttpEntity; 4 | import org.apache.http.impl.client.AbstractResponseHandler; 5 | import org.apache.http.util.EntityUtils; 6 | 7 | import java.io.IOException; 8 | 9 | public class ByteArrayResponseHandler extends AbstractResponseHandler { 10 | 11 | public static final ByteArrayResponseHandler INSTANCE = new ByteArrayResponseHandler(); 12 | 13 | @Override 14 | public byte[] handleEntity(HttpEntity entity) throws IOException { 15 | return EntityUtils.toByteArray(entity); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/kf/WxCpKfAccountDel.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.kf; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 删除客服帐号-请求参数 11 | * 12 | * @author Fu created on 2022/1/19 19:09 13 | */ 14 | @NoArgsConstructor 15 | @Data 16 | public class WxCpKfAccountDel implements Serializable { 17 | 18 | private static final long serialVersionUID = 1997221467585676772L; 19 | 20 | /** 21 | * 客服帐号ID。 22 | * 不多于64字节 23 | */ 24 | @SerializedName("open_kfid") 25 | private String openKfid; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/ApiTestModuleWithMockServer.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.api; 2 | 3 | import com.google.inject.Binder; 4 | 5 | /** 6 | * 带mock server 的test module. 7 | * 8 | * @author Binary Wang created on 2020-08-30 9 | */ 10 | public class ApiTestModuleWithMockServer extends ApiTestModule { 11 | /** 12 | * The constant mockServerPort. 13 | */ 14 | public static final int mockServerPort = 8080; 15 | 16 | @Override 17 | public void configure(Binder binder) { 18 | super.configure(binder); 19 | super.config.setBaseApiUrl("http://localhost:" + mockServerPort); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/corpgroup/WxCpCorpGroupCorpGetTokenReq.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.corpgroup; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 获取下级/下游企业的access_token 10 | * @author libo 11 | */ 12 | @Data 13 | public class WxCpCorpGroupCorpGetTokenReq implements Serializable { 14 | private static final long serialVersionUID = -1876754768932436524L; 15 | @SerializedName("corpid") 16 | private String corpId; 17 | @SerializedName("business_type") 18 | private int businessType; 19 | @SerializedName("agentid") 20 | private int agentId; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/invoice/reimburse/InvoiceCommodityInfo.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.invoice.reimburse; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | *
 7 |  * 发票商品信息
 8 |  * 
9 | * @author xiaoyu 10 | * @since 2021-03-23 11 | */ 12 | @Data 13 | public class InvoiceCommodityInfo { 14 | 15 | /** 16 | * 项目(商品)名称 17 | */ 18 | private String name; 19 | 20 | /** 21 | * 项目数量 22 | */ 23 | private Integer num; 24 | 25 | /** 26 | * 项目单位 27 | */ 28 | private String unit; 29 | 30 | /** 31 | * 单价,以分为单位 32 | */ 33 | private Integer price; 34 | } 35 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/ma/WxMaPrefetchDomain.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.ma; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | import java.util.List; 8 | 9 | /** 10 | * @author 清心 11 | * create on 2022-10-01 18:07 12 | */ 13 | @Data 14 | public class WxMaPrefetchDomain implements Serializable { 15 | private static final long serialVersionUID = 1593947263587362155L; 16 | 17 | @SerializedName("prefetch_dns_domain") 18 | private List prefetchDnsDomain; 19 | 20 | @Data 21 | public static class DnsDomain { 22 | private String url; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/enums/SignPlanServiceOrderStateEnum.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.payscore.enums; 2 | 3 | /** 4 | * @author UltramanNoa 5 | * @className SignPlanServiceOrderStateEnum 6 | * @description 签约计划服务订单状态 7 | * @createTime 2023/11/3 15:28 8 | **/ 9 | public enum SignPlanServiceOrderStateEnum { 10 | 11 | /** 12 | * 商户已创建服务订单 13 | */ 14 | CREATED, 15 | 16 | /** 17 | * 服务订单进行中 18 | */ 19 | DOING, 20 | 21 | /** 22 | * 服务订单完成 23 | */ 24 | DONE, 25 | 26 | /** 27 | * 商户取消服务订单 28 | */ 29 | REVOKED, 30 | 31 | /** 32 | * 服务订单已失效 33 | */ 34 | EXPIRED, 35 | ; 36 | } 37 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/audit/CatsV2.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.audit; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import java.io.Serializable; 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | /** 10 | * 新类目树类目ID 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class CatsV2 implements Serializable { 17 | private static final long serialVersionUID = -2484092110142035589L; 18 | 19 | /** 新类目树类目ID */ 20 | @JsonProperty("cat_id") 21 | private String catId; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/home/tree/LevelTreeInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.home.tree; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import java.io.Serializable; 5 | import java.util.List; 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | 10 | /** 11 | * 分类信息 12 | * 13 | * @author Zeyes 14 | */ 15 | @Data 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | public class LevelTreeInfo implements Serializable { 19 | 20 | /** 一级分类 */ 21 | @JsonProperty("level_1") 22 | private List level1; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/home/tree/TreeShowGetResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.home.tree; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | import lombok.NoArgsConstructor; 7 | import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse; 8 | 9 | /** 10 | * @author Zeyes 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | @EqualsAndHashCode(callSuper = true) 15 | public class TreeShowGetResponse extends WxChannelBaseResponse { 16 | 17 | /** resp */ 18 | @JsonProperty("resp") 19 | private TreeShowInfo resp; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/home/tree/TreeShowSetResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.home.tree; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | import lombok.NoArgsConstructor; 7 | import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse; 8 | 9 | /** 10 | * @author Zeyes 11 | */ 12 | @Data 13 | @NoArgsConstructor 14 | @EqualsAndHashCode(callSuper = true) 15 | public class TreeShowSetResponse extends WxChannelBaseResponse { 16 | 17 | /** resp */ 18 | @JsonProperty("resp") 19 | private TreeAuditResult resp; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/order/OrderRefundInfo.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.order; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import java.io.Serializable; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | /** 9 | * 订单退款信息 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class OrderRefundInfo implements Serializable { 16 | private static final long serialVersionUID = -7257910073388645919L; 17 | 18 | /** 退还运费金额,礼物订单(is_present=true)可能存在 */ 19 | @JsonProperty("refund_freight") 20 | private Integer refundFreight; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/oa/templatedata/control/TemplateSelector.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.cp.bean.oa.templatedata.control; 2 | 3 | import lombok.Data; 4 | import me.chanjar.weixin.cp.bean.oa.templatedata.TemplateOptions; 5 | 6 | import java.io.Serializable; 7 | import java.util.List; 8 | 9 | /** 10 | * The type Template selector. 11 | * 12 | * @author gyv12345 @163.com 13 | */ 14 | @Data 15 | public class TemplateSelector implements Serializable { 16 | private static final long serialVersionUID = 4995408101489736881L; 17 | /** 18 | * single-单选;multi-多选 19 | */ 20 | private String type; 21 | 22 | private List options; 23 | } 24 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/order/WxMaOrderManagementGetOrderDetailPath.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.order; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | /** 8 | * @author xzh 9 | * @Description 10 | * @createTime 2025/01/16 15:27 11 | */ 12 | @EqualsAndHashCode(callSuper = true) 13 | @Data 14 | public class WxMaOrderManagementGetOrderDetailPath extends WxMaOrderManagementResult { 15 | private static final long serialVersionUID = -5288666524298706169L; 16 | 17 | /** 18 | * 订单详情路径 19 | */ 20 | @SerializedName("path") 21 | private String path; 22 | } 23 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopAuditBrandResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.shop.response; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * @author liming1019 11 | * created on 2021/8/12 12 | */ 13 | @Data 14 | @EqualsAndHashCode(callSuper = true) 15 | public class WxMaShopAuditBrandResponse extends WxMaShopBaseResponse implements Serializable { 16 | private static final long serialVersionUID = -4643316662725276237L; 17 | 18 | @SerializedName("audit_id") 19 | private String auditId; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-qidian/src/main/java/me/chanjar/weixin/qidian/util/WxQidianConfigStorageHolder.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.qidian.util; 2 | 3 | /** 4 | * @author alegria 5 | * created on 2020年12月26日 6 | */ 7 | public class WxQidianConfigStorageHolder { 8 | private static final ThreadLocal THREAD_LOCAL = ThreadLocal.withInitial(() -> "default"); 9 | 10 | public static String get() { 11 | return THREAD_LOCAL.get(); 12 | } 13 | 14 | public static void set(String label) { 15 | THREAD_LOCAL.set(label); 16 | } 17 | 18 | /** 19 | * 此方法需要用户根据自己程序代码,在适当位置手动触发调用,本SDK里无法判断调用时机 20 | */ 21 | public static void remove() { 22 | THREAD_LOCAL.remove(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug报告 3 | about: 本项目仅对最新版本进行维护,使用老版本出现问题的盆友,请先升级到最新版本,升级完后如果发现bug依然存在,请继续填写此issue。 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | # 提问前,请确保阅读过项目首页说明以及wiki开发文档相关内容,尤其是常见问题部分。完成内容后,请务必移除包括本句在内的无用内容,以免影响阅读,否则直接关闭,谢谢合作~ 11 | 12 | ## 另外如果确认属于bug,而且已明确如何修复,请参考贡献指南直接提交PR,省的浪费时间在这里描述问题,非常感谢配合 13 | 14 | ### 简要描述 15 | __请简单概括描述下你所遇到的问题。__ 16 | 17 | ### 模块版本情况 18 | * WxJava 模块名: 19 | * WxJava 版本号:(旧版本不予支持,谢谢配合) 20 | 21 | ### 详细描述 22 | __尽量详细描述。请不要使用截图,尽量使用文字描述,代码直接贴上来,日志则请附在后面所示区域。__ 23 | 24 | ### 日志 25 | __如果日志不多,直接使用md代码引用格式贴在此处,否则如果太长,请将日志放在 [pastebin](https://paste.ubuntu.com/) 或者其他地方,然后将其url地址贴在这里__ 26 | ``` 27 | 日志请写于此处 28 | ``` 29 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/live/dashboard/DataNode.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.live.dashboard; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * 统计数值 11 | * 12 | * @author Winnie 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | public class DataNode implements Serializable { 17 | 18 | private static final long serialVersionUID = 3192158546911682577L; 19 | 20 | /** 21 | * 统计数值维度指标 22 | */ 23 | @JsonProperty("fields") 24 | private Fields fields; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/warehouse/WarehouseResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.channel.bean.warehouse; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse; 7 | 8 | /** 9 | * 仓库响应 10 | * 11 | * @author Zeyes 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | public class WarehouseResponse extends WxChannelBaseResponse { 16 | 17 | private static final long serialVersionUID = 3206095869486573824L; 18 | /** 仓库库存 */ 19 | @JsonProperty("data") 20 | private Warehouse data; 21 | } 22 | -------------------------------------------------------------------------------- /weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopAuditCategoryResponse.java: -------------------------------------------------------------------------------- 1 | package cn.binarywang.wx.miniapp.bean.shop.response; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | import java.io.Serializable; 8 | 9 | /** 10 | * @author liming1019 11 | * created on 2021/8/12 12 | */ 13 | @Data 14 | @EqualsAndHashCode(callSuper = true) 15 | public class WxMaShopAuditCategoryResponse extends WxMaShopBaseResponse implements Serializable { 16 | private static final long serialVersionUID = -1822188134865177738L; 17 | 18 | @SerializedName("audit_id") 19 | private String auditId; 20 | } 21 | -------------------------------------------------------------------------------- /weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/Card.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.mp.bean.card; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * . 10 | * @author leeis 11 | * created on 2018/12/29 12 | */ 13 | @Data 14 | public class Card implements Serializable { 15 | private static final long serialVersionUID = -3697110761983756780L; 16 | 17 | /** 18 | * 基本信息. 19 | */ 20 | @SerializedName("base_info") 21 | private BaseInfo baseInfo; 22 | 23 | /** 24 | * 创建优惠券特有的高级字段. 25 | */ 26 | @SerializedName("advanced_info") 27 | private AdvancedInfo advancedInfo; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/minishop/coupon/WxMinishopCouponResponse.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.weixin.open.bean.minishop.coupon; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | /** 9 | * 小商店优惠券请求回复数据信息 10 | */ 11 | @Data 12 | public class WxMinishopCouponResponse implements Serializable { 13 | private static final long serialVersionUID = 1579611003616556089L; 14 | 15 | /** 16 | * 错误码 17 | */ 18 | private Integer errcode; 19 | 20 | /** 21 | * 错误信息 22 | */ 23 | private String errmsg; 24 | 25 | /** 26 | * 优惠券信息 27 | */ 28 | private List coupons; 29 | 30 | 31 | } 32 | -------------------------------------------------------------------------------- /weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/notify/WxPayBaseNotifyV3Result.java: -------------------------------------------------------------------------------- 1 | package com.github.binarywang.wxpay.bean.notify; 2 | 3 | /** 4 | * 微信支付公用回调 5 | * 6 | * @author Pursuer 7 | * @version 1.0 8 | * @date 2023/6/15 9 | */ 10 | public interface WxPayBaseNotifyV3Result { 11 | /** 12 | * 设置原始数据 13 | * 14 | * @param rawData 原始数据 15 | * @author Pursuer 16 | * @date 2023/6/15 17 | * @since 1.0 18 | **/ 19 | void setRawData(OriginNotifyResponse rawData); 20 | 21 | /** 22 | * 解密后的数据 23 | * 24 | * @param data 解密后的数据 25 | * @author Pursuer 26 | * @date 2023/6/15 27 | * @since 1.0 28 | **/ 29 | void setResult(T data); 30 | } 31 | -------------------------------------------------------------------------------- /spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/HostConfig.java: -------------------------------------------------------------------------------- 1 | package com.binarywang.spring.starter.wxjava.mp.properties; 2 | 3 | import lombok.Data; 4 | 5 | import java.io.Serializable; 6 | 7 | @Data 8 | public class HostConfig implements Serializable { 9 | 10 | private static final long serialVersionUID = -4172767630740346001L; 11 | 12 | /** 13 | * 对应于:https://api.weixin.qq.com 14 | */ 15 | private String apiHost; 16 | 17 | /** 18 | * 对应于:https://open.weixin.qq.com 19 | */ 20 | private String openHost; 21 | 22 | /** 23 | * 对应于:https://mp.weixin.qq.com 24 | */ 25 | private String mpHost; 26 | 27 | } 28 | --------------------------------------------------------------------------------