Compare commits

...

2423 Commits
v2.6.0 ... main

Author SHA1 Message Date
b4c3fef78c 暂时对不对 GPG 签名 2025-04-03 14:14:27 -04:00
019379f729 OSS-258 remove the commit with key and code 2023-06-14 16:29:53 -04:00
1a52833467 OSS-258 创建一个 Builder 对象,用来在测试中进行 Builder https://www.ossez.com/t/api/14400/2 2023-06-14 16:11:10 -04:00
77bea77f4e OSS-258 创建一个 Builder 对象,用来在测试中进行 Builder https://www.ossez.com/t/api/14400/2 2023-04-25 14:13:50 -04:00
4f5f90298d OSS-258 添加菜单处理服务 2023-04-25 13:23:36 -04:00
003cdd18f4 OSS-258 测试菜单 API 2023-04-25 13:23:03 -04:00
f863a25498 OSS-257 定义微信图文信息状态的数据返回接口
官方网站文档链接地址为:https://developers.weixin.qq.com/doc/offiaccount/Analytics/Graphic_Analysis_Data_Interface.html
2023-04-24 16:35:20 -04:00
66ccf11560 OSS-256 创建获取累计用户数据的方法。
需要注意的是,这里有一个时间跨度的问题,最多只能获取 7 天的数据。
2023-04-24 16:12:38 -04:00
5603ae28db OSS-256 创建 2 个新的对象和一个服务,这个服务用来处理数据相关的 API
用户分析返回的类型和结果为:https://www.ossez.com/t/topic/14398
2023-04-24 12:17:59 -04:00
d0dd1b82d7 OSS-255 格式化代码,删除不需要的引用 2023-04-24 09:22:49 -04:00
9446b1a636 OSS-255 更新 DI 的使用 2023-04-23 15:22:26 -04:00
e92e97ca11 OSS-255 格式化代码并且使用 Junit 5 的测试类 https://bug.ossez.com/browse/OSS-255 2023-04-23 15:13:04 -04:00
bce4e5a324 OSS-255 格式化代码并且使用 Junit 5 的测试类 https://bug.ossez.com/browse/OSS-255 2023-04-23 15:12:57 -04:00
03c5092164 OSS-255 更新测试使用 JUnit 5 2023-04-23 15:11:48 -04:00
9124457533 OSS-254 测试微信的消息发送 2023-04-19 22:06:03 -04:00
d217b67cf6 constant Change the name to MsgType 2023-04-19 09:27:45 -04:00
3e617b3a4c constant to update the WeChatConstant 2023-04-19 09:22:52 -04:00
bb3b148de4 Update Object to remove data from lombook 2023-04-19 08:52:39 -04:00
927361987f 更新客服信息 2023-04-19 08:48:29 -04:00
68bc4e84b4 格式化 Pom 文件 2023-04-19 08:43:29 -04:00
44208b4fab USVT-138 Change token for GPT 2023-03-22 13:17:01 -04:00
57079fecfd USVT-138 返回对象使用微信状态对象 2023-03-07 13:33:38 -05:00
f16561c82a USVT-138 针对微信返回的状态,我们提供一个状态对象 2023-03-07 13:20:19 -05:00
fba63df660 USVT-136 使用微信异步消息的策略来发布消息 2023-02-13 00:38:08 -05:00
5c1aef79c8 USVT-136 添加一个消息处理类,在这个消息处理类中为微信进行异步消息处理 2023-02-12 09:36:21 -05:00
aa235ae02f WeChat Official Account Platform related Service to process Platform related service 2023-02-09 12:44:47 -05:00
53bed19f45 USVT-135 设置超时时间为 15 秒,并且对代码进行格式化 2023-02-09 12:32:18 -05:00
75003069f9 接口的代码格式化 2023-02-09 11:22:27 -05:00
670766282a 配置使用不同的 Open ID 代码 2023-02-08 11:34:16 -05:00
706a42f7b2 配置 WeChat 的包的内容,尝试从 WeChat 包中调用需要的数据 2023-02-06 09:17:12 -05:00
3bdd0a99fa 针对公众号的登录程序,我们调整 Open 中的内容 2023-02-06 09:14:27 -05:00
34d1d5db58 create a wechat response object 2023-02-02 08:57:32 -05:00
c881e857ae Update logic by use retrofit2 package send request 2023-02-01 07:07:28 -05:00
f676c1239d 调用腾讯网络检测 API 2023-01-31 06:07:20 -05:00
4fa242751e 使用平台服务文件提供平台需要的相关服务 2023-01-31 06:02:07 -05:00
45010d1575 添加微信使用的第二个 API,获取微信服务器地址 2023-01-30 06:01:42 -05:00
21a71adba8 清理使用 httpClient 的实现,我们只会使用 okHttp 来实现所有的 HTTP 请求 2023-01-29 17:29:34 -05:00
1822d39c12 微信主机配置对象移动到 Common 模块中 2023-01-29 16:52:32 -05:00
e69e7edd02 移动微信常量到 Common 包中 2023-01-29 16:52:00 -05:00
faeb62abd8 修改拦截器中数据读取的方式,解决被拦截器拦截后的读取错误:https://www.ossez.com/t/okhttp-interceptor-close/14307 2023-01-29 08:41:02 -05:00
84acfa03f7 更新微信卡券的枚举类型 2023-01-27 05:43:34 -05:00
5dd10f3adc 微信公众号事件的常量类型移动到 Common 中 2023-01-26 14:16:32 -05:00
51185a972c 微信 API 可以支持的语言类型 2023-01-26 14:13:49 -05:00
9ba61c9f9b 修改代码,清理 lombok 在类中错误 2023-01-26 14:07:10 -05:00
29cccd94b2 不清楚为什么可以用 Apache 的随机字符串生成类还要自己写一个,直接使用 Apache 的字符串生成类 2023-01-26 14:01:54 -05:00
b8d15f0124 重命名腾讯企点的项目结构 2023-01-26 13:51:36 -05:00
d629d61250 针对腾讯企业账号的自述文件 2023-01-26 13:47:17 -05:00
704a41b1e2 把腾讯企点的 API 信息全部合并过来。 2023-01-26 13:46:58 -05:00
0a21e62667 处理加密解密包的问题,尽量避免直接调用 JDK 中保护的类。 2023-01-26 12:56:10 -05:00
e4f18688e1 添加 wecom 项目到整个库中 2023-01-26 12:42:49 -05:00
fd98fad567 微信支付的所有模块进行 Package 的重命名,删除不需要的模块 2023-01-26 07:35:47 -05:00
6a20373254 添加自述文件 2023-01-25 22:58:27 -05:00
c6a20f1a72 把微信支付的博客合并进项目 2023-01-25 22:58:10 -05:00
3655e95a67 删除并不需要的 jedisPool 实现 2023-01-25 20:31:14 -05:00
09684077ea 修改微信的配置文件路径,我们只提供 2 种存储方式内存和 Redis 2023-01-24 12:46:01 -05:00
843193024c 更新项目常量,同时修改使用 RxJava 2023-01-23 19:52:29 -05:00
5d906b1fba 修改方法为同步方法,以保障线程安全 2023-01-23 18:44:42 -05:00
2081e708a8 添加 .addInterceptor(new WeChatErrorInterceptor()) 进行全局错误处理 2023-01-23 18:43:45 -05:00
6a8bde04be WeChatErrorInterceptor 用于处理微信 API 返回的时候给出的代码是 200 ,但是实际上的错误原因和代码是在返回 Body 里面。
为了方便我们进行调用,我们在这里把调用返回使用 400 来表示错误代码,以便于在调用 Client 中进行捕获。
2023-01-23 18:42:27 -05:00
c59e8740d6 微信错误代码的枚举类型,集中到一个文件中 2023-01-23 18:32:27 -05:00
2836428f68 把微信使用的常量统一集中进行配置 2023-01-23 18:31:41 -05:00
54d4e054e6 HttpClientMediaType 定义我们在 Http 请求时候需要使用的访问媒体类型 2023-01-23 18:28:01 -05:00
b5c654d3fc 更新使用 Retrofit 的 RxJava 方式来调用获得访问腾讯 API 需要的 access token 2023-01-23 08:06:04 -05:00
ddf6d80599 更新自述文件,老的代码中使用了 Lock 来进行线程同步,我们希望删除这个功能。 2023-01-23 07:57:05 -05:00
5c23311d69 把 Jackson 的依赖移动到父项目中 2023-01-22 09:12:24 -05:00
f0c1ea178b 把微信使用的 Access Token 对象放到 model 目录下
尽量删除使用的 lombok,不在包中使用 lombok

更新测试
2023-01-22 08:26:24 -05:00
89cf809f5f 更新自述文件中有关 Demo 的链接。
https://www.ossez.com/t/wechat-j-demo/14303

同时删除 demo.md 文件。
2023-01-21 18:27:18 -05:00
7e20e4a59a 更新许可证信息 2023-01-21 18:16:19 -05:00
081e0b7e6e 更新自述文件,[Retrofit 是什么](https://www.ossez.com/t/retrofit/14302) 2023-01-21 18:15:58 -05:00
e1cf8088be 更新使用 okHTTP 2023-01-21 18:07:11 -05:00
73c2a89f70 修改 Okhttp 的调用方式 2023-01-20 14:31:11 -05:00
79b5a11a9e WeChat-J 更新项目删除不需要的 HTTP 客户端 2023-01-19 12:29:30 -05:00
ad67ed3441 针对微信开放平台,修改包的名字 2023-01-11 15:39:35 -05:00
6ba6e1829f 针对微信开放平台,修改包的名字 2023-01-11 15:36:16 -05:00
677e796990 针对微信公众号,修改配置的包的名字 2023-01-11 15:32:34 -05:00
05b85efc0f 更新包的名字 2023-01-11 15:17:54 -05:00
c8cc611085 删除无效的图片文件 2023-01-11 09:53:21 -05:00
8edbe341ed 因为我们使用 Jenkins 来做持续集成的,因此我们不需要其他的集成文件 2023-01-11 09:48:18 -05:00
4812dc26dc 删除代码规范 2023-01-11 09:45:33 -05:00
38faf619a9 针对公众号添加为子模块 2023-01-11 09:43:36 -05:00
a8fe23030f 删除无效的许可证信息,并把公众号的内容独立出来. 2023-01-11 09:43:16 -05:00
Binary Wang
112f7c100e 🔖 发布 4.4.8.B 测试版本 2022-12-07 23:50:17 +08:00
大林哥
abae2cfce9 🎨 【企业微信】微信客服消息增加视频号商品和订单消息类型 2023-01-10 13:27:56 +00:00
Binary Wang
6ccbf900db 🎨 优化部分代码 2023-01-10 14:37:59 +08:00
wangmeng3486
64e29af498
🐛 #2908 【企业微信】修复用户接口直属领导参数没有被正常序列化的问题 2023-01-09 13:47:29 +08:00
Binary Wang
521ea08ba9 🎨 优化部分代码,移除校验 2023-01-09 09:32:37 +08:00
源三岁
1557894954 🎨 【公众号】补充对订阅通知类型的消息的支持 2022-12-30 18:17:32 +08:00
Binary Wang
e425817e69 🎨 尝试去掉无用的validation-api依赖 2022-12-30 18:17:17 +08:00
NotePlus
0d1320a48f 🆕【微信支付】增加查询结算账户、查询分账结果、查询分账回退结果和申请分账账单等V3接口 2022-12-25 14:38:26 +00:00
rodgerYoung
87c33ac776 🎨 spring boot 3.0 starter注入方式添加 2022-12-22 20:13:36 +08:00
Binary Wang
90556820ba 🔖 发布 4.4.7.B 测试版本 2022-12-07 21:49:58 +08:00
Binary Wang
b7ceeed557 🎨 优化重构OA审批模板相关接口及类定义 2022-12-17 15:18:24 +08:00
yiyingcanfeng
baa8a6da37
🆕 #2905【企业微信】增加OA模块创建审批模板、更新审批模板的接口 2022-12-17 15:10:00 +08:00
Binary Wang
901fceba27 🎨 小程序代码提交审核代码重构优化,删除重复定义类 2022-12-17 15:05:35 +08:00
LinZhaoguan
e0a39c8d68
🎨 #2903 【微信支付】优化服务商模式的微信支付分相关代码
1.优化请求参数赋值逻辑
2.新增服务商模式的”授权/解除授权服务回调通知结果“实体类
2022-12-17 14:39:20 +08:00
taoxhsmile
749f326f94
🎨 WxCpAgent 增加 字段customizedPublishStatus 2022-12-17 14:38:26 +08:00
Well
90d8098d93
🎨 #2897 【微信支付】普通商户商家转账到零钱接口增加转账场景ID的参数 2022-12-17 14:29:25 +08:00
NotePlus
b35645ee67 🆕【微信支付】新增查询特约商户设置的允许服务商分账的最大比例的V3接口 2022-12-11 07:48:34 +00:00
源三岁
a3a8295262 🎨 补充部分订阅通知事件常量 2022-12-11 07:46:56 +00:00
th3ee9ine
8088c4ada8
🐛 #2894 【企业微信】修复update_taskcard 方法传参错误的问题 2022-12-11 15:29:03 +08:00
oneice
c443dc1fd1
🎨 #2893 【公众号】自定义菜单查询接口返回结果类增加缺失的 mediaId 和 articleId 字段 2022-12-08 20:15:29 +08:00
Binary Wang
c0a7376e22 👷 Add .circleci/config.yml 2022-12-08 09:36:12 +08:00
Binary Wang
5776914faa 🔖 发布 4.4.6.B 测试版本 2022-12-07 20:38:26 +08:00
Binary Wang
d2571d094b 🎨 优化部分代码 2022-12-07 19:15:50 +08:00
liming1019
d3552245a5 🎨 #2888 【小程序】自定义交易组件商品上传API增加部分参数 2022-12-07 15:31:22 +08:00
竹子
57859d8d80 🎨 #2886 【微信支付】投诉单查询详情接口返回实体类增加投诉单关联服务单信息的相关属性 2022-12-07 15:31:22 +08:00
枫飘满林
6205568948 🎨 修改委托代扣协议xml标识 2022-12-06 14:40:48 +00:00
Binary Wang
327e6ffa05 🐛 修复错误的字段类型 2022-12-06 19:38:33 +08:00
Binary Wang
d68956df72 🎨 增加缺失的注解 2022-12-06 19:38:17 +08:00
Binary Wang
c7ade5b2d5 🎨 优化部分javadoc 2022-12-02 18:31:46 +08:00
NotePlus
07c4615d7e 🐛 【微信支付】修复特约商户进件-提交申请单接口证件持有人类型类型定义错误和证件居住地址参数名错误的问题 2022-12-02 10:29:27 +00:00
binarywang
99a55e6bc9
🎨 v3api加入support_fapiao字段 2022-12-02 10:08:18 +00:00
miemie
3ced24eb9e v3api加入support_fapiao字段 2022-11-28 22:07:51 +08:00
dazer007
431e83bf4f 🎨 将JedisWxRedisOps标记为过时 2022-11-21 08:59:16 +08:00
ricky_gu
3f6e5d8d51 🐛 #2880 【企业微信】修复审批应用设置推送消息会被误判为重复消息的问题 2022-11-19 20:04:16 +08:00
大林哥
c702f787f7 🎨【企业微信】微信客服事件消息增加撤回消息msgId字段 2022-11-16 13:54:06 +00:00
Binary Wang
0721b01cdb 🔖 发布 4.4.5.B 测试版本 2022-11-13 14:16:31 +08:00
Binary Wang
e636362585 🎨 #2878 【企业微信】OA提交审批申请接口增加提单者提单部门id(choose_department)的请求参数 2022-11-13 13:50:11 +08:00
Binary Wang
ace4f9a278 🎨 重构优化代码 2022-11-11 20:49:27 +08:00
playersun
60fdf91ce7 🎨 修复模板消息行业枚举”其它“文字错误问题(官方文档和接口实际返回不一致) 2022-11-11 20:17:49 +08:00
Binary Wang
d94b42b6ee 🎨 #2798 【开放平台】小程序模版开发上传代码并生成体验版接口增加requiredPrivateInfos参数的支持 2022-11-11 19:35:17 +08:00
Binary Wang
1e13645f72 🎨 【企业微信】重构规范化客户联系聊天敏感词管理的相关接口和文档 2022-11-08 16:31:21 +08:00
Grit
43a460a28b
🎨 #2874 【企业微信】微信客服发送菜单消息菜单项支持纯文本内容 2022-11-08 16:29:49 +08:00
th3ee9ine
c109e81842
🎨 #2873 【企业微信】模板卡片消息支持左图右文样式和按钮型卡片的下拉框样式(企业微信v3.1.18版本引入的新特性) 2022-11-06 11:32:01 +08:00
黄天政
c26b055ccf 🐛 【企业微信】修复corpId2OpenCorpId接口provider_access_token参数错误的问题 2022-11-03 08:59:24 +00:00
Binary Wang
4888d1576b 🔖 发布 4.4.4.B 测试版本 2022-11-01 17:31:52 +08:00
cocoa
48a86940e2 🆕 #2865 【企业微信】第三方应用增加ID转换接口 2022-11-01 17:29:13 +08:00
黄天政
199c109a3d 🎨 获取永久授权码接口返回值增加state属性 2022-11-01 09:19:08 +00:00
Binary Wang
9522585074 🎨 优化部分代码,清理无用代码 2022-10-31 15:25:40 +08:00
Binary Wang
ae08833323 🎨 规范化代码 2022-10-31 11:42:38 +08:00
Binary Wang
bf9c0571f8 🎨 格式化规范化部分测试代码 2022-10-30 14:31:34 +08:00
Alixhan
30264bfaae
🎨 #2858 【企业微信】优化会话存档获取媒体数据的接口 2022-10-30 14:23:08 +08:00
Nobody
edb098500d
🆕 #2856 【企业微信】增加获取应用二维码的接口;【开放平台】增加使用 AppSecret 重置第三方平台 API 调用次数的接口 2022-10-30 14:19:26 +08:00
q7486828035
46921e0e55
🎨 #2861 XStreamInitializer增加自定义加载类的支持方法 2022-10-30 14:15:14 +08:00
nadirvishun
df759717cd
🎨 #2854【企业微信】获取访问用户敏感信息接口中增加地址和企业邮箱字段 2022-10-25 17:45:13 +08:00
imgbot[bot]
31d446a6bd
[ImgBot] Optimize images
*Total -- 542.77kb -> 415.52kb (23.44%)

/images/banners/diboot.png -- 366.13kb -> 241.38kb (34.07%)
/images/banners/ccflow.png -- 101.89kb -> 99.52kb (2.33%)
/weixin-java-mp/src/test/resources/1.jpeg -- 74.74kb -> 74.62kb (0.17%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-10-25 17:36:55 +08:00
Alixhan
48a22a0e60
🎨 #2853 【企业微信】配置类中增加会话存档secret的配置项 2022-10-25 17:01:50 +08:00
唐英鹏
512975fb86
🎨 #2851【公众号】群发消息支持多图片群发 2022-10-25 16:45:20 +08:00
zhongjun
62490c77b6
🎨 移动公众号关联小程序接口到 WxOpenMpService 2022-10-25 10:55:02 +08:00
Binary Wang
2eb6180567 🔖 发布 4.4.3.B 测试版本 2022-10-23 23:53:54 +08:00
Binary Wang
4118e8bba6 🎨 优化部分javadoc 2022-10-23 14:46:14 +08:00
杨镇涛
10414d9971
🎨 优化代码,未正确配置 apiV3Key 时,173 行证书更新失败,未做 throw 等阻断动作,导致 verifier 未赋值,后续其它方法使用将出现空指针异常 2022-10-23 14:38:13 +08:00
Binary Wang
c1e7d095ed 🎨 增加一些单元测试代码 2022-10-22 11:52:44 +08:00
Binary Wang
6b21f1a234 🎨 修复错误的字段定义 2022-10-22 11:23:21 +08:00
Binary Wang
69cf2bcb90 🎨 增加代码兼容微信接口实际返回跟官方文档不符的文字 2022-10-22 11:17:16 +08:00
cocoa
a8a5359c9f
🐛 #2799 [ 企业微信】修复第三方服务调用getUserId接口时缺少access_token的问题 2022-10-21 17:49:10 +08:00
freedom9
9b78acd0e5
🆕 #2846 【企业微信】增加待开发应用获取带参授权链接的接口 2022-10-21 17:46:21 +08:00
Binary Wang
b08530917c 优化部分代码格式 2022-10-21 13:56:03 +08:00
oldmanl
791ec8d2db
🆕 #2837 【企业微信】增加撤回应用消息的接口 2022-10-21 13:54:41 +08:00
freedom9
b6ad48dff7
🐛【企业微信】修复external_userid转换接口的地址 2022-10-14 16:11:54 +08:00
清心
809ff15709 🆕 【微信开放平台】增加申请开通直播的接口 2022-10-13 07:28:02 +00:00
yiyingcanfeng
bb65189fb8
🆕 #2834 【企业微信】新增将代开发应用或第三方应用获取的密文open_userid转换为明文userid的接口 2022-10-13 15:09:52 +08:00
yiyingcanfeng
8a161cfa2c
🆕 #2832【企业微信】新增将代开发应用或第三方应用获取的externaluserid转换成自建应用的externaluserid的接口 2022-10-07 15:49:51 +08:00
橘猫都是P
4ca4dec37e
🎨 #2830 【小程序】交易组件商品spu list接口返回类增加缺失的productId字段 2022-10-03 20:52:30 +08:00
清心
d759317396 🆕 #2831 【开放平台】新增小程序DNS预解析域名相关接口 2022-10-03 12:49:21 +00:00
Binary Wang
3bd517a007 🔖 发布 4.4.2.B 测试版本 2022-09-26 23:56:46 +08:00
Binary Wang
7219c2dbd0 🎨 清理一些jetbrain的校验注解 2022-09-26 23:29:11 +08:00
Nobody
26e2cbcb60
🎨 #2827 【企业微信】新增几个企业微信第三方回调的事件常量 2022-09-26 23:10:02 +08:00
xslong
320bbfe7be
🆕 #2825 【企业微信】增加分配在职成员的客户群的接口 2022-09-26 23:06:42 +08:00
Sun Chen
65134bd1ca 🎨 恢复误修改的代码 2022-09-24 17:19:48 +08:00
Javen
81cb16bf9f 🎨 【微信支付】沙箱环境api地址修改sandboxnew为 xdc/apiv2sandbox 2022-09-24 17:18:57 +08:00
Sun Chen
aa19a2874d 🎨 增加微信推送的自定义交易组件付款通知事件类型OPEN_PRODUCT_ORDER_PAY 2022-09-24 17:18:57 +08:00
Binary Wang
3477e41ad2 🎨 修改类可见范围,并优化部分文档 2022-09-24 17:18:57 +08:00
Nobody
7f7c0a3765
🆕 #2815【开放平台】查询公众号/小程序是否绑定open实现 && 增加授权用户资料变更事件常量 2022-09-19 20:00:16 +08:00
Binary Wang
b8d0baae5b 🔖 发布 4.4.1.B 测试版本 2022-09-14 00:04:21 +08:00
Cocowwy
286596f8a2
🎨 #2811 【公众号】用户管理增加可一次性拉取所有用户数据的接口 2022-09-13 21:41:49 +08:00
liming1019
310e1d91be
🎨 修复小程序支付管理获取订单详情接口请求参数格式错误 2022-09-11 20:33:20 +08:00
Binary Wang
3918005b1f
🎨 修改消息去重时线程池关闭问题 2022-09-02 19:40:02 +08:00
Binary Wang
a435ee5a01
🆕 #2807 【小程序】增加支付管理获取订单详情和申请退款的接口 2022-09-02 19:20:22 +08:00
Binary Wang
7a200c0574
🐛 #2806【企业微信】 修复获取审批数据接口的地址 2022-09-02 19:18:27 +08:00
0katekate0
80cc0e4939 【企业微信】 修复获取审批数据URL 2022-08-31 19:38:18 +08:00
liming
81bb1f3563 申请退款接口 2022-08-31 15:54:44 +08:00
liming
57ff6a80ec 获取订单详情接口 2022-08-31 15:40:30 +08:00
vishun
d19fec73d4 消息去重所用线程池设置为daemon线程,否则jvm关闭后线程池仍不关闭。 2022-08-30 14:21:23 +08:00
Binary Wang
db5826cfcf
🆕 #2801 【小程序】增加新版自定义交易组件之更新售后申请的接口 2022-08-29 18:18:02 +08:00
Binary Wang
dc8b5454e2
🆕 #2797【小程序】增加新版自定义交易组件获取售后单详情的接口 2022-08-28 23:32:26 +08:00
liming
30a0eb8e98 【小程序】增加新版自定义交易组件之更新售后申请API 2022-08-26 11:53:44 +08:00
liming
6e5800181b 【小程序】增加新版自定义交易组件获取售后单详情API 2022-08-25 22:48:17 +08:00
Binary Wang
4d526dbd7a 🎨 批量添加部分javadoc 2022-08-25 16:47:47 +08:00
Binary Wang
152e6a01fa
🐛 #2792【企业微信】修复家校应用接口single_choice属性错误问题 2022-08-25 16:35:56 +08:00
0katekate0
d39062353c [企业微信]fix家校应用single_choice属性字段 #2792 2022-08-25 01:12:32 +08:00
Binary Wang
8c461bbaf2
🎨 accessToken 接口添加 is_snapshotuser 字段 2022-08-24 15:45:15 +08:00
Binary Wang
3e09168019
🐛 unoinId使用Integer类型 2022-08-24 15:44:44 +08:00
imyzt
3abaa2c1d1 🐛 #2788 unoinId 使用 Integer 溢出导致GSON抛出NumberFormatException 2022-08-23 22:04:50 +08:00
陈俊霖
1dfde62772 accessToken 接口添加 is_snapshotuser 字段 2022-08-23 16:17:08 +08:00
Binary Wang
36602d58a5 🎨 fix javadoc by removing @date 2022-08-23 00:37:29 +08:00
Binary Wang
f94e67056d
🎨 ProfitSharingResult类增加分账接收方列表字段解析方法 2022-08-22 22:36:38 +08:00
赖骏劼
066c77c752 @laijj@在ProfitSharingResult扩充reecvice列表对象,方便使用者处理不同分账接收方的数据逻辑 2022-08-22 17:23:55 +08:00
Binary Wang
c3f4943acd
📝 更新版本信息 2022-08-22 09:52:40 +08:00
Binary Wang
e9c351a083 📝 更新版本信息 2022-08-21 23:38:08 +08:00
Binary Wang
bf68104ee0 🔖 发布 4.4.0 正式版本 2022-08-21 23:14:38 +08:00
Binary Wang
9a32876bf3 🎨 投诉单详情接口返回实体类增加几个字段 2022-08-21 15:21:38 +08:00
linlinjava
0f9e75acb2 🎨 #2785【小程序】获取直播间分享二维码接口优化,支持分享路径和海报 2022-08-21 15:21:38 +08:00
liming1019
c78a1f5132 🆕 #2784【开放平台】增加批量代云开发之环境管理相关接口 2022-08-21 15:21:38 +08:00
黄虎
452dd58af9 🎨 修复H5纯签约签名BUG 2022-08-18 15:37:17 +00:00
gap1994
a126c8e6d3
🎨 添加is_snapshotuser字段 2022-08-16 19:49:21 +08:00
懒猫
94ff00bc4b
🆕 #2722【企业微信】 增加会议室管理相关接口 2022-08-16 19:48:18 +08:00
0katekate0
6472484b32
🆕 #2501【微信支付】增加V3版本回调通知应答 2022-08-16 19:46:27 +08:00
0katekate0
c84b46a55b
🎨 #2777【企业微信】 增加直播回调事件常量支持 2022-08-12 17:10:00 +08:00
0katekate0
fe49e5af11
🎨 #2773【企业微信】优化会话存档,增加会话存档的多企业支持 2022-08-12 11:42:43 +08:00
cocoa
53d332190c
🎨 提交代码审核接口增加新的入参 2022-08-12 11:40:29 +08:00
Xianhui Guo
cc8901598d
🎨 #2762 【企业微信】审批详情增加缺少的控件类型 2022-08-10 22:45:48 +08:00
liming1019
cfa92390f2
🆕 #2772 【小程序】增加小程序支付管理之创建订单接口 2022-08-10 22:44:43 +08:00
nadirvishun
ab26565377
🎨 修改小程序路由route方法为public,方便自定义context 2022-08-10 15:53:14 +08:00
0katekate0
52471fce89
🎨 完善微信支付部分文档 2022-08-10 15:52:23 +08:00
Binary Wang
05f0fa2ac3 🔖 发布 4.3.9.B 测试版本 2022-08-04 22:58:43 +08:00
Binary Wang
2058580866 🎨 修复代码 2022-08-04 22:13:16 +08:00
Yang Bingdong
3f57b346e0
🎨 WxMpXmlMessage 增加群发消息id 字段 2022-08-04 17:35:45 +08:00
Xianhui Guo
4e06dd6039
🐛 #2714 【小程序】修复即时配送相关接口报平台签名验证错误的问题 2022-08-02 13:37:51 +08:00
chenblue23
873a0218e7 🐛 微信支付平台证书自动更新判断修复 2022-07-28 03:23:06 +00:00
Xianhui Guo
44ce1e9fbc
🎨 #2729 【企业微信】发送应用消息时完善对按钮交互型卡片消息的支持 2022-07-27 20:04:56 +08:00
cocoa
18a79b5b6c
🎨 优化小程序版本信息接口返回 2022-07-27 19:58:53 +08:00
gxh0797
d056cc8abe
🆕 #2752 【小程序】增加查询小程序版本信息的接口以及第三方userid_to_openuserid的接口 2022-07-26 21:47:39 +08:00
Boris
1747190674
🆕 #2758 【小程序】增加微信小商店标准版相关接口 2022-07-26 21:45:32 +08:00
liming1019
b550806956
🆕 #2755 【小程序】增加小程序云开发短信接口 2022-07-26 21:40:49 +08:00
sanjun
5a2607787f
🐛 修复x509代码 2022-07-26 11:46:12 +08:00
Binary Wang
0cfcc8d4a0 🎨 避免对曾变化的guava方法的依赖,以免对使用不同版本guava的用户造成困惑 2022-07-26 11:35:09 +08:00
Binary Wang
7cd213da65 🔖 发布 4.3.8.B 测试版本 2022-07-24 22:11:47 +08:00
Binary Wang
cfa842fa44 🎨 优化或者修复部分代码 2022-07-21 21:43:50 +08:00
Binary Wang
b6130d938a 🎨 去掉重复的字段 2022-07-21 15:34:34 +08:00
缪贵荣
c9803879f5
🎨 #2744 【企业微信】获取企业永久授权码接口补充推广码信息 2022-07-21 15:33:49 +08:00
罗山仔
6cbfe0a3a3
🎨 #2745 【公众号】OCR接口增加部分字段 2022-07-21 15:32:32 +08:00
zhongjun
8b7225325d
🎨 #2747【微信支付】服务商分账解冻剩余资金接口增加参数sub_mchid 2022-07-21 15:30:28 +08:00
0katekate0
8f301500ef
🎨 修复家校沟通部分接口问题 2022-07-21 15:29:01 +08:00
0katekate0
bac18534dc
🆕 #2746 【企业微信】 增加读取学生或家长所有接口支持 2022-07-14 09:15:54 +08:00
缪贵荣
e0f3c76cea 🎨 修复部分字段类型 2022-07-12 17:02:00 +08:00
0katekate0
d166c27fad
🆕 #2742【企业微信】 家校沟通-增加批量更新家长接口支持 2022-07-12 16:34:23 +08:00
zhongjun
c68f2d2f36
🐛 #2734 【微信支付】商家批量转账参数加密异常修复 2022-07-12 16:33:34 +08:00
NaccOll
27bccb3a7e
🎨 remove commons-beanutils dependency 2022-07-12 16:32:34 +08:00
Binary Wang
188d1e186b 🔖 发布 4.3.7.B 测试版本 2022-07-07 10:01:04 +08:00
0katekate0
f30ac6be6c
🆕 #2725【企业微信】增加家校沟通-发送「学校通知」的接口 2022-07-06 23:50:32 +08:00
jianlajideYU
918daa2a55
🎨 #2726 【小程序】小程序配置类增加设置自定义的获取accessToken地址 2022-07-06 23:48:35 +08:00
Kiyan
2b93f91af6
🎨 fix Cannot find the class file for okhttp3.OkHttpClient 2022-07-06 23:45:53 +08:00
缪贵荣
31a18b28a4
🎨 修复字段类型 2022-07-06 23:45:05 +08:00
大森林
f19ef3b097 🎨 【微信支付】特约商户进件接口根据官方文档调整进行更新 2022-07-05 02:08:18 +00:00
0katekate0
a17d8ae5a2 🆕 #2721 【企业微信】增加家校通讯录-变更事件类型的回调消息支持 2022-06-30 14:23:13 +08:00
zainzzz
ba13eef750
🐛【小程序】上传代码接口修复ext_json中的extAppid参数 2022-06-30 11:07:25 +08:00
liucb
9f69e69090 🎨 入群欢迎语素材管理缺失两字段 2022-06-28 03:46:24 +00:00
Binary Wang
1b6275afb3 🎨 优化部分日志输出,调整输出级别 2022-06-28 11:42:03 +08:00
Binary Wang
5f34a8811e 🐛 修复部分错误的参数类型 2022-06-28 11:41:27 +08:00
0katekate0
4b3d59645e
🆕 #2719 【企业微信】增加家校沟通-基础接口 2022-06-28 11:21:57 +08:00
龍貓
a12fa55601
🆕 #2718【企业微信】增加接口调用许可相关接口 2022-06-28 11:21:23 +08:00
Boris
4fd6693c56
🎨 #2715【企业微信&小程序】微信客服、小程序物流服务和交易组件 等相关接口优化更新 2022-06-27 14:50:39 +08:00
0katekate0
a807063f4c
🆕 #2708【企业微信】增加家校沟通-部门管理接口支持 2022-06-27 14:48:19 +08:00
Binary Wang
1fbd22efac 🔧 更新部分文档和配置 2022-06-21 22:15:17 +08:00
Binary Wang
f00d21d188 🔖 发布 4.3.6.B 测试版本 2022-06-21 21:11:33 +08:00
Binary Wang
3ee7d0d391 🎨 #2705 【小程序】异步安全校验事件中消息重复判断代码修复 2022-06-21 17:20:29 +08:00
Binary Wang
1ccb94fd4e 🆕 #2672 【微信支付】增加商家转账的更多接口 2022-06-21 17:04:18 +08:00
Binary Wang
541589be59 🎨 代码优化 2022-06-21 16:25:33 +08:00
0katekate0
867f8e454d
🆕 #2707【企业微信】家校沟通-增加学生与家长部分接口 2022-06-21 16:24:14 +08:00
zhongjun
2ed1a5f03a
🎨 部分字段调整
* 🐛 #2487 【企业微信】第三方服务商获取企业永久授权码接口返回的管理员信息没有 open_userid 字段

* 🐛 #2699 WxMaUserInfo去除openId字段。
2022-06-20 16:29:19 +08:00
zhongjun
4590c9c333
🆕 #2672 【微信支付】新增商家转账的相关接口 2022-06-20 16:27:53 +08:00
0katekate0
d5c6803260
🆕 #2698【企业微信】增加家校应用-上课直播相关接口 2022-06-20 16:25:10 +08:00
fangyaoxia
5ac2e690c0 🐛 【微信支付】修复多商户情况下微信回调签名失败的问题 2022-06-14 10:37:21 +08:00
英狐
a21a622936 🆕 #2696 【微信支付】银行组件添加省市列表查询及支行列表查询的接口 2022-06-14 02:30:33 +00:00
0katekate0
1f3f133772
🆕 #2692【企业微信】增加家校应用-班级收款接口支持 2022-06-14 09:48:27 +08:00
徐凯旋
a9fe0b29d4 🎨 #2687 【小程序】直播商品管理接口添加缺失的字段thirdPartyAppid 2022-06-14 09:46:43 +08:00
Will
d390c5d9fe
🐛 #2693【企业微信】修复发送企业红包签名错误的问题 2022-06-14 09:39:28 +08:00
0katekate0
bb8c82d25c
🆕 #2689【企业微信】增加获取用户填写答案的接口 2022-06-10 14:38:25 +08:00
Trifolium
508d053ed3
🎨 #2660 【开放平台】补全获取授权帐号详情接口部分缺失参数 2022-06-10 14:37:51 +08:00
songxh2
f81d5b74d5
🐛 【企业微信】修复部分参数类型 2022-06-10 14:36:12 +08:00
dependabot[bot]
c39cd8b85e
⬆️ Bump jodd-http from 5.2.0 to 6.2.1 2022-06-10 14:34:54 +08:00
Binary Wang
a6caeaf5cf 🔖 发布 4.3.5.B 测试版本 2022-06-05 23:20:02 +08:00
Binary Wang
29c92a0b92 🎨 电商收付通中的分账结果查询功能返回结果集中的分账接收方少一个字段 2022-06-05 22:49:22 +08:00
Binary Wang
c8e3d7ad26 🎨 修复错误的注解 2022-06-05 22:40:08 +08:00
0katekate0
0dfd7a091c
🆕 #2676 【企业微信】增加家校应用-复学码接口支持 2022-06-05 22:38:00 +08:00
jinxiaoyi
6ce418a719
🎨【企业微信】获取客服账号列表接口增加分页支持
Co-authored-by: jinxiaoyi <jinxiaoyi@gaohua-tech.cn>
2022-06-05 22:35:56 +08:00
0katekate0
3952fcdd33
🆕 #2674【企业微信】增加家校应用健康上报部分接口 2022-05-31 20:14:20 +08:00
郑川
42122ce548 🎨 修复xml序列化失败问题 2022-05-31 09:36:46 +00:00
Binary Wang
4e6e692d4d 🎨 升级部分依赖版本 2022-05-31 17:36:19 +08:00
gf3gf3
96e0067cb9
🎨 修复参数类型 2022-05-30 17:31:58 +08:00
yechenhao
172d31fd2e
🎨 移除jedis-lock实现 2022-05-29 22:25:05 +08:00
zhangyulai
e7054aab0e
🎨 修正几个字段类型错误的问题 2022-05-29 22:23:54 +08:00
helloworldByChinese
95be03bf1c
🎨 #2663 优化重复消息检查器多实例导致多守护线程的问题,修改成单例+定时任务线程池处理 2022-05-27 09:16:56 +08:00
Youyu Song
41bb3b9901
🎨 微信分账解冻剩余资金结果添加分账接收方列表receivers 2022-05-26 17:08:03 +08:00
hiddentrack
cd034c4a6a
🆕 #2664 【微信支付】电商收付通(分账)增加查询订单剩余待分金额的接口 2022-05-26 17:03:08 +08:00
0katekate0
403d9c58ea
🆕 #2665【企业微信】增加微盘文件权限相关接口 2022-05-26 16:10:44 +08:00
hywr
f83c55c010
🆕 #2658 【开放平台】第三方平台小程序用户隐私保护指引模块增加申请隐私相关接口 2022-05-23 23:06:34 +08:00
Binary Wang
dbf9622395 🔖 发布 4.3.4.B 测试版本 2022-05-22 22:12:37 +08:00
0katekate0
1fdfd5c5a2
🆕 #2656【企业微信】增加微盘文件管理部分接口 2022-05-22 21:16:10 +08:00
dependabot[bot]
9517292a0e
⬆️ Bump gson from 2.8.0 to 2.8.9 2022-05-22 21:15:32 +08:00
高岩
529f786814
🎨 #2653 【微信支付】支付分相关接口增加服务商支持 2022-05-22 21:14:49 +08:00
zhongjun
4de09fa565
🆕 #2631 【小程序】小程序交易组件-订单服务新增获取订单列表和生成支付参数的接口 2022-05-19 14:11:20 +08:00
0katekate0
a6d4b6e6ab
🆕 #2651【企业微信】新增微盘文件管理接口 2022-05-19 14:06:39 +08:00
zhongjun
5da9fb30aa
🎨 #2541 【企业微信】发送群聊机器人消息接口增加对文件类型的支持 2022-05-17 13:52:15 +08:00
0katekate0
19c311391e
🆕 #2648 【企业微信】增加微盘文件管理部分接口 2022-05-17 09:55:00 +08:00
Binary Wang
b353067ee1
Update README.md 2022-05-16 10:25:38 +08:00
Binary Wang
46a01bdd33 🔖 发布 4.3.3.B 测试版本 2022-05-15 21:08:49 +08:00
Binary Wang
28e8277410 🎨 优化重构部分代码 2022-05-15 20:43:10 +08:00
leif Yi
dfec57f200
🆕 #2646 【微信支付】增加报关v3接口 2022-05-15 20:34:49 +08:00
zhongjun
cfb532722a
🆕 #2644 【微信支付】新增微信支付银行组件模块 2022-05-15 20:32:35 +08:00
0katekate0
66383836b8
🆕 #2643【企业微信】增加微盘获取文件列表的接口 2022-05-15 19:37:32 +08:00
Jc826
458e7c3d24
🆕 #2642【企业微信】增加客户群加入群聊管理相关接口 2022-05-13 16:29:56 +08:00
0katekate0
6177ca05b8
🆕 #2639【企业微信】增加微盘空间权限管理的接口 2022-05-12 09:57:28 +08:00
Binary Wang
858a3b9c82 🎨 优化代码 2022-05-11 10:09:44 +08:00
0katekate0
7e96d6ab0f
🆕 #2637【企业微信】新增微盘获取空间信息的接口 2022-05-10 22:19:12 +08:00
落花随风
d6301d3c2e 🎨【小程序】物流助手生成运单接口的请求参数中商品信息里增加商品详情列表 2022-05-05 11:47:27 +08:00
zhongjun
fcb0bc8c35
🆕 #2597 【开放平台】增加公众号业务相关的小程序管理接口 2022-05-05 11:45:08 +08:00
xiaohe-53
946f693bd0
🎨 #2632【企业微信】完善模板卡片消息接口部分参数 2022-05-05 11:42:44 +08:00
leif Yi
303a0ea155
🐛 #2634 【微信支付】修复财付通支付参数报签名错误问题 2022-05-05 11:37:26 +08:00
Binary Wang
6390dea046 🔖 发布 4.3.2.B 测试版本 2022-04-29 15:38:29 +08:00
zhongjun
3e49868388
🎨 #2625 【企业微信】获取客户群详情接口增加state返回值 2022-04-29 09:50:50 +08:00
Wyman
42c57b6de9
🆕 #2627【微信支付】增加V3分账动账通知解析方法 2022-04-29 09:48:22 +08:00
helloSk
40f10de24b 🎨【微信支付】增加商户上传反馈图片API,并修复消费者投诉2.0里查询投诉协商历史的接口问题 2022-04-28 03:00:30 +00:00
0katekate0
f1977f53fd
🆕 #2624【企业微信】增加微盘重命名以及解散空间的接口 2022-04-27 17:29:54 +08:00
zhongjun
5227c45653
🆕 #2622 【企业微信】OA打卡模块增加录入打卡人员人脸信息的接口 2022-04-27 17:28:58 +08:00
大森林
e9e7afd69e 🎨 电商收付通二级商户进件增加结算规则字段 2022-04-27 09:22:03 +00:00
helloSk
7d22221380 🎨 消费者投诉2.0接口参数修复 2022-04-27 08:53:02 +00:00
Binary Wang
e7f589e1d3 🎨 优化部分文档注释 2022-04-27 16:50:57 +08:00
zhongjun
a685e8f3fa
🆕 #2620 【企业微信】微信客服统计管理模块增加获取「客户数据统计」企业汇总数据的接口 2022-04-26 11:31:59 +08:00
0katekate0
010c184caa
🎨 #2598 【企业微信】修复windows系统会话存档的加载顺序 2022-04-26 11:30:44 +08:00
Mr_z
f9cf8ca1de
🎨 WxPayScoreResult类增加openid字段 2022-04-26 09:40:21 +08:00
猫九大大
1fc0da066b
🆕 #2586 【微信支付】支付证书支持base64编码配置 2022-04-25 10:13:00 +08:00
不敲代码的攻城狮
220e38d6c4
🆕 #2615 【企业微信】增加应用市场付费订单和版本相关的接口 2022-04-25 10:10:07 +08:00
Binary Wang
6b93962208
Update README.md 2022-04-25 10:06:31 +08:00
不敲代码的攻城狮
9e0a5bcc78
🆕 #2615 【企业微信】增加企业微信应用市场付费部分接口支持 2022-04-24 12:44:42 +08:00
0katekate0
343fa115ae
🆕 #2614 【企业微信】新增微盘空间管理的相关接口 2022-04-24 12:43:24 +08:00
zhongjun
8831056a5f
🆕 #2613【企业微信】增加管理商品图册的相关接口 2022-04-24 12:42:07 +08:00
zhongjun
1030115751
🆕 #2612 【企业微信】增加获取企业活跃成员数和通讯录异步导出的接口 2022-04-22 09:01:19 +08:00
Binary Wang
5d0364f6d2 🎨 优化部分文档,重构部分代码 2022-04-21 16:38:01 +08:00
Yang Bingdong
bd821c80c1 🎨 #2607 【开放平台】WxOpenAuthorizerInfo类增加account_status字段 2022-04-21 16:38:01 +08:00
zhongjun
df45a4a25d 🎨 #2606 【企业微信】用户信息类增加企业邮箱字段 2022-04-21 16:38:00 +08:00
Binary Wang
aea370503e 🎨 优化部分代码 2022-04-21 15:07:56 +08:00
Wong
fa5cac5e5b 🆕【企业微信】增加获取审批数据(旧)的接口 2022-04-21 06:38:47 +00:00
Binary Wang
6074c846fc 🔖 发布 4.3.1.B 测试版本 2022-04-20 19:28:57 +08:00
Binary Wang
7265b3bec2 🎨 优化部分文档 2022-04-20 19:24:43 +08:00
po
751820621d
🐛 #2604 【微信支付】修复微信预代扣通知参数问题 2022-04-20 19:22:10 +08:00
zhongjun
050dafbd42
🆕 #2596 【企业微信】新增通讯录管理-异步批量增量更新成员的接口 2022-04-19 17:31:31 +08:00
dragon
062eb6c3b4
🎨 add BizMail to WxCpXmlMessage 2022-04-18 17:10:26 +08:00
翟翟
0256461044
🆕 #2592 【企业微信】增加外部联系人聊天敏感词的的新增、修改、删除的接口方法 2022-04-18 16:39:28 +08:00
Binary Wang
ccd452c2a5
Update README.md 2022-04-18 15:37:12 +08:00
Binary Wang
4985a21f24 🎨 补充完善状态值 2022-04-18 15:34:13 +08:00
Binary Wang
a0dcda4ac1 🎨 优化部分文档 2022-04-18 15:33:38 +08:00
zhangyulai
b6ee83d119
🎨 #2593 【小程序】消息推送类添加图片/音频安全检测2.0结果字段 2022-04-18 15:28:33 +08:00
zhongjun
4d01470821
🎨 添加企业微信全局错误码:40096-不合法的外部联系人userid 2022-04-18 13:56:06 +08:00
Wong
7229bb4e40 🆕【企业微信】新增修改成员假期余额的接口 2022-04-14 08:51:03 +00:00
Wong
6f776bdda0 🐛【企业微信】修复创建预约直播活动详情参数取值问题 2022-04-14 06:36:40 +00:00
Leon
f3921c7332
🆕 #2588 【小程序】代码管理增加查询小程序版本信息的接口 2022-04-14 14:32:58 +08:00
nadirvishun
a88619a7dc
🎨 #2587 【小程序】增加路由线程池关闭方法 2022-04-14 11:52:49 +08:00
一念无明
568a989576 🎨 【企业微信】发送图文消息里的跳转到小程序的相关参数完善补充 2022-04-14 03:45:28 +00:00
nadirvishun
63c0eb107e 🎨 #2583 【企业微信】增加路由线程池关闭的方法,当通过http优雅关闭时需要调用,否则java进程不会结束 2022-04-13 14:46:13 +08:00
Wong
b00e938ef7 🆕【企业微信】 新增获取成员假期余额的接口 2022-04-13 06:44:20 +00:00
Binary Wang
8bcafdc6b2 📝 更新版本信息 2022-04-11 11:01:56 +08:00
Binary Wang
83adb23f8f 🔖 发布 4.3.0 正式版本 2022-04-10 23:09:51 +08:00
Binary Wang
db8c26b74a 🎨 优化代码,增加点注解 2022-04-10 21:59:02 +08:00
Binary Wang
76f6826461 🎨 修复放错位置的代码 2022-04-10 21:28:41 +08:00
Binary Wang
1d817903ba 🎨 优化代码,避免报奇怪的异常信息 2022-04-10 21:28:40 +08:00
Wong
7992ee0d3d 🆕【企业微信】增加获取企业假期管理配置的接口 2022-04-10 13:27:54 +00:00
Binary Wang
07c3545105 🎨 避免gitee误伤 2022-04-07 10:54:08 +08:00
Wong
56e5d6ff77 🆕 #2579【企业微信】增加企业微信OA自建应用-审批流程引擎相关接口 2022-04-07 02:51:51 +00:00
wuy
4f2360c9b2 + add diboot link 2022-04-06 14:40:34 +00:00
linlinjava
2f2d51b53d
🆕 #2578【小程序】小程序直播增加挂件组件全局key相关接口 2022-04-05 23:09:59 +08:00
oof
100fd1f856 🎨 删除不需要的导包 2022-04-04 12:27:15 +00:00
Wong
829df8804b 🎨 【企业微信】配置类增加会话存档路径设置 2022-04-02 13:22:46 +00:00
jamy888
a6b0b9c191 🎨 修復处理回调消息时无法使用agentId进行路由匹配的问题 2022-04-02 13:16:18 +00:00
Boris
e2c24124e1
🆕 #2574 【小程序】物流服务增加即时配送查询相关接口 2022-04-02 20:48:20 +08:00
Binary Wang
2cb8331030 🎨 【企业微信】重构规范化模板卡片消息部分字段命名,并补充card_image的支持 2022-04-02 17:32:53 +08:00
Binary Wang
1df2dda136 🔖 发布 4.2.9.B 测试版本 2022-03-31 22:28:04 +08:00
Binary Wang
2a169bacad 🎨 #2537 【企业微信】部门管理增加获取子部门ID列表和获取单个部门详情的接口 2022-03-31 22:20:13 +08:00
Binary Wang
94bd262694 🎨 增加若干字段 2022-03-30 20:36:10 +08:00
linlinjava
be49b10547
🎨 #2567 【小程序】直播间和商品、挂件组件等相关接口完善 2022-03-30 20:23:36 +08:00
Wong
62645a4311 🎨 #2563 【企业微信】优化获取待分配离职成员列表的接口,增加分页查询游标参数 2022-03-30 20:21:30 +08:00
大森林
1893790aae 🎨 优化微信消费者投诉接口 2022-03-25 09:18:45 +00:00
Binary Wang
6ce3772c86 🎨 优化代码 2022-03-22 14:32:52 +08:00
Binary Wang
a4dd111def 🎨 优化代码,重写jodd强制依赖的代码 2022-03-22 14:32:52 +08:00
大森林
94e6d6518b 🆕 #2562 【微信支付】增加微信消费者投诉2.0接口 2022-03-22 06:32:15 +00:00
Binary Wang
4036921f21 🔖 发布 4.2.8.B 测试版本 2022-03-11 00:07:50 +08:00
Binary Wang
13c80294a2 🎨 【小程序】回调消息解析类WxMaMessage增加allFieldsMap属性,以存储所有xml消息报文 2022-03-10 23:59:24 +08:00
Binary Wang
eb8942c871 🎨 优化代码 2022-03-09 11:58:44 +08:00
Binary Wang
0919205931 🎨 修改XML消息解析类里的agentId为字符串类型,避免为空值时导致的异常 2022-03-07 09:25:15 +08:00
Binary Wang
bbb5269bc2 🎨 #2534 【小程序】代码提交审核接口新增部分参数 2022-03-06 23:11:18 +08:00
Binary Wang
61f1179bdb 🎨 XmlUtils工具类优化,支持变态微信消息 2022-03-06 22:32:55 +08:00
Binary Wang
2c27f8bc5a 🐛 #2553 【公众号】修复草稿相关接口返回值多双引号的问题 2022-03-04 15:09:01 +08:00
Binary Wang
08ea0bd9df 🎨 StorageType枚举类增加Redisson 2022-03-04 15:07:47 +08:00
Binary Wang
e8596bceff 🎨 优化部分代码 2022-03-03 23:17:54 +08:00
Binary Wang
400fbc926a 🎨 两个永久图文素材相关接口已下线,标记为过时 2022-03-01 16:36:54 +08:00
Binary Wang
abaec2faf9 🎨 【小程序】获取小程序码的createWxaCode相关接口支持envVersion参数 2022-03-01 15:47:28 +08:00
Binary Wang
533ea253d6
Update bug_report.md 2022-03-01 15:31:40 +08:00
Jerry
4339c4dc57
🎨 #2550【开放平台】第三方平台新增全局错误码的中文描述 2022-03-01 15:13:13 +08:00
Binary Wang
8430122655 🔖 发布 4.2.7.B 测试版本 2022-02-28 23:15:56 +08:00
ShenHanBo/沈涵博
cba7603ee2
🎨 #2547【微信支付】二级商户进件接口增加owner字段 2022-02-28 23:12:00 +08:00
JCLee
d615f8af59
🎨【公众号】发布状态轮询接口实体类序列化 2022-02-23 10:16:47 +08:00
xiongmaoshouzha
aae9bebff1
🐛 #2538 【微信支付】签约通知结果类修复request_serial字段类型
request_serial int 类型改为long
2022-02-23 10:16:14 +08:00
xiaoguaiYJ
fcfee0a068
🐛 修复部分字段定义类型错误
Co-authored-by: xiaoqiang <spark-more@qq.com>
2022-02-23 09:44:29 +08:00
zhoushuofu
a25c48e3d6
🐛 #2544 【公众号】修复菜单文章id未序列化问题 2022-02-23 09:15:01 +08:00
徐凯旋
6c466f00b3
🎨 #2530【公共问题】修复 pull-parser 依赖传递导致spring boot 2.6.3无法启动 2022-02-23 09:12:54 +08:00
Green Years
c90e4b9810
🆕 【企业微信】增加支持URL的素材文件上传接口 2022-02-15 16:51:36 +08:00
Binary Wang
1ebe3aa3c5 🐛 修复错误的字段定义和json映射 2022-02-15 16:47:20 +08:00
jiqh
90b42bd2bb 🐛 修复部分字段定义类型错误 2022-02-11 16:35:09 +08:00
Binary Wang
bae7886fe7 🔖 发布 4.2.6.B 测试版本 2022-02-09 16:40:14 +08:00
Binary Wang
0c00e15c8f 🎨 修复错误的json注解 2022-02-08 18:53:23 +08:00
Binary Wang
1bbadc37cb 🎨 屏蔽一段代码,以免报错 2022-02-08 18:37:04 +08:00
Binary Wang
935749e580 🎨 【开放平台】小程序模板管理获取代码模板列表接口返回增加两个小程序相关的字段 2022-02-08 18:31:56 +08:00
dependabot[bot]
2914943cad ⬆️ Bump xstream from 1.4.18 to 1.4.19 (#2525)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.18 to 1.4.19.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

---
updated-dependencies:
- dependency-name: com.thoughtworks.xstream:xstream
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-08 18:21:19 +08:00
dependabot[bot]
a2ed0713e2 ⬆️ Bump xstream in /others/weixin-java-osgi (#2526)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.18 to 1.4.19.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

---
updated-dependencies:
- dependency-name: com.thoughtworks.xstream:xstream
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-08 18:21:18 +08:00
Boris
438d5833f9 🆕 #2309 【企业微信】新增微信客服-接待人员管理、会话分配与消息收发、基础信息获取等相关接口 2022-02-08 18:21:18 +08:00
徐凯旋
37fe7d21ef 🎨 #2478 【微信支付】申请分账和查询分账结果添加detail_id 2022-02-08 18:21:18 +08:00
dream
6f23c5e289 🐛 修复OA获取打卡月报数据时间月跨度问题 2022-02-08 10:20:31 +00:00
徐凯旋
1af394cdd9
🆕 #2198 【小程序】增加根据提交信息数据获取用户安全等级的接口 2022-01-26 14:27:14 +08:00
大森林
a79b05cd45 📝 增加jeepay赞助广告 2022-01-26 14:14:01 +08:00
Binary Wang
93616adf3a 🎨 格式化并优化部分代码 2022-01-25 09:35:02 +08:00
Binary Wang
65d8059221 🎨 【公众号】发布能力获取成功发布列表接口返回增加update_time参数 2022-01-25 00:18:31 +08:00
Wong
c0535f87fb 🆕 #1596 【企业微信】新增会话存档相关接口 2022-01-25 00:10:14 +08:00
aniaan
b8dd04b89f
🎨 新增view_miniprogram事件类型常量 2022-01-24 23:51:38 +08:00
Binary Wang
bd670742e7 🔖 发布 4.2.5.B 测试版本 2022-01-24 00:34:21 +08:00
栈木
74b5f806d0
🎨 更新微信公众平台文档地址&增加clientmsgid相关返回码 2022-01-24 00:10:11 +08:00
zhoushuofu
189ee0925e
🎨 #2516【公众号】菜单按钮支持新的图文消息类型 2022-01-24 00:09:37 +08:00
Binary Wang
f3b2e93a08 🎨 #2491【小程序】获取小程序scheme码接口请求增加两个过期相关参数 2022-01-24 00:07:33 +08:00
Binary Wang
04914f5b01 🎨 #2518【企业微信】获取审批记录的审批状态增加已退回状态 2022-01-24 00:03:05 +08:00
孔明
487cc7f689
🆕 #2309 【企业微信】新增微信客服帐号管理部分接口 2022-01-20 12:07:56 +08:00
ichengzi
649af3e4bd
🎨 错误码中文含义匹配优化 2022-01-20 12:05:12 +08:00
JCLee
31efa1ad66
🎨 #2511【公众号】草稿箱获取图文素材实体类增加图文消息素材的最后更新时间字段 2022-01-20 12:04:09 +08:00
Binary Wang
6bccbf5fc3
Update README.md 2022-01-19 20:31:35 +08:00
活泼开朗大男孩变身技术宅
2c48303f8d
🆕 #2510【小程序】增加微信小程序即时配送服务的接口 2022-01-19 20:26:18 +08:00
Binary Wang
a6f55b3ef1
Update README.md 2022-01-17 14:23:41 +08:00
huazai
1dc58f0021
🎨 #2506 【小程序】补充完善获取用户encryptKey接口的参数 2022-01-17 13:49:23 +08:00
徐凯旋
0601e8fb17
🎨 fix GsonBuilder singleton NPE 2022-01-12 17:26:11 +08:00
DDERGOU
ee17a5ee6f
🎨 解析响应的Gson构建类调整为单例 2022-01-11 12:44:50 +08:00
Binary Wang
4c781ee7ee 🎨 简化代码 2022-01-06 16:15:30 +08:00
wongswoon
be40eb7c14
🎨 【小程序】WxMaMessage增加小程序撤销授权AppID事件部分字段 2022-01-06 16:12:38 +08:00
shouyuwang
6fb083aeea
🎨 【微信支付】支付分请求接口代码优化 2022-01-06 14:48:32 +08:00
Binary Wang
bb9a1857c8 🔖 发布 4.2.4.B 测试版本 2022-01-05 08:53:25 +08:00
dany1
76ea7fe2a8
🎨 #2477 【小程序】增加订阅消息通知事件的相关属性支持 2022-01-03 23:15:31 +08:00
Tim Sims
4b92f94a41
🆕 #2479 【企业微信】增加获取企业群发成员执行结果的接口 2022-01-03 23:11:19 +08:00
zp961466717
0c35f778db
🎨 #2481 【企业微信】发送应用消息接口里的文本通知型的模板卡片消息增加引用文本字段 2022-01-03 23:09:27 +08:00
JCLee
fd8e02a81a
🎨 #2476【公众号】客服消息增加草稿箱图文消息类型 2021-12-31 15:04:07 +08:00
穗苗子
a647fe8c5b
🎨 #2474【小程序】createWxaCodeUnlimit 接口方法支持设置check_path参数 2021-12-30 09:17:19 +08:00
184759547
1309e9e2dc
🆕 #2473 【小程序】接入小程序广告实现,实现创建数据源和回传数据两个接口
Co-authored-by: wywy12300 <gaoyong@chebada.com>
2021-12-30 09:16:10 +08:00
Binary Wang
1474e727b2 🔖 发布 4.2.3.B 测试版本 2021-12-28 18:10:48 +08:00
hb0730
94ad8169fa
🆕 #2455 【小程序】增加新的获取手机号的接口 2021-12-28 18:01:22 +08:00
wuchubuzai2018
7101c22899
🎨 #2467 【微信支付】微信支付V3接口请求增加代理设置参数的支持 2021-12-28 17:59:38 +08:00
luxiang0412
739c222586 🆕 #2468【企业微信】获取审批申请详情接口返回数据增加关联审批单控件 2021-12-28 00:00:10 +08:00
无处不在2015
1bda3eee15 🎨 #2467 【微信支付】微信支付V3接口请求增加代理设置参数的支持 2021-12-28 00:00:10 +08:00
zp961466717
7116fe5ae2
🆕 #2459 【小程序】授权资料变更事件消息增加OpenPID,PluginID,OpenID,RevokeInfo等字段 2021-12-27 15:09:42 +08:00
linlinjava
c66ecbfd4d
🎨 #2461 【小程序】自定义交易组件上传接口支持图片链接 2021-12-27 15:03:02 +08:00
Scruel Tao
31984c130f
💡 增加 ADD_SCENE_WECHAT_ADVERTISEMENT 注释 2021-12-27 15:02:14 +08:00
Scruel Tao
bcd5806cdc
♻️ 无效字段过时标记处理 2021-12-27 15:01:25 +08:00
Wong
2175e94158 🆕 【企业微信】增加直播相关接口 2021-12-24 09:30:35 +08:00
jamy888
2e4d73e8b7 🆕 【企业微信】修改解析企业微信推送消息类,添加对企微客户联系变更回调事件的支持 2021-12-23 16:49:09 +08:00
Binary Wang
43594d71b1 Update README.md 2021-12-23 16:49:09 +08:00
Wong
d6d0e35984 🎨 修复测试类 2021-12-20 23:35:58 +08:00
Aron
8449f2f942 📝 更正注释 2021-12-17 23:01:32 +08:00
0katekate0
228c71c42a
🎨 #2452 【企业微信】获取部门列表接口添加返回字段 departmentLeader(部门负责人的UserID) 2021-12-17 16:16:48 +08:00
Binary Wang
ef293d284e 🎨 修复错误的字段名 2021-12-17 12:06:47 +08:00
Binary Wang
51b3dc0efb 🎨 部分类增加缺失的@Data注解 2021-12-17 12:06:32 +08:00
JCLee
d70b907407
🆕 #2451 【小程序】增加设备订阅消息相关接口 2021-12-17 11:57:15 +08:00
xiaoguaiYJ
c1d0b68d32
🆕 #2443【微信支付】增加服务商微工卡相关功能接口以及微信批量转账到零钱的服务商接口实现
Co-authored-by: xiaoqiang <dengmingqiang@youmengbang.com>
2021-12-14 12:41:48 +08:00
Binary Wang
6f35b985b1 🔖 发布 4.2.2.B 测试版本 2021-12-12 23:52:19 +08:00
Binary Wang
23bc3bc763 🎨 优化代码 2021-12-10 17:48:12 +08:00
Binary Wang
fc856b66bb 🎨 修复文档 2021-12-10 16:11:16 +08:00
Jc826
7bf9373b55
🎨 优化代码 2021-12-10 16:04:49 +08:00
xujijie
fa2c990ab2
🎨 #2434 【公众号】微信发布能力接口文章信息返回数据增加thumb_url 2021-12-10 15:23:58 +08:00
Forever杨
b8f328b90b
🎨【微信开放平台】优化 Spring Boot Starter 配置逻辑 2021-12-08 18:26:49 +08:00
Scruel Tao
f351ecf2a1
🐛 fix annotation typo. 2021-12-08 18:24:41 +08:00
Scruel Tao
3f8b6e1c7a
🆕 增加 WxMpXmlOutMessage 返回包含被加密信息对象的方法 2021-12-08 14:51:06 +08:00
Scruel Tao
05fd45b853
🆕 补全消息输出等相关类的 jackson 注解(主要是 @JacksonXmlCData) 2021-12-08 14:50:44 +08:00
Scruel Tao
f2ac81ef5e
♻️ 过时语义不清晰的 decrypt 方法 2021-12-08 14:47:49 +08:00
Forever杨
fcb599b76e
📝 新增 企业微信 Spring Boot Starter 文档 2021-12-08 14:47:00 +08:00
Scruel Tao
1c6b7fc07c
🎨 增加对象自身的解密方法,调整解密工具类方法名 2021-12-08 09:41:59 +08:00
sunzsh
ce8bf302fa
🎨 #2428 【企业微信】用户管理接口添加官方新引入的直属领导字段 2021-12-08 09:13:34 +08:00
Scruel Tao
e2f370eedc
🎨 WxMpXmlMessage 对象支持 jackson 序列化注解(无功能性影响,非强依赖) 2021-12-07 15:42:36 +08:00
dagewang
7f11938799
🐛 #2422 【微信支付】修复企业付款给员工接口签名错误问题 2021-12-07 13:54:20 +08:00
Forever杨
e3fc624052
🆕 #2423 【企业微信】新增企业微信 Spring Boot Starter 2021-12-06 17:07:43 +08:00
wenjie
05ea881fac
🎨 #2386 【小程序】createWxaCodeUnlimit 接口方法支持设置env_string 2021-12-05 21:27:31 +08:00
S
a254d1ce34
🎨 优化WxPayConfig,支持配置文件为字节数组 2021-12-02 18:22:16 +08:00
liufuguo
40ba792acc
🐛 小程序的条码/二维码识别的API请求方式改为post 2021-12-01 17:57:37 +08:00
Binary Wang
5ac4e00133 🎨 修复错误代码 2021-11-29 22:43:55 +08:00
Binary Wang
c22fc05193 🔖 发布 4.2.1.B 测试版本 2021-11-29 22:19:02 +08:00
qing Wang
f4bf76c490
🎨 更正CODE_87013 msg 2021-11-29 22:11:43 +08:00
qing Wang
20011f8b7e
🎨 #2411【微信公众号】获取草稿列表接口新增两个字段 2021-11-29 17:49:30 +08:00
Binary Wang
cc6bc22c1d 🎨 优化代码 2021-11-28 23:50:11 +08:00
Binary Wang
daae431ef0 📝 更新优化文档 2021-11-28 23:32:56 +08:00
qing Wang
2e0b20021b
🎨 fix dependency conflicts 2021-11-28 23:26:51 +08:00
sandy zeng
ddf207e15b
🎨 修复错误转换逻辑 2021-11-28 23:24:31 +08:00
xiaowei6066
95d130d927
🆕 #2399 【小程序】增加内容安全mediaCheckAsync接口新的实现方法 2021-11-24 14:28:48 +08:00
Binary Wang
1984b28ce3 🎨 增加缺失字段subMchid 2021-11-18 22:55:11 +08:00
Binary Wang
669b4ea7c2 🎨 优化ApacheHttpClientBuilder代码 2021-11-18 22:53:53 +08:00
潘安
cffd17399b
🆕 #2397【企业微信】帐号ID安全性全面升级相关接口改造以及增加代开发应用external_userid转换的接口 2021-11-18 11:17:54 +08:00
S
6cc0b2db22
🎨 修复有问题的代码 2021-11-18 11:15:35 +08:00
haoyanbing
1f830ecacf
🎨 #2390 【公共问题】ApacheHttpClientBuilder增加支持配置重试策略和超时策略的参数 2021-11-17 18:45:43 +08:00
Lo_ading
8b4c105029
🎨 #2387 【企业微信】客户朋友圈接口字段调整 2021-11-17 16:54:06 +08:00
潘安
a5cd1a6cd5
🎨 #2391 【企业微信】企业群发消息接口结构调整 2021-11-17 16:52:20 +08:00
Binary Wang
421fbd4993 add ccflow banner 2021-11-15 10:34:36 +08:00
Binary Wang
f7ab9f8f29 🎨 auditId字段改为Long 2021-11-15 10:34:36 +08:00
Lo_ading
93779d227a
:new :#2382 【企业微信】增加获取商品图册的接口 2021-11-14 21:31:29 +08:00
hywr
ef99e3d24f
🆕 #2385 【开放平台】 增加为小程序设置用户隐私指引的相关接口 2021-11-14 21:29:00 +08:00
tt
23a115fdee
🎨 #2375 【小程序】urlscheme生成接口调整请求参数结构 2021-11-08 21:03:18 +08:00
杨镇涛
def6856b02
🆕 #2373 【小程序】urllink生成接口增加env_version参数以支持环境隔离 2021-11-08 21:00:55 +08:00
ray Wang
bb6bec04b1
🆕 #2379 【微信开放平台】增加个人小程序快速注册和试用小程序快速注册相关接口 2021-11-08 18:44:57 +08:00
潘安
88301a6192
🆕 #2372【企业微信】新增客户群opengid转换和入群欢迎语素材管理相关接口 2021-11-03 23:20:33 +08:00
Binary Wang
dd83e1655a
📝 更新版本信息 2021-11-01 23:50:01 +08:00
Binary Wang
d5d61a4e1a 🔖 发布 4.2.0 正式版本 2021-11-01 20:52:39 +08:00
Binary Wang
5f1aa6fc97 🎨 代码优化 2021-11-01 00:18:42 +08:00
Binary Wang
e343159e3a 🎨 修复测试代码 2021-11-01 00:09:42 +08:00
Binary Wang
7b4ba553ac 🎨 #2331 【公众号】【开放平台】根据微信平台用户信息接口最新调整去掉用户信息类部分无用字段 2021-10-31 23:48:54 +08:00
Binary Wang
6f57d4a522 🎨 修复一个字段类型错误问题 2021-10-31 23:33:10 +08:00
Boris
537a9332c0
🆕 #2361 【企业微信】增加客户朋友圈相关的部分接口 2021-10-31 23:25:27 +08:00
潘安
dde445150a
🆕 #2365 【企业微信】新增获取企业群发记录及结果的接口 2021-10-31 23:16:08 +08:00
Binary Wang
7164e26195 🎨 代码优化 2021-10-25 00:09:28 +08:00
Kyle Scully
3039dd018e
🎨 Use explicit types on lambda arguments 2021-10-23 23:27:14 +08:00
Kyle Scully
44e4ee4416
🎨 modifier order 2021-10-23 23:26:45 +08:00
tt
a2042dd7c2
🎨 #2354 【小程序】urlscheme增加要打开的小程序版本字段,默认值正式版本 2021-10-23 23:25:58 +08:00
dragon
5755c293df
🆕 #2356 【公众号】新增草稿箱和发布相关的接口 2021-10-23 23:23:18 +08:00
Binary Wang
8c787d1638 🎨 补充缺失参数 2021-10-17 20:21:56 +08:00
Binary Wang
f4c18d7eb8 🎨 补充错误码 2021-10-17 20:21:09 +08:00
linlinjava
0c1258594e
修复WxMaShopPayInfo的支付方式参数 2021-10-17 20:05:46 +08:00
Kyle Scully
e68477c26c
refactor: Remove unnecessary parentheses 2021-10-14 14:20:08 +08:00
Kyle Scully
0bcba32ea4
refactor: Use diamond operator 2021-10-13 14:06:39 +08:00
ArBing
fddb2f7a18
🆕 #2345【企业微信】增加创建调用wx.agentConfig时所需要的签名方法 2021-10-13 13:49:16 +08:00
ArBing
a5c141f7be
🎨 #2344【企业微信】永久授权码信息相关接口增加authMode、isCustomizedApp字段 2021-10-13 13:48:49 +08:00
Lucas
3c4e749ea9
🐛 #2338 【微信支付】营销代金券接口修复pause和restart实现的问题 2021-10-06 10:17:07 +08:00
nickname263
56d2b5f57a
🆕【企业微信】添加对新的模板卡片更新消息“更新点击用户的按钮点击文案消息”的支持 2021-09-27 17:27:46 +08:00
nickname263
cecdace1c5
🆕 #2324【企业微信】添加对新的模版卡片消息的支持 2021-09-25 23:06:19 +08:00
yearliny
b45c626e82
🐛 修复某些情况下会抛出CannotResolveClassException异常错误的问题
https://stackoverflow.com/questions/9508292/nodecom-thoughtworks-xstream-mapper-cannotresolveclassexception-while-using-xstr
2021-09-25 23:05:28 +08:00
Binary Wang
abbfc85e24 Update README.md 2021-09-21 17:08:07 +08:00
Binary Wang
2019efffa3 🎨 修复接口参数命名错误问题 2021-09-19 13:00:10 +08:00
laizuan
cabee0f70c
🎨 默认Apache http,排除jodd-http依赖 2021-09-19 12:53:42 +08:00
Zerision
18b49daf2b
🐛 #2314 【企业微信】修复多个不同通知消息被误判为同一消息的问题 2021-09-19 10:30:35 +08:00
Binary Wang
8faef7c8e2 🔖 发布 4.1.9.B 测试版本 2021-09-13 23:45:16 +08:00
Binary Wang
941c47a193 🎨 修复已移除代码 2021-09-13 23:44:46 +08:00
xdtand
6bba793f4f
🎨 修改增加的字段对应的数据类型 2021-09-13 23:22:57 +08:00
Binary Wang
123bef0ea9 🎨 重构优化小程序Link相关接口 2021-09-13 23:08:32 +08:00
xdtand
ba23afd49f
🎨 #2311 【企业微信】企业微信打卡数据接口增加部分缺失字段 2021-09-10 11:40:01 +08:00
linlinjava
ea31b7bfbe
🆕 #2306【微信小程序】增加小程序Short Link生成的接口 2021-09-10 11:38:35 +08:00
pg
3c267bbe61
🆕 #2281【小程序】增加小程序加密网络通道支持 2021-09-07 22:44:03 +08:00
yiyi910
f7f2121fca
🐛 #2301 【小程序】修复生成小程序码的okhttp与Jodd实现类当微信后端报错时不会抛异常的问题 2021-09-07 22:43:10 +08:00
Leeway
8f4993971d
🆕 #2305【公众号】微信事件消息类增加群发图文的url结果属性 2021-09-07 22:41:08 +08:00
Binary Wang
5f35ab27fb 🔖 发布 4.1.8.B 测试版本 2021-09-05 23:00:54 +08:00
xingyao
ba99224d13
🎨 #2295 【企业微信】批量获取外部客户详情接口支持多个userId 2021-09-05 22:17:30 +08:00
dinghe1018
b06cc90f94
🐛 #2284 【小程序】修复直播接口的type字段 2021-09-05 16:06:30 +08:00
ArBing
59a1456799
🆕 #2298【企业微信】增加服务商模式外部联系人unionid转换接口 2021-09-05 16:03:37 +08:00
dependabot[bot]
2a36ebf45f
⬆️ Bump xstream in /others/weixin-java-osgi (#2280)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.17 to 1.4.18.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

---
updated-dependencies:
- dependency-name: com.thoughtworks.xstream:xstream
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-30 16:49:29 +08:00
721806280
159471c9cb
🎨 Update pom.xml 2021-08-25 15:13:21 +08:00
Binary Wang
af212bd68f 🔖 发布 4.1.7.B 测试版本 2021-08-23 23:11:53 +08:00
Binary Wang
28156fcb3a 🎨 #2272 【企业微信】发送新客户欢迎语接口增加对file文件消息的支持 2021-08-23 22:34:33 +08:00
liming1019
b65783bd72
🎨 修复客户端在使用Request对象时由lombok注解引发的错误 2021-08-23 22:18:25 +08:00
huangxm129
226c2af5a1
🎨【企业微信】修改查询客户接替状态未接受customer数据问题 2021-08-23 22:16:46 +08:00
ifhelen
373aa777c7
🎨 #2271 【企业微信】应用消息发送接口返回类增加消息id字段,用于撤回应用消息 2021-08-23 22:12:11 +08:00
Binary Wang
9531df8067
Update README.md 2021-08-19 16:51:40 +08:00
ShienPro
28b2ca93fb
🆕 #2260【小程序】增加自定义组件之撤销商品审核的接口 2021-08-19 10:56:34 +08:00
liming1019
614a1c923e
🆕 #2261 【小程序】增加内容安全接口(兼容2.0版本) 2021-08-18 10:52:16 +08:00
Binary Wang
6cfe90b31e 🎨 格式化部分代码 2021-08-16 17:59:52 +08:00
Binary Wang
dfeb2f944f ⬆️ 升级 Spring Boot 版本 2021-08-16 17:55:40 +08:00
Binary Wang
d4a1a98ba1 🔖 发布 4.1.6.B 测试版本 2021-08-14 22:37:03 +08:00
liming1019
e785b1f9a7
🆕 #2258 【小程序】增加自定义组件之物流和售后相关接口 2021-08-13 17:55:35 +08:00
po
3f42a162c2
🆕 #2257【微信支付】增加微信签约代扣相关接口 2021-08-13 17:53:01 +08:00
Binary Wang
ed6bd016f5
Update README.md 2021-08-13 15:19:10 +08:00
Binary Wang
426ad57aa5 🎨 优化代码 2021-08-13 14:51:34 +08:00
liming1019
b3eadb4ffa
🆕 #2255 【小程序】增加自定义组件之接入商品前必需的接口 2021-08-13 13:46:33 +08:00
猪蹄宝宝
5326c5b155
🐛 #2216 【微信支付】修复APP统一下单v3接口缺少sign参数的问题 2021-08-13 13:41:00 +08:00
猪蹄宝宝
60c9df46f5
🐛 #2246 【微信支付】修复微信支付V3签名/验签的换行符错误问题
参考微信支付文档:
https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_4.shtml
https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_0.shtml

签名时使用的换行符必须是\n,因此不应使用%n,这会导致windows平台下签名错误
2021-08-13 13:39:35 +08:00
hywr
2b92b6fdc2
🐛 修复几个问题
1.修复微信公众号无法模板消息行业:其他
2.修复第三方平台无法上传标准模板的代码到小程序
3.修复小程序代码模板类型类字段拼写错误
2021-08-13 13:37:54 +08:00
liming1019
e9c1cda356
🆕 #2252 【小程序】增加自定义组件之图片上传接口 2021-08-11 09:49:32 +08:00
akingzwk
24bde9298c
🐛 #2253 【企业微信】修复服务商模式通过授权码获取登录用户的信息返回”不合法的的suite_ticket参数“的错误 2021-08-11 09:47:34 +08:00
longliveh
72f3005ac6
🐛 #2251 【企业微信】 修复获取打卡数据时间检查不正确的问题 2021-08-10 13:47:46 +08:00
liming1019
16d98a6142
🆕 #2249 【小程序】增加自定义组件之商家入驻相关接口 2021-08-09 22:08:29 +08:00
Binary Wang
5c71b2a29f 🔖 发布 4.1.5.B 测试版本 2021-08-08 21:51:24 +08:00
liming1019
60663f2f7a
🆕 #2243 【小程序】增加自定义组件申请接入相关接口 2021-08-06 10:33:32 +08:00
shuaidawang
2d36b4d6d2
🆕 #2240 【开放平台】 增加小程序提审素材上传的接口 2021-08-06 09:40:14 +08:00
Binary Wang
091d74b6ee 🎨 格式化部分代码 2021-08-05 09:19:48 +08:00
Binary Wang
622b838005 🎨 优化代码 2021-08-04 18:37:15 +08:00
zsail
1652ae2f79
🐛 【公众号】 短key解析接口返回结果结构修复 2021-08-04 17:33:00 +08:00
longliveh
87c1952eef
🐛 #2235 【企业微信】 修复获取打卡数据时间检查不正确的问题 2021-08-04 17:32:18 +08:00
Binary Wang
8c76e60675
🐛 Revert "class BaseWxPayResult add a field named signType"
This reverts commit 10fd006f32e5a672d72d0e1c35b439f9bcc59959.
2021-08-04 13:58:50 +08:00
zsail
2a8854656e
🎨 修正字段注释 2021-08-03 16:57:11 +08:00
Binary Wang
06c407a6f0 🔖 发布 4.1.4.B 测试版本 2021-08-01 22:59:27 +08:00
Binary Wang
eecd3f87d7
Update README.md 2021-08-01 12:21:23 +08:00
Binary Wang
443fa220e2 🐛 修复几个错误的字段类型定义 2021-08-01 11:50:13 +08:00
Binary Wang
4a009fe9f2 🎨 去掉错误的必填校验注解 2021-08-01 11:49:35 +08:00
huangxm129
140fb022a1
🎨 #2229 【企业微信】查询企业成员信息接口结果实体类增加视频号名称信息 2021-08-01 11:47:34 +08:00
Sheng Chen
10fd006f32
🎨 class BaseWxPayResult add a field named signType
* feature (common): the callback xml from wechat maybe has sign_type

* feature (common): the callback xml from wechat maybe has sign_type

Co-authored-by: chensheng <chensheng@jiayouxueba.cn>
2021-07-29 22:24:54 +08:00
zsail
6d2c0a3709
🆕 #2222 【公众号】 新增短key托管和解析的接口 2021-07-29 22:24:19 +08:00
hywr
00347dc50c
🎨 #2226 【开放平台】第三方平台获取代码模板列表接口增加参数,可过滤标准模板 2021-07-29 22:22:31 +08:00
longliveh
8511f8f826
🆕 #2219 【企业微信】 新增为打卡人员排班接口 2021-07-27 20:53:19 +08:00
Binary Wang
5f23a6f101 🔖 发布 4.1.3.B 测试版本 2021-07-25 23:34:32 +08:00
Binary Wang
426bcddd47 🐛 修复三方应用登录构建的授权链接地址问题 2021-07-25 23:10:50 +08:00
Binary Wang
e15181867f 🎨 部分bean类实现序列化接口 2021-07-25 23:08:25 +08:00
Binary Wang
b307c5aa85 🎨 增加文档地址 2021-07-25 23:08:25 +08:00
Binary Wang
29498a9b3e
Update bug_report.md 2021-07-25 23:01:23 +08:00
Binary Wang
596ada05f1 🎨 #2194 【小程序】交易组件生成订单接口请求增加缺失参数 2021-07-25 21:54:03 +08:00
Binary Wang
59f871a3a1 🎨 标记JedisLock组件为过期,不建议使用 2021-07-25 21:44:16 +08:00
Binary Wang
0eb474d319 🆕 #2207 【企业微信】增加构建扫码登录二维码链接的方法 2021-07-25 21:33:20 +08:00
Binary Wang
7db5207fee 🎨 优化重构部分代码 2021-07-25 21:20:13 +08:00
Binary Wang
3a444d0fba Update README.md 2021-07-25 21:19:38 +08:00
longliveh
497a0b7017
🆕 #2213【企业微信】 增加获取企业所有打卡规则的接口 2021-07-22 13:54:15 +08:00
Binary Wang
e53733b842 🎨 优化代码,恢复误删除代码 2021-07-20 10:32:10 +08:00
Binary Wang
1b48399501 🔖 发布 4.1.2.B 测试版本 2021-07-18 23:34:08 +08:00
Binary Wang
7bd9ef4dfd 🐛 修复两个变量类型 2021-07-18 23:21:20 +08:00
hywr
9e3f256032
🆕 #2206 【开放平台】增加第三方平台启动ticket推送接口 2021-07-18 23:04:48 +08:00
longliveh
d3730b361d
🐛 #2208【企业微信】 获取打卡人员排班信息接口修复返回结果类结构 2021-07-18 23:03:55 +08:00
Leeway
72205bbf16
🎨 #2209【企业微信】获取客户群详情接口增加群昵称字段 2021-07-18 23:02:00 +08:00
tangliu
737d75964b
🐛 #2200 【小程序】修复获取AccessToken时ApiHostUrl未生效的问题 2021-07-13 10:00:26 +08:00
longliveh
2d2cf39f1c
🆕 #2201【企业微信】 增加获取打卡记录日报、获取打卡记录月报、获取打卡人员排班信息接口 2021-07-13 09:59:31 +08:00
刘小狼狈
69b9ec0068
🎨 #2199 【小程序】WxMaUserInfo类补充openId和unionId字段 2021-07-12 12:17:16 +08:00
Binary Wang
44e8f229ee
Update stale.yml 2021-07-08 11:45:58 +08:00
Binary Wang
b8e2d58505
Create stale.yml 2021-07-08 11:12:29 +08:00
Binary Wang
b4abd5143d 🔖 发布 4.1.1.B 测试版本 2021-07-04 23:58:00 +08:00
Binary Wang
982ad86bab 🎨 小商店相关代码修复优化 2021-07-04 23:13:48 +08:00
Binary Wang
d29d18028a 🐛 修复GsonHelper工具类 2021-07-03 21:31:21 +08:00
Binary Wang
3d6185914f 🎨 优化代码,去掉jodd相关接口引用 2021-07-03 21:14:42 +08:00
kelvenlaw
eaa517359a
🆕 #2048 【开放平台】实现小商店的部分接口 2021-07-03 21:06:02 +08:00
thinsstar
fb0460e1a1
🆕 #2188 【微信支付】增加v3合单支付和账单相关接口 2021-07-03 20:59:38 +08:00
mrning
dc7bcc01e2
🎨 ApplymentsStatusResult添加signState签约状态字段 2021-07-03 20:57:32 +08:00
Binary Wang
b2eaa59cb3 🎨 格式化代码,并规范变量命名 2021-07-03 20:51:39 +08:00
pg
65921f572f
🎨 #2178 【企业微信】更新获取客户群列表的接口 2021-07-03 20:45:42 +08:00
wrinkle
568d02c25e
🆕 #2181【企业微信】增加支持传入groupId参数的获取企业标签库接口实现 2021-07-02 09:52:38 +08:00
TomLiu
fedab8f28a
🆕 #2185 【开放平台】增加将草稿添加到代码标准模板库的接口 2021-07-01 16:47:48 +08:00
pg
577b756912
🆕 #2120 【微信支付】微信分账服务类增加v3接口 2021-06-26 21:09:57 +08:00
ParkerJX
e3f785f006
🐛 #2171【企业微信】第三方应用CORP_JSAPI_TICKET ,SUITE_JSAPI_TICKET 获取 ticket 失效修复 2021-06-26 21:08:48 +08:00
dependabot[bot]
b6d4b5e902
⬆️ Bump jetty-server from 9.4.38.v20210224 to 9.4.41.v20210516 (#2164)
Bumps [jetty-server](https://github.com/eclipse/jetty.project) from 9.4.38.v20210224 to 9.4.41.v20210516.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.38.v20210224...jetty-9.4.41.v20210516)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-24 10:44:43 +08:00
hywr
591b2d83c6
🆕 #2163 【开放平台】增加查询小程序可回退版本的接口 2021-06-23 16:14:20 +08:00
pg
71289e4dea
🐛 #2148 【企业微信】修复互联企业消息推送接口返回字段问题 2021-06-23 16:12:19 +08:00
arthur0201
1e64a7f7b3
🆕 #2161 【公众号】微信推送消息类增加群发接口事件相关字段 2021-06-23 13:47:24 +08:00
pg
3963c6d471
🆕 #2150 【企业微信】补充完善部分客户联系接口,以及服务商模式外部联系人openid转换接口 2021-06-22 10:57:32 +08:00
pg
566e5f31c7
🎨 #2155 【企业微信】发送新客户欢迎语接口增加对视频类型的支持,同时修复结构不正确的问题 2021-06-21 11:58:13 +08:00
mrxiao
8e0a6a3d40
🆕 #2135 【小程序】实现获取 URL Link接口 以及微信电子发票报销方相关接口 2021-06-11 11:51:43 +08:00
arthur0201
61303c2226
🎨 #2144【企业微信】更新任务卡片消息状态接口参数跟文档保持一致 2021-06-07 11:37:38 +08:00
Binary Wang
4ef9b5d91e 🎨 优化部分代码 2021-06-04 16:11:48 +08:00
dependabot[bot]
3ab66e3447
⬆️ Bump httpclient from 4.5 to 4.5.13 (#2143)
Bumps httpclient from 4.5 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-04 09:34:07 +08:00
arthur0201
183bdb2cbe
🆕 #2142 【企业微信】被动回复消息内容新增任务卡片格式 2021-06-04 09:33:42 +08:00
Binary Wang
c7c834b450 ⬆️ upgrade guava version 2021-06-03 14:06:57 +08:00
Binary Wang
4d94e17b96 🎨 修复单元测试代码 2021-06-03 14:04:06 +08:00
Binary Wang
54222bd346 📝 更新部分信息 2021-06-02 23:46:22 +08:00
Binary Wang
96395c895f 📝 更新版本信息 2021-06-02 23:36:47 +08:00
Binary Wang
0c4fb44a79 Merge branch 'release' into develop
# Conflicts:
#	README.md
#	others/weixin-java-osgi/pom.xml
#	pom.xml
#	spring-boot-starters/pom.xml
#	spring-boot-starters/wx-java-miniapp-spring-boot-starter/pom.xml
#	spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/config/WxMaAutoConfiguration.java
#	spring-boot-starters/wx-java-miniapp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/miniapp/properties/WxMaProperties.java
#	spring-boot-starters/wx-java-mp-spring-boot-starter/pom.xml
#	spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/config/WxMpStorageAutoConfiguration.java
#	spring-boot-starters/wx-java-mp-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/mp/properties/WxMpProperties.java
#	spring-boot-starters/wx-java-open-spring-boot-starter/pom.xml
#	spring-boot-starters/wx-java-open-spring-boot-starter/src/main/java/com/binarywang/spring/starter/wxjava/open/config/WxOpenStorageAutoConfiguration.java
#	spring-boot-starters/wx-java-pay-spring-boot-starter/pom.xml
#	weixin-graal/pom.xml
#	weixin-java-common/pom.xml
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/error/WxErrorException.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/service/WxOAuth2Service.java
#	weixin-java-cp/pom.xml
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpService.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpUserService.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/BaseWxCpServiceImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpGroupRobotServiceImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpUserServiceImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUserExternalContactInfo.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/external/contact/FollowedUser.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpMessageSendStatistics.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessage.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpXmlOutVideoMessage.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpTpConfigStorage.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpDefaultConfigImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpRedissonConfigImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpDefaultConfigImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/impl/WxCpTpRedissonConfigImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/message/WxCpTpMessageRouterRule.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/WxCpTpService.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/impl/BaseWxCpTpServiceImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/impl/WxCpTpServiceImpl.java
#	weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/message/WxCpTpXmlMessageTest.java
#	weixin-java-miniapp/pom.xml
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaLiveService.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaQrcodeService.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaService.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/BaseWxMaServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaAnalysisServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaCloudServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaCodeServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaExpressServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaImgProcServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaJsapiServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaLiveGoodsServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaLiveServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaOcrServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaQrcodeServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaSettingServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaSubscribeServiceImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/live/WxMaLiveRoomInfo.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/config/impl/WxMaDefaultConfigImpl.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/executor/ApacheQrcodeBytesRequestExecutor.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/executor/ApacheQrcodeFileRequestExecutor.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/executor/QrcodeBytesRequestExecutor.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/executor/QrcodeRequestExecutor.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/QrcodeBytesRequestExecutor.java
#	weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/util/QrcodeRequestExecutor.java
#	weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/api/impl/WxMaMsgServiceImplTest.java
#	weixin-java-mp/pom.xml
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpGuideService.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpGuideServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxMpApiUrl.java
#	weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpBusyRetryTest.java
#	weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpGuideServiceImplTest.java
#	weixin-java-open/pom.xml
#	weixin-java-open/src/main/java/me/chanjar/weixin/open/api/WxOpenComponentService.java
#	weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java
#	weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenMpServiceImpl.java
#	weixin-java-pay/pom.xml
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/PartnerTransactionsResult.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/ProfitSharingRequest.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/EcommerceService.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/WxPayService.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EcommerceServiceImpl.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/PayScoreServiceImpl.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceApacheHttpImpl.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/auth/AutoUpdateCertificatesVerifier.java
#	weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/EcommerceServiceImplTest.java
2021-06-02 20:48:01 +08:00
Binary Wang
0e9e06a964 🔖 发布 4.1.0 正式版本 2021-06-02 20:31:41 +08:00
Binary Wang
fdd3a94131 🎨 格式化部分代码 2021-06-02 19:55:53 +08:00
Binary Wang
c9fad3121c 🐛 #2090 【企业微信】修复WxCpTpXmlMessage中的AgentID解析空值报错问题 2021-05-31 18:04:18 +08:00
Binary Wang
8f73c409d6 🎨 #2137 【企业微信】消息类里的Id修改为String以兼容字符串类型 2021-05-30 23:33:47 +08:00
momosv
2c108c4628
🎨 #2138 【企业微信】优化Redisson实现类,可单独配置provider的redis key,并使keyPrefix可设置 2021-05-30 23:08:55 +08:00
Binary Wang
317c98b6da 🎨 refine document 2021-05-28 15:08:58 +08:00
hywr
a2e82448b8
🐛 #2128 【开放平台】 修复公众号在由第三方平台管理时OAuth2Service授权相关报错问题 2021-05-24 11:34:13 +08:00
418874537
01ab45bc0c
🎨 完善补充客户群详情bean 2021-05-24 11:32:34 +08:00
thinsstar
efb2c52011
🆕 #2130 【微信支付】增加微信支付部分v3接口 2021-05-21 22:07:02 +08:00
sunl888
fa5d892176
🐛 #2125 【微信支付】修复企业微信红包发送结果中部分属性解析失败的问题
Signed-off-by: sunlong <2013855675@qq.com>
2021-05-20 17:31:46 +08:00
ily433664
3d1c1ba475
🎨 #2123 【企业微信】假勤请求增加请假Vacation属性 2021-05-20 16:05:43 +08:00
Binary Wang
3609edb4fb
Update README.md 2021-05-20 14:25:43 +08:00
hywr
62a3931aee
🎨 #2115 优化公众号、小程序、企业微信的access token自动刷新逻辑,避免循环递归调用 2021-05-20 14:23:26 +08:00
huadong
dfb02eac38
🎨 #2117 【企业微信】完善补充部分Bean类实现序列化接口 2021-05-20 14:20:18 +08:00
dependabot[bot]
f64addb0cb
⬆️ Bump xstream from 1.4.16 to 1.4.17 (#2118)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.16 to 1.4.17.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-20 14:15:38 +08:00
dependabot[bot]
f0e8b23514
⬆️ Bump xstream in /others/weixin-java-osgi (#2119)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.16 to 1.4.17.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-20 14:15:19 +08:00
Forever杨
6159d4266c
🎨 #2098 修复调用微信接口异常重试逻辑问题 2021-05-20 14:14:55 +08:00
Binary Wang
5667784c0f 🎨 refine document 2021-05-18 15:04:58 +08:00
Binary Wang
2c11ca5383 🔖 发布 4.0.9.B 测试版本 2021-05-15 15:23:36 +08:00
hywr
7359abf7c5
🆕 #2113 【公众号】增加对话能力(原导购)相关接口 2021-05-14 21:32:25 +08:00
mrxiao
a596228a8d
🆕 #2106 支付通知解密数据对象增加“基础支付支付者信息”字段 2021-05-14 10:59:25 +08:00
sunl888
dae6b15fa4
🎨 支持解析error_code错误码
Signed-off-by: sunlong <2013855675@qq.com>
2021-05-14 10:52:43 +08:00
taneg
65c1cdc07c
🎨 open模块移除Jedis强关联 2021-05-14 10:52:04 +08:00
thomas2050
15bd95c3cb
🆕 #2097 【微信支付】增加微信商户平台商家券相关业务接口 2021-04-27 15:50:17 +08:00
dependabot[bot]
51dc66194d
⬆️ Bump commons-io from 2.5 to 2.7 (#2096)
Bumps commons-io from 2.5 to 2.7.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-27 12:22:55 +08:00
cloudX
63fdc318d1
🎨 微信支付配置类的toString方法排除verifier字段 2021-04-25 10:28:31 +08:00
小锅盖
942cb07f41
🎨 重构小程序模块自动注入代码 2021-04-22 14:40:24 +08:00
Forever杨
3eabfedd9c
🎨 wx-java-open-spring-boot-starter 增加重试次数配置 2021-04-21 13:27:59 +08:00
刘小狼狈
0a75b0e902
🎨 新版微信小程序API已经不再返回 openId,unionId.删除对应字段防止开发者误用 2021-04-19 17:05:02 +08:00
OrangeBadBad
7f4b576fd6
🐛 修复通讯录搜索接口参数问题 2021-04-19 15:48:28 +08:00
Binary Wang
28df6d426a
Update README.md 2021-04-18 23:26:12 +08:00
Binary Wang
49983cf618 🔖 发布 4.0.8.B 测试版本 2021-04-18 09:53:03 +08:00
Binary Wang
e41478d9fd 🐛 #2070 【小程序】修复获取直播间助手接口参数错误问题 2021-04-17 16:33:01 +08:00
Forever杨
b650dae665
🎨 优化使用 wx-java-open-spring-boot-starter 注册 ConfigStorage 需要同时依赖 jedis、redissson、spring-data-redis 包,否则启动报错的问题 2021-04-17 16:25:59 +08:00
zainlu
fcc34c3913
🎨 #2075 【公众号】修复设置最大重试次数为0时候异常处理错误的问题
Co-authored-by: luzhaoyuan <luzhaoyuan@ppdai.com>
2021-04-16 00:18:31 +08:00
shzyx122
6f24f7b92e
🎨 #2077 【开放平台】代小程序实现业务获取基本信息接口新增nickname相关字段
返回参数: nickname_info 名称信息,nickname 小程序名称

https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Mini_Programs/Mini_Program_Information_Settings.html
2021-04-16 00:16:33 +08:00
Musuer
d818d576d9
🎨 #2078【企业微信】补充客户联系回调消息里的字段
新增字段failReason,tagType;id字段从Long改为String

Co-authored-by: firzen.xu <Firzen.xu@movit-tech.com>
2021-04-16 00:13:13 +08:00
Binary Wang
4d0ff8fbd7 🐛 修复错误代码 2021-04-07 15:40:47 +08:00
erhu1999
2b89a1dd64
🐛 #2066 【小程序】创建直播间信息请求中增加缺失的必填字段anchorImg 2021-04-06 09:59:05 +08:00
Binary Wang
2f9d843d79
Update README.md 2021-04-04 23:48:59 +08:00
sishuiyunyan
91b651d6a7
🎨 #2063 【企业微信】企业微信网页授权获取用户信息增加external_userid字段 2021-03-31 12:19:58 +08:00
Binary Wang
12652bddb2 🔖 发布 4.0.7.B 测试版本 2021-03-31 09:37:48 +08:00
Binary Wang
2ac03917f7 🎨 #2028 【公众号】获取图文群发总数据接口返回增加确实字段 2021-03-30 21:03:42 +08:00
Binary Wang
63edc076b9 🎨 部分shorturl相关接口废弃 2021-03-30 20:52:14 +08:00
Binary Wang
d16ea7d4de 🎨 优化小程序直播间创建接口 2021-03-30 20:46:17 +08:00
Binary Wang
59d8cc6d57 🎨 优化部分代码 2021-03-30 20:33:41 +08:00
Boris
4730b334b6
🆕 #2059 【小程序】增加小程序交易组件部分接口 2021-03-30 13:46:24 +08:00
mrxiao
d9de6f1169
🎨 优化代码,增加无参构造方法 2021-03-30 09:14:32 +08:00
banks
850c95a042
🐛 #2056 【小程序】修复直播成员管理-查询成员列表请求参数的问题 2021-03-29 17:12:52 +08:00
mrxiao
5155c8c4b1
🆕 #2052 【公众号】增加微信电子发票报销方相关接口
1、查询报销发票信息
2、批量查询报销发票信息
3、报销方更新发票状态
4、报销方批量更新发票状态
2021-03-24 09:30:57 +08:00
dependabot[bot]
86233064b5
⬆️ Bump xstream (#2049)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.15 to 1.4.16.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-23 15:33:07 +08:00
Binary Wang
20c40ad826 🔖 发布 4.0.6.B 测试版本 2021-03-21 23:53:14 +08:00
721806280
8470122858
🎨【漏洞预警】XStream < 1.4.16 多个反序列化漏洞 2021-03-19 17:08:48 +08:00
721806280
0203950f4e
🎨 WxCryptUtil#encrypt(String randomStr, String plainText)方法调整为public
WxCryptUtil#encrypt(String randomStr, String plainText)方法调整为public
2021-03-19 16:54:48 +08:00
Jason_liu
fefe039e95
🎨 add some missing filed
please see https://developers.weixin.qq.com/miniprogram/dev/framework/liveplayer/studio-api.html#3
2021-03-19 11:57:41 +08:00
Binary Wang
7470834896 🎨 修复jetty版本升级导致的问题 2021-03-15 11:51:25 +08:00
cloudX
488706b2df
🎨 #2040 【微信支付】增加多商户切换的支持 2021-03-15 11:40:53 +08:00
dependabot[bot]
eb46a10fd9
⬆️ Bump jetty.version from 9.4.35.v20201120 to 11.0.1 (#2037)
Bumps `jetty.version` from 9.4.35.v20201120 to 11.0.1.

Updates `jetty-server` from 9.4.35.v20201120 to 11.0.1
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.35.v20201120...jetty-11.0.1)

Updates `jetty-servlet` from 9.4.35.v20201120 to 11.0.1
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.35.v20201120...jetty-11.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-11 09:11:46 +08:00
Hiz
2736ea4edf
🎨 移除joda-time依赖
Co-authored-by: hiz <liang@0318>
2021-03-10 11:20:06 +08:00
thinsstar
30155b316b
🆕 #2022 【微信支付】增加智慧商圈相关接口和解析支付营销代金券核销回调消息的方法
* 增加解析支付营销代金券核销回调消息解析

* 增加微信支付智慧商圈接口和回调解析

Co-authored-by: 黄星 <huang.xing@aquilaflycloud.com>
2021-03-09 16:12:11 +08:00
hahahaha123567
e46c6c1995
📝 fix Javadoc typo 2021-03-01 15:23:32 +08:00
小锅盖
da512ff53d
🐛 #2015 【小程序】解决starter模块强制依赖jedis的问题 2021-02-26 22:13:41 +08:00
thinsstar
bac1b679b4
🆕 #2018 【微信支付】增加营销代金券接口和营销专用图片上传接口
Co-authored-by: 黄星 <huang.xing@aquilaflycloud.com>
2021-02-26 22:10:38 +08:00
杨迢
52c33e207c
🐛【企业微信】修复第三方应用的两个bug 2021-02-26 11:50:38 +08:00
Yang Liu
f002311b69
🐛 #2016 【企业微信】修复第三方应用 getLoginInfo 接口参数问题 2021-02-26 11:48:22 +08:00
Jason_liu
3f9bba4c63
🎨 #2007 【小程序】获取直播间列表接口返回增加两个缺少的字段 2021-02-26 09:34:14 +08:00
Zhangq
2869a086c0
🆕 #2013【企业微信】第三方应用开发增加标签管理的相关接口 2021-02-26 09:31:44 +08:00
Binary Wang
367bf4ee9f 🔖 发布 4.0.5.B 测试版本 2021-02-25 17:31:33 +08:00
cloudX
b2998b2ce4
🐛 #2004 【微信支付】电商收付通二级商户进件接口部分请求字段加密 2021-02-19 21:13:30 +08:00
Binary Wang
13356d1cd5 🆕 #1895 【小程序】直播增加成员管理相关接口 2021-02-16 00:12:35 +08:00
Binary Wang
45a422f0f7 🎨 微信支付v3代码优化重构 2021-02-15 23:30:25 +08:00
Coding And Loving
9d3c11f552
🎨 #2000 【企业微信】第三方应用增加基于分布式并发锁获取各种token和ticket的版本 2021-02-13 23:22:49 +08:00
IOrzo
3bb918d125
🎨 更正小程序二维码文档注释说明 2021-02-09 10:44:57 +08:00
Binary Wang
1001158231 🎨 优化规范部分代码 2021-02-06 22:27:32 +08:00
Binary Wang
f40547a459 🐛 #1985 【企业微信】修复群机器人发送消息的部分错误代码 2021-02-01 17:36:23 +08:00
Binary Wang
7e68b576cc 🔖 发布 4.0.4.B 测试版本 2021-01-31 23:20:41 +08:00
Binary Wang
06a1726665 🆕 #1983 【微信公众号】增加订阅通知相关接口 2021-01-31 22:09:57 +08:00
Binary Wang
fa179f6cba 🎨 优化重构代码 2021-01-28 22:44:53 +08:00
cofe
73c135fb10
🆕 #1976 【小程序】增加获取小程序scheme码的接口 2021-01-28 21:39:31 +08:00
Binary Wang
566d58e899 🐛 #1982 【企业微信】第三方应用WxCpTpXmlMessage类中order字段注解错误问题修复 2021-01-28 21:37:31 +08:00
Binary Wang
8cc9a8abe5 🎨 优化完善代码 2021-01-28 21:23:58 +08:00
Binary Wang
87431f3ffe 🎨 #1897 【小程序】接口请求地址的域名增加自定义设置的支持 2021-01-27 23:45:28 +08:00
Binary Wang
584c7ac354 🎨 重构优化部分代码 2021-01-27 23:03:42 +08:00
Binary Wang
6811bffa18 🎨 优化部分代码 2021-01-27 22:43:07 +08:00
Binary Wang
c4a87961af 🐛 #1969 【企业微信】修复第三方应用获取登录用户信息接口方法里的错误代码 2021-01-27 22:02:13 +08:00
Binary Wang
596aafcfb4
Update demo.md 2021-01-27 21:32:58 +08:00
Binary Wang
2c810298f4 🎨 #1975 【微信支付】企业付款失败时的返回字段根据接口实际返回进行优化,增加额外的特殊字段 2021-01-27 21:23:04 +08:00
Binary Wang
37ae6807e6 🆕 【公众号】增加返回响应信息完整内容的客服消息发送接口的方法 2021-01-27 21:19:44 +08:00
ray Wang
13b484a071
🆕 #1978 【微信支付】电商支付通增加查询分账回退结果的接口方法 2021-01-24 10:47:59 +08:00
Brayden Wong
ce62d1c01b
🆕 提供access_token保存ConcurrentHashMap中的实现,支持高并发。 2021-01-16 22:14:38 +08:00
cofe
bb5aadf6be
🆕 #1922 【微信支付】增加查询订单最大分账比例和剩余待分金额的接口 2021-01-15 17:08:43 +08:00
cloudX
43771f6048
🆕 #1923 【微信支付】电商收付通增加添加、删除分账接收方等接口 2021-01-15 15:21:52 +08:00
Binary Wang
ecbefea5e5 🔖 发布 4.0.3.B 测试版本 2021-01-10 23:47:06 +08:00
Binary Wang
fee15ff8d2 🎨 #1953 【企业微信】更新通讯录接口增加new_userid字段 2021-01-10 23:31:43 +08:00
Binary Wang
fb7ecd4715 🎨 部分类增加实现序列化接口 2021-01-10 23:25:45 +08:00
guicw
04fadf6f71
🐛 #1959 【微信支付】电商收付通修复请求分账接口异常问题
Co-authored-by: aha <aha>
2021-01-10 23:21:19 +08:00
cofe
fd58b3f212
🎨 weixin-java-pay模块去除jackson依赖,调整相关代码 2021-01-08 17:07:32 +08:00
tingyugetc520
1eec0f4bfa
:bug #1958 【企业微信】获取应用详情接口返回的部门ID列表字段修改为Long类型 2021-01-08 16:08:14 +08:00
Binary Wang
20c0a028c8
Update README.md 2020-12-30 13:54:35 +08:00
Binary Wang
f0eb219eb8
🎨 remove duplicated file 2020-12-30 13:53:07 +08:00
fanxiayang12
e7f2bd62f8
🆕 #1952 增加腾讯企点子模块,用于对接企点开放平台。 2020-12-30 09:17:35 +08:00
huangxm129
a8232f6c91
🆕 #1950 【企业微信】第三方应用增加获取应用的管理员列表的接口 2020-12-29 13:38:13 +08:00
uianz
0af608f119
🆕 #1947 【企业微信】第三方应用增加用户管理、OA、外部联系人、部门、通讯录搜索等相关接口的实现
* 修复getSuiteJsApiTicket和getAuthCorpJsApiTicket方法代码错误
* 增加企业微信第三方应用用户管理、oa、外部联系人、部门、通讯录搜索相关接口实现
2020-12-29 10:01:22 +08:00
miemieYaho
e946ce0642
🎨 优化yml代码提示功能 2020-12-29 09:51:30 +08:00
Binary Wang
b235a779f3 🔖 发布 4.0.2.B 测试版本 2020-12-27 20:34:56 +08:00
Binary Wang
58e9411b45 🐛 #1937 【公众号】修复动态添加公众号配置的问题 2020-12-27 20:07:49 +08:00
Binary Wang
2e18fec385
Update README.md 2020-12-27 19:58:38 +08:00
Binary Wang
45e212818f 🐛 #1944 【小程序|开放平台】修复代小程序代码管理提交审核接口的参数 2020-12-27 19:51:41 +08:00
qwq
604098b047
🆕 #1942 【小程序】增加生成小程序码的okhttp实现 2020-12-25 18:23:17 +08:00
Binary Wang
02d3c160b2 🆕 #1369 【企业微信】增加效率工具-日程相关接口 2020-12-25 17:09:18 +08:00
ParkerJX
55e1399fe8
🎨 #1909 【企业微信】第三方应用路由规则类增加msgType和event的支持 2020-12-24 15:13:47 +08:00
ray Wang
cbcba481b0
🎨 【微信支付】服务接口增加获取微信支付通用媒体服务的方法 2020-12-23 10:45:32 +08:00
Binary Wang
384fab5cf2
Update README.md 2020-12-22 14:14:43 +08:00
dependabot[bot]
573bd4507f
⬆️ Bump xstream from 1.4.14 to 1.4.15 (#1932)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.14 to 1.4.15.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 10:37:21 +08:00
dependabot[bot]
8bea393977
⬆️ Bump xstream in /others/weixin-java-osgi (#1933)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.13-java7 to 1.4.15.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 10:37:02 +08:00
Ming
59c6ce0aba
📝 add sponsor 2020-12-21 14:26:21 +08:00
Binary Wang
871876a524 🔖 发布 4.0.1.B 测试版本 2020-12-21 01:06:53 +08:00
Binary Wang
a2448d5179 🆕 #1915 【企业微信】发送应用消息接口增加是否开启重复消息检查等字段 2020-12-21 01:02:32 +08:00
Binary Wang
155501152a 🎨 🐛 #1898 【公众号】微信商户电子发票代码规范化及优化,并修复设置商户联系方式参数问题 2020-12-21 00:46:49 +08:00
uianz
06d45dc5fe
🎨 #1924 【企业微信】第三方应用suite_ticket改为默认30分钟失效 2020-12-20 21:57:31 +08:00
f00lish
0306103d28
🆕 #1916 【微信支付】电商收付通增加关闭普通支付单的接口 2020-12-11 09:38:38 +08:00
f00lish
34495cb655
【微信支付】电商收付通相关接口抛出异常时加入状态码等信息 2020-12-08 13:35:58 +08:00
Ricky-dgs
2a45fe4ade
🆕 #1902 【企业微信】增加获取加入企业二维码的接口 2020-12-03 16:59:08 +08:00
dependabot[bot]
8f3fa1dd7c
⬆️ Bump jetty.version from 9.4.31.v20200723 to 9.4.35.v20201120 (#1905)
Bumps `jetty.version` from 9.4.31.v20200723 to 9.4.35.v20201120.

Updates `jetty-server` from 9.4.31.v20200723 to 9.4.35.v20201120
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.31.v20200723...jetty-9.4.35.v20201120)

Updates `jetty-servlet` from 9.4.31.v20200723 to 9.4.35.v20201120
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.31.v20200723...jetty-9.4.35.v20201120)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-03 13:40:40 +08:00
Binary Wang
45297e7f4d
Update README.md 2020-11-30 16:47:05 +08:00
Binary Wang
350d2b2bda
Update demo.md 2020-11-30 12:16:23 +08:00
Binary Wang
ae4f30eed9
📝 更新版本信息 2020-11-30 00:24:17 +08:00
Binary Wang
d2f5adcb40
合并develop分支,发布最新正式版
* art:证书类配置读取优化调整

* new:电商收付通二级商户进件

* art:微信服务商配置优化

* new:jsapi合单支付

* new:合单支付

* 🎨 #1733 微信支付服务商配置优化,增加服务商合单支付接口

* art:微信服务商配置优化

* new:jsapi合单支付

* new:合单支付

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* 🎨 优化代码

* 🎨 优化重构并统一公众号和小程序的spring boot starter部分配置类和属性

* 🎨 优化企业微信消息发送接口代码,引入moco模拟测试组件,方便测试代码

* 🎨 #1722 企业微信增加互联企业发送应用消息的接口,并重构消息相关类的包结构

* 🎨 优化代码,使用java8自带的Base64类

* 🐛 #1738 修复企业微信创建用户接口自定义字段缺失的问题

* 🎨 升级依赖的Spring Boot版本为最新,并优化部分代码

* 🔖  发布 3.9.1.B 测试版本

* 🎨 #1743 企业微信获取客户群详情接口增加unionId属性

获取客户群详情对象中 增加 unionId属性

* new:电商收付通普通支付

* 🆕 #1744 微信支付增加电商收付通-普通支付相关接口

* new:电商收付通普通支付

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* new:电商收付通支付回调处理

* new:电商收付通支付回调处理

* 🆕 #1749 微信支付增加电商收付通支付回调处理相关方法


* new:电商收付通支付回调处理

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* 🎨 #1752 微信支付电商收付通二级商户进件时店铺信息增加小程序appid字段

* 🎨 优化部分代码

* 电商收付通支付调整

* 🎨 电商收付通支付接口调整

经测试小程序支付时不能使用服务商的appId签名,故增加方法返回微信接口返回的结果。

* 🎨 #1756 解决wx-java-open-spring-boot-starter中Redisson实现缺少database设置的问题

* 🎨 #1753 小程序直播部分接口代码优化重构,对照官方文档补充新增参数

* 🎨 #1747 微信支付分回调通知对象类增加缺失参数:回调摘要summary

* 🆕 #1758 微信支付增加电商收付通服务商和二级商户余额查询接口

* 🆕 #1759 微信支付增加电商收付通请求分账接口

* 增加微信收付通请求分账接口

* 🆕 #1723 企业微信增加查询应用消息发送统计的接口

* 🔖 发布 3.9.2.B 测试版本

* 🆕 #1764 微信支付电商收付通增加请求分账回退接口

* 🐛 #1766 修复电商收付通请求分账结果类未添加相关注解的问题

* 微信收付通增加请求分账回退接口

* 修复请求分账结果未添加lombok注解

* fix:电商收付通回调通知测试

* 🆕 #1768 微信支付增加电商收付通完结分账和退款接口

* 微信收付通增加完结分账和退款接口

* 🆕 #1767 企业微信外部联系人增加修改客户备注信息的接口

* 🎨 优化部分代码

* 🎨 #1646 企业微信第三方应用(服务商)模块重构实现,并提供Router、Interceptor、Handler等接口

* 🎨 #1755 完善补充第三方平台小程序相关的部分错误码

* 🎨 优化企业微信群机器人发送消息的相关接口,提供无需提前设置webhookKey即可使用的重构方法

* 🆕 #1675 企业微信增加创建日历的接口,以及相关回调事件消息通知的支持

* 🔖 发布 3.9.3.B 测试版本

* new:电商收付通合单支付、普通支付查询

* new:电商收付通商户、平台提现

* fix:命名统一调整

* 🆕  #1772 电商收付通增加支付结果查询和提现的接口

* new:分账查询、退款通知

* new:修改结算账户、退款查询

* 🆕 #1775 微信支付电商收付通增加修改二级商户结算账户和退款查询的接口

* 🐛 #1777 XML工具类修复无法解析<ExtAttr><Item>这种节点数据的问题

* 🎨 WxMpMessageRouter增加构造方法

* 🎨 升级依赖jodd-http版本,并修复不兼容代码

* 🎨 优化GraalProcessor代码

* #1782 微信支付修复分账回退查询接口签名错误的问题

Co-authored-by: lmh <lmh@weiyian.com>

* 🆕 #1774 企业微信增加系统审批事件推送的事件常量

* 🎨 优化代码

* 🎨 #1785 公众号 spring boot starter 模块增加接口自定义主机地址和redis sentinel的配置

* 🔖  发布 3.9.4.B 测试版本

* fix:字段错误

* 🆕 #1789 微信支付电商收付通增加下载账单的接口

* 🆕 #1793 企业微信添加应用管理的设置工作台自定义展示模块 

Co-authored-by: sysong <sysong@chutianyun.gov.cn>

* 🎨 优化公众号Spring Boot Starter的redisTemplate注入等代码

* 🎨 优化代码,提供toString方法,避免某些情况下出现的问题

* 🆕 #1675 企业微信增加更新、查询和删除日历的接口

* 🆕 #1686 微信公众号增加对话能力(原导购助手)部分接口,如添加顾问、获取顾问信息等

* 🆕 #1686 微信公众号增加对话能力(原导购助手)部分接口,如修改顾问、删除顾问、获取顾问列表等

* 🎨 #1797 企业微信配置客户联系「联系我」方式接口返回增加二维码链接字段

新增联系我二维码链接,仅在scene为2时返回

* 🎨 优化部分代码,重构OAuth2网页授权、网页登录等相关接口,方便接入open模块

* 🐛  修复字段错误

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>

* 🆕 #1725 微信支付分增加免确认模式(预授权方式)相关接口支持

* 🆕 #1806 开放平台增加第三方平台代公众号实现复用公众号资料快速创建小程序的接口

* 🆕 微信开发平台模块增加OAuth2相关接口(网页授权、网页登录等)的实现

* 🎨 优化部分代码,明确出错信息

* 🔖 发布 3.9.5.B 测试版本

* 🆕 #1817 企业微信增加批量获取外部联系人详情的接口,同时修复外部联系人中listGroupChat参数失效问题

* 🎨 优化代码,实现序列化接口

* 🎨 #1820 优化更新getTicket方法,调整锁调用时机避免并发问题

* Fix:调整获取相关票据的锁处理时机

* Fix:更新票据,锁之后,再次检查是否有效,避免并发同时进入多次重置票据

Co-authored-by: weiwei.xing <weiwei.xing@nplusgroup.com>

* Update CONTRIBUTING.md

* 🆕 #1814 微信支付解析扫码支付回调通知增加签名类型的重载方法

* 🔖 发布 3.9.6.B 测试版本

* 🎨 重构部分包结构

* 🎨 #1827 微信支付分相关接口优化

1. 将原有请求模型类中一些基础数据类型改为对应的包装类,因为在用户没有显式set的情况下,这些基础数据类型序列化为json时也会以默认值的形式作为参数传到微信端,造成微信端返回错误。
2. 微信支付分相关的回调数据处理方法加上签名验证。
3. 增加方法授权/解除授权服务回调数据处理

* 🎨 #1832 微信支付电商收付通增加查询提现状态的接口

* 🐛 #1824 微信支付修复分账回退接口结果错误码解析错误的问题

* 🎨 #1834 微信会员卡基本信息类增加缺少字段 use_limit

* 🐛 #1828 修复企业微信第三方应用消息路由相关方法参数错误的问题

* 🆕 #1831 生成小程序二维码的相关接口增加指定文件路径参数的重载方法

* 🔖 发布 3.9.7.B 测试版本

* 🎨 #1848 刷卡支付接口响应结果类增加服务商调用时的返回字段

* 🎨 增加点注释

* 🎨 #1849 企业微信外部联系人相关接口重构,优化重复代码,同时获取客户详情接口返回增加标签id字段

* 🎨 Update javadoc for WxMaQrcodeService.java

* 🐛 #1852 修复个性化菜单clientPlatformType字段的反序列化问题

* 🎨 补充完善单元测试

* 🐛 #1856 【微信支付】修复电商收付通查询退款状态的接口地址

* 🎨 #1857 【企业微信】获取获取部门成员详情接口返回值增加第三方应用专有的open_userid字段

* 🔖 发布 3.9.8.B 测试版本

* 🎨 修复out_trade_no 字段命名不规范问题

Co-authored-by: vcpgfw <zhaopf@xtkg.com>

* 📝  add more cases

* 🐛 #1861【微信支付】支付分后付费项目请求类的amount属性改为Integer,允许为空

* 🐛 #1864 【微信支付】WxPayConfig类的hashCode和equals方法移除 verifier 字段

* 🆕 #1863 【小程序】增加删除直播间、编辑直播间、获取直播间推流地址、获取直播间分享二维码等接口

* 🎨 #1867【企业微信】优化完善第三方应用的接入代码

* 🆕 #1869 【小程序】增加管理直播间小助手的相关接口

* 🆕 #1868 【微信支付】增加通用上传图片接口,支持传入流和文件名参数

* 🎨 优化代码,部分类增加序列化接口实现

* 🎨 增加点单元测试示例代码

* 🔖 发布 3.9.9.B 测试版本

* ⬆️ 升级xstream版本

* ⬆️ Bump xstream

Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.10-java7 to 1.4.13-java7.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🆕 #1873 【企业微信】第三方应用增加网页授权登陆获取访问用户身份和获取访问用户敏感信息的接口

* 🐛 修复字段错误问题

* 🐛 #1883【公众号】修复卡券导入code接口错误的返回类型

* 🎨 规范变量名

* 🆕  #1885 【微信支付】电商收付通增加资金账单下载的接口

* 🆕 #1866 【小程序】 增加提审素材上传接口请求执行器

* 🎨 重构规范小程序部分代码包结构

* 🎨 #1888【企业微信】补充完善OA审批回调事件消息部分字段缺失的问题

* 🆕 #1746: 【企业微信】第三方应用增加授权配置接口,同时增加向员工付款的接口

* 🎨 #1886 【小程序】创建直播间接口增加二维码地址字段

* 🔖 发布 4.0.0 正式版本

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
Co-authored-by: cloudX <epdcgsi@163.com>
Co-authored-by: Boris <borisbao@users.noreply.github.com>
Co-authored-by: f00lish <f00lish@qq.com>
Co-authored-by: TomLiu <tomliuchangsha@hotmail.com>
Co-authored-by: giveme0101 <xiajun94@qq.com>
Co-authored-by: lmh <991564110@qq.com>
Co-authored-by: lmh <lmh@weiyian.com>
Co-authored-by: Dream2Land <346570926@qq.com>
Co-authored-by: amhere <songshiyu555@163.com>
Co-authored-by: sysong <sysong@chutianyun.gov.cn>
Co-authored-by: 静宏 <acvrock.cn@gmail.com>
Co-authored-by: spvycf <545997765@qq.com>
Co-authored-by: alucardxh <alucardxh@163.com>
Co-authored-by: jn老A <sytu_xww@163.com>
Co-authored-by: weiwei.xing <weiwei.xing@nplusgroup.com>
Co-authored-by: winter <winter4666@foxmail.com>
Co-authored-by: gentryhuang <gentryhuang.xw@gmail.com>
Co-authored-by: Kidwind <Kidwind@gmail.com>
Co-authored-by: zacks <zacksleo@gmail.com>
Co-authored-by: wcc1433 <37837522+wcc1433@users.noreply.github.com>
Co-authored-by: Pancras <coder.zpf@gmail.com>
Co-authored-by: vcpgfw <zhaopf@xtkg.com>
Co-authored-by: JoeWoo <xjoewoo@gmail.com>
Co-authored-by: 微同科技 <30375770+lipengjun92@users.noreply.github.com>
Co-authored-by: xworks <jzqlin@gmail.com>
Co-authored-by: GaoMinzhu <31923767+GaoMinzhu@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: huangxm129 <40385667+huangxm129@users.noreply.github.com>
Co-authored-by: ly8388 <49558207+ly8388@users.noreply.github.com>
Co-authored-by: yangyh22 <9944784+yangyh22@users.noreply.github.com>
Co-authored-by: Gyv12345 <gyv12345@163.com>
Co-authored-by: LinXiaoHuChong <louisquiet@gmail.com>
2020-11-29 23:54:57 +08:00
Binary Wang
bf92d03529 🔖 发布 4.0.0 正式版本 2020-11-29 23:50:40 +08:00
Binary Wang
b0440e0faa 🎨 #1886 【小程序】创建直播间接口增加二维码地址字段 2020-11-29 23:39:17 +08:00
LinXiaoHuChong
0e2186632a
🆕 #1746: 【企业微信】第三方应用增加授权配置接口,同时增加向员工付款的接口 2020-11-29 23:00:38 +08:00
Gyv12345
c0af379370
🎨 #1888【企业微信】补充完善OA审批回调事件消息部分字段缺失的问题 2020-11-27 09:52:55 +08:00
Binary Wang
ff064c8663 🎨 重构规范小程序部分代码包结构 2020-11-24 11:43:54 +08:00
yangyh22
e6a3e6efcc
🆕 #1866 【小程序】 增加提审素材上传接口请求执行器 2020-11-24 09:51:00 +08:00
f00lish
b4da5c9fe4
🆕 #1885 【微信支付】电商收付通增加资金账单下载的接口 2020-11-24 09:05:07 +08:00
Binary Wang
57ab245093 🎨 规范变量名 2020-11-21 21:13:03 +08:00
ly8388
1bac8f9774
🐛 #1883【公众号】修复卡券导入code接口错误的返回类型 2020-11-21 20:57:37 +08:00
Binary Wang
b351ef761c
🐛 修复字段错误问题 2020-11-17 15:09:08 +08:00
huangxm129
c80e77c047
🆕 #1873 【企业微信】第三方应用增加网页授权登陆获取访问用户身份和获取访问用户敏感信息的接口 2020-11-17 09:47:45 +08:00
dependabot[bot]
64d67bb42f
⬆️ Bump xstream
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.10-java7 to 1.4.13-java7.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-17 08:57:12 +08:00
Binary Wang
940f69a763
⬆️ 升级xstream版本 2020-11-16 17:52:42 +08:00
Binary Wang
384dd35b9a 🔖 发布 3.9.9.B 测试版本 2020-11-15 22:26:22 +08:00
Binary Wang
5986698d42 🎨 增加点单元测试示例代码 2020-11-15 22:18:15 +08:00
Binary Wang
6d556f8b1d 🎨 优化代码,部分类增加序列化接口实现 2020-11-14 15:22:01 +08:00
f00lish
30aca49ab9
🆕 #1868 【微信支付】增加通用上传图片接口,支持传入流和文件名参数 2020-11-13 12:59:49 +08:00
GaoMinzhu
c605330661
🆕 #1869 【小程序】增加管理直播间小助手的相关接口 2020-11-13 12:57:38 +08:00
xworks
a2074a4d39
🎨 #1867【企业微信】优化完善第三方应用的接入代码 2020-11-12 17:30:27 +08:00
微同科技
edc04cb0ae
🆕 #1863 【小程序】增加删除直播间、编辑直播间、获取直播间推流地址、获取直播间分享二维码等接口 2020-11-11 23:50:31 +08:00
JoeWoo
f301912154
🐛 #1864 【微信支付】WxPayConfig类的hashCode和equals方法移除 verifier 字段 2020-11-11 23:48:38 +08:00
winter
4af70b2c7c
🐛 #1861【微信支付】支付分后付费项目请求类的amount属性改为Integer,允许为空 2020-11-10 16:27:43 +08:00
Binary Wang
e9125872d1
📝 add more cases 2020-11-10 15:38:49 +08:00
Pancras
bf4c8c2064
🎨 修复out_trade_no 字段命名不规范问题
Co-authored-by: vcpgfw <zhaopf@xtkg.com>
2020-11-10 10:21:41 +08:00
Binary Wang
6037002c27 🔖 发布 3.9.8.B 测试版本 2020-11-08 17:08:50 +08:00
Binary Wang
3b439113ac 🎨 #1857 【企业微信】获取获取部门成员详情接口返回值增加第三方应用专有的open_userid字段 2020-11-08 15:12:52 +08:00
f00lish
9850151dfa
🐛 #1856 【微信支付】修复电商收付通查询退款状态的接口地址 2020-11-06 09:44:36 +08:00
Binary Wang
b693c5fb4e 🎨 补充完善单元测试 2020-11-05 12:17:19 +08:00
wcc1433
a2de4ac26c
🐛 #1852 修复个性化菜单clientPlatformType字段的反序列化问题 2020-11-05 12:11:07 +08:00
zacks
c235018374
🎨 Update javadoc for WxMaQrcodeService.java 2020-11-05 09:00:59 +08:00
Binary Wang
a3250c9865 🎨 #1849 企业微信外部联系人相关接口重构,优化重复代码,同时获取客户详情接口返回增加标签id字段 2020-11-04 17:36:46 +08:00
Binary Wang
474ce2aa7a 🎨 增加点注释 2020-11-04 16:24:07 +08:00
Kidwind
f2b423bcd7
🎨 #1848 刷卡支付接口响应结果类增加服务商调用时的返回字段 2020-11-03 17:30:16 +08:00
Binary Wang
7bca440f93 🔖 发布 3.9.7.B 测试版本 2020-11-01 09:22:55 +08:00
gentryhuang
e6a550dc70
🆕 #1831 生成小程序二维码的相关接口增加指定文件路径参数的重载方法 2020-11-01 08:59:59 +08:00
Binary Wang
aa26d6b2e4 🐛 #1828 修复企业微信第三方应用消息路由相关方法参数错误的问题 2020-10-31 20:53:39 +08:00
Binary Wang
c584cd07d2 🎨 #1834 微信会员卡基本信息类增加缺少字段 use_limit 2020-10-31 20:40:49 +08:00
Binary Wang
7fdfe2ce7e 🐛 #1824 微信支付修复分账回退接口结果错误码解析错误的问题 2020-10-31 20:36:11 +08:00
f00lish
73f30b1a82
🎨 #1832 微信支付电商收付通增加查询提现状态的接口 2020-10-31 16:47:21 +08:00
winter
7eb11c8799
🎨 #1827 微信支付分相关接口优化
1. 将原有请求模型类中一些基础数据类型改为对应的包装类,因为在用户没有显式set的情况下,这些基础数据类型序列化为json时也会以默认值的形式作为参数传到微信端,造成微信端返回错误。
2. 微信支付分相关的回调数据处理方法加上签名验证。
3. 增加方法授权/解除授权服务回调数据处理
2020-10-29 15:20:21 +08:00
Binary Wang
8bd95bcc22 🎨 重构部分包结构 2020-10-26 15:14:44 +08:00
Binary Wang
4654f42656 🔖 发布 3.9.6.B 测试版本 2020-10-25 15:32:50 +08:00
Binary Wang
3c7d470210 🆕 #1814 微信支付解析扫码支付回调通知增加签名类型的重载方法 2020-10-25 15:10:09 +08:00
Binary Wang
c9d8509a11
Update CONTRIBUTING.md 2020-10-25 14:55:38 +08:00
Binary Wang
fc6428c457 Merge branch 'master' into develop 2020-10-25 13:01:06 +08:00
jn老A
15e02d725c
🎨 #1820 优化更新getTicket方法,调整锁调用时机避免并发问题
* Fix:调整获取相关票据的锁处理时机

* Fix:更新票据,锁之后,再次检查是否有效,避免并发同时进入多次重置票据

Co-authored-by: weiwei.xing <weiwei.xing@nplusgroup.com>
2020-10-25 12:59:52 +08:00
Binary Wang
449bda4009 🎨 优化代码,实现序列化接口 2020-10-23 20:26:14 +08:00
Binary Wang
0bb343dfda
Update README.md 2020-10-23 11:08:12 +08:00
alucardxh
1849890b82
🆕 #1817 企业微信增加批量获取外部联系人详情的接口,同时修复外部联系人中listGroupChat参数失效问题 2020-10-23 11:03:52 +08:00
Binary Wang
08bb3991a3 🔖 发布 3.9.5.B 测试版本 2020-10-19 00:52:31 +08:00
Binary Wang
151004110f 🎨 优化部分代码,明确出错信息 2020-10-19 00:24:17 +08:00
Binary Wang
07bc5a5eac 🆕 微信开发平台模块增加OAuth2相关接口(网页授权、网页登录等)的实现 2020-10-19 00:18:15 +08:00
Binary Wang
77e3c8e3e8 🆕 #1806 开放平台增加第三方平台代公众号实现复用公众号资料快速创建小程序的接口 2020-10-17 21:40:01 +08:00
spvycf
7c9e2e4a12
🆕 #1725 微信支付分增加免确认模式(预授权方式)相关接口支持 2020-10-15 13:39:54 +08:00
cloudX
5599c0d833
🐛 修复字段错误
Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
2020-10-13 15:08:55 +08:00
Binary Wang
c7b1abc796 🎨 优化部分代码,重构OAuth2网页授权、网页登录等相关接口,方便接入open模块 2020-10-12 11:17:04 +08:00
静宏
6cc5ebdcce
🎨 #1797 企业微信配置客户联系「联系我」方式接口返回增加二维码链接字段
新增联系我二维码链接,仅在scene为2时返回
2020-10-12 10:43:59 +08:00
Binary Wang
9c91aeba6e 🆕 #1686 微信公众号增加对话能力(原导购助手)部分接口,如修改顾问、删除顾问、获取顾问列表等 2020-10-07 20:00:59 +08:00
Binary Wang
6948044ab9 🆕 #1686 微信公众号增加对话能力(原导购助手)部分接口,如添加顾问、获取顾问信息等 2020-10-06 21:25:53 +08:00
Binary Wang
64402ab1de 🆕 #1675 企业微信增加更新、查询和删除日历的接口 2020-10-06 00:00:55 +08:00
Binary Wang
18f3f4001c 🎨 优化代码,提供toString方法,避免某些情况下出现的问题 2020-10-05 15:37:49 +08:00
Dream2Land
8929fc41ab 🎨 优化公众号Spring Boot Starter的redisTemplate注入等代码 2020-10-03 00:04:08 +08:00
amhere
8428270e67
🆕 #1793 企业微信添加应用管理的设置工作台自定义展示模块
Co-authored-by: sysong <sysong@chutianyun.gov.cn>
2020-09-30 12:52:52 +08:00
Binary Wang
cd0c63fde6
修改退款接口字段错误 (#1788)
* art:证书类配置读取优化调整

* new:电商收付通二级商户进件

* art:微信服务商配置优化

* new:jsapi合单支付

* new:合单支付

* new:电商收付通普通支付

* new:电商收付通支付回调处理

* new:电商收付通支付回调处理

* 电商收付通支付调整

* fix:电商收付通回调通知测试

* new:电商收付通合单支付、普通支付查询

* new:电商收付通商户、平台提现

* fix:命名统一调整

* new:分账查询、退款通知

* new:修改结算账户、退款查询

* fix:字段错误

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
Co-authored-by: Binary Wang <binarywang@users.noreply.github.com>
2020-09-29 12:41:28 +08:00
f00lish
429f1706a4
🆕 #1789 微信支付电商收付通增加下载账单的接口 2020-09-29 12:40:11 +08:00
曾浩
9603199597 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-28 14:05:58 +08:00
曾浩
d248c0e868 fix:字段错误 2020-09-28 14:05:45 +08:00
Binary Wang
b797152199 🔖 发布 3.9.4.B 测试版本 2020-09-27 17:42:05 +08:00
Dream2Land
7e3e16da10
🎨 #1785 公众号 spring boot starter 模块增加接口自定义主机地址和redis sentinel的配置 2020-09-27 17:25:32 +08:00
曾浩
a28a17a76b Merge remote-tracking branch 'wechat/develop' into develop 2020-09-27 09:20:21 +08:00
Binary Wang
1d7344309a 🎨 优化代码 2020-09-26 16:21:02 +08:00
Binary Wang
5ecfaf7cd0 🆕 #1774 企业微信增加系统审批事件推送的事件常量 2020-09-26 15:39:40 +08:00
lmh
f212f02ee0
#1782 微信支付修复分账回退查询接口签名错误的问题
Co-authored-by: lmh <lmh@weiyian.com>
2020-09-26 15:19:29 +08:00
曾浩
f0f21e1432 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-25 09:43:43 +08:00
Binary Wang
17583a49a0 🎨 优化GraalProcessor代码 2020-09-24 14:54:54 +08:00
Binary Wang
32f72774fe 🎨 升级依赖jodd-http版本,并修复不兼容代码 2020-09-24 14:46:35 +08:00
Binary Wang
697a6809d5 🎨 WxMpMessageRouter增加构造方法 2020-09-24 14:34:23 +08:00
giveme0101
e0c995e1f8 🐛 #1777 XML工具类修复无法解析<ExtAttr><Item>这种节点数据的问题 2020-09-24 14:33:26 +08:00
曾浩
07edd5bc41 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-23 17:44:32 +08:00
cloudX
807ed7d0b5
🆕 #1775 微信支付电商收付通增加修改二级商户结算账户和退款查询的接口 2020-09-23 12:27:45 +08:00
曾浩
7df0e7508d new:修改结算账户、退款查询 2020-09-23 10:26:19 +08:00
曾浩
58ac339beb new:分账查询、退款通知 2020-09-22 21:05:51 +08:00
曾浩
3b4bb74ce7 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-22 13:31:12 +08:00
cloudX
5f0d1b320a
🆕 #1772 电商收付通增加支付结果查询和提现的接口 2020-09-22 12:21:00 +08:00
曾浩
203790064d fix:命名统一调整 2020-09-21 10:51:22 +08:00
曾浩
00bc9656b6 new:电商收付通商户、平台提现 2020-09-21 10:29:00 +08:00
曾浩
9b20c749ce new:电商收付通合单支付、普通支付查询 2020-09-21 09:53:54 +08:00
曾浩
aa2fe98895 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-20 17:19:24 +08:00
Binary Wang
020cd0aed4 🔖 发布 3.9.3.B 测试版本 2020-09-20 16:43:23 +08:00
Binary Wang
1598c61e56 🆕 #1675 企业微信增加创建日历的接口,以及相关回调事件消息通知的支持 2020-09-20 16:12:16 +08:00
Binary Wang
6713787bb9 🎨 优化企业微信群机器人发送消息的相关接口,提供无需提前设置webhookKey即可使用的重构方法 2020-09-20 15:27:16 +08:00
Binary Wang
489942a99b 🎨 #1755 完善补充第三方平台小程序相关的部分错误码 2020-09-20 14:58:04 +08:00
Binary Wang
cdda57d4e1 🎨 #1646 企业微信第三方应用(服务商)模块重构实现,并提供Router、Interceptor、Handler等接口 2020-09-20 14:23:59 +08:00
Binary Wang
e00320dd1c 🎨 优化部分代码 2020-09-20 00:33:48 +08:00
Binary Wang
7261f23689 🆕 #1767 企业微信外部联系人增加修改客户备注信息的接口 2020-09-20 00:09:40 +08:00
f00lish
115f910e3c
🆕 #1768 微信支付增加电商收付通完结分账和退款接口
* 微信收付通增加完结分账和退款接口
2020-09-18 14:07:03 +08:00
曾浩
5b606fddf4 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-17 10:45:44 +08:00
曾浩
60c63a51f1 fix:电商收付通回调通知测试 2020-09-17 10:45:30 +08:00
f00lish
b660bfd4a0
🐛 #1766 修复电商收付通请求分账结果类未添加相关注解的问题
* 微信收付通增加请求分账回退接口

* 修复请求分账结果未添加lombok注解
2020-09-17 09:35:20 +08:00
曾浩
e56289f4c8 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-15 20:02:20 +08:00
f00lish
7c10cdd078
🆕 #1764 微信支付电商收付通增加请求分账回退接口 2020-09-14 12:28:35 +08:00
曾浩
3fbeec4018 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-14 09:13:15 +08:00
Binary Wang
cc83bcb415 🔖 发布 3.9.2.B 测试版本 2020-09-13 10:11:14 +08:00
Binary Wang
37a009c790 🆕 #1723 企业微信增加查询应用消息发送统计的接口 2020-09-13 09:53:07 +08:00
f00lish
91d484f730
🆕 #1759 微信支付增加电商收付通请求分账接口
* 增加微信收付通请求分账接口
2020-09-13 09:28:43 +08:00
f00lish
6c31059020
🆕 #1758 微信支付增加电商收付通服务商和二级商户余额查询接口 2020-09-13 09:26:54 +08:00
Binary Wang
b15142a06c 🎨 #1747 微信支付分回调通知对象类增加缺失参数:回调摘要summary 2020-09-12 10:15:08 +08:00
Binary Wang
ef0b34bb92 🎨 #1753 小程序直播部分接口代码优化重构,对照官方文档补充新增参数 2020-09-12 10:08:20 +08:00
TomLiu
19b033c41f
🎨 #1756 解决wx-java-open-spring-boot-starter中Redisson实现缺少database设置的问题 2020-09-12 09:23:52 +08:00
曾浩
c2552def43 Merge remote-tracking branch 'wechat/develop' into develop 2020-09-11 14:48:03 +08:00
cloudX
efdf64eb6b
🎨 电商收付通支付接口调整
经测试小程序支付时不能使用服务商的appId签名,故增加方法返回微信接口返回的结果。
2020-09-11 13:49:41 +08:00
曾浩
34f0d99df1 电商收付通支付调整 2020-09-11 11:23:47 +08:00
曾浩
4f157b08ea Merge remote-tracking branch 'wechat/develop' into develop
# Conflicts:
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/CombineTransactionsNotifyResult.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/NotifyResponse.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/PartnerTransactionsNotifyResult.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/SignatureHeader.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/enums/TradeTypeEnum.java
2020-09-10 13:28:08 +08:00
Binary Wang
7bf811aa57 🎨 优化部分代码 2020-09-10 12:45:40 +08:00
f00lish
060576148b
🎨 #1752 微信支付电商收付通二级商户进件时店铺信息增加小程序appid字段 2020-09-10 12:38:52 +08:00
cloudX
6927eaa139
🆕 #1749 微信支付增加电商收付通支付回调处理相关方法
* new:电商收付通支付回调处理

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
2020-09-10 12:34:32 +08:00
曾浩
c8fc670f52 new:电商收付通支付回调处理 2020-09-10 11:02:47 +08:00
曾浩
b8d9a157f3 Merge remote-tracking branch 'wechat/develop' into develop
# Conflicts:
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/EcommerceService.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EcommerceServiceImpl.java
2020-09-10 11:02:31 +08:00
曾浩
f18c62b152 new:电商收付通支付回调处理 2020-09-10 11:00:33 +08:00
cloudX
935988530d
🆕 #1744 微信支付增加电商收付通-普通支付相关接口
* new:电商收付通普通支付

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
2020-09-09 11:32:43 +08:00
曾浩
97409a7fbc new:电商收付通普通支付 2020-09-08 15:02:46 +08:00
曾浩
9f6051634a Merge remote-tracking branch 'wechat/develop' into develop 2020-09-08 13:15:53 +08:00
Binary Wang
35d7c3eee0
Update demo.md 2020-09-07 11:46:24 +08:00
Boris
dfec2e3aef
🎨 #1743 企业微信获取客户群详情接口增加unionId属性
获取客户群详情对象中 增加 unionId属性
2020-09-07 10:52:53 +08:00
Binary Wang
391fa2b831
Update demo.md 2020-09-07 10:40:09 +08:00
Binary Wang
e4661117ce
Update README.md 2020-09-05 10:19:33 +08:00
Binary Wang
e04eaf4389 🔖 发布 3.9.1.B 测试版本 2020-09-05 10:06:41 +08:00
Binary Wang
010b43194f 🎨 升级依赖的Spring Boot版本为最新,并优化部分代码 2020-09-05 09:30:39 +08:00
Binary Wang
07352d183c 🐛 #1738 修复企业微信创建用户接口自定义字段缺失的问题 2020-09-04 21:46:57 +08:00
Binary Wang
31ecd4d83d 🎨 优化代码,使用java8自带的Base64类 2020-09-04 21:45:36 +08:00
曾浩
541899a5af Merge remote-tracking branch 'wechat/develop' into develop 2020-09-04 09:54:36 +08:00
Binary Wang
53ad42e6ac 🎨 #1722 企业微信增加互联企业发送应用消息的接口,并重构消息相关类的包结构 2020-08-30 21:42:52 +08:00
Binary Wang
c01347cac6 🎨 优化企业微信消息发送接口代码,引入moco模拟测试组件,方便测试代码 2020-08-30 17:43:26 +08:00
Binary Wang
7cfabab628 🎨 优化重构并统一公众号和小程序的spring boot starter部分配置类和属性 2020-08-30 10:53:14 +08:00
Binary Wang
64f7adcc29 🎨 优化代码 2020-08-30 10:42:30 +08:00
曾浩
84b9b992b1 Merge remote-tracking branch 'wechat/develop' into develop 2020-08-30 08:57:06 +08:00
cloudX
6c490e3295
🎨 #1733 微信支付服务商配置优化,增加服务商合单支付接口
* art:微信服务商配置优化

* new:jsapi合单支付

* new:合单支付

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
2020-08-29 21:20:21 +08:00
曾浩
e0d87ebe49 new:合单支付 2020-08-26 12:17:30 +08:00
曾浩
5db9706ba0 new:jsapi合单支付 2020-08-24 20:21:07 +08:00
曾浩
10e0ca568e art:微信服务商配置优化 2020-08-24 20:14:53 +08:00
曾浩
cee37531c7 Merge remote-tracking branch 'wechat/develop' into develop
# Conflicts:
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/ApplymentsRequest.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/ApplymentsResult.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/ecommerce/ApplymentsStatusResult.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/EcommerceService.java
#	weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/EcommerceServiceImpl.java
2020-08-24 13:43:47 +08:00
Binary Wang
a8901aa1f1
📝 update 2020-08-24 12:24:45 +08:00
Binary Wang
425b08245a Merge branch 'master' into develop 2020-08-24 00:52:02 +08:00
Binary Wang
33701efaf3
📝 更新版本信息 2020-08-24 00:50:05 +08:00
Binary Wang
0fcd371f71
Merge pull request #1730 from Wechat-Group/develop
合并develop分支,发布最新正式版
2020-08-24 00:20:47 +08:00
Binary Wang
ec7ab21c4e 🔖 发布 3.9.0 正式版本 2020-08-24 00:14:09 +08:00
Binary Wang
daf0b23328 🎨 修复部分单元测试 2020-08-24 00:04:44 +08:00
Binary Wang
33b13b1bcd 🎨 #1591 给部分请求方法导致无限递归调用的代码增加日志,方便排查问题 2020-08-23 23:52:12 +08:00
Binary Wang
2797bd657a 🎨 重构部分单元测试代码 2020-08-23 23:36:31 +08:00
Binary Wang
b5956fb298 🎨 精简代码,移除无用过期接口代码 2020-08-23 21:46:20 +08:00
Binary Wang
6d996f20b9 🎨 优化重构部分代码,抽取公共常量 2020-08-23 17:02:39 +08:00
Binary Wang
817b474dd0 🎨 优化规范统一部分代码格式 2020-08-22 22:17:52 +08:00
Binary Wang
aca8dbabbc 🎨 优化规范部分代码 2020-08-22 17:14:59 +08:00
Binary Wang
bd100bf846 🐛 #1714 修复小程序初始化时报错的问题 2020-08-22 17:14:05 +08:00
Missionary
c1c66e940e
🐛 #1724 微信支付证书初始化代码去掉不推荐的TLSv1协议,解决退款接口报No appropriate protocol的问题 2020-08-22 16:56:57 +08:00
xyz9025
6f953862df
🆕 #1720 增加企业微信群机器人消息发送接口
* #1720 增加群机器人的消息类型

* #1720 增加文件流生成base64方法,用于图片转base64,群机器人图片消息发送测试

* #1720 增加群机器人消息推送地址webhook/send

* #1720 增加群机器人webhook_key配置属性

* #1720 增加群机器人消息推送接口服务、不需要自动带accessToken的post请求接口

* #1720 新增微信群机器人消息发送api

* #1720 新增微信群机器人消息发送api单元测试

* #1720 新增微信群机器人消息发送api单元测试配置、新增属性webhook配置

Co-authored-by: yang ran <yangran@xytdt.com>
2020-08-21 14:30:17 +00:00
cloudX
17c20422e2
🆕 #1667 微信支付增加电商收付通-二级商户进件相关接口
电商收付通二级商户进件

Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
2020-08-18 10:19:16 +08:00
Binary Wang
a3ec26138c
Merge branch 'develop' into develop 2020-08-18 09:35:07 +08:00
曾浩
2b27ee9c9f new:电商收付通二级商户进件 2020-08-17 20:14:28 +08:00
cloudX
a2783832d4
🎨 #1716 微信支付证书配置读取代码优化,支持本地路径和网络路径
Co-authored-by: 曾浩 <epdcgsi@dingtalk.com>
2020-08-17 16:09:11 +08:00
曾浩
1812b233bb art:证书类配置读取优化调整 2020-08-17 13:32:42 +08:00
Binary Wang
43633aacc2 🔖 发布 3.8.9.B 测试版本 2020-08-16 15:29:47 +08:00
Binary Wang
89011dbdb5
🔖 update 2020-08-16 15:10:27 +08:00
Binary Wang
79f00925a7 🆕 #1267 小程序模块增加多账号切换功能支持 2020-08-16 15:06:09 +08:00
Binary Wang
9145628c7a 🎨 #1631 SDK最低支持版本设置为JDK8,放弃对JDK7及更旧版本的支持 2020-08-16 14:43:58 +08:00
Binary Wang
8b7ca9b7b4 🆕 #1710 企业微信增加发送新客户欢迎语接口 2020-08-16 14:35:33 +08:00
Binary Wang
928ba178a3 🎨 修复部分拼写错误的变量命名 2020-08-16 13:06:43 +08:00
huangxm129
a7ea5f5bf3
🐛 #1713 企业微信修复获取企业已配置的「联系我」方式详情接口
* 外部联系人客户详情新增增加字段

增加字段:remark_corp_name,addWay,oper_userid

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 客户标签组查询列表功能修改

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改 add_way字段错误

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改添加企业客户标签后无返回信息

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 外部联系人客户详情新增增加字段

增加字段:remark_corp_name,addWay,oper_userid

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改 add_way字段错误

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改添加企业客户标签后无返回信息

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改错误

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改冲突

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 获取企业已配置的「联系我」方式:添加二维码字段

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 获取企业已配置的「联系我」方式对象无返回信息BUG

Signed-off-by: huangxiaoming <huangxm129@163.com>
2020-08-16 12:51:34 +08:00
Binary Wang
ce8f4f8cab 🔖 发布 3.8.8.B 测试版本 2020-08-09 20:45:44 +08:00
Binary Wang
4d3346d0c1 🎨 #1688 升级jedis依赖版本为3.3.0,已解决部分问题 2020-08-09 20:01:25 +08:00
Binary Wang
9346c170ca 🎨 抽取oauth2相关接口方法到独立类WxOAuth2Service中 2020-08-09 19:52:54 +08:00
Binary Wang
4bd5b3cf56 🎨 修复代码 2020-08-08 17:29:00 +08:00
Binary Wang
14dfe30bf6 🆕 #1685 小程序增加图像处理相关接口 2020-08-08 17:14:15 +08:00
Binary Wang
542b633c70 🎨 重构优化部分包结构 2020-08-08 16:44:08 +08:00
Binary Wang
c588303d8a 🎨 #1700 公众号WxMpConfigStorage接口提供setHostConfig()方法,方便设置相关信息 2020-08-08 16:26:25 +08:00
叶枫
edf8e18c5b
🆕 #1706 微信支付增加特约商户进件相关接口
* 实现特约商户进件相关接口
2020-08-07 17:39:38 +08:00
叶枫
e7f2378f49
🆕 #1639 微信支付增加v3图片上传接口
1. 实现v3上传图片功能
文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/chapter3_1.shtml
2. 将接口获取到的证书保存到PayConfig中,v3接口中部分字段是敏感数据,在对这些数据加密时会用到
2020-08-07 13:50:07 +08:00
huangxm129
a9f9e30089
🐛 #1699 企业微信模块修复添加企业客户标签接口
* 外部联系人客户详情新增增加字段

增加字段:remark_corp_name,addWay,oper_userid

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 客户标签组查询列表功能修改

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改 add_way字段错误

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改添加企业客户标签后无返回信息

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 外部联系人客户详情新增增加字段

增加字段:remark_corp_name,addWay,oper_userid

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改 add_way字段错误

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改添加企业客户标签后无返回信息

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改错误

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改冲突

Signed-off-by: huangxiaoming <huangxm129@163.com>
2020-08-06 09:35:29 +08:00
dependabot[bot]
306e9dc8cb
⬆️ Bump jetty.version from 9.4.28.v20200408 to 9.4.31.v20200723 (#1701)
Bumps `jetty.version` from 9.4.28.v20200408 to 9.4.31.v20200723.

Updates `jetty-server` from 9.4.28.v20200408 to 9.4.31.v20200723
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.28.v20200408...jetty-9.4.31.v20200723)

Updates `jetty-servlet` from 9.4.28.v20200408 to 9.4.31.v20200723
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.28.v20200408...jetty-9.4.31.v20200723)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-06 09:33:14 +08:00
Binary Wang
7dda2ad3a7
🔖 update 2020-08-04 16:04:22 +08:00
huangxm129
a776e9cf11
🎨 #1690 企业微信外部联系人客户详情接口增加几个字段
* 外部联系人客户详情新增增加字段

增加字段:remark_corp_name,addWay,oper_userid

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 客户标签组查询列表功能修改

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改测试类

Signed-off-by: huangxiaoming <huangxm129@163.com>

* 修改 add_way字段错误

Signed-off-by: huangxiaoming <huangxm129@163.com>
2020-07-31 14:02:35 +08:00
Binary Wang
2755bc9d50 🔖 发布 3.8.7.B 测试版本 2020-07-27 00:05:30 +08:00
Binary Wang
7ef9e9153d 🐛 修复一个字段值表达转换问题 2020-07-26 23:47:23 +08:00
Binary Wang
fa24f789ed 🎨 优化企业微信部分代码 2020-07-26 23:22:58 +08:00
Binary Wang
6a27b838b6 🐛 修复公众号和小程序的OCR相关接口请求方式为post 2020-07-26 23:20:24 +08:00
Binary Wang
fbe2dd9268 🎨 优化企业微信部分代码 2020-07-26 23:19:17 +08:00
Binary Wang
8b1f15fd02
Update README.md 2020-07-26 23:12:32 +08:00
huangxm129
694f2c2b96
🆕 #1493 企业微信增加管理企业客户标签的相关接口 2020-07-26 23:08:56 +08:00
爱因斯唐
0758049ea9
🆕 #1474 企业微信新增客户联系「联系我」管理接口 修正 / #1590 开放平台刷新AccessToken同步更新RefreshToken
* #1474 新增客户联系「联系我」管理接口

* fix #1590 提及的me.chanjar.weixin.open.api.impl.WxOpenComponentServiceImpl#getAuthorizerAccessToken()刷新AccessToken后没有同步对应的refreshToken

* 补充 me.chanjar.weixin.open.api.impl.WxOpenInMemoryConfigStorage#updateToken 方法对 expireInSeconds 边界判断
2020-07-21 10:23:56 +08:00
whhya
04fb35d1ba
🐛 #1604 修复微信开放平台帐号管理相关接口,使用指定appId的access_token
* fix:修改微信开放平台帐号管理相关接口,使用指定appId的access_token,非开放平台自身的component_access_token
2020-07-21 10:20:12 +08:00
Binary Wang
4d1440912d 🔖 发布 3.8.6.B 测试版本 2020-07-20 00:00:44 +08:00
Binary Wang
11974f00da 🎨 会员卡相关bean类重构,集中到同一包中 2020-07-19 01:06:10 +08:00
Binary Wang
f6f4b89fc0 🆕 #1641 企业微信增加OA提交审批申请的接口 2020-07-19 00:49:47 +08:00
ArBing
3b8c66a7e1
🎨 规范lock.lock()代码,统一放在try代码块之外
Co-authored-by: 谢炳庭 <xiebingting@xiongmaocar.com>
2020-07-17 09:27:19 +08:00
Binary Wang
56a271c11c 🎨 #1671 优化微信支付回调通知验证签名的代码 2020-07-16 17:36:36 +08:00
Dean Wong
7c0a38e1a0
🆕 #1668 企业微信增加外部联系人发送消息的接口 2020-07-15 09:36:00 +08:00
Binary Wang
03c143b09a 🔖 发布 3.8.5.B 测试版本 2020-07-11 22:20:48 +08:00
Binary Wang
4ab50809d8 🎨 优化代码 2020-07-11 21:52:58 +08:00
Binary Wang
df80ea6c8b
🔥 update 2020-07-11 09:11:54 +08:00
Binary Wang
b93169e78c 🐛 #1664 企业微信修复获取联系客户统计数据接口的错误字段:negative_fee_back_cnt 2020-07-10 11:33:22 +08:00
Binary Wang
1650ee2e20 🎨 修复小程序直播接口获取不到部分字段值的问题 2020-07-09 16:53:19 +08:00
Binary Wang
10c4d45f91 🎨 #1647 优化小程序redis配置支持,去掉容易导致问题的构造方法 2020-07-07 10:03:27 +08:00
niefy
0adca9650d
🎨 #1659 Json解析统一优化
* 解决动态添加第一个公众号时由于configStorageMap为null报空指针异常

* Json解析统一优化

Co-authored-by: niefy <niefy@qq.com>
2020-07-06 17:01:37 +08:00
Binary Wang
8121a521d3 🔖 发布 3.8.4.B 测试版本 2020-07-05 22:05:18 +08:00
Binary Wang
978ada7373 🆕 #1527 微信小程序增加OCR身份证识别和银行卡识别等接口 2020-07-05 21:33:06 +08:00
Binary Wang
b75569498c 🎨 #1647 优化公众号redis配置支持,去掉容易导致问题的构造方法 2020-07-02 13:49:12 +08:00
dependabot[bot]
60f5127e63
⬆️ Bump xstream in /others/weixin-java-osgi (#1656)
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.7 to 1.4.10-java7.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-01 09:20:35 +08:00
Binary Wang
7d20aa1743 🎨 清理部分冗余代码 2020-06-30 17:22:17 +08:00
Binary Wang
a00d67a58a 🎨 优化规范部分代码 2020-06-30 16:54:40 +08:00
微同科技
c60fda48d2
🆕 #1651 添加小程序直播间商品相关操作接口
Co-authored-by: lipengjun <pengjun92>
2020-06-30 16:32:50 +08:00
窗外月光
eec3f78ec6
🐛 #1653 修复SDK扫码登录签名算法获取 Ticket时的type参数值
Co-authored-by: CharismaYU <yxnsyq@163.com>
2020-06-30 11:01:01 +08:00
taneg
4d44398d7a
🐛 #1649 修复小程序直播间列表接口出现 require https hints 的问题 2020-06-30 10:45:27 +08:00
Binary Wang
49ffba1b09
Update README.md 2020-06-24 10:01:37 +08:00
dependabot[bot]
86f3c42cfc
⬆️ Bump jackson-databind in /weixin-java-pay (#1628)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.9.10.4 to 2.10.0.pr1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-19 11:51:37 +08:00
Binary Wang
ba33c9a728 🔖 发布 3.8.3.B 测试版本 2020-06-19 00:09:03 +08:00
miemieYaho
a0c370ba66
🎨 #1627 优化小程序starter,避免依赖jedis 2020-06-18 16:09:54 +08:00
sdlszjb
c2034cb655
🎨 #1624 企业微信模块更新用户信息相关接口类以适应企业微信私有化版本 2020-06-17 21:48:37 +08:00
Binary Wang
320f3676a8 🎨 #1619 企业微信获取用户信息接口优化,处理type为null情况下可能会导致的空指针问题 2020-06-16 16:53:26 +08:00
Binary Wang
1ae00b67df 🎨 优化单元测试 2020-06-16 14:19:05 +08:00
Binary Wang
2769f506c6 Merge branch 'master' into develop 2020-06-16 13:55:53 +08:00
Binary Wang
da6f6d1bbe
⬆️ 升级guava版本 2020-06-16 13:55:04 +08:00
Binary Wang
8256c46db2 🎨 #1619 企业微信获取用户信息接口优化,处理type为null情况下可能会导致的空指针问题 2020-06-16 11:39:33 +08:00
wuxingye
3b37f52235
#1620 🎨 公众号模块配置类增加Redisson的实现
Co-authored-by: xingye.wu <xingye.wu@thomascook.com.cn>
2020-06-15 14:36:27 +08:00
Binary Wang
29b4dbd601 🎨 #1610 换用guava的相应方法实现base64解码,避免因commons-codec版本问题导致解码异常 2020-06-11 18:16:30 +08:00
Binary Wang
a81550f79f 🎨 优化部分代码 2020-06-11 17:40:20 +08:00
Binary Wang
03d9f2d19e 🔖 发布 3.8.2.B 测试版本 2020-06-07 20:43:50 +08:00
Binary Wang
0f8361e558 🎨 优化部分代码 2020-06-07 18:12:27 +08:00
SooHoo
8467852c17
🐛 #1608 修复企业微信外部联系人群列表错误参数 2020-06-07 18:02:59 +08:00
Binary Wang
92c0fd698b 🆕 #1529 微信支付退款增加支持单品退款和对应查询的接口 2020-06-07 17:59:34 +08:00
Binary Wang
58b261753d Merge branch 'master' into develop 2020-06-07 16:28:28 +08:00
Binary Wang
a2f5452b4a 🎨 规范部分代码,增加javadoc 2020-06-07 16:28:05 +08:00
Binary Wang
ddbeda4584 🎨 重构补充部分单元测试代码 2020-06-06 21:17:30 +08:00
Binary Wang
93414199d6 🎨 规范部分代码 2020-06-06 17:15:24 +08:00
dependabot[bot]
1d7602be50
⬆️ Bump dom4j from 2.1.1 to 2.1.3 in /weixin-java-common
Bumps [dom4j](https://github.com/dom4j/dom4j) from 2.1.1 to 2.1.3.
- [Release notes](https://github.com/dom4j/dom4j/releases)
- [Commits](https://github.com/dom4j/dom4j/compare/version-2.1.1...version-2.1.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-06 16:51:26 +08:00
Binary Wang
f14b33a642 🎨 #1599 企业微信获取打卡数据接口返回类增加打卡设备id字段 2020-06-04 21:13:36 +08:00
马肇明
b52e676040
🐛 #1600 修复无法切换到初始公众号配置的问题并完善了removeConfigStorage方法
* 修复无法切换到初始公众号配置的问题

* 完善removeConfigStorage
2020-06-03 13:46:43 +08:00
Mario Luo
1c60839890
🎨 #571 微信小程序接口请求增加多种http客户端 2020-06-01 22:35:59 +08:00
Mario Luo
6c3d090ebd
🐛 #1582 use lock.tryLock() to avoid waiting for locks for a long time 2020-05-31 22:54:11 +08:00
Mario Luo
2446fa626b
🎨 #1592 实现简单的redis分布式锁 RedisTemplateSimpleDistributedLock 2020-05-31 22:51:10 +08:00
Binary Wang
0a2e4d8aea 🔖 发布 3.8.1.1.B 测试版本 2020-05-30 23:14:56 +08:00
Binary Wang
17aaba2496 🎨 微信模版消息行业获取的代码优化 2020-05-30 21:59:32 +08:00
Binary Wang
6e2babd46b 🎨 规范优化部分代码 2020-05-30 21:42:38 +08:00
Binary Wang
1720e5137f 🎨 微信现金红包发送接口信息处理优化,针对处理中的变态错误信息不抛出异常 2020-05-30 21:40:38 +08:00
Binary Wang
eb6a578e1e 🎨 规范优化部分代码 2020-05-28 22:32:18 +08:00
Binary Wang
b95045b3a7 🐛 修复错误代码 2020-05-28 22:12:18 +08:00
Binary Wang
da0ce15da6 🎨 #1585 微信支付结果异步通知的解析方法增加可以自行指定signType的重载方法 2020-05-26 18:00:54 +08:00
wzw921001
edf1401dbe
🎨 #1583 企业微信读取成员接口增加返回字段:main_department
Co-authored-by: laowang <wangzhengwei@chinaredstar.cn>
2020-05-26 17:41:47 +08:00
Binary Wang
7b641e7b5b 🎨 小程序 Spring Boot Starter 模块优化重构 2020-05-25 21:27:17 +08:00
Binary Wang
8bb6b02cba 🎨 #1580 企业微信成员信息里性别字段枚举类增加0值 2020-05-25 20:43:39 +08:00
Binary Wang
d650bb64e6 🎨 抽取公共代码 2020-05-25 20:41:51 +08:00
Binary Wang
fe73fba9cb
📝 更新版本信息 2020-05-24 21:11:04 +08:00
Binary Wang
26795ee056
📝 update contributors 2020-05-24 19:32:08 +08:00
Binary Wang
9628d3d698
📝 更新版本信息 2020-05-24 19:26:41 +08:00
dependabot[bot]
a6468847ff
⬆️ Bump jackson-databind in /weixin-java-pay (#1578)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.9.7 to 2.9.10.4.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-24 19:23:57 +08:00
Binary Wang
9ab2cfb2a8
Merge pull request #1577 from Wechat-Group/develop
合并Develop分支,发布正式版本
2020-05-24 18:53:53 +08:00
Binary Wang
d8a1fce913 🔖 发布 3.8.0 正式版本 2020-05-24 18:28:42 +08:00
Binary Wang
3b46faeb89 🎨 优化微信支付v3代码,兼容java7 2020-05-24 18:22:32 +08:00
Binary Wang
9d2f90ec4f 🎨 优化代码 2020-05-24 12:28:46 +08:00
Binary Wang
ebc8f0e346 🎨 优化代码,抽取方法,减少重复代码 2020-05-23 23:07:57 +08:00
Binary Wang
06c8ae81d2 🆕 #1532 微信支付模块增加汇率查询的接口 2020-05-23 21:42:37 +08:00
Binary Wang
4eb1d1d71a 🎨 #1571 对微信模版消息行业信息不一致的变态问题尽可能的进行优化 2020-05-23 21:09:58 +08:00
Binary Wang
bcefec0f4b 🎨 优化代码 2020-05-23 21:05:03 +08:00
Guan Guan
ae1b14f37e
🎨 #1575 小程序获取直播房间列表接口增加share_img字段 2020-05-22 17:11:13 +08:00
Binary Wang
69ac4ec4a7 🎨 #1572 微信支付调起支付时的nonceStr参数使用统一下单时的参数值 2020-05-21 21:25:30 +08:00
Binary Wang
11e81d8318 🎨 优化代码 2020-05-21 21:23:53 +08:00
Binary Wang
5c7b6d2af4 🎨 优化部分代码 2020-05-21 21:19:31 +08:00
spvycf
50e50c13c4
🎨 微信支付分支付回调接口优化以及补充测试代码 2020-05-21 21:18:59 +08:00
Binary Wang
4929e4e03e 🎨 优化代码 2020-05-19 22:01:12 +08:00
Binary Wang
40ab5dd402 🎨 修复重构后的代码 2020-05-19 21:48:46 +08:00
Binary Wang
39cea92171 🎨 微信支付分相关接口代码重构规范化 2020-05-19 21:28:31 +08:00
spvycf
8709a9c5a7
🆕 #1090 增加微信支付分和免押租借相关接口 2020-05-19 16:25:18 +08:00
S
0bc2cf9ade
🐛 #1564 微信卡包更新接口去掉多余有问题的参数字段 2020-05-18 22:15:47 +08:00
yuanqixun
cb3f105121
🆕 #1562企业微信自研应用增加Redisson的存储实现,支持分布式锁
* 企业微信自研应用,增加Redisson的存储实现,支持分布式锁

* 增加redisson的依赖。

Co-authored-by: 袁启勋 <xun.yuan@infoship.cn>
2020-05-14 14:14:31 +08:00
Binary Wang
6186d25697 🔖 发布 3.7.9.B 测试版本 2020-05-13 21:41:52 +08:00
Binary Wang
b87ec9a574 🎨 #1554 优化小程序获取token逻辑,减少刷新请求次数 2020-05-13 18:28:18 +08:00
Binary Wang
a219035bfa 🎨 #1559 微信会员卡基本信息更新接口增加跳转小程序相关的几个参数 2020-05-12 19:43:27 +08:00
Binary Wang
7ee277219e 🎨 #1549 微信支付证书读取代码优化,支持读取打进jar包里的证书文件 2020-05-12 19:42:33 +08:00
Mario Luo
189669c20c
🆕 #1305 增加商户开电子发票功能 2020-05-12 19:21:54 +08:00
Mario Luo
058ce62a2b
🐛 #1546 修复WxRedisOps问题, #1548 修复WxOpenInMemoryConfigStorage锁问题,#1305 增加商户电子发票功能 2020-05-12 18:17:17 +08:00
duanhongyi
609b38a9db
🎨 #1558 修复Java9及以上版本报非法反射警告信息的问题
Co-authored-by: duanhongyi <duanhongyi@doopai.com>
2020-05-12 14:09:15 +08:00
Binary Wang
92ea01e371 🎨 #1550 企业微信TaskCardButton类增加无参构造方法 2020-05-11 18:02:29 +08:00
Binary Wang
95b02d2b95 🎨 优化代码 2020-05-11 18:01:14 +08:00
1ibo
ef7516c191
🆕 #1556 增加微信支付或退款回调的时候返回xml字符串方法 2020-05-11 17:45:28 +08:00
Howard Liu
8f5a9e0d76
🐛 #1547 修复小程序二维码创建参数包含中文时出现乱码的问题 2020-05-07 09:33:44 +08:00
杜神
eb38e86a78
🆕 #1544 微信开放平台新增使用userstr参数解绑体验者的接口 2020-05-06 11:01:12 +08:00
yuanqixun
98aef34fdb
🎨 #1542 小程序模块配置类增加Redisson的实现,解决分布式锁问题
* 增加Redisson的实现,解决分布式锁问题

* key值重复添加了appid。

Co-authored-by: 袁启勋 <xun.yuan@infoship.cn>
2020-05-03 21:29:43 +08:00
Binary Wang
424a835c45 🎨 移除多余TicketType,移到common模块进行共享使用 2020-05-02 22:29:41 +08:00
Binary Wang
42d92c0291 🎨 规范一些字段命名 2020-05-02 21:24:36 +08:00
Binary Wang
09100e6766 🎨 #1539 公众号错误信息枚举类修复一个错误码的msg信息标记错误的问题 2020-05-02 21:20:54 +08:00
Binary Wang
561da62060 🐛 #1540 修复WxDeviceBindDeviceResult类里的Device内部类为public 2020-05-02 21:17:10 +08:00
Binary Wang
a90793885a ⬆️ 更新部分依赖jar包版本 2020-05-02 21:15:11 +08:00
yuanqixun
8805e97e62
🆕 #1538 企业微信模块增加获取企业授权信息的接口 2020-04-30 17:00:39 +08:00
niefy
172638bd3f 🎨 #1534 公众号模块更改http请求默认connectionRequestTimeout参数,以避免高并发场景下出现ConnectionPoolTimeoutException异常。 2020-04-27 17:08:20 +08:00
Binary Wang
9472dd3d4f 🔖 发布 3.7.8.B 测试版本 2020-04-26 00:12:52 +08:00
Binary Wang
1ccce79b6b 🐛 微信支付完结分账接口服务商模式下签名时需要忽略subAppId 2020-04-25 23:15:15 +08:00
Binary Wang
ebe46822ef 🎨 重构代码,抽取公共方法到接口 2020-04-25 21:53:05 +08:00
Binary Wang
6da4b4fca1 🎨 #1528 优化企业微信获取客户列表的接口,同时增加更多的企业微信错误码枚举值 2020-04-25 13:31:27 +08:00
Binary Wang
619b377326 🐛 #1524 修复WxMaExpressPath.PathItem内部类为public,方便访问 2020-04-21 12:28:35 +08:00
Mario Luo
585bd94b8a
🎨 #1522 开放平台优化redis存储配置类,同时对应的 spring boot starter 模块增加新特性 2020-04-19 22:36:04 +08:00
Binary Wang
7ace417364 🔖 发布 3.7.7.B 测试版本 2020-04-19 09:40:07 +08:00
Binary Wang
d60106c9c3 🎨 #1520 企业微信接收消息的类中加入群ID属性 2020-04-18 23:14:41 +08:00
Mario Luo
7feca8d962
🎨 #1521 微信小程序 spring-boot-starter 增加一些新特性 2020-04-18 23:08:25 +08:00
Binary Wang
340f341947 🎨 优化代码 2020-04-18 12:14:07 +08:00
Binary Wang
d938182141 🎨 #1507 企业微信MpnewsArticle类增加构造方法,避免某些情况下报错 2020-04-18 12:09:41 +08:00
S
ea444f2263
🎨 #1519 会员卡相关接口优化,补充部分字段 2020-04-18 11:53:21 +08:00
Mario Luo
dc01e0b1ed
🎨 #1516 公众号spring-boot-starter 优化代码,增加http客户端和代理等配置 2020-04-17 15:45:43 +08:00
yjwang
2112db791d
🐛 #1512 修复小程序直播官方文档live_satus字段拼错问题,调整为live_status 2020-04-17 12:42:46 +08:00
Binary Wang
f101374a6e 🐛 修复无效引用代码 2020-04-14 10:03:04 +08:00
Mario Luo
2e75e465c7
🎨 #1503 微信公众号模块提取redis抽象层、支持key前缀设置 2020-04-13 20:13:03 +08:00
BeHappyWsz
6f57472a02
🐛 #1500 修复企业微信素材下载报错问题:Prefix string too short 2020-04-13 20:11:39 +08:00
Binary Wang
74d8891301 Merge branch 'master' into develop 2020-04-13 20:08:57 +08:00
Binary Wang
3af0a2beba 🎨 #1497 微信公众号群发图文消息接口参数优化,保持跟普通发送接口一致,减少重复代码 2020-04-12 11:38:01 +08:00
Binary Wang
1487ce3e29 🔖 发布 3.7.6.B 测试版本 2020-04-11 22:09:33 +08:00
Gyv12345
4a88064aba
:fix: #1499 增加企业微信oa审批信息的消息内容 2020-04-11 12:57:01 +08:00
S
6633ea3ca7
🎨 #1496 更改卡券接口的门店位置ID字段的类型 2020-04-09 13:39:33 +08:00
yjwang
a9766960c3
🆕 #1429 增加小程序直播类相关接口
* #1429 增加小程序直播类相关接口

* 新增:获取所有直播间列表,区分分页

* 优化代码格式

Co-authored-by: yjwang <yjwang@wisu.com.cn>
2020-04-05 21:58:19 +08:00
Binary Wang
458c645fa4 🎨 格式化部分代码 2020-04-04 22:26:52 +08:00
Binary Wang
c175a31c45 🐛 修复代码 2020-04-04 22:20:21 +08:00
007gzs
d752c48dc8
🎨 #1488 公众号模块支持分布式锁,设置token过期时加锁 2020-04-04 21:38:59 +08:00
007gzs
04f7d76057
🎨 #1487 开放平台模块三方平台获取token方法支持redis分布式锁
* 三方平台支持redis分布式锁;getComponentAccessToken 加锁

* getAuthorizerAccessToken 加锁
2020-04-04 19:28:49 +08:00
Binary Wang
d703f2d35c 🔖 发布 3.7.5.B 测试版本 2020-04-04 19:24:01 +08:00
Binary Wang
a05b2ce366 🎨 add serialVersionUID for some class 2020-04-04 17:49:47 +08:00
007gzs
1a8ec43d26
🐛 #1424 修复开放平台execute方法加同步锁导致的并发性能问题 2020-04-04 15:47:22 +08:00
Binary Wang
2cd362dc40 🎨 优化更新部分注释 2020-04-04 14:40:50 +08:00
Binary Wang
7f6780a4e3 🎨 #1482 小程序接口请求出错超过重试次数时将微信原始错误信息抛出来 2020-04-04 13:44:58 +08:00
Binary Wang
61e6221bd7 🎨 #1483 微信支付异步通知解析时使用通知里的签名类型进行验签 2020-04-04 13:38:27 +08:00
Binary Wang
fb3ed0b642 🎨 #1485 小程序部分请求类增加无参构造方法 2020-04-04 13:05:04 +08:00
Binary Wang
23c1b0b0df
📝 add more use cases 2020-04-03 14:12:42 +08:00
Binary Wang
96b370ea01 🆕 #1373 增加小程序自定义模板的支持:主要是导入抽样数据接口的实现,以及接收消息时对相关属性的支持 2020-03-29 16:13:51 +08:00
Binary Wang
8f2c641813 Merge branch 'master' into develop 2020-03-29 15:25:23 +08:00
Binary Wang
3048767a43 🔖 发布 3.7.4.B 测试版本 2020-03-29 12:55:06 +08:00
Binary Wang
84748b3968
🎨 update readme 2020-03-29 12:51:27 +08:00
Binary Wang
a9cd7d2c2f 🎨 #1427 fix XmlUtils.xml2Map() method which was vulnerable to XXE vulnerability 2020-03-28 22:19:36 +08:00
Binary Wang
1f49ac0781 🎨 优化代码,去掉之前PR引入的lambda表达式,保证兼容java7 2020-03-28 21:50:30 +08:00
Binary Wang
73ecaabdb4 🐛 #1463 修复微信支付查询分账结果请求签名问题,subAppId不参与签名 2020-03-28 20:58:56 +08:00
Binary Wang
a45a98234d #1462 优化刷脸支付获取微信刷脸支付凭证的接口,保证请求到微信端时signType有值 2020-03-28 18:18:20 +08:00
Binary Wang
ef6e2dd6c0 🎨 优化完善部分接口javadoc 2020-03-28 18:10:38 +08:00
S
8c15b3b4b5
🎨 #1475 公众号模块增加微信卡券和统计接口的一些缺失字段和枚举类
*  一些优化,增加枚举类

*  增加统计字段
2020-03-28 17:49:53 +08:00
skywsp
7a1863b6a1
🎨 #1476 小程序云开发优化数据库CRUD操作的相关接口方法 2020-03-28 17:47:26 +08:00
Binary Wang
9bad0ff280 🐛 #1473 修复多个小程序获取redis里的access_token冲突问题 2020-03-26 23:19:47 +08:00
Binary Wang
faf07b3d27 🐛 修复微信支付分账查询接口返回结果类里的分帐单号字段错误的问题 2020-03-26 23:17:06 +08:00
Binary Wang
f65833f699 🎨 小程序模块WxMaPhoneNumberInfo里的内部类Watermark实现序列化接口 2020-03-26 23:15:35 +08:00
1ibo
60c37d83da
🎨 #1472 补充微信支付模块部分Result类在XML快速模式转换下缺失的字段 2020-03-26 23:05:39 +08:00
Binary Wang
0397e44002 Merge branch 'master' into develop 2020-03-25 23:28:00 +08:00
Binary Wang
bb12cce0b8 🎨 优化代码,增加单元测试 2020-03-23 17:08:56 +08:00
Binary Wang
c15384ff8d 🔖 发布 3.7.3.B 测试版本 2020-03-22 16:37:29 +08:00
Binary Wang
2cda0e45e1 🎨 增加构造方法 2020-03-22 15:16:27 +08:00
Binary Wang
71d6d7fdaa 🎨 #1441 修复刷脸支付获取AuthInfo接口字段顺序问题 2020-03-22 14:53:26 +08:00
Binary Wang
ffb25e9555 🎨 #1443 微信支付createOrder接口返回对象的几个封装实现类增加无参构造方法 2020-03-22 14:48:50 +08:00
Binary Wang
b9f60cd7c0 🎨 #1452 微信支付付款码支付请求类的storeMap方法增加保存分账字段 2020-03-22 14:43:43 +08:00
Binary Wang
38959f821a 🐛 #1455 修复微信支付分账结果查询接口的分账接收人解析错误的问题,并补充相关单元测试代码 2020-03-22 14:37:32 +08:00
Binary Wang
8d6978d757 🎨 #1456 企业微信通讯录成员属性相关代码根据最新接口文档进行同步完善,并增加几个新的属性 2020-03-22 14:13:36 +08:00
Binary Wang
83d1b933e6 🐛 #1445 付款码支付请求参数里的receipt修改为非必传 2020-03-22 11:25:47 +08:00
Ray
5b934c0e0d
🎨 #1457 企业微信OA审批相关类优化,增加缺失的@Data注解
* 增加@Data注解
* 增加control类型为Attendance的数据结构
2020-03-22 11:15:38 +08:00
JoeWoo
d3b58e3174
🎨 #1458 微信支付createOrder方法增加一个重载实现
调用 WxPayService 的 <T> T createOrder(WxPayUnifiedOrderRequest request) 时,经常找源码来看返回什么样的实体类,再强制转换。

通常在业务中使用此方法时,可以明确交易类型,所以添加一个交易类型的类,设置交易类型的同时,顺便作为确定 createOrder 返回类型的参数传入。
2020-03-22 11:13:36 +08:00
yuanqixun
6f7bc7c02c
🎨 #1450 企业微信优化获取三方授权码的接口实现
* 重新实现企业微信三方授权,获取永久授权码返回信息

* 1、增加获取服务商三方预授权URL
2、修复授权后应用图标字段为空的bug

Co-authored-by: 袁启勋 <xun.yuan@infoship.cn>
2020-03-19 09:24:08 +08:00
S
868545cfc3
🎨 #1449 微信卡券信息增加审核状态字段 2020-03-19 09:20:48 +08:00
白宦成
b84674f908
📝 update cloudbase homepage url 2020-03-18 14:54:41 +08:00
Binary Wang
8ba4dec701
📝 使用WxJava进行小程序云开发 2020-03-17 10:08:44 +08:00
Binary Wang
7ea3828bb3
📝 如何使用 WxJava 进行小程序云开发 2020-03-16 21:15:15 +08:00
Binary Wang
f3c013f481
📝 update demo.md 2020-03-16 20:48:55 +08:00
Binary Wang
15592b02ec
🎨 remove sth. 2020-03-16 20:47:59 +08:00
yuanqixun
ea01e55cce
🆕 #1396 增加企业微信外部联系人相关接口实现
Co-authored-by: 袁启勋 <xun.yuan@infoship.cn>
2020-03-16 20:37:11 +08:00
Binary Wang
80bf27a21a
📝 如何使用 WxJava 进行小程序云开发 2020-03-16 20:34:12 +08:00
Binary Wang
9ea6f3b97a
📝 如何使用WxJava进行小程序云开发 2020-03-16 20:12:27 +08:00
Binary Wang
ec8cc3ba99 🔖 发布 3.7.2.B 测试版本 2020-03-15 23:52:42 +08:00
Binary Wang
44280382ce
🎨 update something 2020-03-15 23:19:59 +08:00
Binary Wang
61d9fe4163 🎨 #1411 小程序模块消息路由增加消息排重机制 2020-03-12 19:21:08 +08:00
Binary Wang
07a1d26622 🎨 #1430 WxMpConfigStorageHolder提供remove方法,方便使用者调用 2020-03-12 18:54:52 +08:00
Binary Wang
c184ae1e4c 🎨 文档地址修复 2020-03-12 18:46:03 +08:00
Binary Wang
2406dc63ac 🎨 #1435 微信支付查询结果类增加几个缺失的参数 2020-03-12 17:51:00 +08:00
Binary Wang
704a389ddb 🎨 #1432 企业微信部门类增加英文名称属性 2020-03-12 17:41:31 +08:00
miemieYaho
e761174270
🎨 #1437 公众号spring boot starter模块优化,不强制依赖redission
不强制依赖redission,直接项目中排除redisson会cnfe,参考方案
2020-03-12 17:10:58 +08:00
Jc826
341f176dfa
🐛 #1438 修复模板消息行业设置类无法解析类似"互联网|电子商务"形式数据的问题 2020-03-12 16:54:14 +08:00
miemieYaho
9b322713c1
🐛 修复yml没有redis的配置提示 2020-03-11 16:03:26 +08:00
Binary Wang
c8a23b848f 🔖 发布 3.7.1.B 测试版本 2020-03-08 21:12:16 +08:00
Binary Wang
8aa4758e01 🐛 #1425 修复企业微信OA审批相关几个参数的类型或命名 2020-03-08 20:37:10 +08:00
Binary Wang
fb4705281a 🎨 优化代码,增加serialVersionUID 2020-03-08 20:20:10 +08:00
Binary Wang
f58ba62acc 🎨 #1428 微信支付统一下单接口中的attach和detail参数在生成xml时加入CDATA标签 2020-03-08 20:15:36 +08:00
Binary Wang
06aaacce65 🎨 优化点代码 2020-03-08 19:54:20 +08:00
Binary Wang
1b193e3070 🐛 #1420 修复小程序云开发获取文件下载链接接口 2020-03-08 16:27:29 +08:00
S
0a99706b74
🐛 #1426 修复多公众号管理的两个问题
1、允许动态更新公众号的配置,原有逻辑:更新配置时会报“该公众号标识已存在,请更换其他标识!”;
2、多公众号的消息路由,原有逻辑问题:handler里WxMpConfigStorageHolder不能获取到appid,意味着用的wxmpservice不对,只会走默认的,已测试存在该问题
2020-03-08 16:18:09 +08:00
Binary Wang
7ff934a51d
🎨 add something 2020-03-08 15:51:27 +08:00
Binary Wang
80669d4c4d
🎨 upddate something 2020-03-07 17:24:28 +08:00
Binary Wang
d9ea16fdc0
Update README.md 2020-03-02 16:41:03 +08:00
Binary Wang
e3c6aff3cb Merge branch 'master' into develop 2020-02-29 19:01:28 +08:00
Binary Wang
0a8db2933e Merge branch 'master' into develop 2020-02-29 19:00:55 +08:00
Binary Wang
68fa49cfc8
📝 更新版本信息 2020-02-29 19:00:26 +08:00
Binary Wang
7bd4726e9c
Merge pull request #1419 from Wechat-Group/develop
合并Develop分支代码,发布3.7.0正式版
2020-02-29 17:26:07 +08:00
Binary Wang
1b66e77d71 🔖 发布3.7.0正式版本 2020-02-29 17:18:50 +08:00
Binary Wang
4b13a04014 🐛 #1413 公众号模块优化行业设置接口枚举匹配代码,并增加单元测试 2020-02-29 15:22:53 +08:00
Binary Wang
1dba5dba36 🐛 #1415 修复小程序getCardApiTicket方法中的错误代码 2020-02-29 14:44:29 +08:00
Binary Wang
9355b50cd5 🎨 恢复被误标记为deprecated的代码 2020-02-29 14:31:05 +08:00
Binary Wang
99d450f3cf 🎨 优化代码 2020-02-29 14:29:50 +08:00
Gyv12345
bb0771736f
🆕 #1416: 企业微信增加获取OA审批模板详情接口 2020-02-27 16:40:44 +08:00
S
6aa8559970
🎨 #1406 小程序订阅消息发送接口增加新参数:mniprogram_state 和 lang 2020-02-25 16:06:39 +08:00
Binary Wang
70640f4d00 🎨 规范部分单元测试方法名 2020-02-23 11:11:45 +08:00
Binary Wang
8efed3ebc4 🎨 #1381 企业微信模块配置类增加autoRefreshToken参数配置,方便控制是否自动刷新access_token 2020-02-23 10:41:53 +08:00
Binary Wang
8012154ec9 🐛 #1405 微信支付创建订单接口中交易类型为JSAPI时的签名方法不默认为MD5,从请求对象中获取 2020-02-22 21:48:31 +08:00
Binary Wang
3ccc2786c5 🎨 #1367 公众号发送模板消息小程序类usePath属性默认值设为false,方便生成目前官方确定的正确参数pagepath 2020-02-22 21:40:54 +08:00
Binary Wang
8b280f4eb1 🎨 #1381 企业微信模块配置类增加autoRefreshToken参数配置,方便控制是否自动刷新access_token 2020-02-22 21:37:53 +08:00
Binary Wang
2e2d5ffb56 🔖 发布3.6.9.B测试版本 2020-02-17 19:30:06 +08:00
Binary Wang
27d88a752e 🆕 #1290 小程序增加动态消息接口 2020-02-17 18:44:44 +08:00
Binary Wang
f90f4540d7 🆕 #252 实现图文消息留言管理的五个接口,包括标记及取消评论为精选、删除评论、添加及删除回复等接口 2020-02-16 16:02:36 +08:00
Binary Wang
94064752ab 🆕 #1397 企业微信通讯录成员类WxCpUser增加alias字段 2020-02-13 17:51:59 +08:00
Binary Wang
47061bde2b 🔖 发布3.6.8.B测试版本 2020-02-01 19:45:43 +08:00
Binary Wang
438f8e5fb0 🆕 #1214 小程序模块实现云开发的所有相关接口 2020-02-01 18:26:02 +08:00
outersky
e9efa900a9
🆕 #1392 增加weixin-graal模块,配合graal以产生native-image配置。
目的:解决native-image中gson功能无效的问题。

可以通过项目的 native-image Profile 来启用:
mvn -P native-image -Dmaven.test.skip=true clean source:jar install

编译时会在各包中增加2个文件:
META-INF/native-image/.../reflection-config.json
META-INF/native-image/.../native-image.properties
2020-01-31 21:27:02 +08:00
outersky
ccb25345ff 🎨 #1390 微信支付增加XML转换的快速模式,发送请求以及组装响应对象的时候不再依赖反射机制
* 增加XML的快速模式,发送请求以及组装响应对象的时候,不再依赖java的反射机制。
1:提升性能
2:可以通过 graalvm 生成native image.

本次完成:全部BaseWxPayRequest的改造,部分BaseWxPayResult子类的改造。

* clean code

* 标记 xmlDoc 为 transient 否则toString()方法中Gson可能会堆栈溢出

* 完成大多数BaseWxPayResult子类的改造。还有 notify.*Result下面留了两个TODO需要处理。

* toXML时遗漏了sign参数

* 使用dom4j简化了toXML,同时根据本版本构建native-image的demo已经提交: https://github.com/outersky/wx-micronaut-graal.git 供参考。

* 完成了最后两个Result的xml解析。
2020-01-28 20:21:06 +08:00
Binary Wang
15f7de33f9 🔖 发布3.6.7.B测试版本 2020-01-19 18:36:06 +08:00
Binary Wang
b2ea2fe52a 🆕 #1352 微信支付付款码支付请求对象增加官方文档新添加的两个参数字段 2020-01-19 18:16:38 +08:00
Binary Wang
1a136a2403 🆕 #1385 微信支付付款码支付请求对象添加支持分账的参数 2020-01-19 18:10:31 +08:00
S
6b3a09a925 🎨 #1384 小程序体验者接口增加错误码,同时优化WxOpenStorageAutoConfiguration,增加keyPrefix属性
*  增加自助核销接口

* 🐛 修改接口路径

*  增加错误码

*  优化

*  starter config增加keyPrefix

*  修改支付返回结果判断
2020-01-19 11:30:35 +08:00
lixuankun
ac935c5c66 🐛 #1378 修复微信支付查询分账接口报签名失败的问题 2020-01-13 18:30:06 +08:00
yydzxz
75421148e2 🎨 #1377 开放平台redis存储类进行抽象重构,方便扩展,并提供redisson的实现 2020-01-13 18:28:08 +08:00
Binary Wang
9f33b34740 🔖 发布3.6.6.B测试版本 2020-01-13 00:13:42 +08:00
Binary Wang
26ddf1d3c6 🆕 #1370 企业微信第三方应用客户管理里的获取客户详情接口增加新的接口实现 2020-01-09 18:51:46 +08:00
爱因斯唐
ea06197107 🎨 #1371 企业微信通讯录成员管理读取成员接口增加thumb_avatar参数 2020-01-09 18:32:33 +08:00
Binary Wang
c1b87971fa 🎨 优化代码注释 2020-01-08 11:04:43 +08:00
hanwei59
7a2d870b7a 🎨 #1368 开放平台设置小程序获取普通链接二维码规则详情接口补充发布标志位字段
* 获取普通链接二维码规则详情,补充发布标志位字段:state
2020-01-08 10:38:00 +08:00
yydzxz
e176fc0d22 🎨 #1366 公众号图文素材WxMpMaterialNewsArticle类实现序列化接口 2020-01-08 09:22:12 +08:00
Binary Wang
13a3f58d1c
Update README.md 2020-01-07 09:27:40 +08:00
Binary Wang
abccf4ab2c 🔖 发布3.6.5.B测试版本 2020-01-06 19:33:47 +08:00
Binary Wang
7643ef24bf Merge branch 'master' into develop 2020-01-06 18:28:04 +08:00
Binary Wang
4378228012 🎨 #1355 小程序订阅消息类WxMaSubscribeMessage.Data类实现序列化接口 2020-01-06 18:22:21 +08:00
Binary Wang
7a7a920a8a 🐛 #1362 升级默认依赖的xstream版本为1.4.11.1以支持jdk7 2020-01-06 17:29:29 +08:00
爱因斯唐
7d4dfadae9 🆕 #1344 企业微信增加新的审批接口: “批量获取审批单号”及“获取审批申请详情” 2020-01-03 14:02:56 +08:00
Binary Wang
db8f7e6a06
Update README.md 2019-12-31 17:43:22 +08:00
zx_freedom
aad2e5be45 🎨 #1347 开放平台模块更新代开发小程序提交审核参数 2019-12-30 15:40:31 +08:00
Binary Wang
662fd1e73e Merge branch 'master' into develop 2019-12-30 15:34:30 +08:00
Binary Wang
db1f10b6fa 🔖 发布3.6.4.B测试版本 2019-12-28 16:42:14 +08:00
Binary Wang
4b0fbcb15d
Update README.md 2019-12-26 17:42:14 +08:00
Binary Wang
79f85176cb 🐛 #1275 微信支付优化对账单下载解析接口,兼容普通结算对账单 2019-12-26 17:29:10 +08:00
Binary Wang
fa1f085e1d 🐛 #1338 微信支付修复发送小程序红包接口的参数问题 2019-12-26 14:15:28 +08:00
bongQ417
3e3d4e8345 🐛 #1330 修复微信支付回调通知sign_type缺失导致验签失败的问题 2019-12-26 14:14:27 +08:00
ArBing
1d50acace7 🐛 #1331 修复小程序获取订阅消息公共模板标题Result不匹配的问题 2019-12-24 17:37:01 +08:00
yang229
45f3e54526 🐛 #1332 微信卡券修复签名生成错误的问题
微信卡券签名生成错误
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#65
签名说明#1
参数字符串的应先按照字典序排序,再进行sha1加密
2019-12-24 16:13:20 +08:00
Binary Wang
7627c8d666 🔖 发布3.6.3.B测试版本 2019-12-22 17:15:14 +08:00
Binary Wang
34ae0c5643 🎨 #1307 优化完善微信小程序内容安全校验接口 2019-12-22 16:58:35 +08:00
Binary Wang
491134b4ac 🎨 #1307 优化完善微信小程序内容安全校验接口 2019-12-22 16:47:57 +08:00
Binary Wang
f60a7d911b 补充部分单元测试代码 2019-12-22 16:13:57 +08:00
yang229
5761226887 🆕 #1328 微信卡劵增加用户已领取卡券列表接口
* 微信公众号,功能新增,微信卡券
添加用户已领取卡券接口

* 添加用户已领取卡券接口测试代码
2019-12-22 16:06:36 +08:00
ArBing
8c514a7850 🐛 #1327 修复小程序获取订阅消息公共模板标题和获取关键词库两个接口问题 2019-12-22 16:05:09 +08:00
Binary Wang
9c58930719 🎨 优化重构微信小程序订阅消息模板设置相关方法 2019-12-20 16:56:12 +08:00
Binary Wang
5f9c813b4e 优化部分代码 2019-12-20 12:54:58 +08:00
Binary Wang
71ba078768 🐛 修复图文消息留言管理接口中msgDataId类型与群发消息接口的消息id类型不一致问题 2019-12-20 12:54:40 +08:00
Binary Wang
7c3e7853c9
Update demo.md 2019-12-19 16:46:56 +08:00
Binary Wang
07cd47938f
Update demo.md 2019-12-19 11:41:48 +08:00
Binary Wang
d266aaaea5
Update README.md 2019-12-18 17:02:34 +08:00
Binary Wang
e1ca4e02b7 🔖 发布3.6.2.B测试版本 2019-12-16 09:18:46 +08:00
Binary Wang
dd6a1c0529 🆕 #1320 小程序模块增加订阅消息模板设置相关接口 2019-12-16 00:29:03 +08:00
酱油99号
c70706c9aa #1309 增加发送和查询企业微信红包的接口
增加 企业支付密钥的配置参数
2019-12-11 17:50:41 +08:00
Binary Wang
0ab307c34b 🎨 优化重构微信小程序订阅消息相关类 2019-12-11 17:46:48 +08:00
Binary Wang
2369aa7cb3 🎨 优化重构微信小程序订阅消息相关类 2019-12-08 23:50:17 +08:00
JoeWoo
232ea7e3c7 🎨 #1314 优化增强微信小程序Redis配置实现类功能
修改 Redis 配置实现类以实现选择数据库及密码认证功能
2019-12-08 22:41:38 +08:00
酱油99号
d4d830fe3a #1309 增加发送和查询企业微信红包的接口 2019-12-03 17:09:31 +08:00
Binary Wang
c1c801c420 Merge branch 'master' into develop 2019-12-03 16:21:05 +08:00
Binary Wang
f02ed97c33 🔖 发布3.6.1.B测试版本 2019-12-01 17:33:25 +08:00
Binary Wang
9317366def #1033 微信支付增加发送小程序红包的接口 2019-12-01 16:55:55 +08:00
Binary Wang
70f42e21cc
Update README.md 2019-11-29 15:34:16 +08:00
Binary Wang
e8a9d00a36 优化注释 2019-11-28 13:57:44 +08:00
007gzs
46e9a39c2f 🎨 #1303 开放平台WxOpenInnerConfigStorage中自动刷新token配置沿用WxOpenConfigStorage中配置 2019-11-28 10:27:23 +08:00
mrxiao
80f885fbfb #1009 实现微信小程序物流助手相关接口
* 快递公司

* 绑定、解绑物流账号

* 配置面单打印员

* 获取打印员

* 增加微信文档地址说明

* 快递下单

* 快递下单和订单操作

* 补充文档地址
2019-11-28 10:22:41 +08:00
JohnsGain
010464e399 🎨 优化代码,把签名工具类里面的常量提取出来 2019-11-27 10:10:21 +08:00
Binary Wang
d43876a6a4
#1297 企业微信外部联系人客户变更事件新增几个常量 2019-11-26 16:21:27 +08:00
lsw
6fd1e8b312 #1297 企业外部联系人客户变更事件新增 ChangeType 常量 2019-11-25 10:04:39 +08:00
Binary Wang
88e66226a2 Merge branch 'master' into develop 2019-11-25 00:41:26 +08:00
Binary Wang
dc7a9bb217
📝 更新版本信息 2019-11-25 00:40:20 +08:00
Binary Wang
4759606f37
合并Develop分支,发布3.6.0正式版 2019-11-25 00:19:58 +08:00
Binary Wang
f00f5e60d5 🔖 发布3.6.0正式版本 2019-11-24 23:12:31 +08:00
kennywgx
dc89396ead 🎨 #1294 优化getAccessToken方法,解决并发时重复刷新的问题 2019-11-22 14:58:40 +08:00
shushi
2faac86310 🐛 #1288 企业微信修复创建成员同时回调create_user和update_user事件判断成重复的BUG 2019-11-19 17:21:06 +08:00
kennywgx
4f280bb939 #1287 公众号模块新增下载微信jssdk上传的高清语音素材的接口
* 新增下载微信jssdk上传的高清语音素材的接口,格式为.speex

* 添加高清语音接口测试代码
2019-11-19 11:33:52 +08:00
Binary Wang
0c18330deb Merge branch 'master' into develop 2019-11-17 01:33:36 +08:00
Binary Wang
b92c421802 🔖 发布3.5.10.B测试版本 2019-11-17 01:27:08 +08:00
Binary Wang
92c5d62af4 🎨 #1265 企业微信通讯录接口支持设置地址 2019-11-17 00:55:55 +08:00
Binary Wang
a687654faf
Update README.md 2019-11-16 20:49:36 +08:00
Binary Wang
a04c890a85
Update README.md 2019-11-15 09:41:48 +08:00
imgbot[bot]
5cf6c1916a 🎨 Optimize images (#1279)
*Total -- 74.10kb -> 71.60kb (3.37%)

/images/banners/vultr.jpg -- 24.81kb -> 23.91kb (3.61%)
/images/banners/planB.jpg -- 49.30kb -> 47.69kb (3.25%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2019-11-14 10:23:09 +08:00
Binary Wang
76ed7f6e97 update banners 2019-11-14 10:15:37 +08:00
hanwei59
ac67482a95 #1123 增加设置小程序“扫普通链接二维码打开小程序”能力的五个接口 2019-11-14 09:46:54 +08:00
qizai
2e14b5479e 🐛 #1276 修复微信开放平台获取授权列表接口token参数导致死循环的问题
WxOpenComponentServiceImpl#getAuthorizerList由post内部维护token,否则总是使用旧token导致死循环
2019-11-12 12:39:00 +08:00
Binary Wang
e7a0d6a597 #1271 企业微信标签创建接口支持传入id参数 2019-11-11 15:06:56 +08:00
Binary Wang
d9da800af1 🔖 发布3.5.9.B测试版本 2019-11-02 22:02:08 +08:00
Binary Wang
acc0833622 🎨 规范化部分代码格式和命名 2019-11-02 21:47:21 +08:00
Binary Wang
913aec6e93 🎨 #1147 屏蔽导致企业微信报错“AppID不正确”的代码 2019-11-02 21:40:03 +08:00
Binary Wang
bd1cf2d8c3 #1230 企业微信增加第三方应用获取服务商凭证凭证的接口 2019-11-02 21:36:01 +08:00
Binary Wang
4ff65a0ccb Merge branch 'develop' of https://github.com/Wechat-Group/WxJava into develop 2019-10-30 22:05:53 +08:00
Binary Wang
7e079f7709 🐛 #1254 修复小程序自动回复消息有问题的代码 2019-10-30 22:03:55 +08:00
S
70e6016d4a 🐛 #1259 优化开放平台第三方业务域名设置相关接口返回结果 2019-10-30 20:27:46 +08:00
Binary Wang
f394a62fad 🔖 发布3.5.8.B测试版本 2019-10-27 17:12:59 +08:00
dingzhiwei
8dffbd4fdb #1248 增加微信刷脸支付支持相关接口
* 增加获取微信刷脸调用凭证接口

* 增加微信刷脸接口
1. 获取刷脸支付凭证接口
2. 刷脸支付接口
2019-10-24 09:25:31 +08:00
王广鑫
d184ff8303 #1010 增加微信分账相关接口
* 微信单次分账接口

* - 微信多次分账
- 微信完结分账
- 添加分账接受方
- 删除分账接受方
- 查询分账结果【未能完成单元测试,微信返回签名失败】
- 分账回退【未能完成单元测试,使用真实数据返回“参数不正确”,我对比官方文档除了缺少`sub_mch_id`和`sub_appid`之外其他相同,当我随便填了一个商户id的时候,提示“回退方没有开通分账回退功能”】
- 回退结果查询【未能完成单元测试,因分账回退无法进行,模拟数据返回”记录不存在“】
2019-10-24 09:23:56 +08:00
王广鑫
81df397536 #1010 微信支付模块增加单次分账接口 2019-10-22 13:45:55 +08:00
Binary Wang
70ce3a2ff9 🔖 发布3.5.7.B测试版本 2019-10-19 11:10:36 +08:00
Binary Wang
159347eb9b 🎨 #1233 公众号模板消息设置行业信息接口优化,增加枚举类 WxMpTemplateIndustryEnum 方便使用 2019-10-18 17:27:24 +08:00
TheoNie
48586de7d9 #1242 公众号OCR接口补充完善
* 公众号ocr银行卡识别接口

* 公众号ocr行驶证识别接口

* 公众号ocr驾驶证识别接口

* 公众号营业执照Ocr识别接口

* 公众号通用印刷体OCR识别接口

* 去掉身份证Ocr接口中已经废弃的type参数
2019-10-18 17:22:17 +08:00
Gawegor
67128b02db 🐛 #1241 修正下载对账单接口中错误代码“NO Bill Exist”字符串与实际不一致问题 2019-10-17 09:39:38 +08:00
Binary Wang
8fb05730a2 📝 部分java类属性增加javadoc,方便开发者随时查看 2019-10-16 17:13:38 +08:00
TheoNie
829ca6f9e2 #1235 微信公众号模块增加图像处理接口
* 图像处理二维码识别接口

* 图像处理图像高清化接口

* 公众号图像处理智能裁剪接口
2019-10-16 16:51:03 +08:00
S
902ba61e73 #1239 增加微信小程序订阅消息发送接口 2019-10-16 11:12:23 +08:00
Binary Wang
e33601ce78 格式化新提交的不规范代码 2019-10-14 16:49:34 +08:00
Binary Wang
2899978dfa 🔖 发布3.5.6.B测试版本 2019-10-13 14:33:20 +08:00
Binary Wang
faaf7fe5c4 合并测试文件 2019-10-12 16:50:19 +08:00
Mario Luo
73286d40f6 #1083 增加微信开放平台模块的spring-boot-starter 2019-10-12 11:45:47 +08:00
Boris
8e97b778f3 #1217 小程序增加校验图片/音频是否含有违法违规内容的接口
* 添加 微信内容异步检测接口

* 消息route 增加 title 参数
2019-09-27 11:56:03 +08:00
Binary Wang
779f1d08a9 🐛 #1220 修复公众号永久素材相关的部分okhttp实现有问题的接口 2019-09-22 23:26:09 +08:00
Binary Wang
df1aa5c9dc 🎨 规范部分javadoc文档 2019-09-21 23:17:15 +08:00
Binary Wang
ff62dc5af1 🔖 发布3.5.5.B测试版本 2019-09-21 23:02:42 +08:00
S
5ead473356 🎨 优化代码,移除无用import,解决冲突 2019-09-21 22:05:56 +08:00
S
3512930237 #1213 增加部分微信卡券接口 2019-09-20 11:18:50 +08:00
S
2d0cb1a2a2 #1212 增加开放平台账号管理接口 2019-09-19 17:24:06 +08:00
Ziyear
f86957fae7 🐛 #1211 修复WxPayApiData类里toString方法的错误代码
toString中有个分支的逗号换成·
2019-09-18 17:42:42 +08:00
Binary Wang
39779cb073 🐛 #1207 修复WxCpXmlOutMessage类的其中一个route方法的签名 2019-09-18 15:04:37 +08:00
S
6958142c47 #1199 开放平台模块增加部分第三方平台代小程序实现业务的接口(包括查询服务商的当月提审限额和加急次数,加急审核申请)
* 🎨 统一异常输出

*  增加代小程序实现业务接口
2019-09-12 09:31:26 +08:00
Binary Wang
b15bb2de6c
📝 更新文档 2019-09-10 14:14:31 +08:00
Binary Wang
fdaefcb9ea 🔖 发布3.5.4.B测试版本 2019-09-09 13:39:24 +08:00
chenyixin8854
34aea1916d #1196 增加微信卡券类型的枚举 2019-09-09 13:37:06 +08:00
chenyixin8854
de191a9c2f #1195 添加微信卡券跳转小程序缺少的参数 2019-09-07 22:18:06 +08:00
chenyixin8854
c2107faf57 #1194 添加会员卡微信小程序新增字段 2019-09-06 10:07:44 +08:00
Binary Wang
00a54a1119 🎨 重构部分包结构 2019-09-05 14:18:47 +08:00
Binary Wang
ac5532c142 Merge branch 'master' into develop 2019-09-05 14:04:37 +08:00
Binary Wang
d638b20bf5 🎨 批量格式化部分代码 2019-09-05 13:59:03 +08:00
Binary Wang
8ab4af031a 🎨 #1189 优化错误异常输出,移除冗余代码 2019-09-05 12:31:35 +08:00
Binary Wang
32e78b22ea
📝 修订Demo说明 2019-09-05 11:55:25 +08:00
Binary Wang
eecd4bec76 🎨 优化重构maven依赖配置 2019-09-05 09:49:09 +08:00
S
4c88e8616a 🎨 重构微信第三方小程序相关返回结果 (#1190)
* feat: 增加获取开卡链接接口

* feat: modify openmaopentab
2019-09-04 09:27:30 +08:00
S
a72cdde584 #1188 增加获取会员卡开卡链接的接口 2019-09-02 09:18:41 +08:00
Binary Wang
a19236b120 🔖 发布3.5.3.B测试版本 2019-08-30 18:06:45 +08:00
Binary Wang
4a113c473d #252 增加关闭已群发文章评论和查看指定文章的评论数据的接口 2019-08-30 16:48:55 +08:00
Binary Wang
86fe8209c7 🐛 #897 修复企业微信批量删除成员后的推送消息被误判为重复消息的问题 2019-08-29 16:19:24 +08:00
Binary Wang
ccbbf8c01a 🐛 #858 修复批量添加卡券接口后推送事件被误判为重复消息的问题 2019-08-29 16:10:49 +08:00
Binary Wang
50cfb1f16d 🎨 #1176 小程序模块完善错误码枚举类,加入更多的错误码 2019-08-29 15:49:29 +08:00
S
e463c78437 🐛 #1185 修正第三方小程序部分请求和返回对象 2019-08-29 13:59:46 +08:00
Mario Luo
b0ff3f0e93 🐛 #1182 修复公众号spring-boot-starter jedis依赖丢失问题,并优化代码,方便直接注入子service对象 2019-08-29 10:16:04 +08:00
S
2eb0aa574c 🐛 #1181 修复小程序绑定体验者返回结果 2019-08-28 16:57:24 +08:00
S
b45f20a856 #1177 开放平台模块增加小程序基础信息设置接口 2019-08-27 12:31:16 +08:00
Binary Wang
58244ee9ec 🔖 发布3.5.2.B测试版本 2019-08-23 15:22:02 +08:00
Binary Wang
6a78b0bc99 Merge branch 'master' into develop 2019-08-23 10:07:28 +08:00
imgbot[bot]
145fdd06bf 🎨 [ImgBot] Optimize images
*Total -- 343.06kb -> 279.53kb (18.52%)

/images/qrcodes/ding.jpg -- 178.58kb -> 144.63kb (19.02%)
/images/qrcodes/wepay.jpg -- 68.88kb -> 56.14kb (18.5%)
/images/qrcodes/alipay.jpg -- 95.60kb -> 78.76kb (17.61%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2019-08-23 10:03:12 +08:00
Binary Wang
102df15fe4 🎨 refine some images 2019-08-23 10:00:20 +08:00
Binary Wang
704ad1d052 Merge branch 'master' into develop 2019-08-23 09:50:47 +08:00
Binary Wang
3a4f5f94e1 add test for post method 2019-08-23 09:50:32 +08:00
S
8f1c7420a5 #1172 实现微信开放平台第三方小程序分阶段发布功能以及其他相关接口 2019-08-23 09:34:35 +08:00
Binary Wang
3e948ec01b 🎨 修复错误的类命名 2019-08-22 17:35:05 +08:00
Binary Wang
0eed5e6b59 🎨 优化和规范化部分代码 2019-08-22 16:44:17 +08:00
Binary Wang
0754c7a01c 🐛 #1171 修复创建会员卡接口中错误的参数 2019-08-22 16:33:51 +08:00
Binary Wang
33929ce197 🐛 #1169 修复企业微信更新成员事件消息解析问题 2019-08-22 14:30:43 +08:00
Binary Wang
3f23e5bec9
📝 修订说明 2019-08-21 18:37:14 +08:00
Binary Wang
f2d6d5c68c
📝 修订说明 2019-08-21 16:00:29 +08:00
Binary Wang
db638dd8b1 🐛 #1087 修复长链接转短链接接口中含有特殊字符导致微信access_token失效的问题 2019-08-21 14:02:44 +08:00
94zhaoyueran
f24495b729 #1167 增加File类型身份证OCR识别方法 2019-08-21 12:00:20 +08:00
Binary Wang
e109037249 🎨 优化部分代码 2019-08-21 12:00:17 +08:00
Ziyear
358850ad6f #1164 微信支付模块去除一些多余的错误日志输出 2019-08-21 12:00:15 +08:00
Binary Wang
6a7367ec0b 🐛 #1109 修复企业微信第三方应用获取永久授权码解析代码错误的问题 2019-08-21 12:00:12 +08:00
Binary Wang
4eb86b05a6 修复测试代码 2019-08-21 12:00:09 +08:00
Binary Wang
4a58e2736e 🔖 发布3.5.1.B测试版本 2019-08-21 12:00:07 +08:00
Binary Wang
fa79568a47 增加些测试代码 2019-08-21 12:00:04 +08:00
Binary Wang
5e8d4a2ec6 #1160 WxOpenComponentService接口类提供get和post相关方法,方便使用者扩展 2019-08-21 12:00:02 +08:00
Binary Wang
ecc407a6e9 🐛 #1161 微信支付修复EntPayRequest类的toString方法问题 2019-08-21 11:59:59 +08:00
billytomato
d1586aec25 #1157 增加网络检测接口 2019-08-21 11:59:57 +08:00
Binary Wang
6e1d7fcef0 🎨 规范化部分代码格式 2019-08-21 11:59:54 +08:00
Binary Wang
c6a4f4548f 🐛 #1152 修复企业微信用户批量删除接口异常问题 2019-08-21 11:59:52 +08:00
Binary Wang
564f6c0993 Merge branch 'master' into develop 2019-08-21 11:59:49 +08:00
Binary Wang
21b2793fef
📝 更新ISSUE_TEMPLATE 2019-08-13 09:16:11 +08:00
Binary Wang
8b2dc293ea
✏️ 修复链接 2019-08-11 11:31:10 +08:00
Binary Wang
4de2e8c82a 🔧 更新checkstyle配置 2019-08-10 20:40:44 +08:00
Binary Wang
49af881f66 📝 更新代码贡献指南 2019-08-10 20:39:11 +08:00
Binary Wang
88f7080554 📝 更新demo说明文档 2019-08-10 20:37:48 +08:00
Binary Wang
560cab1778
移除垃圾文件 2019-08-10 20:32:51 +08:00
Binary Wang
73ea041061
🔧 update gitignore file 2019-08-10 20:31:50 +08:00
Binary Wang
74c5e5f3e7
💚 update travis.yml 2019-08-10 20:30:30 +08:00
Binary Wang
cfda3eaec8
🔧 update editorconfig 2019-08-10 20:29:13 +08:00
Binary Wang
0fc8cb025e
🔧 update license file 2019-08-10 20:28:10 +08:00
Binary Wang
b06bc156b6
🔖 发布3.5.0正式版本 2019-08-10 20:26:03 +08:00
Binary Wang
476b067392
Merge pull request #1151 from Wechat-Group/develop
合并 Develop 分支
2019-08-10 20:08:18 +08:00
Binary Wang
3bf1bb928e 🔖 发布3.5.0正式版本 2019-08-10 19:14:14 +08:00
Binary Wang
62b9d84675 Merge branch 'master' into develop 2019-08-10 18:55:16 +08:00
Binary Wang
64d4bc58b3 移除无用文件 2019-08-10 18:49:10 +08:00
Binary Wang
3c099f8d8d #1082 增加微信小程序模块的spring-boot-starter 2019-08-10 18:44:16 +08:00
Binary Wang
23ab472293 🔨 重构 spring boot starter 模块目录结构 2019-08-10 18:22:50 +08:00
Binary Wang
6c77a87833 🔨 重构 spring boot starter 模块目录结构 2019-08-10 18:03:00 +08:00
Binary Wang
7033b1d5d6 #1144 企业微信模块增加通过手机号获取userid的接口 2019-08-10 17:53:31 +08:00
Binary Wang
3a1fae639a 🔨 规范代码 2019-08-10 17:43:14 +08:00
Binary Wang
44b3680a3f 🔨 重构包结构 2019-08-10 17:36:57 +08:00
Binary Wang
2ccb60fe62 🎨 增加点注释 2019-08-09 09:42:59 +08:00
Ziyear
2f372b4a39 🐛 #1148 修复微信支付拉取评论信息接口签名问题 2019-08-09 09:26:46 +08:00
Binary Wang
9de72c7623 🎨 优化代码 2019-08-08 18:08:02 +08:00
Binary Wang
ae4a0211cd 增加点测试代码 2019-08-08 18:08:02 +08:00
Binary Wang
5570cbabf9
Update bug_report.md 2019-08-07 11:21:44 +08:00
Binary Wang
d9b7217009 规范统一config部分代码 2019-08-03 23:36:44 +08:00
Binary Wang
d0d83a7b81 #1138 获取自定义菜单配置接口结果中增加小程序相关的属性 2019-08-03 23:05:41 +08:00
Binary Wang
a5ccd0adcb 去掉非法字符 2019-08-03 23:01:18 +08:00
m8cool
7a389ad851 #1125 微信支付模块修复对账单下载接口结果中缺失订单总金额和申请退款总金额的问题 2019-07-29 11:06:40 +08:00
Binary Wang
05411dac62
Update README.md 2019-07-29 10:37:53 +08:00
Binary Wang
488357176c Merge branch 'master' into develop
# Conflicts:
#	.travis.yml
2019-07-29 10:26:30 +08:00
Binary Wang
4223abfae6
Upgrade com.thoughtworks.xstream:xstream to version 1.4.11
It was found that xstream API version 1.4.10 before 1.4.11 introduced a regression for a previous deserialization flaw. If the security framework has not been initialized, it may allow a remote attacker to run arbitrary shell commands when unmarshalling XML or any supported format. e.g. JSON. (regression of CVE-2013-7285)
2019-07-29 10:23:58 +08:00
Binary Wang
c680a75c9f 发布3.4.9.B测试版本 2019-07-28 22:39:26 +08:00
Binary Wang
1793c2576a #1126 修复企业微信WxCpXmlMessage类部分字段 2019-07-26 23:44:06 +08:00
ArBing
0196764079 #1129 新增小程序插件管理相关接口 2019-07-24 10:12:11 +08:00
lbwcdg
364aa0594f #1127 修复微信红包查询签名错误的问题
少过滤 sign_type 参数
2019-07-22 22:31:34 +08:00
Binary Wang
ca780d71c0 发布3.4.8.B测试版本 2019-07-21 17:41:51 +08:00
Binary Wang
7c6ebe66ae #1111 微信支付配置支持接口请求地址的可配置 2019-07-21 17:22:15 +08:00
Binary Wang
d09d2950fa #1112 企业微信成员管理WxCpUser类增加新的is_leader_in_dept字段 2019-07-21 17:09:50 +08:00
Binary Wang
e980b52ef2 #1122 开放平台对外暴露WxOpenMpServiceImpl类,方便开发者灵活调用 2019-07-21 16:47:53 +08:00
Patrickcai
e5338c5b9b #1125 修复开放平台换绑小程序管理员接口的错误地址 2019-07-19 12:44:52 +08:00
007gzs
eb6b09c2f6 #1119 开放平台模块getAuthorizerList方法里自动刷新refreshToken 2019-07-18 13:39:04 +08:00
Binary Wang
55ce13865a #1110 微信营销回传数据接口新增leads_type参数 2019-07-14 17:58:13 +08:00
Binary Wang
48742dddcc 发布3.4.7.B测试版本 2019-07-14 15:50:00 +08:00
Binary Wang
c805444154 #1095 修复微信营销接口中有问题的回传数据接口方法 2019-07-14 15:17:08 +08:00
Binary Wang
d451d3b779 优化代码 2019-07-14 14:56:25 +08:00
Binary Wang
113407a213 #1108 微信支付结果通知类增加境外商户专有的rate_value参数 2019-07-14 14:46:06 +08:00
Binary Wang
4ae6c435f5 优化代码,规范变量命名 2019-07-14 14:36:31 +08:00
Binary Wang
9149cd441a #1088 微信支付结果通知内容细微调整,希望能解决部分人遇到的变态问题 2019-07-14 14:24:50 +08:00
billytomato
b3462243e5 #1099 优化客服消息接口菜单消息实现 2019-07-14 14:22:17 +08:00
ArBing
09b726fd0b #1106 修复获取公众号 jsapi_ticket 请求 Url 拼接问题 2019-07-14 14:20:27 +08:00
Binary Wang
663c45c77e 发布3.4.6.B测试版本 2019-07-08 17:41:14 +08:00
winter
16bb8f122a #1100 小程序模块添加Redis配置类WxMaInRedisConfig 2019-07-08 16:33:21 +08:00
Binary Wang
37f5e59fbd #516 实现修改门店网络WiFi信息的接口 2019-06-30 23:14:21 +08:00
Binary Wang
7ac670b287 #1002 增加微信OCR身份证识别接口 2019-06-30 22:59:58 +08:00
Binary Wang
158171c5d1 增加一点测试代码 2019-06-30 22:21:47 +08:00
Binary Wang
0eb3a642c4 发布3.4.5.B测试版本 2019-06-23 17:14:07 +08:00
Binary Wang
59030a46a9
Update README.md 2019-06-23 15:36:54 +08:00
Binary Wang
7de959f8e5 规范部分代码 2019-06-23 15:11:19 +08:00
Binary Wang
54c8ae5452 #1079 小程序增加对转发客服消息功能的支持 2019-06-22 16:50:31 +08:00
Binary Wang
a63321f712 规范部分代码 2019-06-22 16:48:34 +08:00
RobinGao
18e3f75028 #1081 开放平台模块增加获取所有授权方列表的接口 2019-06-21 13:57:13 +08:00
曹祖鹏
90b5ca56c2 #1078 完善企业微信外部联系人相关接口
- 完成ExternalContact基础三个接口
- 外部联系人变更事件的消息解析
- 外部联系人的属性,增加标记公司名称和标记电话号码,还有tag分类
- 企业微信API url修改优化
2019-06-18 18:01:38 +08:00
Binary Wang
b2cf45297d
Update .travis.yml 2019-06-18 17:27:21 +08:00
Patrickcai
26eec2c52a #1077 修复开发平台删除类目接口中拼写错误的second参数
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21528465979XX32V&token=&lang=zh_CN
2019-06-18 16:54:27 +08:00
Binary Wang
46f5916faa
Update .travis.yml 2019-06-17 00:06:25 +08:00
Binary Wang
fdf14977ba 发布3.4.4.B测试版本 2019-06-17 00:04:39 +08:00
Binary Wang
be78d8c125 #252 添加图文消息留言管理中打开已群发文章评论的接口 2019-06-16 23:41:08 +08:00
Binary Wang
9c149bb1e2 #516 添加WiFi门店管理查询门店Wi-Fi信息的接口 2019-06-16 23:07:11 +08:00
Binary Wang
a4f5aa341b #1075 企业微信支持推送小程序通知消息 2019-06-16 21:35:18 +08:00
Binary Wang
06085f0a1a
Update README.md 2019-06-12 18:01:24 +08:00
Binary Wang
f6380d4e93
Update README.md 2019-06-12 17:52:31 +08:00
Binary Wang
caed0fe510
Update README.md 2019-06-12 11:41:36 +08:00
Binary Wang
cb4e3f3eb0 发布3.4.3.B测试版本 2019-06-09 21:50:20 +08:00
Binary Wang
af9b3a4529 #1039 微信公众号接口地址域名部分进行可配置化 改造 2019-06-09 21:15:42 +08:00
Binary Wang
084ffcf8bb #1050 客服消息支持发送菜单消息 2019-06-09 20:30:08 +08:00
Binary Wang
2422a28f9a #1055 增加创建卡券二维码接口缺失的一些参数 2019-06-09 19:51:02 +08:00
Binary Wang
6dc9d378c5 补充缺失的serialVersionUID 2019-06-06 14:16:16 +08:00
Binary Wang
1ac042695d 优化重构代码,统一管理公众号接口地址 2019-06-06 14:02:31 +08:00
Jink2005
e937d3f5f5 #1067 微信支付统一下单自定义结果封装类实现序列化接口,以满足某些应用场景需求。 2019-06-06 11:39:25 +08:00
Binary Wang
4507ae4559
Create FUNDING.yml 2019-06-05 14:44:46 +08:00
Binary Wang
3d50561bc0
Update README.md 2019-06-03 14:19:47 +08:00
Binary Wang
14bc77c753 发布3.4.2.B测试版本 2019-06-02 16:44:15 +08:00
Binary Wang
614165d66a
Update .travis.yml 2019-06-02 15:54:58 +08:00
Binary Wang
d2304b63a9
Update .travis.yml 2019-06-02 15:51:35 +08:00
Binary Wang
14bc2f5dc7 fix test code 2019-06-02 15:37:26 +08:00
Binary Wang
07d0656dec 企业微信模块接口地址常量优化重构 2019-06-02 15:23:11 +08:00
crazycode
97e88bd99d #1065 支持私有化部署版本的企业微信
通过 wxCpConfigStorage.setBaseApiUrl("http://local_server:port"); 设置私有化部署的企业微信服务地址.

默认值是 https://qyapi.weixin.qq.com , 如果使用默认值,则不需要调用 setBaseApiUrl(baseUrl).
2019-06-02 14:40:51 +08:00
Binary Wang
6b08dc881e
Update .travis.yml 2019-06-02 14:38:21 +08:00
Binary Wang
b4125bc384
Update .travis.yml 2019-06-02 14:37:54 +08:00
Binary Wang
60ebb54958 #1059 微信支付证书地址参数keyPath支持使用网络地址 2019-06-02 12:58:43 +08:00
Binary Wang
f71fed4c6a #1060 修复微信卡券签名问题 2019-06-02 12:43:02 +08:00
Binary Wang
f67333a06a 规范化并优化代码 2019-06-02 12:19:29 +08:00
Xiaoyu Guo
3465d53880 #1058 公众号模块加入设备绑定解绑消息支持
https://iot.weixin.qq.com/wiki/new/index.html?page=3-4-2
2019-05-28 12:41:09 +08:00
Binary Wang
1273a8aef0
Update bug_report.md 2019-05-26 17:53:55 +08:00
Binary Wang
40fd10b801
Update feature_request.md 2019-05-26 17:53:03 +08:00
Binary Wang
94096bdec9
Update bug_report.md 2019-05-26 17:51:49 +08:00
Binary Wang
e1b623906b 发布3.4.1.B测试版本 2019-05-26 17:09:28 +08:00
Binary Wang
1923047292 #1053 企业微信根据code获取成员信息接口返回结果优化 2019-05-26 17:03:50 +08:00
Binary Wang
d47313bff2
Update README.md 2019-05-26 15:46:29 +08:00
Binary Wang
f956d9640a Merge branch 'master' into develop 2019-05-24 15:09:13 +08:00
Binary Wang
90790ffe71
Update pom.xml 2019-05-24 15:07:45 +08:00
feye
001a2742c6 #493 企业微信增加第三方应用开发接口的支持 2019-05-24 13:42:13 +08:00
emmfox
d748bd0dcf #1052 修正企业微信部门管理接口中的注释
* 修正部门管理接口中注释中错误的部分

* 完善部门管理接口中不符合javadoc的部分注释
2019-05-22 11:23:19 +08:00
Binary Wang
bdb11ffc38
Update demo.md 2019-05-19 21:54:54 +08:00
Binary Wang
2fd0ae6d28
Update README.md 2019-05-18 17:35:37 +08:00
Binary Wang
61f3914c34 Merge branch 'master' into develop 2019-05-18 17:31:17 +08:00
Binary Wang
32f88b7cd4
合并开发分支,发布正式版 2019-05-18 17:07:45 +08:00
Binary Wang
a503171a5b 发布3.4.0正式版本 2019-05-18 17:04:45 +08:00
Binary Wang
78a930a8d4
Delete PULL_REQUEST_TEMPLATE.md 2019-05-18 16:10:28 +08:00
Binary Wang
d8e3d457c1
Update feature_request.md 2019-05-18 16:09:59 +08:00
Binary Wang
a48b5ab266
Update bug_report.md 2019-05-18 16:08:44 +08:00
Binary Wang
0ce60efad5
Delete bug--.md 2019-05-18 16:07:39 +08:00
Binary Wang
39806a9ab6
Delete custom.md 2019-05-18 16:07:24 +08:00
Binary Wang
e3c0cada2e add readme for pay starter 2019-05-18 15:46:45 +08:00
Binary Wang
fcc01030d2 #1031 微信会员卡对象增加设置一键跳转激活类型所需字段 2019-05-18 15:38:14 +08:00
Binary Wang
3410692f2d #1047企业微信邀请成员接口结果中invaliduser字段类型调整 2019-05-18 15:22:36 +08:00
Binary Wang
ca346abad6 规范代码 2019-05-18 15:21:07 +08:00
Jeff
e9e7f6e46b #1046 企业微信增加支持最新添加的任务卡片消息 2019-05-17 11:21:57 +08:00
Binary Wang
a592df5ecb
Update CONTRIBUTING.md 2019-05-17 09:17:58 +08:00
Binary Wang
70a7781ed3 fix test 2019-05-12 22:12:14 +08:00
Binary Wang
b842cf538c 发布3.3.9.B测试版本 2019-05-12 21:38:27 +08:00
Binary Wang
4247eb41cb #1021 微信小程序发送统一消息接口时增加特殊方法用于解决变态字段名问题 2019-05-12 21:06:40 +08:00
Binary Wang
3f386d0a56 #1011 开放平台小程序审核结果增加截图示例的字段 2019-05-12 20:59:30 +08:00
Binary Wang
0345d62d0a #1036 微信支付统一下单接口增加小程序支付所需的receipt电子发票入口开放标识字段 2019-05-12 20:47:39 +08:00
Binary Wang
03a88aab8e #1035 小程序发送模板接口去掉所有颜色相关的color参数 2019-05-12 13:48:42 +08:00
Binary Wang
0287fb565b #698 企业微信OA数据接口单元测试代码优化 2019-05-12 12:25:50 +08:00
爱因斯唐
cf78cd52d2 #698 企业微信增加OA数据接口 2019-05-12 12:17:58 +08:00
Mario Luo
2dfcd6acaa #1040 增加微信公众号模块的spring-boot-starter 2019-05-10 14:48:22 +08:00
Binary Wang
467e33dc71 修复部分接口官方文档地址 2019-05-09 23:21:58 +08:00
thomas2050
49454655c6 #1037 修复通讯录变更事件ExtAttr解析报错,并补充Address属性
* 新增跳转型会员卡,用户提交资料的信息参数解析

* 修复通讯录变更事件ExtAttr解析报错,并补充Address属性
2019-05-09 11:55:23 +08:00
Binary Wang
5dde475785 Update issue templates 2019-05-06 17:29:51 +08:00
Binary Wang
48e10f3469 Update issue templates 2019-05-06 17:28:17 +08:00
Binary Wang
2f6ae138c1 Update issue templates 2019-05-06 17:26:01 +08:00
Binary Wang
ce86aaa0a0 Update issue templates 2019-05-06 17:24:00 +08:00
Binary Wang
c779de022a Update issue templates 2019-05-06 17:21:52 +08:00
Binary Wang
fa6668d976
Update feature_request.md 2019-05-06 17:20:59 +08:00
Binary Wang
0f2855b9e6
Update bug_report.md 2019-05-06 17:20:38 +08:00
Binary Wang
00df74359b
Update custom.md 2019-05-06 17:20:22 +08:00
Binary Wang
77e1b93a8e
Delete ISSUE_TEMPLATE.md 2019-05-06 17:19:21 +08:00
Binary Wang
118076abda
Update custom.md 2019-05-06 17:19:07 +08:00
Binary Wang
3c95fde544
Update feature_request.md 2019-05-06 17:18:50 +08:00
Binary Wang
10da566d05
Update bug_report.md 2019-05-06 17:18:33 +08:00
Binary Wang
7fabf2f043 Update issue templates 2019-05-06 17:16:29 +08:00
Binary Wang
ee99368466
Update README.md 2019-04-30 11:31:39 +08:00
Binary Wang
28456f2f03
Update README.md 2019-04-30 10:32:34 +08:00
thomas2050
a16e0f4c88 #1025 会员卡模块新增跳转型会员卡用户提交资料的信息参数解析 2019-04-27 20:39:23 +08:00
imgbot[bot]
0a51875d83 [ImgBot] Optimize images (#1024)
/images/qrcodes/mp.png -- 13.22kb -> 9.88kb (25.29%)
2019-04-26 18:02:19 +08:00
Binary Wang
59d936d866 update mp qrcode 2019-04-26 18:00:18 +08:00
Binary Wang
265ddae149
Update README.md 2019-04-26 17:54:30 +08:00
Binary Wang
f5660b197f
Update ISSUE_TEMPLATE.md 2019-04-25 14:16:52 +08:00
Binary Wang
d6b2e8263d
Update ISSUE_TEMPLATE.md 2019-04-25 11:17:07 +08:00
Binary Wang
d1a6cb0b0c
Update ISSUE_TEMPLATE.md 2019-04-25 11:16:21 +08:00
Binary Wang
e5e76bd382
Update README.md 2019-04-25 10:48:09 +08:00
Binary Wang
f233d81a26
Update ISSUE_TEMPLATE.md 2019-04-25 10:44:43 +08:00
Binary Wang
62b776b8e6
Create ISSUE_TEMPLATE.md 2019-04-25 10:41:35 +08:00
Binary Wang
c74bc7811e
Rename contribution.md to CONTRIBUTING.md 2019-04-25 10:34:33 +08:00
Binary Wang
fd910a4ef1
Delete CONTRIBUTING.md 2019-04-25 10:34:18 +08:00
Binary Wang
01de13ac6e
Update README.md 2019-04-25 10:34:00 +08:00
Binary Wang
64000d2235
Update ISSUE_TEMPLATE.md 2019-04-25 09:25:00 +08:00
Binary Wang
ea97e8b24e
Create PULL_REQUEST_TEMPLATE.md 2019-04-25 09:14:45 +08:00
Binary Wang
60a6bad7a2
Create ISSUE_TEMPLATE.md 2019-04-25 09:14:28 +08:00
Binary Wang
2703a0ec40
Update README.md 2019-04-24 10:26:00 +08:00
Binary Wang
5f111b0302
Upgrade org.eclipse.jetty:jetty-server version
Upgrade org.eclipse.jetty:jetty-server to version 9.4.17.v20190418
2019-04-24 10:18:13 +08:00
Binary Wang
5166bd15fa
Update README.md 2019-04-23 10:19:34 +08:00
Binary Wang
6903f8bda3
Update README.md 2019-04-23 10:12:49 +08:00
imgbot[bot]
5fc4142885 [ImgBot] Optimize images (#1015)
*Total -- 275.89kb -> 234.68kb (14.94%)

/weixin-java-miniapp/src/test/resources/tmp.png -- 5.14kb -> 2.19kb (57.31%)
/images/qrcodes/cp.png -- 3.30kb -> 1.54kb (53.47%)
/images/qrcodes/mp.png -- 13.30kb -> 10.02kb (24.64%)
/images/qrcodes/alipay.jpg -- 112.21kb -> 88.15kb (21.44%)
/images/banners/coding.jpg -- 20.19kb -> 18.15kb (10.12%)
/images/banners/tcloud.jpg -- 9.27kb -> 8.45kb (8.84%)
/images/banners/wiki.jpg -- 21.76kb -> 20.02kb (7.96%)
/weixin-java-cp/src/test/resources/mm.jpeg -- 13.93kb -> 12.90kb (7.36%)
/weixin-java-mp/src/test/resources/mm.jpeg -- 13.93kb -> 12.90kb (7.36%)
/images/qrcodes/wepay.jpg -- 39.02kb -> 37.07kb (5%)
/images/banners/aliyun.jpg -- 23.85kb -> 23.28kb (2.4%)
2019-04-22 12:50:54 +08:00
niuchang3
e5b6324be8 #1003 修复微信支付红包查询接口在服务商模式下的签名问题 2019-04-18 09:18:54 +08:00
Binary Wang
f46187aed0 #1007 增加微信支付的 spring boot starter 2019-04-17 23:41:04 +08:00
Binary Wang
2cea017363
Update README.md 2019-04-17 11:19:08 +08:00
Binary Wang
a26bf7a30c 转移部分文件位置 2019-04-17 11:17:34 +08:00
Binary Wang
8350040eaf 转移部分文件位置 2019-04-17 11:15:27 +08:00
Binary Wang
3c5a4bb160 update banner 2019-04-17 11:08:32 +08:00
Binary Wang
2896905630
Update README.md 2019-04-16 15:19:34 +08:00
Binary Wang
a9966532b4
Update README.md 2019-04-16 15:13:00 +08:00
Binary Wang
69c9ad04ff update qrcode pictures 2019-04-16 15:12:30 +08:00
Binary Wang
8c0745278d update qrcode pictures 2019-04-16 15:06:23 +08:00
Binary Wang
ec59321bac update banners 2019-04-16 14:59:37 +08:00
Binary Wang
0133cd0106 Merge branch 'master' into develop 2019-04-16 14:50:05 +08:00
Binary Wang
52e2c34d02
Update README.md 2019-04-16 14:47:59 +08:00
Binary Wang
f0fb027a28
Update README.md 2019-04-16 14:45:37 +08:00
Binary Wang
2c742c6ecb update banners 2019-04-16 14:42:33 +08:00
Binary Wang
806547857e
Update README.md 2019-04-16 14:11:19 +08:00
Binary Wang
fe84839937
Update README.md 2019-04-16 14:06:54 +08:00
Binary Wang
c501aada8d
Update README.md 2019-04-16 14:02:07 +08:00
Binary Wang
ef3c7aaf3f update banners 2019-04-16 13:55:26 +08:00
Binary Wang
7fbb4697df Merge branch 'master' into develop 2019-04-16 11:05:29 +08:00
Binary Wang
0d816ef22e
Update README.md 2019-04-16 10:47:18 +08:00
Binary Wang
98c22dd6dc
Update README.md 2019-04-16 10:45:17 +08:00
Binary Wang
00a8a020a3
Update README.md 2019-04-16 10:30:58 +08:00
Binary Wang
5e0960e30e
Update README.md 2019-04-16 10:29:31 +08:00
Binary Wang
f1bac2a60b update qrcode pictures 2019-04-16 10:25:57 +08:00
Binary Wang
80c6f7f471
Update README.md 2019-04-16 09:57:44 +08:00
Binary Wang
f0f47c87cd
Update README.md 2019-04-15 23:15:02 +08:00
Binary Wang
cab663629a 优化方法名 2019-04-15 14:17:42 +08:00
Binary Wang
e92e417a14 发布3.3.8.B测试版本 2019-04-13 23:21:06 +08:00
Binary Wang
c2bff929ef #997 企业微信增加小程序临时登录凭证校验接口 2019-04-13 21:50:59 +08:00
Binary Wang
9d4847df21 #999 微信支付发送红包接口中加入结果是否成功的校验判断逻辑 2019-04-13 21:33:37 +08:00
Binary Wang
9fd7f7d8dc 优化代码 2019-04-12 17:02:41 +08:00
Binary Wang
b8ef2ec143
Update README.md 2019-04-10 17:14:58 +08:00
Binary Wang
cea482a762 优化及规范部分新提交代码 2019-04-02 12:09:24 +08:00
Binary Wang
3b941cde16
Delete readme1.md 2019-04-02 11:32:34 +08:00
Binary Wang
fbfab81a6f
Create README.md 2019-04-02 11:31:09 +08:00
Binary Wang
c46d9505aa
Rename readme.md to readme1.md 2019-04-02 11:30:29 +08:00
Binary Wang
fb92b3bda0
Update readme.md 2019-04-02 11:29:50 +08:00
lj128
a0584e142d #989 微信支付增加查询红包和拉取订单评论接口重载方法 2019-04-02 11:21:15 +08:00
Binary Wang
0d74a4b05f
Update readme.md 2019-04-02 09:41:00 +08:00
Binary Wang
970ee5136c 发布3.3.7.B测试版本 2019-03-31 17:53:23 +08:00
Binary Wang
fe6b548130
Update readme.md 2019-03-31 17:35:10 +08:00
Binary Wang
c6c1bc0485
Update readme.md 2019-03-31 17:32:49 +08:00
Binary Wang
a8933c5123 #901 企业微信增加获取用于计算agentConfig签名的应用jsapi_ticket的接口 2019-03-31 16:59:47 +08:00
Binary Wang
7538b8ec72 抽取部分接口地址为常量 2019-03-31 16:07:46 +08:00
Binary Wang
9804074ce7 update qrcode 2019-03-31 15:47:09 +08:00
Binary Wang
98839aaf85
add link for 996.icu 2019-03-31 13:21:36 +08:00
Binary Wang
c40c6c5797 #966 修复开放平台移动端快速授权链接中的错误字符 2019-03-29 21:53:27 +08:00
Binary Wang
1549ef36d0
Update pom.xml 2019-03-29 21:32:32 +08:00
Binary Wang
bfe89b9ddd Upgrade org.eclipse.jetty:jetty-server to version 9.4.12.v20180830 2019-03-29 21:31:31 +08:00
Binary Wang
fb6efe9e0b 优化多公众号支持代码 2019-03-29 21:28:23 +08:00
Binary Wang
d17bb257f0 优化代码 2019-03-29 21:17:22 +08:00
liaochuntao
0937ac85b1 #985 修复多WxApp场景下initHttp方法执行时的空指针异常错误 2019-03-26 22:09:49 +08:00
Binary Wang
b98e6fdb1e
Update readme.md 2019-03-24 18:53:35 +08:00
Binary Wang
28c03d71db #960 修复WxPayRefundNotifyResult的successTime字段注释 2019-03-23 20:26:15 +08:00
Binary Wang
d0de3f864d 发布3.3.6.B测试版本 2019-03-23 19:23:50 +08:00
Binary Wang
7b6f3bbdc2 #973 修复服务商发送微信红包时的签名问题 2019-03-23 19:06:00 +08:00
Binary Wang
7eeceef2c1 优化部分代码 2019-03-23 19:01:58 +08:00
Binary Wang
4beeca2762 #981 WxMpMemberCardServiceImpl的构造函数设为public 2019-03-23 18:57:26 +08:00
liaochuntao
53a4da00cd #959 公众号模块配置加入多公众号支持 2019-03-22 21:55:37 +08:00
Binary Wang
cd95053aec
Update readme.md 2019-03-20 22:00:03 +08:00
Binary Wang
f115d27045
Update readme.md 2019-03-20 21:58:29 +08:00
Binary Wang
e4f739fc0c
Update readme.md 2019-03-20 21:53:53 +08:00
Binary Wang
f6285f049e #974 微信支付设置代理时的接口请求代码优化 2019-03-17 14:09:42 +08:00
yuansc
89521cdb1e #977 WxMaKefuMessage子类实现Serializable接口 2019-03-15 17:10:30 +08:00
007gzs
be33986ecd #978 增加微信营销相关接口 2019-03-15 17:09:53 +08:00
Binary Wang
9133071ab1
Update readme.md 2019-03-15 11:43:53 +08:00
Binary Wang
eb141f6567 update qrcode pics 2019-03-14 09:56:07 +08:00
RoyZ
b33e1708c0 #970 第三方平台-小程序帐号上传小程序代码增加缺失的subpackages分包上传参数
#968 第三方授权-授权注册页面扫码授权地址参数补充完整
2019-03-12 16:23:40 +08:00
Binary Wang
61f2e13236
Update readme.md 2019-03-11 20:03:24 +08:00
Binary Wang
6a0196aa01
Update readme.md 2019-03-04 11:34:44 +08:00
Binary Wang
ad4618fcc4
Update readme.md 2019-03-04 11:04:36 +08:00
Binary Wang
3c6af19af1
Add files via upload 2019-03-04 11:01:10 +08:00
Binary Wang
32162b2485
Create tmp 2019-03-04 11:00:07 +08:00
Binary Wang
507921be65 发布3.3.5.B 测试版本 2019-03-03 11:21:24 +08:00
Binary Wang
8ef459c964 #943 优化公众号、小程序、企业微信模块获取accessToken关于lock的逻辑,缩小锁的范围,提高效率。 2019-03-03 10:56:56 +08:00
Binary Wang
3bf866e7ff 修复开放平台拼写错误的方法名 updateComponentAccessTokent 2019-03-03 10:55:01 +08:00
Binary Wang
b1a355218a #957 修改微信支付退款响应类的cash_refund_fee字段类型为Integer 2019-03-03 10:32:11 +08:00
Binary Wang
2887c1e47e #936 修复微信支付沙箱环境退款接口的请求地址 2019-03-03 10:29:17 +08:00
Binary Wang
044f8c92af
Update readme.md 2019-03-01 15:59:17 +08:00
liaochuntao
5d7f69a984 #956 使用ConcurrentHashMap替换HashTable 2019-03-01 15:06:54 +08:00
shilianwang
28affd2d11 #947 修复WxCpMessageRouter同时存在两个StandardSessionManager的问题 2019-03-01 15:00:56 +08:00
shilianwang
1e23b3b743 #942: 修复下载iphone的声音文件时微信返回文件名为空的问题 2019-03-01 10:48:23 +08:00
Binary Wang
df3c761c34
Update readme.md 2019-02-20 10:58:24 +08:00
Hipple
b5230ae982 修复WxFastMaCategory.java非静态内部类导致的在Jackson下的parse异常 2019-01-28 11:05:44 +08:00
Binary Wang
7b1e411214 增加一些注释 2019-01-28 10:58:50 +08:00
Binary Wang
343ed7a708 优化代码 2019-01-27 19:13:03 +08:00
Hipple
014fb28354 #932 增加第三方平台快速创建小程序接口及相关的信息设置接口
* Add 接收API创建小程序成功的消息推送
     实现快速创建小程序的新建、查询接口
     增加WxOpenFastMaService(API创建的小程序专用的接口)

* Add 实现小程序名称设置及改名、微信认证名称检测、修改头像、修改功能介绍接口

* Add 实现所有通过API创建的小程序专属接口及相关结果类

* Add 添加三个复杂实体的单体测试

* Update 修复WxFastMaService 8.1接口:因为不同类目含有特定字段,目前没有完整的类目信息数据,为保证兼容性,放弃将response转换为实体

* Update 将快速创建小程序接口返回值更改为WxOpenResult
2019-01-27 15:18:47 +08:00
Binary Wang
cf549eaed3 发布3.3.4.B 测试版本 2019-01-26 15:27:36 +08:00
Binary Wang
a47d91fc24 #907 企业微信增加应用推送消息到群聊会话的接口 2019-01-26 15:03:44 +08:00
Binary Wang
761e88201c #928 修复卡券拉取用户信息接口报空指针问题 2019-01-25 16:08:03 +08:00
Binary Wang
bdd72995a5 #927 企业微信WxCpUser的departIds类型改为Long[] 2019-01-24 11:47:01 +08:00
fxl
58faf5a891 #924 增加卡券删除功能 2019-01-22 11:13:17 +08:00
Binary Wang
24619d666f 发布3.3.3.B测试版本 2019-01-20 14:57:58 +08:00
Binary Wang
6fccfb3600 #915 企业微信WxCpUser对象增加order属性 2019-01-20 14:28:58 +08:00
Binary Wang
8fa9ee4dc6 #918 修复卡劵高级信息中使用时段限制字段time_limit的错误类型 2019-01-20 14:07:40 +08:00
Binary Wang
cf11fa3826 #919 增加微信推送用户礼品卡相关事件常量 2019-01-20 14:01:48 +08:00
Binary Wang
f45c8103e9 增加文本卡片消息的发送测试 2019-01-20 13:49:30 +08:00
Binary Wang
568706f155 #921 企业微信发送应用消息接口支持Markdown消息格式 2019-01-20 13:44:32 +08:00
Binary Wang
8d6a5270d8
Update readme.md 2019-01-15 10:24:32 +08:00
Binary Wang
3225311b09 发布3.3.2.B测试版本 2019-01-12 20:54:52 +08:00
Binary Wang
0eccfb6a82 #895 小程序增加用户支付完获取UnionId的接口 2019-01-12 19:53:11 +08:00
Binary Wang
f7f7f9dd3c 优化代码 2019-01-12 19:52:44 +08:00
Binary Wang
333a840d00 #912 修复APP支付在服务商模式下的二次签名问题 2019-01-11 21:04:54 +08:00
Binary Wang
ec1bdb163e
Update readme.md 2019-01-11 11:50:13 +08:00
Binary Wang
2d424040af #894 完善卡券查询Code接口缺少的字段 2019-01-10 19:39:30 +08:00
Binary Wang
8ec61d1328 #903 disable DOCTYPE to fix XXE Vulnerability 2019-01-10 18:28:55 +08:00
Binary Wang
d6923f2537 小程序解密工具类增加单元测试 2019-01-03 20:01:58 +08:00
Binary Wang
8311262037 规范类命名 2019-01-03 19:49:24 +08:00
Binary Wang
8c45021d32 发布3.3.1.B测试版本 2018-12-29 22:01:04 +08:00
IOMan
6a2ff801f0 #900 增加新增团购券、现金抵扣券、折扣券、兑换券以及普通优惠券的接口 2018-12-29 19:45:52 +08:00
Binary Wang
47b3891b49
Update contribution.md 2018-12-29 17:27:46 +08:00
Binary Wang
556085997d #899 WxCpXmlMessage增加存放xml消息的所有属性值的allFieldsMap属性 2018-12-28 21:43:57 +08:00
Binary Wang
24fbf2adad
Update readme.md 2018-12-28 15:07:26 +08:00
Binary Wang
5af4059970 企业微信部门创建接口create返回值改为long类型 2018-12-26 17:24:08 +08:00
Binary Wang
3b75a1502c
Update readme.md 2018-12-26 11:26:01 +08:00
Binary Wang
e7dd742923 修改totalFee字段类型为Integer 2018-12-25 18:49:20 +08:00
Binary Wang
dd3466fc09 Merge branch 'master' into develop 2018-12-23 20:06:20 +08:00
Binary Wang
baa5681058 update contributor list 2018-12-23 20:05:56 +08:00
Binary Wang
77459fd56c
Update demo.md 2018-12-23 19:42:30 +08:00
Binary Wang
2c2e7e9b49
Update readme.md 2018-12-23 17:38:42 +08:00
Binary Wang
d46a1b4a5c Merge branch 'master' into develop 2018-12-23 17:27:08 +08:00
Binary Wang
7d23b65a3d Upgrade org.dom4j:dom4j to version 2.1.1 2018-12-23 17:15:50 +08:00
Binary Wang
76320dd655
Update readme.md 2018-12-23 17:14:18 +08:00
Binary Wang
cc8359b22c Merge branch 'develop' 2018-12-23 16:57:44 +08:00
Binary Wang
765b5d1a41 更改版本号,准备发布最新正式版 2018-12-23 16:49:53 +08:00
Binary Wang
35ff50edcc 项目更名 2018-12-23 16:35:55 +08:00
Binary Wang
c517ad6b1f Merge branch 'master' into develop 2018-12-23 16:16:29 +08:00
Binary Wang
d696537988
Update readme.md 2018-12-21 21:10:22 +08:00
Binary Wang
71001db73c
Update readme.md 2018-12-21 21:01:59 +08:00
Binary Wang
afc0bb471f
Update readme.md 2018-12-21 20:59:50 +08:00
Binary Wang
ac944d46ed #888 修复微信支付部分接口请求中签名方法不统一的问题 2018-12-21 20:42:35 +08:00
Binary Wang
a4a34fcb2e 增加些注释 2018-12-21 14:52:19 +08:00
Binary Wang
b17d06cc12 优化代码 2018-12-21 11:32:32 +08:00
Binary Wang
3969124ae5 发布3.2.10.B测试版本 2018-12-20 19:46:04 +08:00
Binary Wang
6272639f02 #889 修复一些潜在的XXE漏洞代码 2018-12-20 16:47:02 +08:00
gaigeshen
9b6893161a #783 企业微信模块增加群聊相关接口
* 实现消息推送的服务,添加发送应用消息的方法

* 添加创建群聊会话方法,去除不需要的类

* 完成群聊会话的修改和获取

* 重构群聊服务,提出到单独的服务类里面

* 完成群聊的测试
2018-12-18 10:34:53 +08:00
007gzs
b7d3f839f7 #884 微信公众号模块增加主体变更迁移用户openid的接口
* 增加接口 微信公众号主体变更迁移用户 openid

* add test
2018-12-17 22:42:23 +08:00
Binary Wang
5eb5cffb6a
Update readme.md 2018-12-16 19:25:47 +08:00
Binary Wang
af68dd4522 发布3.2.9.B测试版本 2018-12-15 19:53:30 +08:00
Binary Wang
4fdfd8de85 更新注释 2018-12-15 19:26:31 +08:00
Howard Liu
c69b4aadb2 #766 公众号模块消息类里增加扫一扫相关事件的推送字段 2018-12-15 19:26:27 +08:00
Binary Wang
c229a35af1
Update readme.md 2018-12-15 18:35:41 +08:00
Binary Wang
9694abfc2e
Update readme.md 2018-12-14 19:51:02 +08:00
Binary Wang
150e6c2749 update alipay qrcode 2018-12-13 20:28:20 +08:00
Howard Liu
5db8229a8f #404 微信支付对账单下载接口增加对非ALL类型的支持 2018-12-13 17:58:18 +08:00
gaigeshen
ac405b0bc2 #869 修复下载临时素材接口异常处理不当的问题
#869 修复下载临时素材接口异常处理不当的问题
2018-12-11 17:10:57 +08:00
Binary Wang
dde25ec9c3
Update readme.md 2018-12-09 16:33:10 +08:00
Binary Wang
ab2d516000
Update readme.md 2018-12-09 16:26:27 +08:00
Binary Wang
3537381d89 发布3.2.8.B测试版本 2018-12-08 20:55:09 +08:00
Binary Wang
29c6a0000b #855 http请求执行器类RequestExecutor接口增加异步执行方法 2018-12-08 20:06:49 +08:00
Binary Wang
3c391c5778 #708 企业微信增加获取高清语音素材接口 2018-12-08 19:23:35 +08:00
Binary Wang
d59dff2f73 #853 小程序模块获取二维码和小程序码接口增加对应返回byte数组的实现方法 2018-12-08 19:04:08 +08:00
Binary Wang
812de026a6 恢复微信支付接口文档里定义的与实际接口一致的错误字段名 2018-12-08 16:37:15 +08:00
Binary Wang
ee4380f4b2 发布3.2.7.B测试版本 2018-12-07 21:02:08 +08:00
Binary Wang
6f6d0ea0cd 修复单元测试 2018-12-07 20:44:32 +08:00
Binary Wang
9824420aa4 #862 修复微信支付对账单结果中统计数据里的多余空格 2018-12-07 20:34:57 +08:00
Binary Wang
896a4affdd #863 修改企业微信WxCpUserService类的相关方法的部门id参数为Long类型 2018-12-07 20:28:10 +08:00
Binary Wang
9b5a9eb821 #868 修复微信支付查询代金券批次接口响应里的错误字段coupon_mininumn为coupon_minimum(文档里有误,与实际不一致) 2018-12-07 20:22:24 +08:00
Binary Wang
140345902d #868 修复微信支付代金券查询接口响应中错误的字段coupon_mininum为coupon_minimum(文档里有误,与实际不一致) 2018-12-07 20:22:02 +08:00
Binary Wang
1eef762c92
Update readme.md 2018-12-06 19:15:19 +08:00
Binary Wang
483886ff36 update something 2018-11-30 14:26:17 +08:00
Binary Wang
c590e54c07 完善ticket相关代码,完成#844遗留问题 2018-11-29 20:46:36 +08:00
Binary Wang
73945bfb1a 规范化代码 2018-11-29 19:48:57 +08:00
Binary Wang
856b021d2c 正确处理InterruptException
Sonar-2142: "InterruptedException" should not be ignored
2018-11-24 21:20:59 +08:00
Binary Wang
9ed9c2a58c 发布3.2.6.B测试版本 2018-11-24 20:46:44 +08:00
Binary Wang
7cb92a85f6 #857 添加微信小程序敏感文本检测接口 2018-11-24 20:34:42 +08:00
Binary Wang
a73d6e69aa #856 修复会员卡有效期判断问题 2018-11-24 20:13:42 +08:00
Binary Wang
e951cf6756
Update readme.md 2018-11-21 14:23:47 +08:00
Binary Wang
c841ad73ec #752 修复微信支付拉取支付评价的接口的签名问题 2018-11-21 14:10:56 +08:00
Binary Wang
b58d2405e1 发布3.2.5.B测试版本 2018-11-18 17:45:47 +08:00
Binary Wang
dfd9d5ef69 #800 微信支付增加WxPayErrorCode类,存放常用支付接口的错误代码常量 2018-11-18 17:29:11 +08:00
Binary Wang
49633cd123 #844 整合优化ticket管理相关接口代码,方便获取sdk_ticket、jsapi_ticket和card_api_ticket等。 2018-11-18 15:45:02 +08:00
Binary Wang
1cd06082aa fix typo 2018-11-18 14:38:16 +08:00
Binary Wang
3dd70569e6 refactor code 2018-11-18 14:37:55 +08:00
Binary Wang
1d35399a7c #801 根据微信支付最新通知调整对账单下载接口的部分字段 2018-11-18 14:14:13 +08:00
Binary Wang
0a09e960da
Update readme.md 2018-11-12 17:51:05 +08:00
Binary Wang
0d7ea29652 xml代码优化 2018-11-12 11:27:14 +08:00
Binary Wang
1160209ec2 发布3.2.4.B测试版本 2018-11-11 21:41:07 +08:00
Binary Wang
e1a233c07b 微信支付增加对账单下载返回原始字符串数据的downloadRawBill方法 2018-11-11 21:25:01 +08:00
Binary Wang
6720960d54 微信支付模块配置中增加ifSaveApiData参数,可以选择是否保存接口请求信息到ThreadLocal中方便读取 2018-11-11 21:16:47 +08:00
Binary Wang
e83070fc5c
Update readme.md 2018-11-09 14:51:12 +08:00
Binary Wang
a5c8f13fff update xstream to 1.4.10 2018-11-08 20:09:57 +08:00
yuanqixun
556b07378e #841 增加会员卡更新接口 2018-11-08 14:19:52 +08:00
Binary Wang
84aa3cf1c0 #651 WxMpXmlMessage增加allFieldsMap属性, 用于存放所有xml属性和值。 2018-11-04 17:03:20 +08:00
Binary Wang
4a62a3f70e 增加xml解析工具类 2018-11-04 17:01:45 +08:00
Binary Wang
e204b0e2e4 #835 小程序模块增加微信运动数据解密方法 2018-11-04 15:20:00 +08:00
Binary Wang
4b7cce8706 发布3.2.3.B测试版本 2018-11-03 19:48:25 +08:00
Binary Wang
c5de67ae91 优化代码 2018-11-02 11:32:41 +08:00
Binary Wang
eab7dd398a 优化代码,替换掉ToStringBuilder.reflectionToString相关代码 2018-11-02 11:21:14 +08:00
Xiaoyu Guo
cd28a5b487 #833 小程序模块增加错误码 2018-11-02 11:20:08 +08:00
Binary Wang
897394e05e 优化对账方法 2018-11-01 21:56:52 +08:00
Binary Wang
74dafd2901 调整test 2018-11-01 21:39:26 +08:00
Binary Wang
ef2d5f30fd #821 查询企业付款结果接口的结果类增加payment_time属性 2018-11-01 20:44:39 +08:00
Binary Wang
9236f04d68 #830 修复微信支付退款通知解析代码在某些环境下可能会出现的乱码问题 2018-11-01 17:33:10 +08:00
Binary Wang
b4833d1019 尽量使用常量 2018-11-01 15:57:25 +08:00
SunshineTech Zhang
f379769c1e #828 优化支付结果通知类的checkResult方法
该方法重写了基类中的同名方法。
return_code为SUCCESS时,如果sign为空,则该通知请求是非微信通知请求,因此抛出异常。
否则,调用基类同名方法。
2018-11-01 15:44:29 +08:00
SunshineTech Zhang
64446f35e4 #829 优化退款结果通知类的fromXML方法
如果return_code为FAIL时,没有加密信息req_info,因此后面的加密处理会抛出异常。
因此return_code为FAIL时,直接返回结果。
2018-11-01 15:42:46 +08:00
Binary Wang
66055b4a00 代码优化 2018-10-31 19:28:28 +08:00
Binary Wang
23cb2104ad 图文素材相关类的属性中createdTime和updatedTime,改为createTime和updateTime,以便跟其他地方代码保持统一 2018-10-30 10:53:23 +08:00
Binary Wang
b053ee666a 发布3.2.2.B测试版本 2018-10-28 20:12:17 +08:00
Binary Wang
1810884787 #813 企业微信中部门id类型改为Long,以容纳更大的数值 2018-10-28 19:50:14 +08:00
Binary Wang
732a38bf46 #809 WxMpXmlMessage增加unionId 2018-10-28 19:40:39 +08:00
Binary Wang
3b6b34db6b
#819 小程序模块增加解密转发(分享)信息(openGId)的接口 2018-10-27 19:48:36 +08:00
zhfish
c6b23d29b5 https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html,解密数据 2018-10-27 10:02:15 +08:00
Binary Wang
6c4dba8254
Update readme.md 2018-10-22 19:03:30 +08:00
Binary Wang
56c00022cd Upgrade org.eclipse.jetty:jetty-server to version 9.3.24.v20180605 or later.
In Eclipse Jetty, versions 9.2.x and older, 9.3.x (all configurations), and 9.4.x (non-default configuration with RFC2616 compliance enabled), HTTP/0.9 is handled poorly. An HTTP/1 style request line (i.e. method space URI space version) that declares a version of HTTP/0.9 was accepted and treated as a 0.9 request. If deployed behind an intermediary that also accepted and passed through the 0.9 version (but did not act on it), then the response sent could be interpreted by the intermediary as HTTP/1 headers. This could be used to poison the cache if the server allowed the origin client to generate arbitrary content in the response.
2018-10-22 10:31:00 +08:00
Binary Wang
6b34e9dacd #804 微信支付发送红包接口请求增加触达用户appid参数,用于服务商模式下使用 2018-10-19 21:16:17 +08:00
Binary Wang
5df79928a3 发布3.2.1.B测试版本 2018-10-15 20:12:29 +08:00
Binary Wang
3c84ceeff8
#794 增加实现开放小程序的设置支持版本库接口;增加WxOpenResult开放平台返回类型并修改相关接口实现。 2018-10-15 10:15:52 +08:00
袁启勋
bb9768a517 增加实现开放小程序的设置支持版本库接口;增加WxOpenResult开放平台返回类型并修改相关接口实现。 2018-10-14 15:01:51 +08:00
Binary Wang
44597ce202
Create CONTRIBUTING.md 2018-10-13 11:37:12 +08:00
Binary Wang
aa106de6ce 优化部分javadoc 2018-10-12 20:30:12 +08:00
Binary Wang
34cea664ba #788 批量修改所有使用字符串的getBytes方法的地方,显式使用utf-8编码,以免某些场景下出问题 2018-10-12 20:22:16 +08:00
Binary Wang
f07d575513
Update demo.md 2018-09-28 07:31:49 +08:00
Binary Wang
ec5cc69abb
#776 开放平台增加获取会员卡开卡插件参数和手机端预授权等接口
1、增加卡券的api_ticket,区分jsapi_ticket,二者的获取逻辑不同;
2、增加小程序审核事件及审核事件推送消息SuccTime和Reason两个字段;
3、增加开放平台获取会员卡开卡插件参数接口。
4、增加开放平台手机端预授权接口实现;
2018-09-27 10:41:40 +08:00
袁启勋
34eb2f6aac 1、增加卡券的api_ticket,区分jsapi_ticket,二者的获取逻辑不同;
2、增加小程序审核事件及审核事件推送消息SuccTime和Reason两个字段;
3、增加开放平台获取会员卡开卡插件参数接口。
4、增加开放平台手机端预授权接口实现;
2018-09-27 08:34:07 +08:00
Binary Wang
ca13def670 Update readme.md 2018-09-26 14:36:46 +08:00
Binary Wang
9fcb4331c2 调整checkstyle配置 2018-09-25 18:20:01 +08:00
Binary Wang
990dcd4328 Merge branch 'master' into develop 2018-09-24 23:18:23 +08:00
Binary Wang
83b8f6200e
Update readme.md 2018-09-24 18:42:33 +08:00
Binary Wang
d854ad8811
Merge pull request #770 from Wechat-Group/develop
合并develop分支,发布3.2.0正式版本
2018-09-24 18:13:13 +08:00
Binary Wang
3874ee7c2e Merge branch 'master' into develop 2018-09-24 18:11:47 +08:00
Binary Wang
cdf8db87ca 发布3.2.0正式版本 2018-09-24 17:59:56 +08:00
Binary Wang
07e25bad7c #769 WxMaCodeExtConfig增加缺少的tabBar属性 2018-09-24 16:24:01 +08:00
Binary Wang
fbca4cdc59 pay模块批量添加缺失的javadoc文档 2018-09-23 22:05:06 +08:00
Binary Wang
a41ebdc1aa 调整checkstyle配置 2018-09-23 21:59:30 +08:00
Binary Wang
cd72fbfaf6 #708 企业微信素材管理增加上传图片接口 2018-09-23 18:42:34 +08:00
Binary Wang
e237f0be68 #760 小程序增加统一服务消息接口 2018-09-23 18:16:51 +08:00
Binary Wang
9a80d8ddd2
Update readme.md 2018-09-20 21:25:12 +08:00
Binary Wang
b8e9d9d2c4 发布3.1.9.B测试版本 2018-09-20 00:38:33 +08:00
Binary Wang
6c8369b883 merge master 2018-09-20 00:36:29 +08:00
gaigeshen
905e9a5715 #762 企业微信WxCpJedisConfigStorage增加JedisPool参数的构造方法 2018-09-19 17:02:10 +08:00
Binary Wang
505cdafe98 #705 企业微信增加获取外部联系人详情接口 2018-09-16 20:40:40 +08:00
Binary Wang
d5d106f426 #705 企业微信用户相关接口增加成员对外信息external_profile 2018-09-16 19:30:21 +08:00
Binary Wang
4990c622a3 #727 小程序模块增加内容安全接口 2018-09-16 18:38:11 +08:00
Binary Wang
314871cea6 #730 公众号模块增加客服输入状态接口 2018-09-16 18:18:00 +08:00
Binary Wang
61a3356469 优化代码 2018-09-16 18:05:54 +08:00
yuanqixun
941833ea1a #759 增加三方平台代小程序业务接口:代码管理、模板管理、成员管理、发布审核等 2018-09-15 10:33:38 +08:00
Binary Wang
50fb00e68a Update readme.md 2018-09-13 21:39:46 +08:00
Binary Wang
13bee05edc 发布3.1.8.B测试版本 2018-09-09 12:52:25 +08:00
Binary Wang
f7c524f0f3
Update readme.md 2018-09-09 12:44:36 +08:00
Binary Wang
df8dcb003c #752 修复微信支付拉取支付评价的接口(limit不参与签名) 2018-09-09 12:10:15 +08:00
Binary Wang
1149654555
Update readme.md 2018-09-08 14:41:24 +08:00
Binary Wang
0cecf5df76
Update readme.md 2018-09-07 17:05:49 +08:00
Binary Wang
247d4d9209
Update readme.md 2018-09-05 00:18:56 +08:00
鱼丸Cwivan
cc6dd65671 #503 微信支付增加资金账单下载接口 2018-09-05 00:11:13 +08:00
yuanqixun
95e398de7e #745 增加卡券失效接口,并修复会员卡是否支持微信支付和会员卡二维码的属性问题
* 1、增加卡券失效接口;修复会员卡是否支持微信支付和会员卡二维码的属性问题;
2018-09-04 11:26:39 +08:00
Binary Wang
9a15bc1b4c
Update readme.md 2018-09-04 02:37:30 +08:00
Binary Wang
fca9024424 Merge branch 'master' into develop 2018-09-04 02:32:08 +08:00
Binary Wang
71c729cb84 update qrcodes 2018-09-04 02:28:47 +08:00
Binary Wang
bc9d684cfa Update readme.md 2018-09-04 02:23:20 +08:00
Binary Wang
fe33878487 add wepay_qrcode_s 2018-09-04 02:10:59 +08:00
Binary Wang
e1ef1449ef
Update readme.md 2018-09-04 02:01:10 +08:00
Binary Wang
a2e5dd83b0 update cp qrcode 2018-09-04 01:59:07 +08:00
Binary Wang
72738b6619
Update readme.md 2018-09-03 20:32:13 +08:00
Binary Wang
e4cfb843a2
Update readme.md 2018-09-02 20:02:01 +08:00
Binary Wang
a343e220b0
Update demo.md 2018-09-02 19:56:33 +08:00
Binary Wang
25dc6d55fc
Update readme.md 2018-09-02 12:57:30 +08:00
Binary Wang
6c41d6f34e add dingding qrcode 2018-09-02 12:19:37 +08:00
Binary Wang
73029a3024 Update readme.md 2018-09-01 17:01:16 +08:00
Binary Wang
699d5546b0 发布3.1.7.BETA测试版本 2018-08-31 21:27:33 +08:00
yuanqixun
a8bac131fa #739 增加微信激活会员卡时需要用的设置用户资料的接口
* 增加微信激活会员卡,设置用户资料字段接口实现。

* 增加创建卡券二维码的失效时间参数接口。

* 设置对象返回类型。

* 增加卡券相关事件及xml消息解析
2018-08-31 10:41:41 +08:00
Binary Wang
4dd67f46b8 #707 企业微信增加应用管理里的设置和列表接口 2018-08-31 00:47:13 +08:00
Binary Wang
c41903e9c5
Update readme.md 2018-08-30 22:26:22 +08:00
Binary Wang
b1c094127b
Update readme.md 2018-08-30 16:27:12 +08:00
yuanqixun
28b09f7ed6 #736 修复卡券高级信息的商户服务属性 2018-08-30 11:22:13 +08:00
yuanqixun
f90f72fc9c #733 微信卡券增加会员卡新增,卡券二维码,添加白名单,新增卡券货架等接口 2018-08-29 21:50:53 +08:00
Binary Wang
fedec3ca82
Update readme.md 2018-08-29 20:26:34 +08:00
Binary Wang
b327724433 规范获取应用列表接口方法的相关字段命名 2018-08-29 00:21:17 +08:00
Binary Wang
6f9371dfb7 #715 修复http请求代理相关设置代码 2018-08-28 23:59:50 +08:00
Binary Wang
1caf4bd6b5
Update readme.md 2018-08-28 23:30:21 +08:00
Binary Wang
fbcb5558be
Update readme.md 2018-08-28 23:16:07 +08:00
Binary Wang
87c6c4c4b9
Update readme.md 2018-08-28 23:13:02 +08:00
Binary Wang
5380271eb4
Update demo.md 2018-08-27 23:35:00 +08:00
Binary Wang
5f1290720e 优化代码,增加日志 2018-08-27 21:04:25 +08:00
Binary Wang
d5d1ef919b
添加贡献人员列表 2018-08-27 17:48:16 +08:00
Binary Wang
93fc7b9d56 add cp qrcode 2018-08-26 18:47:37 +08:00
Binary Wang
494d98ad6b
Update readme.md 2018-08-25 22:30:21 +08:00
Binary Wang
94ed923333
Update readme.md 2018-08-25 22:28:18 +08:00
Binary Wang
3bc2bbc208 #309 企业微信消息增加【企业微信通讯录变更】的事件推送的支持 2018-08-25 18:54:56 +08:00
Binary Wang
587c68a969 优化注释 2018-08-25 18:53:39 +08:00
Binary Wang
6e75ca258b #309 企业微信新增常量类WxCpConsts,存放包含事件类型在内的一些常量 2018-08-25 18:24:42 +08:00
Binary Wang
3dec968fc3 update readme 2018-08-25 15:48:17 +08:00
Binary Wang
d9d67b182b 发布3.1.6.BETA测试版本 2018-08-23 22:47:05 +08:00
Binary Wang
36a5cc979d #709 企业微信WxCpUser类增加avatar_mediaid参数 2018-08-23 22:12:06 +08:00
Binary Wang
373ab8fe81 #726 微信支付修复发送现金红包接口签名错误的问题 2018-08-23 21:15:29 +08:00
Binary Wang
3f94ec379d 删除不稳定的ToStringUtils自定义类 2018-08-23 19:31:38 +08:00
Binary Wang
a81a8b2b69 优化#718所提交的代码 2018-08-20 12:11:31 +08:00
TonyLuo
9cdff1d010 #718开放平台更新接口getPreAuthUrl,增加新的参数auth_type 和 biz_appid
* add new api: getPreAuthUrl

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=67aa8893d9de824541cb2bfc4619098b5ba5f074&lang=zh_CN

* add new api: getPreAuthUrl

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=67aa8893d9de824541cb2bfc4619098b5ba5f074&lang=zh_CN
2018-08-20 12:03:44 +08:00
webcreazy
93b27351a0 #706 WxCpUserDetail修复qr_code字段,并添加缺失字段avatar 2018-08-11 23:31:53 +08:00
Binary Wang
dee34bd97c
Update readme.md 2018-08-10 15:04:14 +08:00
Binary Wang
b342a2f487
add mp qrcode 2018-08-10 15:01:22 +08:00
Binary Wang
a9654cc0ae
Update readme.md 2018-08-09 19:44:44 +08:00
Binary Wang
2f361aca48 发布3.1.5.BETA测试版本 2018-08-09 10:36:34 +08:00
Binary Wang
ebf9baac27 #534 针对公众号发送模版消息中的小程序path和pagepath问题增加可选参数,如果想让请求使用path作为参数名,设置usePath属性为true即可,否则会使用pagepath。 2018-08-08 21:33:01 +08:00
Binary Wang
a24b74603f #701 企业微信 网页授权登录 使用snsapi_userinfo、snsapi_privateinfo时需要使用agentid 2018-08-08 21:13:58 +08:00
Binary Wang
8c63f13387 #686 获取体验小程序的体验二维码接口增加path参数 2018-08-08 21:04:49 +08:00
Binary Wang
c7734a8d9f update qrcode 2018-08-07 12:36:11 +08:00
Binary Wang
214e7e58fa #672 小程序增加jssdk相关接口实现 2018-08-05 19:51:41 +08:00
Binary Wang
93db3237a6 发布3.1.4.BETA测试版本 2018-08-05 19:04:34 +08:00
Binary Wang
266aca2734 #692 修复退款通知解密信息时报Invalid AES key length: 31 bytes异常的问题 2018-08-04 19:54:57 +08:00
Binary Wang
ad8de25f7f add author info 2018-08-04 19:35:00 +08:00
Binary Wang
c29a3e5f01 #697 企业微信OAuth2.0增加对snsapi_userinfo和snsapi_privateinfo的支持 2018-08-04 19:34:42 +08:00
Binary Wang
013835fc31 企业微信根据code获取成员信息接口返回值增加user_ticket和expires 2018-08-04 19:25:41 +08:00
Binary Wang
c237bb81dd 发布3.1.3.BETA测试版本 2018-07-28 18:58:56 +08:00
Binary Wang
2c3af860aa #689 WxMaTemplateMessage.Data 增加无参构造方法 2018-07-28 17:03:46 +08:00
Binary Wang
f03e80694c #688 企业付款到零钱接口结果类修复 2018-07-28 17:02:24 +08:00
Binary Wang
99d601138f 优化代码 2018-07-23 14:05:35 +08:00
Binary Wang
d1838000cf 修复代码注释 2018-07-23 14:02:26 +08:00
Binary Wang
f909041319
Update readme.md 2018-07-21 23:54:56 +08:00
Binary Wang
d618261a99 update readme 2018-07-18 16:43:58 +08:00
Binary Wang
158dccc64d 发布3.1.2.BETA测试版本 2018-07-12 15:23:30 +08:00
QSJia
bd941025b6 #674 修复微信返回0/1值转换为布尔值错误的问题 2018-07-12 10:34:48 +08:00
Binary Wang
4289bd5350 #659 小程序增加上报用户数据后台接口 2018-07-11 23:30:56 +08:00
Binary Wang
0678e22e4e #663 微信支付申请退款结果WxPayRefundResult增加字段coupon_refund_fee 2018-07-07 21:05:59 +08:00
Binary Wang
40a6c2caa9 发布3.1.1.BETA测试版本 2018-06-27 08:26:41 +08:00
Binary Wang
9e9e773dc3 #642 公众号通知事件推送消息里增加对微信小店订单付款通知事件类型为merchant_order的支持 2018-06-26 21:43:29 +08:00
Binary Wang
4710354d96 #646 修复申请退款接口组装退款代金券空指针的问题 2018-06-26 21:16:13 +08:00
007gzs
82e2371847 #644 WxOpenConfigStorage增加setApacheHttpClientBuilder()方法,方便用户修改http请求相关参数 2018-06-26 13:53:55 +08:00
Binary Wang
1781d4edd2
update version 2018-06-22 23:38:59 +08:00
Binary Wang
9d66d582db
合并 Develop,发布3.1.0正式版 (#640)
* #519 修复小程序客服消息 URL 被转义的问题

* 优化单元测试提示信息

* 网页授权url增加&connect_redirect=1参数解决两次重定向跳转问题: https://blog.csdn.net/jiangguilong2000/article/details/79416615

* 修复错误的feeToYuan方法名为fenToYuan

* #529 EntPayBankRequest增加默认构造函数

* #529 EntPayBankResult中cmmsAmount的数据类型改为Integer

* #528 WxMpUser类增加三个属性:subscribe_scene、 qr_scene 和qr_scene_str

* 修复代码

* 发布3.0.1.BETA测试版本

* #533 微信刷卡支付请求类增加缺少的三个参数

* #536 企业号模块增加获取企业号应用相关接口

* 定义《企业号应用》的bean

* 增加《获取企业号应用》接口实现

* 增加获取测试企业号应用信息测试类

* #535 修复Tomcat 不能正常关闭的问题,增加线程池shutdown相关的操作

* #541 企业号增加实现管理标签的(获取标签成员)接口 

* 定义《企业号应用》的bean

* 增加《获取企业号应用》接口实现

* 增加获取测试企业号应用信息测试类

* tag service增加获取标签成员方法
http://qydev.weixin.qq.com/wiki/index.php?title=管理标签

* #534 公众号发送模版消息中的小程序path改回pagepath

* 发布3.0.2.BETA测试版本

* #547 开放平台模块 componentAccessToken 增加过期自动刷新

* createOrder方法增加H5支付的支持

* #551 文本卡片消息增加btntext字段

* #550 企业微信删除标签成员接口增加部门列表参数

* 清理无用代码

* #530 微信支付申请退款接口结果类增加单个代金券相关参数 ,并根据官方文档整理其他参数

* #531 小程序WxMaMessage类增加小程序卡片消息相关的几个属性

* #520 企业微信网页授权增加使用user_ticket获取成员详情的接口

* 发布3.0.3.BETA测试版本

* 优化代码

* 完善测试

* #559 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* #560 微信开放平台:增加小程序代码模板库管理 

* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* #562 小程序增加代码管理相关 API

* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* #563 小程序增加修改服务器地址、成员管理 API 

* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API

* #565 小程序增加数据分析相关 API 

* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API

* 小程序:增加数据分析相关 API

* #567 微信开放平台增加 HTTP proxy 机制

* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API

* 小程序:增加数据分析相关 API

* 微信开放平台:增加 HTTP proxy 机制

* #568 修复三方平台多次授权时,RefreshToken 没有刷新的问题

* fix 多次授权时,RefreshToken 没有刷新

* null 判断

* 发布3.0.4.BETA测试版本

* fix code

* #569 微信支付几个查询关闭对账下载相关接口增加重载方法,以方便客户端指定更多参数

* #578 微信开放平台增加 WxMaUserService 的实现

* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API

* 小程序:增加数据分析相关 API

* 微信开放平台:增加 HTTP proxy 机制

* 微信开放平台:增加 WxMaUserService 的实现

* 修复小程序码的相关方法命名:WxCode->WxaCode, WxCodeLimit -> WxaCodeUnlimit

* #556 日志信息中如果含有secret值的,将其值隐藏掉

* #585 小程序二维码支持is_hyaline参数生成透明背景二维码

* 发布3.0.5.BETA测试版本

* #584 修复企业付款到银行卡接口签名失败的问题

* 简化代码

* #586 微信支付 WxPayConfig增加支持byte数组方式设置证书

* #581 增加微信公众号错误信息枚举类WxMpErrorMsg,并提供方法,方便根据错误代码查询错误信息内容

* #555 修复微信支付服务商模式支付验证签名失败的问题

* #521 微信支付回调通知类WxPayOrderNotifyResult增加version参数

* #583 企业微信新增人员接口新增字段to_invite

* #583 企业微信通讯录管理增加邀请成员接口

* #587 企业微信几个接口增加个人二维码字段

* 修复字符

* 修复单元测试

* 发布3.0.6.BETA测试版本

* 重构WxError相关代码,自动根据代码补充错误中文说明

* 优化微信支付代码

* #584 修复企业付款queryEntPay签名失败问题

* #591 文件上传接口不自动关闭inputStream,由调用方自己控制

* #595 优化WxPayException

* 发布3.0.7.BETA测试版本

* 更新pom

* 优化代码

* #615 公众号客服消息添加 "发送小程序卡片" 类型

* 优化XStreamTransformer

* 微信支付模块jodd-http修改scope

* 发布3.0.8.BETA测试版本

* #623 群发接口增加clientmsgid

* add author for some files

* clean code

* 重构规范RequestExecuter代码

* #532 实现微信AI开放接口的三个接口:语音上传、查询识别结果和微信翻译功能

* 发布3.0.9.BETA测试版本

* #516 增加获取Wi-Fi门店列表接口

* #629 修复WxPayOrderNotifyResult解析xml报错问题

* #639 修复小程序代码模版库管理 access_token key 错误

* 发布3.1.0正式版本
2018-06-22 23:29:17 +08:00
Binary Wang
0cbd35452f 发布3.1.0正式版本 2018-06-22 23:09:00 +08:00
007gzs
edb15cc117 #639 修复小程序代码模版库管理 access_token key 错误 2018-06-22 22:17:27 +08:00
Binary Wang
a10007a68e #629 修复WxPayOrderNotifyResult解析xml报错问题 2018-06-20 00:00:02 +08:00
Binary Wang
ba7905a205 #516 增加获取Wi-Fi门店列表接口 2018-06-10 22:26:42 +08:00
Binary Wang
fa6fe78f8b 发布3.0.9.BETA测试版本 2018-06-10 14:36:55 +08:00
Binary Wang
5b5dada0fe #532 实现微信AI开放接口的三个接口:语音上传、查询识别结果和微信翻译功能 2018-06-10 11:54:45 +08:00
Binary Wang
0daaa011ef 重构规范RequestExecuter代码 2018-06-10 00:28:47 +08:00
Binary Wang
b901f73107 clean code 2018-06-09 23:59:27 +08:00
Binary Wang
499d12e0d3 add author for some files 2018-06-09 23:56:16 +08:00
Binary Wang
1b759ea93b #623 群发接口增加clientmsgid 2018-06-09 23:33:49 +08:00
Binary Wang
c0938ffedb 发布3.0.8.BETA测试版本 2018-06-07 21:37:03 +08:00
Binary Wang
7852a580ae 微信支付模块jodd-http修改scope 2018-06-07 21:06:42 +08:00
Binary Wang
030ab99674 优化XStreamTransformer 2018-06-07 21:04:09 +08:00
Boris
96e7310143 #615 公众号客服消息添加 "发送小程序卡片" 类型 2018-06-06 11:03:48 +08:00
Binary Wang
f704b1a538 优化代码 2018-05-31 12:14:09 +08:00
Binary Wang
535dd55fe2 更新pom 2018-05-31 12:13:54 +08:00
Binary Wang
4d863eef7b 发布3.0.7.BETA测试版本 2018-05-21 13:50:21 +08:00
Binary Wang
5b0022bb87 #595 优化WxPayException 2018-05-18 15:19:36 +08:00
Binary Wang
f574403445 #591 文件上传接口不自动关闭inputStream,由调用方自己控制 2018-05-18 11:33:58 +08:00
Binary Wang
ad2a5d3dd6 #584 修复企业付款queryEntPay签名失败问题 2018-05-18 11:28:17 +08:00
Binary Wang
f796bfdafe 优化微信支付代码 2018-05-14 23:52:24 +08:00
Binary Wang
ef97a308f3 重构WxError相关代码,自动根据代码补充错误中文说明 2018-05-14 23:42:28 +08:00
Binary Wang
a9d552729c 发布3.0.6.BETA测试版本 2018-05-13 23:21:25 +08:00
Binary Wang
13222283c6 修复单元测试 2018-05-13 23:12:34 +08:00
Binary Wang
0e812063d8 修复字符 2018-05-13 23:09:34 +08:00
Binary Wang
7435f2dbd5 #587 企业微信几个接口增加个人二维码字段 2018-05-13 22:44:06 +08:00
Binary Wang
bdbd92b7f9 #583 企业微信通讯录管理增加邀请成员接口 2018-05-13 22:35:04 +08:00
Binary Wang
01b1be350b #583 企业微信新增人员接口新增字段to_invite 2018-05-13 22:19:39 +08:00
Binary Wang
08250aa8ef #521 微信支付回调通知类WxPayOrderNotifyResult增加version参数 2018-05-13 22:09:27 +08:00
Binary Wang
936b40cd88 #555 修复微信支付服务商模式支付验证签名失败的问题 2018-05-13 19:19:18 +08:00
Binary Wang
b698806a07 #581 增加微信公众号错误信息枚举类WxMpErrorMsg,并提供方法,方便根据错误代码查询错误信息内容 2018-05-13 19:08:43 +08:00
Binary Wang
06c356bdcc #586 微信支付 WxPayConfig增加支持byte数组方式设置证书 2018-05-13 18:39:42 +08:00
Binary Wang
71f97c063f 简化代码 2018-05-13 18:26:41 +08:00
Binary Wang
adf3685e88 #584 修复企业付款到银行卡接口签名失败的问题 2018-05-12 13:08:31 +08:00
Binary Wang
d4cf2205e5 发布3.0.5.BETA测试版本 2018-05-12 13:07:40 +08:00
scott
26eba6a8e5 #585 小程序二维码支持is_hyaline参数生成透明背景二维码 2018-05-11 19:33:41 +08:00
Binary Wang
75069baad4 #556 日志信息中如果含有secret值的,将其值隐藏掉 2018-05-08 23:19:17 +08:00
Binary Wang
329847eb90 修复小程序码的相关方法命名:WxCode->WxaCode, WxCodeLimit -> WxaCodeUnlimit 2018-05-08 15:45:42 +08:00
Charming
95583789b5 #578 微信开放平台增加 WxMaUserService 的实现
* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API

* 小程序:增加数据分析相关 API

* 微信开放平台:增加 HTTP proxy 机制

* 微信开放平台:增加 WxMaUserService 的实现
2018-05-08 10:19:30 +08:00
Binary Wang
499750b3df #569 微信支付几个查询关闭对账下载相关接口增加重载方法,以方便客户端指定更多参数 2018-05-06 12:12:24 +08:00
Binary Wang
a21fdf2c78 fix code 2018-05-06 12:10:50 +08:00
Binary Wang
1cea48b447 发布3.0.4.BETA测试版本 2018-05-02 19:24:11 +08:00
007gzs
9ff53a59f9 #568 修复三方平台多次授权时,RefreshToken 没有刷新的问题
* fix 多次授权时,RefreshToken 没有刷新

* null 判断
2018-05-02 14:47:53 +08:00
Charming
04ec788d07 #567 微信开放平台增加 HTTP proxy 机制
* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API

* 小程序:增加数据分析相关 API

* 微信开放平台:增加 HTTP proxy 机制
2018-05-01 21:43:34 +08:00
Charming
3c2249eae8 #565 小程序增加数据分析相关 API
* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API

* 小程序:增加数据分析相关 API
2018-04-29 21:50:11 +08:00
Charming
ba93544473 #563 小程序增加修改服务器地址、成员管理 API
* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API

* 小程序:增加修改服务器地址、成员管理 API
2018-04-27 17:36:49 +08:00
Charming
0247486b13 #562 小程序增加代码管理相关 API
* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理

* 小程序:增加代码管理相关 API
2018-04-26 23:02:22 +08:00
Charming
75c038d464 #560 微信开放平台:增加小程序代码模板库管理
* 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀;

* 微信开放平台:增加小程序代码模板库管理
2018-04-26 18:07:31 +08:00
Charming
3481cca8ec #559 微信开放平台:1. WxOpenInRedisConfigStorage 支持 JedisPool/JedisSentinelPool 等 Pool<Jedis> 的子类;2. WxOpenInRedisConfigStorage 增加 keyPrefix 以支持可配置的前缀; 2018-04-26 12:10:55 +08:00
Binary Wang
445b47b618 完善测试 2018-04-23 21:22:40 +08:00
Binary Wang
80cf6325b0 优化代码 2018-04-23 21:22:29 +08:00
Binary Wang
06e3a9c725 发布3.0.3.BETA测试版本 2018-04-22 22:50:13 +08:00
Binary Wang
5b69d91e65 #520 企业微信网页授权增加使用user_ticket获取成员详情的接口 2018-04-22 22:35:47 +08:00
Binary Wang
61e3163f48 #531 小程序WxMaMessage类增加小程序卡片消息相关的几个属性 2018-04-22 00:54:33 +08:00
Binary Wang
8b30615cd7 #530 微信支付申请退款接口结果类增加单个代金券相关参数 ,并根据官方文档整理其他参数 2018-04-22 00:33:33 +08:00
Binary Wang
2063dcfd4c 清理无用代码 2018-04-21 23:52:28 +08:00
Binary Wang
b5c3b5e59a #550 企业微信删除标签成员接口增加部门列表参数 2018-04-21 12:37:42 +08:00
Binary Wang
94b2803842 #551 文本卡片消息增加btntext字段 2018-04-21 12:05:32 +08:00
Binary Wang
66b02d0536 createOrder方法增加H5支付的支持 2018-04-21 11:55:14 +08:00
007gzs
138610781b #547 开放平台模块 componentAccessToken 增加过期自动刷新 2018-04-19 17:38:38 +08:00
Binary Wang
728c79534d 发布3.0.2.BETA测试版本 2018-04-16 20:25:48 +08:00
Binary Wang
7d688a3db0 #534 公众号发送模版消息中的小程序path改回pagepath 2018-04-16 19:37:11 +08:00
huansinho
74faa2a03e #541 企业号增加实现管理标签的(获取标签成员)接口
* 定义《企业号应用》的bean

* 增加《获取企业号应用》接口实现

* 增加获取测试企业号应用信息测试类

* tag service增加获取标签成员方法
http://qydev.weixin.qq.com/wiki/index.php?title=管理标签
2018-04-16 11:53:35 +08:00
gtyang
558f4e7880 #535 修复Tomcat 不能正常关闭的问题,增加线程池shutdown相关的操作 2018-04-16 10:17:23 +08:00
huansinho
a0240e7847 #536 企业号模块增加获取企业号应用相关接口
* 定义《企业号应用》的bean

* 增加《获取企业号应用》接口实现

* 增加获取测试企业号应用信息测试类
2018-04-13 19:01:30 +08:00
Binary Wang
617f861af5 #533 微信刷卡支付请求类增加缺少的三个参数 2018-04-13 00:12:03 +08:00
Binary Wang
a6ee082798 发布3.0.1.BETA测试版本 2018-04-10 17:50:28 +08:00
Binary Wang
dce4f6fb06 修复代码 2018-04-10 14:22:10 +08:00
Binary Wang
e1d274811c #528 WxMpUser类增加三个属性:subscribe_scene、 qr_scene 和qr_scene_str 2018-04-09 20:36:23 +08:00
Binary Wang
ae5267dcdf #529 EntPayBankResult中cmmsAmount的数据类型改为Integer 2018-04-09 20:28:46 +08:00
Binary Wang
5295b26aaf #529 EntPayBankRequest增加默认构造函数 2018-04-09 20:28:11 +08:00
Binary Wang
b69a0b96f5 修复错误的feeToYuan方法名为fenToYuan 2018-04-08 23:42:59 +08:00
Binary Wang
608b59ec07 网页授权url增加&connect_redirect=1参数解决两次重定向跳转问题: https://blog.csdn.net/jiangguilong2000/article/details/79416615 2018-04-08 17:23:32 +08:00
Binary Wang
45cc5cc9c5 Merge branch 'master' into develop 2018-03-30 18:00:55 +08:00
Binary Wang
d619848211 优化单元测试提示信息 2018-03-30 18:00:44 +08:00
Mark
996c8061a2 #519 修复小程序客服消息 URL 被转义的问题 2018-03-30 13:56:52 +08:00
Binary Wang
2d84939be0
Update readme.md 2018-03-29 00:19:18 +08:00
Binary Wang
e6cf8d5a45
update version 2018-03-28 21:04:06 +08:00
Binary Wang
89d7beb36c Merge branch 'develop' 2018-03-28 20:45:17 +08:00
Binary Wang
a93d7bc09a 发布3.0.0正式版 2018-03-28 20:44:48 +08:00
Binary Wang
9405fa2b6f
Merge pull request #518 from Wechat-Group/develop
merge Develop
2018-03-28 20:39:58 +08:00
Binary Wang
44f61867fb #515 小程序新增获取微信用户绑定手机号信息的解密方法 2018-03-28 20:30:53 +08:00
Binary Wang
0a55dc578a #457 实现扫码支付回调通知的解析 2018-03-28 20:16:11 +08:00
Binary Wang
3d07676c4d #517 将XStreamTransformer的register方法设为public,方便用户自定义扩展 2018-03-28 19:30:04 +08:00
Binary Wang
e86adc1dc5 fix javadoc 2018-03-28 19:20:43 +08:00
007gzs
2c2ed5d60c #513 修复开放平台小程序jscode2session 错误 2018-03-25 23:30:18 +08:00
Binary Wang
6faae7e2d8 Merge branch 'master' into develop 2018-03-24 11:32:08 +08:00
Binary Wang
f94c06a924 fix something 2018-03-24 10:52:15 +08:00
Binary Wang
9ec335dcc8 发布2.9.9.BETA测试版本 2018-03-23 09:57:53 +08:00
Binary Wang
310283847d #500 微信支付退款申请接口增加notify_url参数 2018-03-22 23:46:55 +08:00
Binary Wang
0c7a472a16 #456 企业微信获取部门列表接口方法listAll修改为list,以支持按部分id获取其下属部门列表 2018-03-18 14:44:57 +08:00
Binary Wang
e3293d1521 ignore versionsBackup files 2018-03-11 20:41:16 +08:00
Binary Wang
ca6f77a025 发布2.9.8.BETA测试版 2018-03-11 20:19:06 +08:00
Binary Wang
a11de1977c #471 上传多媒体文件时临时文件及时清理,防止本地产生过多系统垃圾 2018-03-11 13:40:15 +08:00
Binary Wang
070ff05fdf #490 code换取session_key接口响应结果类中去掉expires_in字段 2018-03-11 13:25:53 +08:00
Binary Wang
36b62153ea
Update readme.md 2018-03-09 22:53:07 +08:00
627535195
58dec7bf08 优化代码
* 错别字

* long l->L

* 使xml中不存在的属性不会把java bean中已有的属性覆盖成null
比如:me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage#accessTokenLock
2018-03-09 22:34:38 +08:00
李晨亮
ee3be3b33c 修复单元测试问题 2018-03-08 17:57:08 +08:00
Binary Wang
ae4cf4d9d0 修复代码 2018-03-07 15:57:19 +08:00
Binary Wang
b4cf79fd15 #480 修复sex值可能为null导致的空指针问题 2018-03-05 20:15:08 +08:00
Binary Wang
f17d9cdb2e #479 修复公众号模板消息发送时pagepath问题 2018-03-05 13:54:46 +08:00
Binary Wang
89a3cfa60f 发布2.9.7.BETA测试版本 2018-03-05 12:24:00 +08:00
Binary Wang
b28f358bb9 微信支付通知回调解析时的签名方式支持自定义 2018-03-05 11:11:17 +08:00
Binary Wang
edea54b1f6 #473 WxMpKfAccountRequest增加构造函数 2018-03-05 11:08:51 +08:00
Binary Wang
9188ceaca2 格式化代码,并清理无用代码 2018-03-03 17:40:42 +08:00
Binary Wang
a6d73a249d #409 实现企业微信的userid与openid互换接口 2018-03-03 17:09:56 +08:00
Binary Wang
0b7c1da5a8 fix compile warning 2018-03-03 17:09:39 +08:00
Binary Wang
2058623eaa #477 企业号接口重构,分类管理 2018-03-03 16:44:43 +08:00
Binary Wang
20e174eb6b Merge branch 'master' into develop 2018-03-03 16:32:32 +08:00
Binary Wang
c887289518 优化代码 2018-03-03 16:32:10 +08:00
Binary Wang
fe7a4705b7 #476 微信支付部分接口增加“单品优惠”的支持 2018-03-03 16:28:58 +08:00
IOMan
8a733d947f #470 增加小程序模板配置相关接口 2018-02-26 17:03:22 +08:00
Binary Wang
5d7f30ae66
Update demo.md 2018-02-08 20:07:59 +08:00
Binary Wang
5983596971
Update readme.md 2018-02-08 18:27:23 +08:00
Binary Wang
2629f63a8e 修复被误修改的红包相关参数 2018-02-08 18:15:47 +08:00
Binary Wang
27117ee38a 发布2.9.6.BETA测试版本 2018-01-31 12:39:03 +08:00
Binary Wang
c755c3ec89 恢复2.9.4.BETA版本被误修改的代码 2018-01-31 12:14:08 +08:00
Binary Wang
5779d5af5e
Update readme.md 2018-01-30 14:56:02 +08:00
Binary Wang
c21f87d0a4
Update readme.md 2018-01-30 14:55:26 +08:00
Binary Wang
48d3163b33 优化部分代码 2018-01-29 18:48:57 +08:00
Binary Wang
0dddb5ddea
Update readme.md 2018-01-29 17:11:04 +08:00
Binary Wang
5bd2d209db #431 WxMpUser的sex相关字段调整:原sex变量改为sexDesc,原sexId改为sex 2018-01-27 18:32:16 +08:00
Binary Wang
2eb3fc5ed1 #425 小程序客服消息新增小程序卡片消息支持 2018-01-27 18:13:08 +08:00
Binary Wang
a687d00d4a #425 小程序客服消息新增图文链接消息支持 2018-01-27 17:58:39 +08:00
Binary Wang
b44f9b315f 优化部分测试代码 2018-01-27 14:48:27 +08:00
Binary Wang
fb8de94181 发布2.9.5.BETA测试版本 2018-01-25 18:56:35 +08:00
Binary Wang
8e1c9263ac 优化部分代码 2018-01-25 18:46:10 +08:00
Binary Wang
801caca355 #429 WxMaMessage增加缺少的MsgType属性 2018-01-25 16:51:40 +08:00
康阳
905f09808d #443 在获取会员卡信息中增加balance字段,涉及金额的balance字段改为double类型
* 在获取会员卡信息中增加balance字段,涉及金额的balance字段改为double类型

* 同步 修改 GsonAdapter 中相关字段
2018-01-24 16:46:25 +08:00
Binary Wang
2ac2568df4 修复http请求连接释放问题 2018-01-24 15:08:27 +08:00
Binary Wang
8db4935428 微信支付修复红包查询结果类解析问题 2018-01-24 15:08:27 +08:00
Sola
6b408eabf2 #442 优化 pom.xml 文件
Signed-off-by: Sola <dev@sola.love>
2018-01-24 12:23:45 +08:00
Sola
18689eb7da #440 添加maven warpper以及依赖更新检查脚本 2018-01-23 14:37:09 +08:00
Sola
e331fb5366 #441 从编译依赖中去掉lombok
Signed-off-by: Sola <dev@sola.love>
2018-01-23 14:29:37 +08:00
Mklaus
f2b05480b5 #436 添加一次性订阅消息接口 2018-01-23 10:23:29 +08:00
Binary Wang
be50ea009c
Update WxMaUserServiceImpl.java 2018-01-20 17:44:09 +08:00
Binary Wang
1a4ca8c0bd 规范notifyUrl字段属性写法 2018-01-19 17:12:17 +08:00
Binary Wang
48fb5e9e5a 微信支付去掉统一下单接口请求时关于openid和sub_openid的逻辑判断,由调用者自己控制相关参数 2018-01-17 15:16:10 +08:00
Binary Wang
696ffdc094
Update demo.md 2018-01-15 17:51:01 +08:00
Binary Wang
edaaa48b8d 发布2.9.4.BETA测试版本 2018-01-11 15:19:05 +08:00
阿亮
d0f436b3c7 修复获取小程序二维码时参数名称错误和数据格式错误的问题 2018-01-11 15:03:58 +08:00
Binary Wang
e18665f8a5 Merge branch 'master' into develop 2018-01-08 19:03:48 +08:00
Binary Wang
15a33a7d46 重构RSA加密方法 2018-01-04 23:22:57 +08:00
007gzs
5dcd06b620 #420 开放平台模块增加小程序相关接口 2018-01-04 22:44:27 +08:00
Binary Wang
519d5a5b45
去掉多余的等号字符 2018-01-02 22:58:00 +08:00
Binary Wang
3dc0b6e943
Update readme.md 2017-12-30 10:22:57 +08:00
Binary Wang
bda80d4c91
Update readme.md 2017-12-30 10:21:22 +08:00
Binary Wang
b2f76c3707
Update readme.md 2017-12-30 10:19:44 +08:00
Binary Wang
9c425efad9
Create demo.md 2017-12-30 10:15:33 +08:00
Binary Wang
f629c753dc
Update readme.md 2017-12-30 10:08:01 +08:00
Binary Wang
0d66bc7e2b 发布2.9.3.BETA测试版本 2017-12-29 19:44:48 +08:00
Binary Wang
e9e9a622cf #416 修改删除群发接口的消息ID参数类型为Long 2017-12-29 19:36:24 +08:00
Binary Wang
367880673a
Update readme.md 2017-12-23 12:54:13 +08:00
Binary Wang
0a21fe2934 #412 规范代码,修复变量名使用错误的问题 2017-12-23 12:22:43 +08:00
Binary Wang
2030c4bea7
Update readme.md 2017-12-23 12:09:47 +08:00
Binary Wang
94ae938a2b #392 微信支付增加企业付款到银行卡的相关接口 2017-12-21 23:53:14 +08:00
Binary Wang
0240fffa1c #392 微信支付增加企业付款到银行卡的相关接口 2017-12-21 23:49:57 +08:00
Binary Wang
34a974bc28 #392 微信支付增加企业付款到银行卡的相关接口 2017-12-21 00:33:07 +08:00
Binary Wang
f95a79bc3a
Update readme.md 2017-12-20 14:42:09 +08:00
Binary Wang
230fc9f16c 清理代码 2017-12-19 23:08:27 +08:00
Binary Wang
a361487507 企业付款相关接口抽取为一个独立的接口实现类 2017-12-19 23:07:26 +08:00
Binary Wang
42d5396e10 #401 开放平台获取授权方的帐号基本信息返回对象增加MiniProgramInfo字段 2017-12-19 18:38:21 +08:00
Binary Wang
4a0f14debd 发布2.9.2.BETA测试版本 2017-12-18 14:42:55 +08:00
Binary Wang
b1aafae6da 规范部分代码 2017-12-16 18:50:07 +08:00
Binary Wang
d804d153fc 重构不规范的类名 2017-12-16 18:40:45 +08:00
Binary Wang
b152882c6f SimpleDateFormat线程不安全,使用FastDateFormat替代 2017-12-16 18:38:11 +08:00
Binary Wang
cbf18e8ca4 #321 微信支付下载对账单接口增加对GZIP格式的支持 2017-12-16 17:07:16 +08:00
Binary Wang
2e85dfdf7a remove useless javadoc 2017-12-16 15:23:48 +08:00
Binary Wang
ff3cdb1487 #358 针对微信网页授权为snsapi_userinfo时,WxMpUser类中增加privilege字段 2017-12-16 13:47:44 +08:00
Binary Wang
7118255be7 针对最近官网提出的用户unionID获取策略调整的公告,增加相应注释 2017-12-16 13:40:43 +08:00
Binary Wang
d8250cb25e #399 微信支付退款查询接口调整“代金券类型”字段位置 2017-12-16 13:30:39 +08:00
Binary Wang
3a555618b9 #401 开放平台获取授权方的帐号基本信息返回对象增加MiniProgramInfo字段 2017-12-16 13:30:36 +08:00
Binary Wang
ce281bea32 优化模版消息代码,添加默认构造方法 2017-12-16 12:46:15 +08:00
Binary Wang
cae504b6bd 修复小l字符问题 2017-12-16 12:11:40 +08:00
Binary Wang
1a67b478ee
Update readme.md 2017-12-07 12:21:02 +08:00
Binary Wang
0714cbe8e2 #395 修复获取小程序二维码data format error的问题 2017-12-07 11:54:17 +08:00
Binary Wang
b3ee3da230
Update readme.md 2017-12-06 11:20:56 +08:00
Binary Wang
11ffb22884
Update readme.md 2017-12-05 10:39:05 +08:00
Binary Wang
afaa1e1462
Update readme.md 2017-12-05 10:37:34 +08:00
Binary Wang
e342cf8890
Update readme.md 2017-12-05 10:08:55 +08:00
Binary Wang
0c66bfe683
Update readme.md 2017-12-05 10:06:58 +08:00
Binary Wang
02f9a08f5a
Update readme.md 2017-12-05 10:05:56 +08:00
Binary Wang
7b64b6b4a0 发布2.9.1.BETA测试版本 2017-12-04 18:41:09 +08:00
Binary Wang
be16513d06
#394开放平台增加 MessageRouter
开放平台增加 MessageRouter
2017-12-04 17:59:53 +08:00
007gzs
e659ca0961
Update WxMpMessageRouter.java
fix
2017-12-04 17:58:31 +08:00
007
9516193e4b Merge branch 'develop' of https://github.com/Wechat-Group/weixin-java-tools into 007 2017-12-04 16:26:19 +08:00
007
a0768510af 开放平台增加 MessageRouter 2017-12-04 16:24:34 +08:00
Binary Wang
f7dab9267e #389 微信支付查询退款返回结果中增加退款成功时间字段 2017-12-02 15:07:39 +08:00
Binary Wang
72fee63b9b
Update readme.md 2017-12-01 21:55:12 +08:00
Binary Wang
7cb4f0211b
Update readme.md 2017-12-01 19:28:04 +08:00
Binary Wang
3b1645df62
Merge pull request #391 from Wechat-Group/develop
合并 Develop
2017-12-01 19:05:12 +08:00
Binary Wang
919a534962 发布2.9.0正式版本 2017-12-01 19:01:35 +08:00
Binary Wang
b5af9fa7d3 Merge branch 'master' into develop 2017-12-01 12:41:14 +08:00
Binary Wang
3be10487c2
Update readme.md 2017-11-27 22:21:21 +08:00
Binary Wang
ed2cec8d1a
Update readme.md 2017-11-25 20:48:10 +08:00
Binary Wang
93ba02e20d
Update readme.md 2017-11-25 20:36:51 +08:00
Binary Wang
264cd62844 Merge branch 'master' into develop 2017-11-25 20:07:10 +08:00
axeon
920a2f7e13 #384 去掉executeInternal上会导致性能问题的同步代码synchronized 2017-11-24 12:25:20 +08:00
Binary Wang
6d566ced44 发布临时测试版本2.8.9.BETA 2017-11-23 12:16:34 +08:00
Binary Wang
1875c1b374 #383 修复微信支付查询代金券信息返回的coupon_state字段类型 2017-11-23 12:08:40 +08:00
Binary Wang
41a838ba8d
Update readme.md 2017-11-23 11:39:53 +08:00
Binary Wang
fa4cc5a9fd #380 修复okhttp和jodd-http实现的获取永久素材接口的问题 2017-11-22 23:48:59 +08:00
Binary Wang
6180577f65 增加redis的configStorage实现的注释说明 2017-11-22 23:22:10 +08:00
Binary Wang
20825922ce #367 增加对api调用次数清零的接口 2017-11-22 23:15:18 +08:00
Binary Wang
81ebe1a085 优化代码 2017-11-22 23:10:53 +08:00
007gzs
5c9ec87bb8 #379 WxOpenXmlMessage 增加 加密 WxMpXmlOutMessage接口 MpConfigStorage 返回aeskey和token MpService可以直接加密 增加 全网发布用例
* 增加 微信第三方平台 接口

* WxOpenXmlMessage 消息处理

* 增加 摇周边部分接口

* fix

* fix

* rebase

* 增加 摇周边部分接口

* fix

* fix

* unix 换行符

* fix 三方接口BUG

* fix URL 错误

* WxOpenMpServiceImpl 修改为包可见,防止用户混淆
WxOpenXmlMessage 增加 加密 WxMpXmlOutMessage接口
MpConfigStorage 返回aeskey和token MpService可以直接加密

增加 全网发布用例
2017-11-21 20:55:17 +08:00
007gzs
556487078c #378 修复第三方平台接口BUG
* 增加 微信第三方平台 接口

* WxOpenXmlMessage 消息处理

* 增加 摇周边部分接口

* fix

* fix

* rebase

* 增加 摇周边部分接口

* fix

* fix

* unix 换行符

* fix 三方接口BUG
2017-11-20 23:59:46 -06:00
007gzs
d32cf99b6d #376 增加摇一摇周边的部分相关接口 2017-11-14 03:02:13 -06:00
Binary Wang
9eda612db3 发布临时测试版本2.8.8.BETA 2017-11-14 11:33:16 +08:00
Binary Wang
13e1c4b628 fix error code 2017-11-14 11:29:07 +08:00
Binary Wang
2226149925 使用lombok的@Data注解简化cp模块的所有bean类 2017-11-14 11:23:18 +08:00
Binary Wang
e00e7bb0ca 格式化开放平台模块代码 2017-11-14 11:07:31 +08:00
Binary Wang
993999735b 使用lombok的@Data注解简化common模块的所有bean类 2017-11-14 11:05:18 +08:00
Binary Wang
e007a13df6 使用lombok的@Data注解简化miniapp模块的所有bean类 2017-11-14 10:43:52 +08:00
Binary Wang
e9ef9eb152 发布临时测试版本2.8.7.BETA 2017-11-10 12:03:21 +08:00
Binary Wang
802f9e8a28 #370 WxMpServiceOkHttpImpl改用httpProxy 2017-11-09 17:02:48 +08:00
Binary Wang
a2cf1f66e5 #370 WxMpServiceOkHttpImpl改用httpProxy 2017-11-09 16:47:20 +08:00
007gzs
d52a55ff8d # 368 增加 微信第三方平台 模块
* 增加 微信第三方平台 接口

* WxOpenXmlMessage 消息处理
2017-11-08 21:46:07 -06:00
Binary Wang
5ec5ae8bbe 统一使用WxErrorException 2017-11-09 11:40:16 +08:00
Binary Wang
e5bd65f2db #333 修复消息验重问题(mp和cp同时存在的问题) 2017-11-07 15:55:42 +08:00
Binary Wang
bea0646f19 Merge branch 'master' into develop 2017-11-07 15:29:49 +08:00
Binary Wang
67abc9216f 修复checkstyle检查出来的部分代码问题 2017-11-07 15:29:10 +08:00
Binary Wang
97d6f90ac4 修改checkstyle配置,以符合IDEA默认的import顺序规则 2017-11-07 13:56:21 +08:00
Binary Wang
2146372502 重构WxConsts类,对所有常量进行分类整理,便于阅读使用 2017-11-07 11:41:55 +08:00
Binary Wang
f65e2fbdb8 规范类命名 2017-11-07 11:03:39 +08:00
Binary Wang
160ace5fab 发布临时测试版本2.8.6.BETA 2017-11-07 10:30:26 +08:00
Binary Wang
092b839234 修复日志 2017-11-06 19:14:44 +08:00
Binary Wang
c85190259a WxMpTemplateMessage类去掉@NoArgsConstructor注解 2017-11-06 19:03:57 +08:00
Binary Wang
5a7ebdf292
Update .travis.yml 2017-11-06 18:41:35 +08:00
Binary Wang
96d385664f 签名方法里忽略几个自定义key,以免对签名造成干扰 2017-11-06 16:21:43 +08:00
Binary Wang
73017552eb WxMpTemplateMessage添加默认构造方法 2017-11-06 16:20:54 +08:00
Binary Wang
29149424ac #362 修复okhttp实现的qrcode二维码图片下载代码 2017-11-03 12:04:33 +08:00
周波
8a587174a1 #361 WxMpKefuMessage类的内部类实现序列化接口 2017-11-02 01:50:00 -05:00
Binary Wang
7fa14e54cc
Update readme.md 2017-11-02 14:28:28 +08:00
Binary Wang
5231f8c969 优化代码 2017-10-30 10:52:54 +08:00
Binary Wang
05a680c98b 发布临时测试版本2.8.5.BETA 2017-10-27 18:14:13 +08:00
Binary Wang
c7cfc9aa45 完善修复xmlBean2Map方法 2017-10-27 18:08:35 +08:00
Binary Wang
305c2aaa7d Merge branch 'master' into develop 2017-10-26 18:58:54 +08:00
Binary Wang
b39380f8e8 为兼容之前版本代码,引入两个方法 2017-10-26 18:58:29 +08:00
Binary Wang
8a31c188ca 修复单元测试 2017-10-26 18:57:39 +08:00
Binary Wang
e98c5e41df Update readme.md 2017-10-26 16:38:04 +08:00
Binary Wang
5db9725685 使用lombok的@Data注解简化mp模块的所有bean类 2017-10-25 14:45:51 +08:00
Binary Wang
4c79eec2a5 使用lombok的@Data注解简化mp模块的所有bean类 2017-10-25 14:21:17 +08:00
Binary Wang
590b8c4ea1 修复单元测试 2017-10-25 12:12:17 +08:00
Binary Wang
58348eeb01 WxCpDepart的order类型更改为Long 2017-10-25 12:08:01 +08:00
Binary Wang
d282bc0a9c WxCpDepart的order类型更改为Long 2017-10-25 12:03:37 +08:00
Binary Wang
460dc111bf 修复WxPayMpOrderResult 2017-10-25 12:02:53 +08:00
Binary Wang
91838b9c1a 发布临时测试版本2.8.4.BETA 2017-10-23 10:46:09 +08:00
Binary Wang
8d6cfce13c 优化部分代码 2017-10-20 15:19:19 +08:00
Binary Wang
afb5e6151f #352 修复XStreamTransformer由于classloader原因导致的ClassCastException问题 2017-10-18 12:33:52 +08:00
Binary Wang
0f007d970b #356 修复QrCodeRequestExecutor类MimeType比较的bug 2017-10-18 12:27:11 +08:00
Binary Wang
64f0e7cf6b #355 修复为支持拉取订单评价数据接口而引入的签名bug 2017-10-17 17:40:33 +08:00
Binary Wang
447c73e43a 规范化小程序模块的部分代码 2017-10-16 14:32:36 +08:00
Binary Wang
c65cd34bc9 WxMpSelfMenuInfo的几个内部静态类增加Serializable接口实现 2017-10-13 14:42:16 +08:00
Binary Wang
4f1c66efce 优化统一下单时参数校验逻辑 2017-10-13 11:52:44 +08:00
Binary Wang
24e80a90a9 发布临时测试版本2.8.3.BETA 2017-10-13 10:49:38 +08:00
Binary Wang
2ab389e84f 微信支付修复2.8.2.BETA版本引入的签名问题 2017-10-13 10:47:45 +08:00
Binary Wang
65ef21b280 涉及到服务商模式的两个参数,在为空值时置为null,以免在请求时将空值传给微信服务器 2017-09-30 12:02:42 +08:00
Eric.Tsai
1990b10e13 #348 修正获取jsticket时,错误的使用了accessTokenLock锁的问题。 2017-09-30 11:05:51 +08:00
Binary Wang
adc4408b86 消灭javadoc中的非https接口地址 2017-09-27 11:36:45 +08:00
Binary Wang
972b07a20f #195 抽取门店管理相关接口请求URL为常量 2017-09-27 11:27:54 +08:00
Binary Wang
ffcbb2a9eb 小程序二维码接口代码优化 2017-09-27 11:14:59 +08:00
Binary Wang
17a446e372 增加几个支付相关的常量 2017-09-25 19:25:04 +08:00
Binary Wang
1e7cb4d6b9 发布临时测试版本2.8.2.BETA 2017-09-25 18:00:06 +08:00
Binary Wang
57eab45c81 优化微信支付代码,避免过度检查 2017-09-25 15:38:40 +08:00
Binary Wang
6cabfc3e12 #343 小程序模块两个bean添加序列化支持 2017-09-22 11:18:38 +08:00
Binary Wang
70f7bd7e7a 优化代码,尽量使用已定义的常量 2017-09-22 11:11:22 +08:00
Jink2005
b7443f41ae #345 修复服务商模式下使用仅有sub_openid时无法预下单的问题. 2017-09-22 11:04:05 +08:00
Binary Wang
7bb3a1270d 改写部分使用StringUtils.equalsAny方法的代码,避免客户端jar包冲突引起不必要的麻烦 2017-09-22 10:58:06 +08:00
Binary Wang
3e75064c51 add ResultCode constant class for wxpay 2017-09-21 17:53:48 +08:00
Binary Wang
a088202507 pay模块接口增加createOrder用以替换getPayInfo方法 2017-09-21 15:15:35 +08:00
Binary Wang
d594656acc pay模块进行lombok改造,精简代码 2017-09-21 15:10:12 +08:00
Binary Wang
aa2ca20117 统一规范化部分javadoc 2017-09-21 15:09:17 +08:00
Binary Wang
f86b594386 统一规范化部分javadoc 2017-09-21 15:07:31 +08:00
Binary Wang
13ca47c91b 统一规范化部分javadoc 2017-09-21 15:07:04 +08:00
Binary Wang
9d27c15136 pom添加lombok依赖 2017-09-21 14:10:09 +08:00
Binary Wang
7b20300e8e 发布临时测试版本2.8.1.BETA 2017-09-19 10:41:21 +08:00
Binary Wang
d2fbb51b68 修正一个错误的类属性命名 2017-09-19 10:19:30 +08:00
Binary Wang
cacfaf6a0d 修复单元测试 2017-09-19 10:18:04 +08:00
Binary Wang
2f0e787a70 清理代码 2017-09-19 10:17:32 +08:00
Binary Wang
6fde2d10fa pay模块显式指定commons-lang3,以便用户项目可能会优先使用所依赖设置的版本 2017-09-18 19:05:45 +08:00
Binary Wang
0b6f4c5915 清理代码,避免过度依赖容易引起冲突的类库代码 2017-09-18 18:30:29 +08:00
Binary Wang
d6d3812d95 精简代码 2017-09-18 11:03:42 +08:00
nickwongwong
0e580a05ff Fix issue #335: 重构WxMpInRedisConfigStorage,改用连接池 2017-09-13 19:29:55 +08:00
Binary Wang
3875635a8a #136 修复WxMenuRule反序列化的问题tag_id为空的问题 2017-09-11 11:05:29 +08:00
Binary Wang
7c3f6cc907 Merge branch 'master' into develop 2017-09-04 10:28:02 +08:00
Binary Wang
361c696374 Update readme.md 2017-09-03 00:41:52 +08:00
Binary Wang
f08f9a0585 Update readme.md 2017-09-03 00:01:58 +08:00
Binary Wang
91b54c81a0 修改版本号为正式版本2.8.0 2017-09-03 00:00:58 +08:00
Binary Wang
8e9c987d98 #320 增加“拉取订单评价数据“接口方法 2017-09-03 00:00:58 +08:00
Binary Wang
b9262c93c4 #319 增加“退款结果通知“处理方法,并优化调整微信支付相关代码 2017-09-03 00:00:58 +08:00
Binary Wang
8881cefb12 #322 为me.chanjar.weixin.mp.bean下的bean类实现Serializable接口,并增加serialVersionUID 2017-09-03 00:00:58 +08:00
Binary Wang
532c1af159 #324: 修复分布式刷新access_token冲突问题 2017-09-03 00:00:58 +08:00
Nick Wong
b79370ac60 #324: 修复分布式刷新access_token冲突问题 2017-09-03 00:00:58 +08:00
Binary Wang
077e44534c 微信支付增加获取微信的请求和响应数据的方法getWxApiData(),方便使用者获取使用该数据 2017-09-03 00:00:58 +08:00
Binary Wang
bdf7f796e7 微信支付优化部分代码,方便扩展 2017-09-03 00:00:58 +08:00
Binary Wang
7daeff2aa7 微信支付接口抽取部分常量 2017-09-03 00:00:58 +08:00
Binary Wang
630a4d5fa9 发布临时测试版本2.7.9.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
ad58730478 #307 微信支付模块中增加http proxy设置的支持 2017-09-03 00:00:58 +08:00
Binary Wang
66c786d4e6 #307 微信支付模块中增加http proxy设置的支持 2017-09-03 00:00:58 +08:00
Binary Wang
09ed365213 #312 添加 删除群发 的接口 2017-09-03 00:00:58 +08:00
Binary Wang
c81bbae288 #318 WxMpService和 WxCpService两个接口提供对各个具体service的setter方法,以便于扩展使用 2017-09-03 00:00:58 +08:00
forfuns
9ee671e6e6 #317 修复小程序请求二维码时对错误类型检查(text/plain 改为 app/json)
* 更新messageSend自动向wxCpConfigStorage里获取agentId

* 修复小程序请求二维码时对错误类型检查(text/plain 改为 app/json)

* 修复小程序请求二维码时对错误类型检查(text/plain 改为 app/json)
2017-09-03 00:00:58 +08:00
forfuns
657c87be53 #315 修改messageSend方法,自动从wxCpConfigStorage获取agentId 2017-09-03 00:00:58 +08:00
Binary Wang
2a7c97786f 转移群发消息相关接口到单独接口及其实现类中 2017-09-03 00:00:58 +08:00
Binary Wang
e6a3f60bb2 修复错误的javadoc 2017-09-03 00:00:58 +08:00
Binary Wang
cf8fb4c106 添加buttons的getter和setter方法 2017-09-03 00:00:58 +08:00
Binary Wang
5316d97d4f 修正不规范的类命名 2017-09-03 00:00:58 +08:00
Binary Wang
50fc24a0b3 发布临时测试版本2.7.8.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
8337230dd2 #305 修复微信变态的拍照或发图事件的消息格式的处理 2017-09-03 00:00:58 +08:00
Binary Wang
c482443f8b #300 修复微信多媒体文件没有后缀名时下载失败的问题 2017-09-03 00:00:58 +08:00
kakotor
baf53dc0f8 DefaultApacheHttpClientBuilder修改为单例模式 (#310) 2017-09-03 00:00:58 +08:00
Bob
56557bf074 #302 WxMpXmlOutNewsMessage类中的内部类增加实现序列化接口 2017-09-03 00:00:58 +08:00
Bob
761859c930 #298 WxMpMenu的内部类WxMpConditionalMenu增加实现序列化接口 2017-09-03 00:00:58 +08:00
Bob
a2d5786b59 #297 WxMpMenu类增加实现序列化接口 2017-09-03 00:00:58 +08:00
dylanleung
7a374c0ed4 #295 修复临时文件关闭
* update travis settings

* feat(okhttp): 修改okhttp底层调用方法

直接用OkHttpClient代替connect.使客户端单一化.Okhttp 自动管理连接池优化

* feat(log,jsApi): 添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

#293

* fix(File): 修复文件关闭

修复文件关闭

* Update OkHttpMediaDownloadRequestExecutor.java
2017-09-03 00:00:58 +08:00
Binary Wang
111196baaf 发布临时测试版本2.7.7.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
e886ba09f6 非法参数的异常统一使用WxPayException 2017-09-03 00:00:58 +08:00
dylanleung
d6e1ad4e05 #293 重构OkHttp的实现代码,同时修复JSApi的bug
* update travis settings

* feat(okhttp): 修改okhttp底层调用方法

直接用OkHttpClient代替connect.使客户端单一化.Okhttp 自动管理连接池优化

* feat(log,jsApi): 添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

#293
2017-09-03 00:00:58 +08:00
Binary Wang
bceabfb77e 完善优化调试企业付款接口 2017-09-03 00:00:58 +08:00
forfuns
ab5f573ca0 #292 增加小程序码支持
* 更新小程序二维码(小程序码)接口
修复小程序模板推送读取错误字段导致的NullPoint

* 更新小程序二维码(小程序码)接口
修复小程序模板推送读取错误字段导致的NullPoint

* 更正WxMaMsgService接口逻辑

* 使用IDEA对miniapp做了批量格式化
2017-09-03 00:00:58 +08:00
Hyseen
6638ca7427 #289 增加临时二维码的场景值支持字符串的接口
* 更新接口:临时二维码的场景值支持字符串

* 新增临时二维码的场景值为字符串的单元测试
2017-09-03 00:00:58 +08:00
lwxian
1a9b4a3f20 #287 修复对帐单下载bug,返回的对象没有对帐单对象
同时修复返回对账单的所有属性的值最后多余的空格;
2017-09-03 00:00:58 +08:00
Binary Wang
446b7f837b #284 提取共同代码快,修复签名问题 2017-09-03 00:00:58 +08:00
Binary Wang
bbfe3f005a 修复上传文件时的乱码问题 2017-09-03 00:00:58 +08:00
Binary Wang
b24c13d272 发布临时测试版本2.7.6.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
74e3cc569b #178 实现查询代金券批次和信息的接口 2017-09-03 00:00:58 +08:00
mgcnrx11
f3752e56d8 增加会员卡管理服务的更新会员信息接口的实现 (#283)
* 修复UserInfo反序列化的bug,补充其单元测试

* 增加`更新会员信息`接口的实现

* 增加会员卡相关接口的测试类  包含下述方法: 1. 会员卡激活接口 2. 会员信息获取接口 3. 更新会员信息接口
2017-09-03 00:00:58 +08:00
Binary Wang
e36d16f2a2 #281 消息路由器增加对EventKey正则表达式匹配的支持 2017-09-03 00:00:58 +08:00
Binary Wang
33d5f87229 #178 实现发送代金券接口 2017-09-03 00:00:58 +08:00
mgcnrx11
2726325fad 新增会员卡相关接口 (#280)
* 新增会员卡相关接口
1. 激活会员卡接口
2. 拉取会员信息接口
2017-09-03 00:00:58 +08:00
Binary Wang
039430c984 #279 统一下单接口参数对象WxPayUnifiedOrderRequest增加fingerprint属性 2017-09-03 00:00:58 +08:00
Binary Wang
39e3383248 发布临时测试版本2.7.5.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
027c962d00 #272 统一下单接口增加H5支付必须的参数scene_info 2017-09-03 00:00:58 +08:00
Binary Wang
94724670da #68 实现获取公众号的自动回复规则的接口 2017-09-03 00:00:58 +08:00
Binary Wang
62c1d61bcf 微信支付模块调整,跟其他模块保持统一,默认使用apache httpclient 2017-09-03 00:00:58 +08:00
Binary Wang
a2880d8821 发布临时测试版本2.7.4.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
96dead8f84 优化简化微信支付请求代码 2017-09-03 00:00:58 +08:00
Binary Wang
55cd862b55 微信支付接口请求增加超时时间的设置参数 2017-09-03 00:00:58 +08:00
Binary Wang
69f024dc6b #270 NewArticle和MpnewsArticle实现序列化接口 2017-09-03 00:00:58 +08:00
Binary Wang
8599562c36 add maven-checkstyle-plugin 2017-09-03 00:00:58 +08:00
Binary Wang
5612dd58eb 让httpclient支持slf4j日志输出 2017-09-03 00:00:58 +08:00
Binary Wang
afeabff363 #269 修复okhttp实现素材上传时的问题 2017-09-03 00:00:58 +08:00
Binary Wang
4c7ce17bcb 修改单元测试日志输出配置 2017-09-03 00:00:58 +08:00
Binary Wang
763e48f92f fix javadoc 2017-09-03 00:00:58 +08:00
Binary Wang
83623d4eb8 完善异常输出 2017-09-03 00:00:58 +08:00
Binary Wang
99b44279b6 #268 修复WxCpUserServiceImpl删除用户的接口问题 2017-09-03 00:00:58 +08:00
Binary Wang
35c1be235b 修复一些打包时发现的不规范的javadoc 2017-09-03 00:00:58 +08:00
Binary Wang
b7542bb3b8 发布临时测试版本2.7.3.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
00b553d51e 优化javadoc 2017-09-03 00:00:58 +08:00
Binary Wang
acf179d0f0 fix time 2017-09-03 00:00:58 +08:00
Binary Wang
92afa77dce 优化javadoc 2017-09-03 00:00:58 +08:00
Jink2005
e906edd37e 修复微信支付回调sign校验错误的bug (#266) 2017-09-03 00:00:58 +08:00
Binary Wang
256284af6e #252 原有图文素材管理接口增加留言管理所需两个参数:need_open_comment 和 only_fans_can_comment 2017-09-03 00:00:58 +08:00
Binary Wang
75916277a1 #195 抽取素材管理请求URL到常量类中 2017-09-03 00:00:58 +08:00
Binary Wang
69d869c776 #256 企业微信发送消息增加文本卡片消息的支持 2017-09-03 00:00:58 +08:00
Binary Wang
33ced3daa2 #265 几个NewsBuilder支持直接设置Article或Item对象列表 2017-09-03 00:00:58 +08:00
Binary Wang
0a49967894 发布临时测试版本2.7.2.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
b64ba9a978 优化微信支付请求代码 2017-09-03 00:00:58 +08:00
Binary Wang
23293e8781 微信支付证书路径判断代码优化 2017-09-03 00:00:58 +08:00
Binary Wang
3a2c0f3864 fix test case 2017-09-03 00:00:58 +08:00
Binary Wang
14b78046e6 修复错误的javadoc 2017-09-03 00:00:58 +08:00
Binary Wang
f6a31b0460 #260 修复小程序发送模版消息接口的问题,并重新整理javadoc 2017-09-03 00:00:58 +08:00
Binary Wang
cc7a83e350 #260 修复小程序发送模版消息接口的问题,并重新整理javadoc 2017-09-03 00:00:58 +08:00
Binary Wang
4e6c309834 发布临时测试版本2.7.1.BETA 2017-09-03 00:00:58 +08:00
Binary Wang
50bfc72a36 #255 服务商模式下统一下单接口增加sub_openid字段 2017-09-03 00:00:58 +08:00
Binary Wang
bb954edf50 #257 微信支付申请退款接口增加refund_desc属性 2017-09-03 00:00:58 +08:00
Binary Wang
cba4ad56e2 WxPayUnifiedOrderRequest 增加默认构造方法 2017-09-03 00:00:58 +08:00
Binary Wang
16c7a890c8 jodd-http对于微信支付来说是必须依赖项 2017-09-03 00:00:58 +08:00
Binary Wang
a9301efbea 修改版本号为正式版本2.8.0 2017-09-02 23:57:20 +08:00
Binary Wang
a5c61268ef #320 增加“拉取订单评价数据“接口方法 2017-09-02 23:48:33 +08:00
Binary Wang
434703327b #319 增加“退款结果通知“处理方法,并优化调整微信支付相关代码 2017-09-01 19:18:08 +08:00
Binary Wang
c12c176715 #322 为me.chanjar.weixin.mp.bean下的bean类实现Serializable接口,并增加serialVersionUID 2017-08-26 21:01:28 +08:00
Binary Wang
a6b29af33a #324: 修复分布式刷新access_token冲突问题 2017-08-26 20:16:30 +08:00
Nick Wong
a15d8d77fb #324: 修复分布式刷新access_token冲突问题 2017-08-26 20:11:30 +08:00
Binary Wang
24fdf00977 微信支付增加获取微信的请求和响应数据的方法getWxApiData(),方便使用者获取使用该数据 2017-08-25 15:08:30 +08:00
Binary Wang
7d5d27527e 微信支付优化部分代码,方便扩展 2017-08-24 16:29:33 +08:00
Binary Wang
e7f507baa3 微信支付接口抽取部分常量 2017-08-24 11:23:21 +08:00
Binary Wang
f5221c064c 发布临时测试版本2.7.9.BETA 2017-08-23 21:54:28 +08:00
Binary Wang
ccebf2d065 #307 微信支付模块中增加http proxy设置的支持 2017-08-23 21:35:23 +08:00
Binary Wang
6705193649 Update readme.md 2017-08-23 10:32:02 +08:00
Binary Wang
e75ef7f3ce #307 微信支付模块中增加http proxy设置的支持 2017-08-23 00:02:16 +08:00
Binary Wang
3bc9dbd795 #312 添加 删除群发 的接口 2017-08-22 23:43:21 +08:00
Binary Wang
bc80845385 #318 WxMpService和 WxCpService两个接口提供对各个具体service的setter方法,以便于扩展使用 2017-08-22 23:29:57 +08:00
forfuns
bf1ce7ff16 #317 修复小程序请求二维码时对错误类型检查(text/plain 改为 app/json)
* 更新messageSend自动向wxCpConfigStorage里获取agentId

* 修复小程序请求二维码时对错误类型检查(text/plain 改为 app/json)

* 修复小程序请求二维码时对错误类型检查(text/plain 改为 app/json)
2017-08-18 11:11:12 +08:00
forfuns
f0d3a1af73 #315 修改messageSend方法,自动从wxCpConfigStorage获取agentId 2017-08-17 15:33:45 +08:00
Binary Wang
2b019f15cb update 2017-08-17 12:27:09 +08:00
Binary Wang
92947b344a 转移群发消息相关接口到单独接口及其实现类中 2017-08-16 19:26:21 +08:00
Binary Wang
af4bb1d85b 修复错误的javadoc 2017-08-16 10:20:21 +08:00
Binary Wang
9140425015 添加buttons的getter和setter方法 2017-08-16 10:20:06 +08:00
Binary Wang
a8cdb44e6d 修正不规范的类命名 2017-08-14 15:31:50 +08:00
Binary Wang
1d1c4c74f0 发布临时测试版本2.7.8.BETA 2017-08-14 15:14:13 +08:00
Binary Wang
67dad47be7 #305 修复微信变态的拍照或发图事件的消息格式的处理 2017-08-14 15:02:49 +08:00
Binary Wang
69ebad5e70 #300 修复微信多媒体文件没有后缀名时下载失败的问题 2017-08-11 11:59:38 +08:00
kakotor
6ce585f246 DefaultApacheHttpClientBuilder修改为单例模式 (#310) 2017-08-10 12:25:10 +08:00
Bob
9e32f00e6b #302 WxMpXmlOutNewsMessage类中的内部类增加实现序列化接口 2017-08-08 10:39:02 +08:00
Bob
289405f845 #298 WxMpMenu的内部类WxMpConditionalMenu增加实现序列化接口 2017-08-01 13:00:46 +08:00
Bob
afcd62c065 #297 WxMpMenu类增加实现序列化接口 2017-08-01 12:03:38 +08:00
dylanleung
5a2b3b61a4 #295 修复临时文件关闭
* update travis settings

* feat(okhttp): 修改okhttp底层调用方法

直接用OkHttpClient代替connect.使客户端单一化.Okhttp 自动管理连接池优化

* feat(log,jsApi): 添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

#293

* fix(File): 修复文件关闭

修复文件关闭

* Update OkHttpMediaDownloadRequestExecutor.java
2017-07-31 18:18:15 +08:00
Binary Wang
2d9d392889 发布临时测试版本2.7.7.BETA 2017-07-31 17:44:48 +08:00
Binary Wang
70d90c8b9b 非法参数的异常统一使用WxPayException 2017-07-31 17:42:34 +08:00
dylanleung
0a06c4d1a1 #293 重构OkHttp的实现代码,同时修复JSApi的bug
* update travis settings

* feat(okhttp): 修改okhttp底层调用方法

直接用OkHttpClient代替connect.使客户端单一化.Okhttp 自动管理连接池优化

* feat(log,jsApi): 添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

添加log debug 标记明确下调用底层效果,修复jsAPI Lock 为null 问题

#293
2017-07-31 11:39:20 +08:00
Binary Wang
945516515c 完善优化调试企业付款接口 2017-07-27 17:25:09 +08:00
forfuns
087f0371b8 #292 增加小程序码支持
* 更新小程序二维码(小程序码)接口
修复小程序模板推送读取错误字段导致的NullPoint

* 更新小程序二维码(小程序码)接口
修复小程序模板推送读取错误字段导致的NullPoint

* 更正WxMaMsgService接口逻辑

* 使用IDEA对miniapp做了批量格式化
2017-07-27 17:24:48 +08:00
Hyseen
30b5a9aa8f #289 增加临时二维码的场景值支持字符串的接口
* 更新接口:临时二维码的场景值支持字符串

* 新增临时二维码的场景值为字符串的单元测试
2017-07-26 14:34:57 +08:00
lwxian
b9c9b844c8 #287 修复对帐单下载bug,返回的对象没有对帐单对象
同时修复返回对账单的所有属性的值最后多余的空格;
2017-07-21 10:24:45 +08:00
Binary Wang
1886c6b751 #284 提取共同代码快,修复签名问题 2017-07-20 21:21:54 +08:00
Binary Wang
2b7dd7a7bf 修复上传文件时的乱码问题 2017-07-20 21:12:07 +08:00
Binary Wang
66c7ae374d 发布临时测试版本2.7.6.BETA 2017-07-15 19:23:32 +08:00
Binary Wang
9f669dff82 #178 实现查询代金券批次和信息的接口 2017-07-15 19:17:06 +08:00
mgcnrx11
9368177d00 增加会员卡管理服务的更新会员信息接口的实现 (#283)
* 修复UserInfo反序列化的bug,补充其单元测试

* 增加`更新会员信息`接口的实现

* 增加会员卡相关接口的测试类  包含下述方法: 1. 会员卡激活接口 2. 会员信息获取接口 3. 更新会员信息接口
2017-07-15 18:53:23 +08:00
Binary Wang
22287a482d #281 消息路由器增加对EventKey正则表达式匹配的支持 2017-07-15 18:05:00 +08:00
Binary Wang
c8c51a9cee #178 实现发送代金券接口 2017-07-15 17:13:09 +08:00
mgcnrx11
3a2efdd343 新增会员卡相关接口 (#280)
* 新增会员卡相关接口
1. 激活会员卡接口
2. 拉取会员信息接口
2017-07-15 16:22:36 +08:00
Binary Wang
687093f755 #279 统一下单接口参数对象WxPayUnifiedOrderRequest增加fingerprint属性 2017-07-15 13:55:05 +08:00
Binary Wang
55c71a995e update travis settings 2017-07-14 10:32:16 +08:00
Binary Wang
8db9ca299b update travis settings 2017-07-14 10:21:50 +08:00
Binary Wang
fae2940993 发布临时测试版本2.7.5.BETA 2017-07-11 17:59:27 +08:00
Binary Wang
f76f9f5a8e #272 统一下单接口增加H5支付必须的参数scene_info 2017-07-11 17:48:13 +08:00
Binary Wang
57f3755a84 #68 实现获取公众号的自动回复规则的接口 2017-07-08 19:22:26 +08:00
Binary Wang
166e54c3f5 微信支付模块调整,跟其他模块保持统一,默认使用apache httpclient 2017-07-08 17:37:33 +08:00
Binary Wang
1cd6618f82 发布临时测试版本2.7.4.BETA 2017-07-08 16:16:15 +08:00
Binary Wang
c3cb050a8a 优化简化微信支付请求代码 2017-07-08 16:14:03 +08:00
Binary Wang
d3c691af09 微信支付接口请求增加超时时间的设置参数 2017-07-08 16:01:46 +08:00
Binary Wang
c5c204b25d #270 NewArticle和MpnewsArticle实现序列化接口 2017-07-08 15:55:48 +08:00
Binary Wang
c5dcb70cda Merge branch 'master' into develop 2017-07-06 16:34:37 +08:00
Binary Wang
812190a190 Update .travis.yml 2017-07-06 16:33:46 +08:00
Binary Wang
24b954e68e Update .codeclimate.yml 2017-07-06 16:32:30 +08:00
Binary Wang
b3f50e26c2 add maven-checkstyle-plugin 2017-07-06 16:29:46 +08:00
Binary Wang
fd4b8e1541 让httpclient支持slf4j日志输出 2017-07-06 16:02:07 +08:00
Binary Wang
dde7c643fa #269 修复okhttp实现素材上传时的问题 2017-07-06 15:59:13 +08:00
Binary Wang
e9f55665ec 修改单元测试日志输出配置 2017-07-06 15:47:06 +08:00
Binary Wang
368dbc9721 fix javadoc 2017-07-06 15:44:58 +08:00
Binary Wang
15d7773f8a 完善异常输出 2017-07-06 15:21:42 +08:00
Binary Wang
8dc2b4d0af #268 修复WxCpUserServiceImpl删除用户的接口问题 2017-07-05 12:03:44 +08:00
Binary Wang
55cfcb9abd 修复一些打包时发现的不规范的javadoc 2017-07-03 17:57:44 +08:00
Binary Wang
1352d7247f 发布临时测试版本2.7.3.BETA 2017-07-03 17:38:37 +08:00
Binary Wang
8217168503 优化javadoc 2017-07-03 17:36:10 +08:00
Binary Wang
d7b32d24f9 fix time 2017-07-03 15:49:18 +08:00
Binary Wang
04e115ce03 优化javadoc 2017-07-03 15:48:17 +08:00
Jink2005
b12a7a8590 修复微信支付回调sign校验错误的bug (#266) 2017-07-03 10:37:47 +08:00
Binary Wang
eaad6367de #252 原有图文素材管理接口增加留言管理所需两个参数:need_open_comment 和 only_fans_can_comment 2017-07-02 18:23:21 +08:00
Binary Wang
554fd08fb8 #195 抽取素材管理请求URL到常量类中 2017-07-02 17:17:35 +08:00
Binary Wang
22344ebe2c #256 企业微信发送消息增加文本卡片消息的支持 2017-07-02 17:01:51 +08:00
Binary Wang
131402f8f6 #265 几个NewsBuilder支持直接设置Article或Item对象列表 2017-07-02 15:30:08 +08:00
Binary Wang
ca52260f32 发布临时测试版本2.7.2.BETA 2017-07-02 15:03:20 +08:00
Binary Wang
61d933196c 优化微信支付请求代码 2017-06-30 17:14:55 +08:00
Binary Wang
c494fbe71d 微信支付证书路径判断代码优化 2017-06-30 16:55:55 +08:00
Binary Wang
9a928f2601 fix test case 2017-06-30 16:54:13 +08:00
Binary Wang
57f5cf3eec 修复错误的javadoc 2017-06-30 10:47:42 +08:00
Binary Wang
d6bb355cd1 #260 修复小程序发送模版消息接口的问题,并重新整理javadoc 2017-06-29 20:07:50 +08:00
Binary Wang
ed7f97ebe4 #260 修复小程序发送模版消息接口的问题,并重新整理javadoc 2017-06-29 20:07:35 +08:00
Binary Wang
518d1d60f5 发布临时测试版本2.7.1.BETA 2017-06-27 18:28:18 +08:00
Binary Wang
12eaa5b71a #255 服务商模式下统一下单接口增加sub_openid字段 2017-06-27 18:27:37 +08:00
Binary Wang
0de1c7245b #257 微信支付申请退款接口增加refund_desc属性 2017-06-27 18:22:35 +08:00
Binary Wang
9771977d7a WxPayUnifiedOrderRequest 增加默认构造方法 2017-06-27 18:10:36 +08:00
Binary Wang
7311463564 jodd-http对于微信支付来说是必须依赖项 2017-06-27 11:04:21 +08:00
Binary Wang
754384f5f6 Update readme.md 2017-06-26 12:11:51 +08:00
Binary Wang
f72e60f49a Update readme.md 2017-06-26 11:02:15 +08:00
Binary Wang
b401be5ad3 update versions 2017-06-26 10:56:58 +08:00
Binary Wang
491095f1d5 Merge branch 'develop' 2017-06-26 10:02:14 +08:00
Binary Wang
07e8ffabda Merge branch 'master' into develop 2017-06-26 09:59:20 +08:00
Binary Wang
3af4c5ca76 更改版本号为2.7.0正式版本 2017-06-26 09:59:01 +08:00
Binary Wang
9f4a7a7796 优化重构企业号相关代码,修复了升级企业微信后出现的菜单问题和用户管理的问题 2017-06-25 18:35:21 +08:00
Binary Wang
0f0f7bb0a3 统一日志格式 2017-06-25 17:51:35 +08:00
Binary Wang
17d65ee3a0 修复单元测试 2017-06-25 17:50:53 +08:00
Binary Wang
e6c80100c3 清理简化代码 2017-06-25 17:35:52 +08:00
Binary Wang
6b1b7f1a81 重构企业号代码 2017-06-24 22:46:23 +08:00
Binary Wang
a90628c3b8 调整企业号config相关类的包位置 2017-06-24 22:46:22 +08:00
Binary Wang
899d03786c 调整企业号message相关类的包位置 2017-06-24 22:46:06 +08:00
Binary Wang
49cf402a4e 调整企业号message相关类的包位置 2017-06-24 22:45:04 +08:00
Binary Wang
239b8c505c 修改logback配置 2017-06-24 22:07:12 +08:00
Binary Wang
aded340ac5 #253 修改企业号发送消息的messageSend方法,增加返回值,方便客户端进行自行处理 2017-06-22 15:23:19 +08:00
Binary Wang
e2659b394e Update readme.md 2017-06-20 10:45:42 +08:00
Binary Wang
babfc90258 update 2017-06-20 10:42:44 +08:00
Binary Wang
c7ffff0a9c #251 微信支付证书文件路径配置支持classpath开头的地址 2017-06-18 14:48:32 +08:00
Binary Wang
ec4bf2687c 修复微信支付请求某些接口在某些情况下会出现乱码的情况 #225 2017-06-18 12:52:31 +08:00
Binary Wang
87687b3369 实现获取仿真测试系统的验签密钥的API #206 2017-06-18 12:19:51 +08:00
Binary Wang
166f842ecf update 2017-06-17 12:31:24 +08:00
Binary Wang
9eb4ccf4a4 小程序增加素材类型常量 2017-06-17 00:12:04 +08:00
Binary Wang
b81f74fb34 update 2017-06-16 00:15:20 +08:00
Binary Wang
fd5b077e56 发布临时测试版本2.6.5.BETA 2017-06-16 00:08:01 +08:00
Binary Wang
1bd9b15c98 #193 增加小程序模块weixin-java-miniapp,支持小程序后台开发 2017-06-16 00:02:45 +08:00
Binary Wang
39e79a2c00 minor change 2017-06-16 00:00:07 +08:00
Binary Wang
0546e001f6 fix logback-test.xml 2017-06-15 23:58:06 +08:00
Binary Wang
4c0337353c 支付结果通知类优化 2017-06-15 19:32:30 +08:00
Binary Wang
a8fbf3c4c7 update 2017-06-14 16:29:56 +08:00
Binary Wang
02793bda6c update 2017-06-14 16:29:20 +08:00
Binary Wang
e241de6a30 update 2017-06-14 16:26:20 +08:00
Binary Wang
f6623b6a69 update 2017-06-14 16:24:37 +08:00
Binary Wang
3467010474 Add files via upload 2017-06-14 16:21:18 +08:00
Binary Wang
5986fbbd25 单元测试增加缺少的logback依赖 2017-06-13 19:11:47 +08:00
Binary Wang
b2f8ee1447 #248 httpclient请求时忽略掉对服务器端证书的校验,以避免某些情况下微信请求会出现40029或443 failed to respond的问题 2017-06-13 19:00:49 +08:00
Binary Wang
ee5115697a Create contribution.md 2017-06-11 17:05:45 +08:00
Binary Wang
007e736f74 fix some code 2017-06-10 23:06:40 +08:00
Binary Wang
9c0e9e44fb 检查签名时,如果有异常打印出日志 2017-06-10 22:18:47 +08:00
Binary Wang
787a4ccaad #244 修复下载多媒体文件报错的问题 2017-06-10 17:37:57 +08:00
Binary Wang
975cfdaf77 生成sha1签名时,加入参数判断 2017-06-10 17:22:38 +08:00
Binary Wang
0fe431fc78 生成sha1签名时,加入参数判断 2017-06-10 17:19:10 +08:00
Binary Wang
26272bb7e5 refactor some packages and class files name 2017-06-10 17:02:14 +08:00
Binary Wang
c1967bc1f8 Merge branch 'master' into develop 2017-06-10 16:19:32 +08:00
Binary Wang
23a8afee76 Create readme.md 2017-06-10 16:11:28 +08:00
Binary Wang
e3c5dd66d4 Create readme.md 2017-06-10 16:09:07 +08:00
Binary Wang
707d9b0ec7 发布临时测试版本2.6.3.BETA 2017-06-10 16:08:30 +08:00
Binary Wang
8ed0e786db #246 修复企业号用户信息相关属性,对比实际接口返回内容,移除已失效属性(weixinid、tel),添加缺失的属性(telephone, english_name, hide_mobile) 2017-06-10 15:50:08 +08:00
Binary Wang
228b3791ae #247 统一下单接口支持H5支付,并去掉交易类型trade_type的校验 2017-06-10 13:08:44 +08:00
Hyseen
563302eef6 消息路由器路由时可以传入context (#245) 2017-06-08 00:14:32 +08:00
Binary Wang
cc33de3de9 update some files 2017-06-06 18:59:48 +08:00
Binary Wang
92c8a86199 引入WxPayException,替代原有的异常处理类,并做相应的优化 2017-06-06 18:57:52 +08:00
Bob
ea13197844 新增接口:摇一摇周边获取设备及用户信息 (#243)
#240
2017-06-06 16:36:18 +08:00
Binary Wang
ff2caf76db WxPayUnifiedOrderRequest里的builder类添加新增加的两个子服务商的属性 2017-06-05 17:06:01 +08:00
Binary Wang
5b0b32ad4d Update contribution.md 2017-06-05 10:40:27 +08:00
Binary Wang
39a07f294c Update contribution.md 2017-06-05 10:34:41 +08:00
crskyp
3b7c0a7064 Merge pull request #241 from crskyp/develop
jodd response 编码设置为UTF-8,解决response乱码问题
2017-06-03 23:47:22 +08:00
ecoolper
7f91ba2372 jodd response 编码设置为UTF-8 2017-06-03 23:10:30 +08:00
Binary Wang
592af1cd7b Update readme.md 2017-05-30 11:56:33 +08:00
Binary Wang
69ca699829 加强检查支付配置 2017-05-30 10:35:42 +08:00
Binary Wang
c8e4d0c38e Delete settings.gradle 2017-05-29 15:43:46 +08:00
Binary Wang
f633a77785 Delete build.gradle 2017-05-29 15:43:33 +08:00
Binary Wang
4f93fde535 Update pom.xml 2017-05-29 15:39:15 +08:00
Binary Wang
4cf3f5c363 remove useless gradle files 2017-05-29 15:27:57 +08:00
Binary Wang
355f64c2e5 发布临时测试版本2.6.2.BETA 2017-05-29 15:13:33 +08:00
Binary Wang
931533c13a 抽取数据统计相关接口请求URL到其接口类中,并重构重复代码 #195 2017-05-29 15:07:23 +08:00
Binary Wang
a436e62103 抽取卡券相关接口请求URL到其接口类中 #195 2017-05-29 14:39:25 +08:00
Binary Wang
ac257dd31c 修复调用【上传临时素材文件】接口返回 44001 多媒体文件为空的问题 #209 2017-05-29 14:23:09 +08:00
Binary Wang
c80621cf16 WxMpXmlMessage微信推送用户卡券买单事件增加缺失的消息数据 #214 2017-05-29 14:19:34 +08:00
Binary Wang
e186cd9ea1 调整注释内容 #215 2017-05-29 14:15:57 +08:00
Binary Wang
290bed1343 WxMpXmlMessage微信推送会员卡内容更新事件增加缺失的消息数据 #216 2017-05-29 14:13:06 +08:00
Binary Wang
00825724f3 WxMpXmlMessage微信推送卡券库存报警事件增加缺失的消息数据 #218 2017-05-29 14:09:28 +08:00
Binary Wang
c924e369fa Update readme.md 2017-05-29 14:04:22 +08:00
Binary Wang
0ba2684f47 修复WxMpInRedisConfigStorage在极端情况下的问题 #229 2017-05-29 14:03:06 +08:00
Binary Wang
ae8b2effb9 refactor code 2017-05-29 13:43:22 +08:00
Binary Wang
8d5b41ced0 refactor code 2017-05-29 13:40:35 +08:00
Binary Wang
46d94db6da 修复单元测试代码中对junit的依赖 2017-05-27 11:54:35 +08:00
Binary Wang
a96e6f35b0 调整部分依赖版本,修复编译失败问题 2017-05-27 11:46:23 +08:00
Binary Wang
4f41aa7b37 调整部分依赖版本,修复编译失败问题 2017-05-27 11:43:58 +08:00
Binary Wang
7f08a9ef46 优化pom,尽量减少不必要的依赖 2017-05-27 11:29:20 +08:00
Binary Wang
c0172785a7 增加默认接口实现类,兼容之前版本 2017-05-27 10:21:58 +08:00
Binary Wang
d961047c24 修复企业号菜单创建接口方法的bug 2017-05-27 10:12:27 +08:00
Binary Wang
655b2c3201 格式化代码 2017-05-26 14:30:16 +08:00
Binary Wang
3661018f4e 修复代码 2017-05-24 10:49:50 +08:00
Binary Wang
d108366736 修复代码 2017-05-24 10:46:04 +08:00
DDLeEHi
9d2fb9fe3d 完善微信支付 下载对账单 的接口 #65 2017-05-24 10:40:32 +08:00
ecoolper
16dea387f2 修改两个文件 2017-05-19 23:48:47 +08:00
ecoolper
3757606589 Merge remote-tracking branch 'remotes/wechat/develop' into develop
# Conflicts:
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaUploadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/RequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/SimpleGetRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/SimplePostRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/apache/ApacheMediaDownloadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/apache/ApacheMediaUploadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/apache/ApacheSimpleGetRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/apache/ApacheSimplePostRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/jodd/JoddMediaDownloadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/jodd/JoddMediaUploadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/jodd/JoddSimpleGetRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/jodd/JoddSimplePostRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/okhttp/OkMediaDownloadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/okhttp/OkMediaUploadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/okhttp/OkSimpleGetRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/okhttp/OkSimplePostRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMaterialServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/jodd/WxMpServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialDeleteRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialNewsInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialVideoInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialVoiceAndImageDownloadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MediaImgUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/QrCodeRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/apache/ApacheMaterialDeleteRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/apache/ApacheMaterialNewsInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/apache/ApacheMaterialUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/apache/ApacheMaterialVideoInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/apache/ApacheMaterialVoiceAndImageDownloadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/apache/ApacheMediaImgUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/apache/ApacheQrCodeRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/jodd/JoddMaterialDeleteRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/jodd/JoddMaterialNewsInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/jodd/JoddMaterialUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/jodd/JoddMaterialVideoInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/jodd/JoddMaterialVoiceAndImageDownloadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/jodd/JoddMediaImgUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/jodd/JoddQrCodeRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/okhttp/OkhttpMaterialDeleteRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/okhttp/OkhttpMaterialNewsInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/okhttp/OkhttpMaterialUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/okhttp/OkhttpMaterialVideoInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/okhttp/OkhttpMaterialVoiceAndImageDownloadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/okhttp/OkhttpMediaImgUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/okhttp/OkhttpQrCodeRequestExecutor.java
2017-05-19 10:06:33 +08:00
Binary Wang
1806389a4d 批量格式化代码 2017-05-11 17:07:32 +08:00
Binary Wang
8982cf8471 批量格式化代码 2017-05-11 17:07:08 +08:00
Binary Wang
5f887739a3 事件常量根据分类创建静态内部类进行管理 2017-05-10 14:49:42 +08:00
Binary Wang
25cf3705aa 将公众号相关的事件常量抽取出来,单独放于WxMpEventConstants类中 2017-05-10 12:15:26 +08:00
Binary Wang
951913b493 WxConsts增加微信推送摇一摇事件通知ShakearoundUserShake事件常量 #220 2017-05-10 12:07:21 +08:00
Binary Wang
ba87eebf65 WxConsts增加微信推送券点流水详情card_pay_order事件常量 #219 2017-05-10 12:05:00 +08:00
Binary Wang
f216167541 WxConsts增加微信推送会员卡内容更新事件update_member_card常量 #217 2017-05-10 12:02:48 +08:00
Binary Wang
c21bad9e1d 增加设置方法,方便设置是否使用微信支付仿真测试环境 #224 2017-05-10 11:55:39 +08:00
Binary Wang
a6d29d9c30 添加DNS解析器支持 (#171) fix 2017-05-10 11:28:35 +08:00
Binary Wang
b2c4160e37 添加DNS解析器支持 (#171) fix 2017-05-10 11:28:04 +08:00
Andy Huo
ae4cbf98b8 添加DNS解析器支持 (#171)
支持api.weixin.qq.com域名绑定指定的IP
防止域名对应的IP跳跃,导致防火墙策略失效!
2017-05-10 11:23:03 +08:00
Binary Wang
5234459733 WxMpXmlMessage中增加微信推送用户核销卡券事件时所需的几个属性 #213 2017-05-09 15:27:51 +08:00
Binary Wang
49d07fc518 Update contribution.md 2017-05-09 13:51:22 +08:00
crskyp
54639826dd RequestExecutor实例修改为通过create方法构建,解决了必须同时引入apache-http、jodd-http、okhttp jar的问题 (#223) 2017-05-09 10:29:57 +08:00
ecoolper
fcf3dbc12d Merge remote-tracking branch 'wechat/develop' into develop
# Conflicts:
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/AbstractRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaDownloadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/MediaUploadRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/SimpleGetRequestExecutor.java
#	weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/SimplePostRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/jodd/WxMpServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/okhttp/WxMpServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialDeleteRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialNewsInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MaterialVideoInfoRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/MediaImgUploadRequestExecutor.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/http/QrCodeRequestExecutor.java
2017-05-08 21:36:07 +08:00
ecoolper
adcff4ec7a pom添developer 2017-05-08 18:35:54 +08:00
Binary Wang
a47a0bb580 移动两个cp专用的bean到cp里 2017-05-08 14:08:02 +08:00
ecoolper
26d68cd3e8 RequestExecutor实例修改为通过create方法构建,解决了必须同时引入apache-http、jodd-http、okhttp jar的问题 2017-05-06 19:05:01 +08:00
Binary Wang
b2a65d5648 微信推送用户卡券转赠事件:WxConsts增加缺失的user_gifting_card事件常量 #212 2017-05-04 23:09:49 +08:00
Binary Wang
ee834e2b7d 增加微信推送卡券转赠事件中所需两个属性 #211 2017-05-04 23:05:17 +08:00
Binary Wang
ce77578ff6 增加微信推送用户领取卡券事件中所需两个属性 #210 并重构提取出部分内部类,避免WxMpXmlMessage类过于庞大 2017-05-04 23:00:35 +08:00
Binary Wang
4958d6d010 fix for previous commits 2017-05-04 22:48:55 +08:00
crskyp
734c112e18 删除两个类;修改一个类的父类 (#208)
1、删除AbstractWxMpService、AbstractWxCPService类
2、修改apache.WxCpServiceImpl类的父类为AbstractWxCpServiceImpl
2017-05-04 14:07:41 +08:00
ecoolper
aa4c076d36 1、删除AbstractWxMpService、AbstractWxCPService类
2、修改apache.WxCpServiceImpl类的父类为AbstractWxCpServiceImpl
2017-05-04 13:57:48 +08:00
crskyp
fbd02a85c9 okhttp用法有错误;添加了枚举HttpType (#207) 2017-05-04 11:13:02 +08:00
ecoolper
59fc9134c8 okhttp使用方式有错误,body().toString()修改为body().string() 2017-05-04 11:02:24 +08:00
ecoolper
6b7c86da95 添加枚举HttpType 2017-05-03 21:11:56 +08:00
ecoolper
2384b4b863 添加枚举HttpType 2017-05-03 20:55:49 +08:00
Binary Wang
424337a7a7 简化方法名称 2017-05-03 17:45:37 +08:00
Binary Wang
1eb2cc7edd fix javadoc 2017-05-03 17:44:23 +08:00
Binary Wang
49dc14af73 发布临时测试版本2.6.1.BETA 2017-05-03 17:05:59 +08:00
Binary Wang
01b5d91416 升级qrcode-utils版本,取消对logback的依赖 #204 2017-05-03 17:05:42 +08:00
DDLeEHi
dfed700eb0 签名问题修复 (#205) 2017-05-03 17:05:15 +08:00
ecoolper
a8dfccc210 Merge branch 'develop' of https://github.com/Wechat-Group/weixin-java-tools into develop
# Conflicts:
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/apache/WxCpServiceImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/jodd/WxCpServiceImpl.java
#	weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/okhttp/WxCpServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/apache/WxMpServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/jodd/WxMpServiceImpl.java
#	weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/okhttp/WxMpServiceImpl.java
2017-04-29 14:12:03 +08:00
ecoolper
4f900f8b21 添加httpType枚举 2017-04-29 13:40:53 +08:00
Binary Wang
f45ef9a3db 抽取客服相关接口请求URL到其接口类中 #195 2017-04-28 15:48:38 +08:00
Binary Wang
879c1f5de1 抽取公众号部分微信请求URL到接口类中 #195 2017-04-28 14:57:36 +08:00
Binary Wang
bb83ead12c 抽取公众号部分微信请求URL到常量类中 #195 2017-04-28 14:28:20 +08:00
bobbyguo
091e47897d 新加不带timeout跟password的构造方法,满足8/2需求。
建议生产环境都使用带poolConfig的构造方法,防止redis出现链接异常,可参考 bug
https://github.com/xetorthio/jedis/issues/848
2017-04-28 11:38:49 +08:00
蘑菇0202
a1faf8d2a2 update WxCpJedisConfigStorage, connect a redis with password and pool config (#202)
Change-Id: I3f5de67f148e599a1040239f71c9697e956c6873
Signed-off-by: zhangxintao <zhang.xintao@trans-cosmos.com.cn>
2017-04-28 11:13:49 +08:00
Binary Wang
cf5c21d9f1 fix for test 2017-04-28 10:49:28 +08:00
Binary Wang
67a846b325 出现40014的access_token问题时需要自动刷新token #197 2017-04-28 10:46:26 +08:00
Binary Wang
19b3b991f9 打印微信请求日志时地址中附带access_token #200 2017-04-28 10:35:16 +08:00
crskyp
48d6f10cb2 提取公共代码、实现okhttp请求方式 (#199)
1、提取了公共代码,添加AbstractWxMPService、AbstractWxCPService类
2、实现了okhttp请求方式
2017-04-27 23:16:10 +08:00
ecoolper
57e1f0919b WxCpService的getWxMpConfigStorage方法修改为getWxCpConfigStorage 2017-04-27 20:32:05 +08:00
ecoolper
f42b22f5c1 WxCpService添加getWxMpConfigStorage方法,同时修改相关位置 2017-04-27 20:24:42 +08:00
ecoolper
d01d372b65 修改了冲突和错误 2017-04-27 20:14:52 +08:00
crskyp
44cbf65f81 Merge branch 'develop' into develop 2017-04-27 19:22:57 +08:00
ecoolper
ffa3544579 1、提取了公共代码,添加AbstractWxMPService、AbstractWxCPService类
2、实现了okhttp请求方式
3、RequestExecute接口添加executeApache、executeJodd、executeOkhttp方法
2017-04-27 18:38:14 +08:00
ecoolper
49f9787e98 1、提取了公共代码,添加AbstractWxMPService、AbstractWxCPService类
2、实现了okhttp请求方式
3、RequestExecute接口添加executeApache、executeJodd、executeOkhttp方法
2017-04-27 18:27:01 +08:00
Binary Wang
2029cd0bb7 修复企业号中 WxCpMessage转json时丢失safe属性的问题#196 2017-04-26 23:19:12 +08:00
crskyp
885db18ebc 使用装饰模式,支持apache-http和jodd-http (#194) 2017-04-25 10:14:33 +08:00
ecoolper
dbf0a1505b weixin-java-parent pom.xml添加jodd-http 2017-04-24 23:18:08 +08:00
ecoolper
2019115b67 gradle配置信息 2017-04-22 20:29:21 +08:00
ecoolper
fe61393e3e 少提交一个 2017-04-22 20:28:04 +08:00
ecoolper
b03cb4b783 添加了注释 2017-04-22 20:11:57 +08:00
ecoolper
9ac1aad0e4 装饰模式实现 2017-04-22 15:06:12 +08:00
ecoolper
76330ef3c6 装饰模式实现 2017-04-22 13:34:22 +08:00
ecoolper
5726ca9c04 cp usage jodd-http 2017-04-22 00:29:42 +08:00
ecoolper
0b0b5a90fc common usage jodd-http 2017-04-21 23:36:22 +08:00
ecoolper
d476047c4c mp usage jodd-http 2017-04-21 21:55:02 +08:00
ecoolper
897e139587 jodd 2017-04-20 17:34:45 +08:00
crskyp
a8d443e13b pay模块使用jodd-http方式,已支持证书方式 (#189)
weixin-java-tools pay use jodd-http
2017-04-19 11:25:50 +08:00
ecoolper
0e6113b765 格式化代码 2017-04-19 10:39:06 +08:00
ecoolper
30cdad539c weixin-java-tools pay usage jodd-http 2017-04-18 17:33:11 +08:00
ecoolper
7553130cd5 weixin-java-tools usage jodd-http 2017-04-18 17:29:13 +08:00
Binary Wang
1efec6bc75 格式化代码 2017-04-18 11:17:57 +08:00
DDLeEHi
5c78a11319 增加第三方平台SDK支付 (#186)
* 增加第三方平台SDK支付

增加微信SDK支付,预下单流程、参数(除开APPID为绑定APP之后发放的APPID)与公众号相同,预下单成功之后需要二次签名,格式需要严格按要求处理,用于SDK校验,代码注释中有说明

* SDK第三方平台支付,大概按照这个项目的代码格式调整了一下,格式还有不合适之处,麻烦调整下

之前我用的是treemap,忘记导包所以报错,现在用这个项目里的加密方式,用普通的hashmap也行

* SDK支付

按照要求修改过格式了
2017-04-18 11:04:00 +08:00
Binary Wang
05165179c2 update version to 2.7.0-SNAPSHOT 2017-04-17 22:34:47 +08:00
Binary Wang
31493c6d43 Merge branch 'master' into develop 2017-04-17 22:32:41 +08:00
Binary Wang
2f57e4c41a Update readme.md 2017-04-13 22:19:31 +08:00
2597 changed files with 230151 additions and 31334 deletions

View File

@ -1,7 +0,0 @@
engines:
fixme:
enabled: true
ratings:
paths: []
exclude_paths:
- "README.md"

View File

@ -1,14 +0,0 @@
# EditorConfig: http://editorconfig.org/
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

269
.gitignore vendored
View File

@ -1,52 +1,235 @@
*.class
test-output
### Gradle ###
.gradle
build/
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Ignore Gradle GUI config
gradle-app.setting
# Package Files #
*.jar
*.war
*.ear
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Cache of project
.gradletasknamecache
target
bin
.project
.classpath
.settings
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties
sw-pom.xml
*.iml
test-config.xml
.idea
/.gradle/
/gradle/
*.bat
/gradlew
### Gradle Patch ###
**/build/
# OSX
# Icon must end with two \r
Icon
### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
.idea/sonarlint
._*
.DS_Store
.AppleDouble
.LSOverride
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
/.sonar/
sonar-project.properties
### Intellij+iml ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Intellij+iml Patch ###
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
*.iml
modules.xml
.idea/misc.xml
*.ipr
### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
.flattened-pom.xml
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
.idea/sonarlint

16
.idea/checkstyle-idea.xml generated Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CheckStyle-IDEA" serialisationVersion="2">
<checkstyleVersion>10.22.0</checkstyleVersion>
<scanScope>JavaOnly</scanScope>
<copyLibs>true</copyLibs>
<option name="thirdPartyClasspath" />
<option name="activeLocationIds" />
<option name="locations">
<list>
<ConfigurationLocation id="bundled-sun-checks" type="BUNDLED" scope="All" description="Sun Checks">(bundled)</ConfigurationLocation>
<ConfigurationLocation id="bundled-google-checks" type="BUNDLED" scope="All" description="Google Checks">(bundled)</ConfigurationLocation>
</list>
</option>
</component>
</project>

18
.idea/compiler.xml generated Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="wechat-j-open" />
<module name="wechat-j-pay" />
<module name="wechat-j-work" />
<module name="wechat-j-common" />
<module name="wechat-j-mp" />
<module name="wechat-j-oa" />
</profile>
</annotationProcessing>
</component>
</project>

19
.idea/encodings.xml generated Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/common/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/common/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/mp/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/mp/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/oa/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/oa/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/open/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/open/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pay/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pay/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/work/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/work/src/main/resources" charset="UTF-8" />
</component>
</project>

30
.idea/jarRepositories.xml generated Normal file
View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="ossez-repo-releases" />
<option name="name" value="iSharkFly Private Releases" />
<option name="url" value="https://repo.isharkfly.com/repository/isharkfly-maven-releases/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.isharkfly.com/repository/maven/" />
</remote-repository>
<remote-repository>
<option name="id" value="ossez-repo-snapshots" />
<option name="name" value="iSharkFly Private Snapshots" />
<option name="url" value="https://repo.isharkfly.com/repository/isharkfly-maven-snapshots/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -1,27 +0,0 @@
language: java
sudo: false
install: true
addons:
sonarqube:
token:
secure: "834110c7191f97ecb226970c46dcaff8e681da5a"
jdk:
- oraclejdk8
#script: "mvn clean package -Dmaven.test.skip=true"
script:
- mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar
branches:
only:
- develop
cache:
directories:
- '$HOME/.m2/repository'
- '$HOME/.sonar/cache'
notifications:
email:
- binaryw@qq.com

214
LICENSE
View File

@ -1,201 +1,21 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
MIT License
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Copyright (c) 2023 OSSEZ
1. Definitions.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

150
README.md Normal file
View File

@ -0,0 +1,150 @@
# WeChat-J - 微信开发 Java SDK
<p align="center">
<a href="https://github.com/honeymoose">
<img height=85 src="https://avatars1.githubusercontent.com/u/45009982?s=200&v=4">
</a>
<br>This project builds by JDK 11 and OpenJ9 for JVM.
</p>
* [社区和讨论 (community)](https://www.ossez.com/tag/wechat)
WeChat-J 开发使用的库。
我们旨在提供一个初始化的开发框架,能够让应用在使用 Spring Boot 框架的基础上让你的微信公众号快速接入微信平台。
# 项目说明
我们在网上找了一些微信相关的 SDK要不就是缺少维护要不就是集成了非常多的功能因我们的公众号希望能够尽量的自动化处理所以我们在已有的基础上进行了一些修改和整合。
## 必要的准备
因微信开发 Java SDK 的开发其实并不非常复杂,主要是通过 HTTP 发送请求并且将获得的返回数据进行一些处理返回对象就可以了。
我们需要调用微信的 HTTP 接口,所以我们需要在 Java 中使用一个 Http 客户端,在当前我们的环境中,我们只使用 OkHttp 来进行实现。
在老的项目中,可能不少人会使用 Apache 的 HttpClient 来进行实现,但因为 OkHttp 广泛的被使用在安卓的手机上,所以使用 OkHttp
会更加简便。
* [Retrofit 是什么](https://www.ossez.com/t/retrofit/14302)
* [RxJava 是什么](https://www.ossez.com/t/rxjava/14305)
* [微信测试平台获得测试账号](https://www.ossez.com/t/topic/14281)
### Maven 和依赖
当前我们还没有把正式版发布到仓库中,我们还在使用 0.0.1-SNAPSHOT 版本进行内部测试。
最好的版本就是下载我们的源代码后 Fork 到你本地,然后直接使用 Maven 来进行编译。
#### 微信公众号WeChat Java Official Account
模块名wechat-j-oa
```xml
<dependency>
<groupId>com.ossez.wechat</groupId>
<artifactId>wechat-j-oa</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
```
#### 微信小程序WeChat Java Mini Programs
模块名wechat-j-mp
```xml
<dependency>
<groupId>com.ossez.wechat</groupId>
<artifactId>wechat-j-mp</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
```
#### 微信支付WeChat Java Pay
模块名wechat-j-pay
```xml
<dependency>
<groupId>com.ossez.wechat</groupId>
<artifactId>wechat-j-pay</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
```
#### 企业微信WeChat Java WeCom
模块名wechat-j-work
```xml
<dependency>
<groupId>com.ossez.wechat</groupId>
<artifactId>wechat-j-work</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
```
#### 微信开放平台WeChat Java Open
模块名wechat-j-open
```xml
<dependency>
<groupId>com.ossez.wechat</groupId>
<artifactId>wechat-j-open</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
```
### 其他内容
* 任何有关讨论,请访问 [社区](https://www.ossez.com/tag/wechat)您可以在这里提出功能需求Bug 修复,问题解答。
* 可以考虑使用 http://paste.ubuntu.com 来对你在提交问题的时候出现的为代码进行简化。
### 框架和案例
如果你想登记你的项目,请[访问这里](https://www.ossez.com/t/wechat-j-demo/14303)。
同时,我们也提供了一些开发框架,能够让你直接检出项目就可以直接对微信 SDK 进行接入和测试。
* [公众号 Spring Boot 测试程序](https://github.com/honeymoose/WeChat-Official-Account-Spring)
# 联系方式
请使用下面的联系方式和我们联系。
* [社区和讨论](https://www.ossez.com/tag/chat-gpt)
| 联系方式名称 | 联系方式 |
|------------------|-----------------------------------------------|
| 电子邮件Email | [yhu@ossez.com](mailto:yhu@ossez.com) |
| QQ 或微信WeChat | 103899765 |
| QQ 交流群 | 15186112 |
| 社区论坛 Community | https://www.ossez.com/c/computer-technology/7 |
# 公众平台
我们建议您通过社区论坛来和我们进行沟通,请关注我们公众平台上的账号
## 微信公众号
![](https://cdn.ossez.com/img/cwikius/cwikius-qr-wechat-search-w400.png)
## 头条号
我们也在头条号上创建了我们的公众号,请扫描下面的 QR 关注我们的头条号。
![](https://cdn.ossez.com/img/cwikius/cwikus-qr-toutiao.png)
## 知乎
请关注我们的知乎https://www.zhihu.com/people/huyuchengus
# License
[WeChat-J is licensed under the MIT License](https://src.ossez.com/honeymoose/WeChat-J/src/branch/main/LICENSE)

View File

@ -1,33 +0,0 @@
allprojects {
apply plugin: 'maven'
group = 'com.github.binarywang'
version = '2.6.0'
}
subprojects {
apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories {
mavenLocal()
maven { url "http://central.maven.org/maven2" }
//maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
}
dependencies {
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.10'
compile group: 'org.apache.httpcomponents', name: 'httpmime', version:'4.5'
compile group: 'org.apache.httpcomponents', name: 'httpclient', version:'4.5'
compile group: 'com.google.code.gson', name: 'gson', version:'2.7'
compile group: 'com.google.guava', name: 'guava', version:'19.0'
compile group: 'commons-codec', name: 'commons-codec', version:'1.10'
compile group: 'commons-io', name: 'commons-io', version:'2.5'
compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.4'
compile group: 'redis.clients', name: 'jedis', version:'2.9.0'
testCompile group: 'ch.qos.logback', name: 'logback-classic', version:'1.1.2'
}
}

186
common/pom.xml Normal file
View File

@ -0,0 +1,186 @@
<?xml version="1.0"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ossez.wechat</groupId>
<artifactId>wechat-j-common</artifactId>
<packaging>jar</packaging>
<parent>
<groupId>com.ossez.wechat</groupId>
<artifactId>wechat-j</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<name>WeChat Java Common</name>
<description>The module is common for all other package</description>
<dependencies>
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd-http</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-guava</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
<exclusions>
<exclusion>
<groupId>pull-parser</groupId>
<artifactId>pull-parser</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>com.github.jedis-lock</groupId>
<artifactId>jedis-lock</artifactId>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>native-image</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<annotationProcessors>
com.github.binarywang.wx.graal.GraalProcessor,lombok.launch.AnnotationProcessorHider$AnnotationProcessor,lombok.launch.AnnotationProcessorHider$ClaimingProcessor
</annotationProcessors>
<annotationProcessorPaths>
<path>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-graal</artifactId>
<version>${project.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.common.annotation;
package com.ossez.wechat.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@ -6,14 +6,15 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* <pre>
* 标识某个字段是否是必填的
*
* Created by Binary Wang on 2016/9/25.
* @author binarywang (https://github.com/binarywang)
* </pre>
*
* @author binarywang (https://github.com/binarywang)
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Required {
}
}

View File

@ -0,0 +1,32 @@
package com.ossez.wechat.common.api;
import com.ossez.wechat.common.model.WeChatAccessToken;
import com.ossez.wechat.common.model.WeChatApiDomainIp;
import com.ossez.wechat.common.model.req.NetworkCheck;
import com.ossez.wechat.common.model.req.QueryQuota;
import com.ossez.wechat.common.model.res.NetworkCheckResponse;
import com.ossez.wechat.common.model.res.QueryQuotaResponse;
import io.reactivex.Single;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
public interface WeChatOfficialAccountApi {
@GET("/cgi-bin/token")
Single<WeChatAccessToken> getAccessToken(@Query("grant_type") String grantType, @Query("appid") String appId, @Query("secret") String secret);
@GET("/cgi-bin/get_api_domain_ip")
Single<WeChatApiDomainIp> getDomainIPs();
@POST("/cgi-bin/callback/check")
Single<NetworkCheckResponse> checkNetwork(@Body NetworkCheck request);
@POST("/cgi-bin/clear_quota")
Single<NetworkCheckResponse> clearQuota(@Body NetworkCheck request);
@POST("/cgi-bin/openapi/quota/get")
Single<QueryQuotaResponse> queryQuota(@Body QueryQuota request);
}

View File

@ -0,0 +1,26 @@
package com.ossez.wechat.common.api;
import com.ossez.wechat.common.model.WeChatAccessToken;
import com.ossez.wechat.common.model.WeChatApiDomainIp;
import com.ossez.wechat.common.model.WeChatOAuth2AccessToken;
import com.ossez.wechat.common.model.entity.WeChatOAuth2UserInfo;
import com.ossez.wechat.common.model.req.NetworkCheck;
import com.ossez.wechat.common.model.req.QueryQuota;
import com.ossez.wechat.common.model.res.NetworkCheckResponse;
import com.ossez.wechat.common.model.res.QueryQuotaResponse;
import io.reactivex.Single;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
public interface WeChatOpenApi {
@GET("/sns/oauth2/access_token")
Single<WeChatOAuth2AccessToken> getAccessToken(@Query("grant_type") String grantType, @Query("appid") String appId, @Query("secret") String secret, @Query("code") String code);
@GET("/sns/userinfo")
Single<WeChatOAuth2UserInfo> getWeChatUserInfo(@Query("access_token") String accessToken, @Query("openid") String openId);
}

View File

@ -0,0 +1,14 @@
package com.ossez.wechat.common.api;
import com.ossez.wechat.common.exception.WxErrorException;
/**
* WxErrorException处理器.
*
* @author Daniel Qian
*/
public interface WxErrorExceptionHandler {
void handle(WxErrorException e);
}

View File

@ -1,23 +1,24 @@
package me.chanjar.weixin.common.api;
package com.ossez.wechat.common.api;
/**
* <pre>
* 消息重复检查器
* 消息重复检查器.
* 微信服务器在五秒内收不到响应会断掉连接并且重新发起请求总共重试三次
* </pre>
*
* @author Daniel Qian
*/
public interface WxMessageDuplicateChecker {
/**
* 判断消息是否重复.
* <h2>公众号的排重方式</h2>
* <p>
*
* <p>普通消息关于重试的消息排重推荐使用msgid排重<a href="http://mp.weixin.qq.com/wiki/10/79502792eef98d6e0c6e1739da387346.html">文档参考</a></p>
* <p>事件消息关于重试的消息排重推荐使用FromUserName + CreateTime 排重<a href="http://mp.weixin.qq.com/wiki/2/5baf56ce4947d35003b86a9805634b1e.html">文档参考</a></p>
* <p>
*
* <h2>企业号的排重方式</h2>
* <p>
* 官方文档完全没有写参照公众号的方式排重
* <p>
* <p>官方文档完全没有写参照公众号的方式排重</p>
* <p>或者可以采取更简单的方式如果有MsgId就用MsgId排重如果没有就用FromUserName+CreateTime排重</p>
*
* @param messageId messageId需要根据上面讲的方式构造

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.common.api;
package com.ossez.wechat.common.api;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -6,46 +6,50 @@ import java.util.concurrent.atomic.AtomicBoolean;
/**
* <pre>
* 默认消息重复检查器
* 默认消息重复检查器.
* 将每个消息id保存在内存里每隔5秒清理已经过期的消息id每个消息id的过期时间是15秒
* 替换类WxMessageInMemoryDuplicateCheckerSingleton
* </pre>
*
* @author Daniel Qian
*/
@Deprecated
public class WxMessageInMemoryDuplicateChecker implements WxMessageDuplicateChecker {
/**
* 一个消息ID在内存的过期时间15秒
* 一个消息ID在内存的过期时间15秒.
*/
private final Long timeToLive;
/**
* 每隔多少周期检查消息ID是否过期5秒
* 每隔多少周期检查消息ID是否过期5秒.
*/
private final Long clearPeriod;
/**
* 消息id->消息时间戳的map
* 消息id->消息时间戳的map.
*/
private final ConcurrentHashMap<String, Long> msgId2Timestamp = new ConcurrentHashMap<>();
/**
* 后台清理线程是否已经开启
* 后台清理线程是否已经开启.
*/
private final AtomicBoolean backgroundProcessStarted = new AtomicBoolean(false);
/**
* WxMsgIdInMemoryDuplicateChecker构造函数
* 无参构造方法.
* <pre>
* 一个消息ID在内存的过期时间15秒
* 每隔多少周期检查消息ID是否过期5秒
* </pre>
*/
public WxMessageInMemoryDuplicateChecker() {
this.timeToLive = 15 * 1000l;
this.clearPeriod = 5 * 1000l;
this.timeToLive = 15 * 1000L;
this.clearPeriod = 5 * 1000L;
}
/**
* WxMsgIdInMemoryDuplicateChecker构造函数
* 构造方法.
*
* @param timeToLive 一个消息ID在内存的过期时间毫秒
* @param clearPeriod 每隔多少周期检查消息ID是否过期毫秒
@ -59,22 +63,20 @@ public class WxMessageInMemoryDuplicateChecker implements WxMessageDuplicateChec
if (this.backgroundProcessStarted.getAndSet(true)) {
return;
}
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
while (true) {
Thread.sleep(WxMessageInMemoryDuplicateChecker.this.clearPeriod);
Long now = System.currentTimeMillis();
for (Map.Entry<String, Long> entry : WxMessageInMemoryDuplicateChecker.this.msgId2Timestamp.entrySet()) {
if (now - entry.getValue() > WxMessageInMemoryDuplicateChecker.this.timeToLive) {
WxMessageInMemoryDuplicateChecker.this.msgId2Timestamp.entrySet().remove(entry);
}
Thread t = new Thread(() -> {
try {
while (true) {
Thread.sleep(WxMessageInMemoryDuplicateChecker.this.clearPeriod);
Long now = System.currentTimeMillis();
for (Map.Entry<String, Long> entry :
WxMessageInMemoryDuplicateChecker.this.msgId2Timestamp.entrySet()) {
if (now - entry.getValue() > WxMessageInMemoryDuplicateChecker.this.timeToLive) {
WxMessageInMemoryDuplicateChecker.this.msgId2Timestamp.entrySet().remove(entry);
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
});
t.setDaemon(true);

View File

@ -0,0 +1,91 @@
package com.ossez.wechat.common.api;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* @author jiangby
* @version 1.0
* <p>
* 消息去重记录消息ID首次出现时的时间戳
* 15S后定时任务触发时废除该记录消息ID
* </p>
* created on 2022/5/26 1:32
*/
@Slf4j
public class WxMessageInMemoryDuplicateCheckerSingleton implements WxMessageDuplicateChecker {
/**
* 一个消息ID在内存的过期时间15秒.
*/
private static final Long TIME_TO_LIVE = 15L;
/**
* 每隔多少周期检查消息ID是否过期5秒.
*/
private static final Long CLEAR_PERIOD = 5L;
/**
* 线程池
*/
private static final ScheduledThreadPoolExecutor SCHEDULED_THREAD_POOL_EXECUTOR = new ScheduledThreadPoolExecutor(1,
new ThreadFactoryBuilder().setNameFormat("wxMessage-memory-pool-%d").setDaemon(true).build(), new ThreadPoolExecutor.AbortPolicy());
/**
* 消息id->消息时间戳的map.
*/
private static final ConcurrentHashMap<String, Long> MSG_ID_2_TIMESTAMP = new ConcurrentHashMap<>();
static {
SCHEDULED_THREAD_POOL_EXECUTOR.scheduleAtFixedRate(() -> {
try {
Long now = System.currentTimeMillis();
MSG_ID_2_TIMESTAMP.entrySet().removeIf(entry -> now - entry.getValue() > TIME_TO_LIVE * 1000);
} catch (Exception ex) {
log.error("重复消息去重任务出现异常", ex);
}
}, 1, CLEAR_PERIOD, TimeUnit.SECONDS);
}
/**
* 私有化构造方法避免外部调用
*/
private WxMessageInMemoryDuplicateCheckerSingleton() {
}
/**
* 获取单例
*
* @return 单例对象
*/
public static WxMessageInMemoryDuplicateCheckerSingleton getInstance() {
return WxMessageInnerClass.CHECKER_SINGLETON;
}
/**
* 内部类实现单例
*/
private static class WxMessageInnerClass {
static final WxMessageInMemoryDuplicateCheckerSingleton CHECKER_SINGLETON = new WxMessageInMemoryDuplicateCheckerSingleton();
}
/**
* messageId是否重复
*
* @param messageId messageId
* @return 是否
*/
@Override
public boolean isDuplicate(String messageId) {
if (messageId == null) {
return false;
}
Long timestamp = MSG_ID_2_TIMESTAMP.putIfAbsent(messageId, System.currentTimeMillis());
return timestamp != null;
}
}

View File

@ -0,0 +1,15 @@
package com.ossez.wechat.common.bean;
/**
* 包含toJson()方法的接口.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2020-10-05
*/
public interface ToJson {
/**
* 转换为json字符串
* @return json字符串
*/
String toJson();
}

View File

@ -0,0 +1,40 @@
package com.ossez.wechat.common.bean;
import java.io.Serializable;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
/**
* 卡券Api签名.
*
* @author YuJian
* @version 15/11/8
*/
@Data
public class WxCardApiSignature implements Serializable {
private static final long serialVersionUID = 158176707226975979L;
private String appId;
private String cardId;
private String cardType;
private String locationId;
private String code;
private String openId;
private Long timestamp;
private String nonceStr;
private String signature;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,32 @@
package com.ossez.wechat.common.bean;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* jspai signature.
*
* @author Daniel Qian
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxJsapiSignature implements Serializable {
private static final long serialVersionUID = -1116808193154384804L;
private String appId;
private String nonceStr;
private long timestamp;
private String url;
private String signature;
}

View File

@ -0,0 +1,42 @@
package com.ossez.wechat.common.bean;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 网络检测.
* @author billytomato
*/
@Data
public class WxNetCheckResult implements Serializable {
private static final long serialVersionUID = 6918924418847404172L;
private List<WxNetCheckDnsInfo> dnsInfos = new ArrayList<>();
private List<WxNetCheckPingInfo> pingInfos = new ArrayList<>();
public static WxNetCheckResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxNetCheckResult.class);
}
@Data
public static class WxNetCheckDnsInfo implements Serializable{
private static final long serialVersionUID = 82631178029516008L;
private String ip;
private String realOperator;
}
@Data
public static class WxNetCheckPingInfo implements Serializable{
private static final long serialVersionUID = -1871970825359178319L;
private String ip;
private String fromOperator;
private String packageLoss;
private String time;
}
}

View File

@ -0,0 +1,69 @@
package com.ossez.wechat.common.bean.imgproc;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author Theo Nie
*/
@Data
public class WxImgProcAiCropResult implements Serializable {
private static final long serialVersionUID = -6470673963772979463L;
@SerializedName("img_size")
private ImgSize imgSize;
@SerializedName("results")
private List<Results> results;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
public static WxImgProcAiCropResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxImgProcAiCropResult.class);
}
@Data
public static class ImgSize implements Serializable {
private static final long serialVersionUID = -6470673963772979463L;
@SerializedName("w")
private int w;
@SerializedName("h")
private int h;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
@Data
public static class Results implements Serializable {
private static final long serialVersionUID = -6470673963772979463L;
@SerializedName("crop_left")
private int cropLeft;
@SerializedName("crop_top")
private int cropTop;
@SerializedName("crop_right")
private int cropRight;
@SerializedName("crop_bottom")
private int cropBottom;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
}

View File

@ -0,0 +1,103 @@
package com.ossez.wechat.common.bean.imgproc;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 二维码/条码识别返回结果
*
* @author Theo Nie
*/
@Data
public class WxImgProcQrCodeResult implements Serializable {
private static final long serialVersionUID = -1194154790100866123L;
@SerializedName("img_size")
private ImgSize imgSize;
@SerializedName("code_results")
private List<CodeResults> codeResults;
@Data
public static class ImgSize implements Serializable {
private static final long serialVersionUID = -8847603245514017839L;
@SerializedName("w")
private int w;
@SerializedName("h")
private int h;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
@Data
public static class CodeResults implements Serializable {
private static final long serialVersionUID = -6138135951229076759L;
@SerializedName("type_name")
private String typeName;
@SerializedName("data")
private String data;
@SerializedName("pos")
private Pos pos;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
@Data
public static class Pos implements Serializable {
private static final long serialVersionUID = 7754894061212819602L;
@SerializedName("left_top")
private Coordinate leftTop;
@SerializedName("right_top")
private Coordinate rightTop;
@SerializedName("right_bottom")
private Coordinate rightBottom;
@SerializedName("left_bottom")
private Coordinate leftBottom;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
@Data
public static class Coordinate implements Serializable {
private static final long serialVersionUID = 8930443668927359677L;
@SerializedName("x")
private int x;
@SerializedName("y")
private int y;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
}
}
public static WxImgProcQrCodeResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxImgProcQrCodeResult.class);
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,28 @@
package com.ossez.wechat.common.bean.imgproc;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* 图片高清化返回结果
* @author Theo Nie
*/
@Data
public class WxImgProcSuperResolutionResult implements Serializable {
private static final long serialVersionUID = 8007440280170407021L;
@SerializedName("media_id")
private String mediaId;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
public static WxImgProcSuperResolutionResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxImgProcSuperResolutionResult.class);
}
}

View File

@ -0,0 +1,29 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* 银行卡OCR识别结果
*
* @author Theo Nie
*/
@Data
public class WxOcrBankCardResult implements Serializable {
private static final long serialVersionUID = 554136620394204143L;
@SerializedName("number")
private String number;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
public static WxOcrBankCardResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrBankCardResult.class);
}
}

View File

@ -0,0 +1,108 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* @author Theo Nie
*/
@Data
public class WxOcrBizLicenseResult implements Serializable {
private static final long serialVersionUID = -5007671093920178291L;
/**
* 注册号
*/
@SerializedName("reg_num")
private String regNum;
/**
* 编号
*/
@SerializedName("serial")
private String serial;
/**
* 法定代表人姓名
*/
@SerializedName("legal_representative")
private String legalRepresentative;
/**
* 企业名称
*/
@SerializedName("enterprise_name")
private String enterpriseName;
/**
* 组成形式
*/
@SerializedName("type_of_organization")
private String typeOfOrganization;
/**
* 经营场所/企业住所
*/
@SerializedName("address")
private String address;
/**
* 公司类型
*/
@SerializedName("type_of_enterprise")
private String typeOfEnterprise;
/**
* 经营范围
*/
@SerializedName("business_scope")
private String businessScope;
/**
* 注册资本
*/
@SerializedName("registered_capital")
private String registeredCapital;
/**
* 实收资本
*/
@SerializedName("paid_in_capital")
private String paidInCapital;
/**
* 营业期限
*/
@SerializedName("valid_period")
private String validPeriod;
/**
* 注册日期/成立日期
*/
@SerializedName("registered_date")
private String registeredDate;
/**
* 营业执照位置
*/
@SerializedName("cert_position")
private CertPosition certPosition;
/**
* 图片大小
*/
@SerializedName("img_size")
private WxOcrImgSize imgSize;
public static WxOcrBizLicenseResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrBizLicenseResult.class);
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
@Data
public static class CertPosition implements Serializable {
private static final long serialVersionUID = 290286813344131863L;
@SerializedName("pos")
private WxOcrPos pos;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
}

View File

@ -0,0 +1,45 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author Theo Nie
*/
@Data
public class WxOcrCommResult implements Serializable {
private static final long serialVersionUID = 455833771627756440L;
@SerializedName("img_size")
private WxOcrImgSize imgSize;
@SerializedName("items")
private List<Items> items;
public static WxOcrCommResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrCommResult.class);
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
@Data
public static class Items implements Serializable {
private static final long serialVersionUID = 3066181677009102791L;
@SerializedName("text")
private String text;
@SerializedName("pos")
private WxOcrPos pos;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
}

View File

@ -0,0 +1,80 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* @author Theo Nie
*/
@Data
public class WxOcrDrivingLicenseResult implements Serializable {
private static final long serialVersionUID = -6984670645802585738L;
/**
* 证号
*/
@SerializedName("id_num")
private String idNum;
/**
* 姓名
*/
@SerializedName("name")
private String name;
/**
* 性别
*/
@SerializedName("sex")
private String sex;
/**
* 国籍
*/
@SerializedName("nationality")
private String nationality;
/**
* 住址
*/
@SerializedName("address")
private String address;
/**
* 出生日期
*/
@SerializedName("birth_date")
private String birthDate;
/**
* 初次领证日期
*/
@SerializedName("issue_date")
private String issueDate;
/**
* 准驾车型
*/
@SerializedName("car_class")
private String carClass;
/**
* 有效期限起始日
*/
@SerializedName("valid_from")
private String validFrom;
/**
* 有效期限终止日
*/
@SerializedName("valid_to")
private String validTo;
/**
* 印章文字
*/
@SerializedName("official_seal")
private String officialSeal;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
public static WxOcrDrivingLicenseResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrDrivingLicenseResult.class);
}
}

View File

@ -0,0 +1,133 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* @author Theo Nie
*/
@Data
public class WxOcrDrivingResult implements Serializable {
private static final long serialVersionUID = -7477484374200211303L;
/**
* 车牌号码
*/
@SerializedName("plate_num")
private String plateNum;
/**
* 车辆类型
*/
@SerializedName("vehicle_type")
private String vehicleType;
/**
* 所有人
*/
@SerializedName("owner")
private String owner;
/**
* 住址
*/
@SerializedName("addr")
private String addr;
/**
* 使用性质
*/
@SerializedName("use_character")
private String useCharacter;
/**
* 品牌型号
*/
@SerializedName("model")
private String model;
/**
* 车辆识别代码
*/
@SerializedName("vin")
private String vin;
/**
* 发动机号码
*/
@SerializedName("engine_num")
private String engineNum;
/**
* 注册日期
*/
@SerializedName("register_date")
private String registerDate;
/**
* 发证日期
*/
@SerializedName("issue_date")
private String issueDate;
/**
* 车牌号码
*/
@SerializedName("plate_num_b")
private String plateNumB;
/**
* 号牌
*/
@SerializedName("record")
private String record;
/**
* 核定载人数
*/
@SerializedName("passengers_num")
private String passengersNum;
/**
* 总质量
*/
@SerializedName("total_quality")
private String totalQuality;
/**
* 整备质量
*/
@SerializedName("prepare_quality")
private String prepareQuality;
/**
* 外廓尺寸
*/
@SerializedName("overall_size")
private String overallSize;
/**
* 卡片正面位置检测到卡片正面才会返回
*/
@SerializedName("card_position_front")
private CardPosition cardPositionFront;
/**
* 卡片反面位置检测到卡片反面才会返回
*/
@SerializedName("card_position_back")
private CardPosition cardPositionBack;
/**
* 图片大小
*/
@SerializedName("img_size")
private WxOcrImgSize imgSize;
@Data
public static class CardPosition implements Serializable {
private static final long serialVersionUID = 2884515165228160517L;
@SerializedName("pos")
private WxOcrPos pos;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
public static WxOcrDrivingResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrDrivingResult.class);
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,38 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* OCR身份证识别结果.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2019-06-23
*/
@Data
public class WxOcrIdCardResult implements Serializable {
private static final long serialVersionUID = 8184352486986729980L;
@SerializedName("type")
private String type;
@SerializedName("name")
private String name;
@SerializedName("id")
private String id;
@SerializedName("addr")
private String addr;
@SerializedName("gender")
private String gender;
@SerializedName("nationality")
private String nationality;
@SerializedName("valid_date")
private String validDate;
public static WxOcrIdCardResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxOcrIdCardResult.class);
}
}

View File

@ -0,0 +1,25 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* @author Theo Nie
*/
@Data
public class WxOcrImgSize implements Serializable {
private static final long serialVersionUID = 5234409123551074168L;
@SerializedName("w")
private int w;
@SerializedName("h")
private int h;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,43 @@
package com.ossez.wechat.common.bean.ocr;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* @author Theo Nie
*/
@Data
public class WxOcrPos implements Serializable {
private static final long serialVersionUID = 4204160206873907920L;
@SerializedName("left_top")
private Coordinate leftTop;
@SerializedName("right_top")
private Coordinate rightTop;
@SerializedName("right_bottom")
private Coordinate rightBottom;
@SerializedName("left_bottom")
private Coordinate leftBottom;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
@Data
public static class Coordinate implements Serializable {
private static final long serialVersionUID = 8675059935386304399L;
@SerializedName("x")
private int x;
@SerializedName("y")
private int y;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}
}

View File

@ -0,0 +1,31 @@
package com.ossez.wechat.common.bean.result;
import java.io.Serializable;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
/**
*
* @author Daniel Qian
*/
@Data
public class WxMediaUploadResult implements Serializable {
private static final long serialVersionUID = 330834334738622341L;
private String url;
private String type;
private String mediaId;
private String thumbMediaId;
private long createdAt;
public static WxMediaUploadResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxMediaUploadResult.class);
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,39 @@
package com.ossez.wechat.common.bean.result;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
@Data
public class WxMinishopImageUploadCustomizeResult implements Serializable {
private String errcode;
private String errmsg;
private WxMinishopPicFileCustomizeResult imgInfo;
public static WxMinishopImageUploadCustomizeResult fromJson(String json) {
JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
WxMinishopImageUploadCustomizeResult result = new WxMinishopImageUploadCustomizeResult();
result.setErrcode(jsonObject.get("errcode").getAsNumber().toString());
if (result.getErrcode().equals("0")) {
WxMinishopPicFileCustomizeResult picFileResult = new WxMinishopPicFileCustomizeResult();
JsonObject picObject = jsonObject.get("img_info").getAsJsonObject();
if (picObject.has("media_id")) {
picFileResult.setMediaId(picObject.get("media_id").getAsString());
}
if (picObject.has("temp_img_url")) {
picFileResult.setTempImgUrl(picObject.get("temp_img_url").getAsString());
}
result.setImgInfo(picFileResult);
}
return result;
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,45 @@
package com.ossez.wechat.common.bean.result;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
@Data
public class WxMinishopImageUploadResult implements Serializable {
private static final long serialVersionUID = 330834334738622332L;
private String errcode;
private String errmsg;
private WxMinishopPicFileResult picFile;
public static WxMinishopImageUploadResult fromJson(String json) {
JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
WxMinishopImageUploadResult result = new WxMinishopImageUploadResult();
result.setErrcode(jsonObject.get("errcode").getAsNumber().toString());
if (result.getErrcode().equals("0")) {
WxMinishopPicFileResult picFileResult = new WxMinishopPicFileResult();
JsonObject picObject = jsonObject.get("pic_file").getAsJsonObject();
JsonElement mediaId = picObject.get("media_id");
picFileResult.setMediaId(mediaId==null ? "" : mediaId.getAsString());
JsonElement payMediaId = picObject.get("pay_media_id");
picFileResult.setPayMediaId(payMediaId==null ? "" : payMediaId.getAsString());
JsonElement tempImgUrl = picObject.get("temp_img_url");
picFileResult.setTempImgUrl(tempImgUrl==null ? "" : tempImgUrl.getAsString());
result.setPicFile(picFileResult);
}
return result;
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,11 @@
package com.ossez.wechat.common.bean.result;
import lombok.Data;
import java.io.Serializable;
@Data
public class WxMinishopPicFileCustomizeResult implements Serializable {
private String mediaId;
private String tempImgUrl;
}

View File

@ -0,0 +1,12 @@
package com.ossez.wechat.common.bean.result;
import lombok.Data;
import java.io.Serializable;
@Data
public class WxMinishopPicFileResult implements Serializable {
private String mediaId;
private String payMediaId;
private String tempImgUrl;
}

View File

@ -0,0 +1,19 @@
package com.ossez.wechat.common.bean.subscribemsg;
import lombok.Data;
import java.io.Serializable;
/**
* .
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2021-01-27
*/
@Data
public class CategoryData implements Serializable {
private static final long serialVersionUID = -5935548352317679892L;
private int id;
private String name;
}

View File

@ -0,0 +1,21 @@
package com.ossez.wechat.common.bean.subscribemsg;
import lombok.Data;
import java.io.Serializable;
/**
* .
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2021-01-27
*/
@Data
public class PubTemplateKeyword implements Serializable {
private static final long serialVersionUID = -1100641668859815647L;
private int kid;
private String name;
private String example;
private String rule;
}

View File

@ -0,0 +1,36 @@
package com.ossez.wechat.common.bean.subscribemsg;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author ArBing
*/
@Data
public class PubTemplateTitleListResult implements Serializable {
private static final long serialVersionUID = -7718911668757837527L;
private int count;
private List<TemplateItem> data;
public static PubTemplateTitleListResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, PubTemplateTitleListResult.class);
}
@Data
public static class TemplateItem implements Serializable {
private static final long serialVersionUID = 6888726696879905332L;
private Integer type;
private Integer tid;
private String categoryId;
private String title;
}
}

View File

@ -0,0 +1,22 @@
package com.ossez.wechat.common.bean.subscribemsg;
import lombok.Data;
import java.io.Serializable;
/**
* .
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2021-01-27
*/
@Data
public class TemplateInfo implements Serializable {
private static final long serialVersionUID = 6971785763573992264L;
private String priTmplId;
private String title;
private String content;
private String example;
private int type;
}

View File

@ -0,0 +1,227 @@
package com.ossez.wechat.common.config;
import com.ossez.wechat.common.model.WeChatAccessToken;
import com.ossez.wechat.common.enums.TicketType;
import com.ossez.wechat.common.util.http.apache.ApacheHttpClientBuilder;
import java.io.File;
import java.util.concurrent.locks.Lock;
/**
* 微信客户端配置存储.
*
* @author chanjarster
*/
public interface ConfigStorage {
/**
* Gets access token.
*
* @return the access token
*/
String getAccessToken();
/**
* Gets access token lock.
*
* @return the access token lock
*/
Lock getAccessTokenLock();
/**
* Is access token expired boolean.
*
* @return the boolean
*/
boolean isAccessTokenExpired();
/**
* 强制将access token过期掉.
*/
void expireAccessToken();
/**
* 应该是线程安全的.
*
* @param accessToken 要更新的WxAccessToken对象
*/
void updateAccessToken(WeChatAccessToken accessToken);
/**
* 应该是线程安全的.
*
* @param accessToken 新的accessToken值
* @param expiresInSeconds 过期时间以秒为单位
*/
void updateAccessToken(String accessToken, int expiresInSeconds);
/**
* Gets ticket.
*
* @param type the type
* @return the ticket
*/
String getTicket(TicketType type);
/**
* Gets ticket lock.
*
* @param type the type
* @return the ticket lock
*/
Lock getTicketLock(TicketType type);
/**
* Is ticket expired boolean.
*
* @param type the type
* @return the boolean
*/
boolean isTicketExpired(TicketType type);
/**
* 强制将ticket过期掉.
*
* @param type the type
*/
void expireTicket(TicketType type);
/**
* 更新ticket.
* 应该是线程安全的
*
* @param type ticket类型
* @param ticket 新的ticket值
* @param expiresInSeconds 过期时间以秒为单位
*/
void updateTicket(TicketType type, String ticket, int expiresInSeconds);
String getOpenAppId();
String getOpenSecret();
/**
* Gets app id.
*
* @return the app id
*/
String getAppId();
/**
* Gets secret.
*
* @return the secret
*/
String getSecret();
/**
* Gets token.
*
* @return the token
*/
String getToken();
/**
* Gets aes key.
*
* @return the aes key
*/
String getAesKey();
/**
* Gets template id.
*
* @return the template id
*/
String getTemplateId();
/**
* Gets expires time.
*
* @return the expires time
*/
long getExpiresTime();
/**
* Gets oauth 2 redirect uri.
*
* @return the oauth 2 redirect uri
*/
String getOauth2redirectUri();
/**
* Gets http proxy host.
*
* @return the http proxy host
*/
String getHttpProxyHost();
/**
* Gets http proxy port.
*
* @return the http proxy port
*/
int getHttpProxyPort();
/**
* Gets http proxy username.
*
* @return the http proxy username
*/
String getHttpProxyUsername();
/**
* Gets http proxy password.
*
* @return the http proxy password
*/
String getHttpProxyPassword();
/**
* http 请求重试间隔
* <pre>
* {@link BaseWeChatOfficialAccountServiceImpl#setRetrySleepMillis(int)}
* </pre>
*/
int getRetrySleepMillis();
/**
* http 请求最大重试次数
* <pre>
* {@link BaseWeChatOfficialAccountServiceImpl#setMaxRetryTimes(int)}
* </pre>
*/
int getMaxRetryTimes();
/**
* Gets tmp dir file.
*
* @return the tmp dir file
*/
File getTmpDirFile();
/**
* http client builder.
*
* @return ApacheHttpClientBuilder apache http client builder
*/
ApacheHttpClientBuilder getApacheHttpClientBuilder();
/**
* 是否自动刷新token.
*
* @return the boolean
*/
boolean autoRefreshToken();
/**
* 得到微信接口地址域名部分的自定义设置信息.
*
* @return the host config
*/
WxMpHostConfig getHostConfig();
/**
* 设置微信接口地址域名部分的自定义设置信息.
*
* @param hostConfig host config
*/
void setHostConfig(WxMpHostConfig hostConfig);
}

View File

@ -0,0 +1,194 @@
package com.ossez.wechat.common.config;
import lombok.Data;
import com.ossez.wechat.common.model.WeChatAccessToken;
import com.ossez.wechat.common.enums.TicketType;
import com.ossez.wechat.common.util.http.apache.ApacheHttpClientBuilder;
import java.io.File;
import java.io.Serializable;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* 基于内存的微信配置provider在实际生产环境中应该将这些配置持久化.
*
* @author chanjarster
*/
@Data
public class DefaultConfigStorage implements ConfigStorage, Serializable {
private static final long serialVersionUID = -6646519023303395185L;
protected volatile String openAppId;
protected volatile String openSecret;
protected volatile String appId;
protected volatile String secret;
protected volatile String token;
protected volatile String templateId;
protected volatile String accessToken;
protected volatile String aesKey;
protected volatile long expiresTime;
protected volatile String oauth2redirectUri;
protected volatile String httpProxyHost;
protected volatile int httpProxyPort;
protected volatile String httpProxyUsername;
protected volatile String httpProxyPassword;
protected volatile int retrySleepMillis = 1000;
protected volatile int maxRetryTimes = 5;
protected volatile String jsapiTicket;
protected volatile long jsapiTicketExpiresTime;
protected volatile String sdkTicket;
protected volatile long sdkTicketExpiresTime;
protected volatile String cardApiTicket;
protected volatile long cardApiTicketExpiresTime;
protected volatile Lock accessTokenLock = new ReentrantLock();
protected volatile Lock jsapiTicketLock = new ReentrantLock();
protected volatile Lock sdkTicketLock = new ReentrantLock();
protected volatile Lock cardApiTicketLock = new ReentrantLock();
protected volatile File tmpDirFile;
protected volatile ApacheHttpClientBuilder apacheHttpClientBuilder;
private WxMpHostConfig hostConfig = null;
@Override
public boolean isAccessTokenExpired() {
return System.currentTimeMillis() > this.expiresTime;
}
@Override
public synchronized void updateAccessToken(WeChatAccessToken accessToken) {
updateAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn());
}
@Override
public synchronized void updateAccessToken(String accessToken, int expiresInSeconds) {
this.accessToken = accessToken;
this.expiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L;
}
@Override
public void expireAccessToken() {
this.expiresTime = 0;
}
@Override
public String getTicket(TicketType type) {
switch (type) {
case SDK:
return this.sdkTicket;
case JSAPI:
return this.jsapiTicket;
case WX_CARD:
return this.cardApiTicket;
default:
return null;
}
}
public void setTicket(TicketType type, String ticket) {
switch (type) {
case JSAPI:
this.jsapiTicket = ticket;
break;
case WX_CARD:
this.cardApiTicket = ticket;
break;
case SDK:
this.sdkTicket = ticket;
break;
default:
}
}
@Override
public Lock getTicketLock(TicketType type) {
switch (type) {
case SDK:
return this.sdkTicketLock;
case JSAPI:
return this.jsapiTicketLock;
case WX_CARD:
return this.cardApiTicketLock;
default:
return null;
}
}
@Override
public boolean isTicketExpired(TicketType type) {
switch (type) {
case SDK:
return System.currentTimeMillis() > this.sdkTicketExpiresTime;
case JSAPI:
return System.currentTimeMillis() > this.jsapiTicketExpiresTime;
case WX_CARD:
return System.currentTimeMillis() > this.cardApiTicketExpiresTime;
default:
return false;
}
}
@Override
public synchronized void updateTicket(TicketType type, String ticket, int expiresInSeconds) {
switch (type) {
case JSAPI:
this.jsapiTicket = ticket;
// 预留200秒的时间
this.jsapiTicketExpiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L;
break;
case WX_CARD:
this.cardApiTicket = ticket;
// 预留200秒的时间
this.cardApiTicketExpiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L;
break;
case SDK:
this.sdkTicket = ticket;
// 预留200秒的时间
this.sdkTicketExpiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L;
break;
default:
}
}
@Override
public void expireTicket(TicketType type) {
switch (type) {
case JSAPI:
this.jsapiTicketExpiresTime = 0;
break;
case WX_CARD:
this.cardApiTicketExpiresTime = 0;
break;
case SDK:
this.sdkTicketExpiresTime = 0;
break;
default:
}
}
@Override
public boolean autoRefreshToken() {
return true;
}
@Override
public WxMpHostConfig getHostConfig() {
return this.hostConfig;
}
@Override
public void setHostConfig(WxMpHostConfig hostConfig) {
this.hostConfig = hostConfig;
}
}

View File

@ -0,0 +1,45 @@
package com.ossez.wechat.common.config;
import com.ossez.wechat.common.config.DefaultConfigStorage;
import lombok.Data;
import com.ossez.wechat.common.model.WeChatAccessToken;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author Brayden Wong
* created on 2021/1/16
* 提供accesstoken保存在concurrenthashmap中的实现支持高并发仅限于单机部署
*/
public class MapConfigStorage extends DefaultConfigStorage {
private static final long serialVersionUID = 5311395137835650104L;
private static final ConcurrentHashMap<String, String> CONCURRENT_HASH_MAP = new ConcurrentHashMap<>(1);
private static final String MAP_KEY = "access_token";
@Override
public String getAccessToken() {
return CONCURRENT_HASH_MAP.get(MAP_KEY);
}
@Override
public void setAccessToken(String accessToken) {
CONCURRENT_HASH_MAP.put(MAP_KEY, accessToken);
}
@Override
public void updateAccessToken(WeChatAccessToken accessToken) {
updateAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn());
}
@Override
public void updateAccessToken(String accessToken, int expiresInSeconds) {
CONCURRENT_HASH_MAP.put(MAP_KEY, accessToken);
this.expiresTime = System.currentTimeMillis() + (expiresInSeconds - 200) * 1000L;
}
}

View File

@ -0,0 +1,98 @@
package com.ossez.wechat.common.config;
import com.ossez.wechat.common.config.DefaultConfigStorage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.ossez.wechat.common.enums.TicketType;
import com.ossez.wechat.common.redis.WxRedisOps;
import java.util.concurrent.TimeUnit;
/**
* 基于Redis的微信配置provider.
*
* <pre>
* 使用说明本实现仅供参考并不完整
* 比如为减少项目依赖未加入redis分布式锁的实现如有需要请自行实现
* </pre>
*
* @author nickwong
*/
public class RedisConfigStorage extends DefaultConfigStorage {
private static final long serialVersionUID = -988502871997239733L;
private static final String ACCESS_TOKEN_KEY_TPL = "%s:access_token:%s";
private static final String TICKET_KEY_TPL = "%s:ticket:key:%s:%s";
private static final String LOCK_KEY_TPL = "%s:lock:%s:";
private final WxRedisOps redisOps;
private final String keyPrefix;
private String accessTokenKey;
private String lockKey;
public RedisConfigStorage(WxRedisOps redisOps, String keyPrefix) {
this.redisOps = redisOps;
this.keyPrefix = keyPrefix;
}
/**
* 每个公众号生成独有的存储key.
*/
@Override
public void setAppId(String appId) {
super.setAppId(appId);
this.accessTokenKey = String.format(ACCESS_TOKEN_KEY_TPL, this.keyPrefix, appId);
this.lockKey = String.format(LOCK_KEY_TPL, this.keyPrefix, appId);
accessTokenLock = this.redisOps.getLock(lockKey.concat("accessTokenLock"));
jsapiTicketLock = this.redisOps.getLock(lockKey.concat("jsapiTicketLock"));
sdkTicketLock = this.redisOps.getLock(lockKey.concat("sdkTicketLock"));
cardApiTicketLock = this.redisOps.getLock(lockKey.concat("cardApiTicketLock"));
}
private String getTicketRedisKey(TicketType type) {
return String.format(TICKET_KEY_TPL, this.keyPrefix, appId, type.getCode());
}
@Override
public String getAccessToken() {
return redisOps.getValue(this.accessTokenKey);
}
@Override
public boolean isAccessTokenExpired() {
Long expire = redisOps.getExpire(this.accessTokenKey);
return expire == null || expire < 2;
}
@Override
public synchronized void updateAccessToken(String accessToken, int expiresInSeconds) {
redisOps.setValue(this.accessTokenKey, accessToken, expiresInSeconds - 200, TimeUnit.SECONDS);
}
@Override
public void expireAccessToken() {
redisOps.expire(this.accessTokenKey, 0, TimeUnit.SECONDS);
}
@Override
public String getTicket(TicketType type) {
return redisOps.getValue(this.getTicketRedisKey(type));
}
@Override
public boolean isTicketExpired(TicketType type) {
return redisOps.getExpire(this.getTicketRedisKey(type)) < 2;
}
@Override
public synchronized void updateTicket(TicketType type, String jsapiTicket, int expiresInSeconds) {
redisOps.setValue(this.getTicketRedisKey(type), jsapiTicket, expiresInSeconds - 200, TimeUnit.SECONDS);
}
@Override
public void expireTicket(TicketType type) {
redisOps.expire(this.getTicketRedisKey(type), 0, TimeUnit.SECONDS);
}
}

View File

@ -0,0 +1,68 @@
package com.ossez.wechat.common.config;
import com.ossez.wechat.common.constant.WeChatConstant;
/**
* 微信接口地址域名部分的自定义设置信息.
*/
public class WxMpHostConfig {
/**
* 对应于https://api.weixin.qq.com
*/
private String apiHost;
/**
* 对应于https://open.weixin.qq.com
*/
private String openHost;
/**
* 对应于https://mp.weixin.qq.com
*/
private String mpHost;
public static String buildUrl(WxMpHostConfig hostConfig, String prefix, String path) {
if (hostConfig == null) {
return prefix + path;
}
if (hostConfig.getApiHost() != null && prefix.equals(WeChatConstant.ENDPOINT_WECHAT)) {
return hostConfig.getApiHost() + path;
}
if (hostConfig.getMpHost() != null && prefix.equals(WeChatConstant.ENDPOINT_MP)) {
return hostConfig.getMpHost() + path;
}
if (hostConfig.getOpenHost() != null && prefix.equals(WeChatConstant.ENDPOINT_OPEN)) {
return hostConfig.getOpenHost() + path;
}
return prefix + path;
}
public String getApiHost() {
return apiHost;
}
public void setApiHost(String apiHost) {
this.apiHost = apiHost;
}
public String getOpenHost() {
return openHost;
}
public void setOpenHost(String openHost) {
this.openHost = openHost;
}
public String getMpHost() {
return mpHost;
}
public void setMpHost(String mpHost) {
this.mpHost = mpHost;
}
}

View File

@ -0,0 +1,16 @@
package com.ossez.wechat.common.constant;
import com.google.common.net.MediaType;
/**
* HttpClient send request the type constant.
* Because okHttp need to use MediaType to construct object, but if we use guava MediaType, the two package will get conflict
* at the same class.
* <p>
* So, we get MediaType String first before we convert to okHttp MediaType.
*
* @author YuCheng Hu
*/
public final class HttpClientMediaType {
public static final String APPLICATION_JSON = MediaType.JSON_UTF_8.toString();
}

View File

@ -0,0 +1,154 @@
package com.ossez.wechat.common.constant;
/**
* <pre>
* 微信公众号事件的相关常量
* Created by Binary Wang on 2017-5-10.
* </pre>
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
public class OfficialAccountEventConstants {
/**
* 门店审核事件.
*/
public static final String POI_CHECK_NOTIFY = "poi_check_notify";
/**
* 接收会员信息事件.
*/
public static final String SUBMIT_MEMBERCARD_USER_INFO = "submit_membercard_user_info";
/**
* 微信摇一摇周边>>摇一摇事件通知.
*/
public static final String SHAKEAROUND_USER_SHAKE = "ShakearoundUserShake";
/**
* 卡券相关事件.
*/
public static class Card {
public static final String CARD_PASS_CHECK = "card_pass_check";
public static final String CARD_NOT_PASS_CHECK = "card_not_pass_check";
public static final String USER_GET_CARD = "user_get_card";
public static final String USER_DEL_CARD = "user_del_card";
public static final String USER_CONSUME_CARD = "user_consume_card";
public static final String USER_PAY_FROM_PAY_CELL = "user_pay_from_pay_cell";
public static final String USER_VIEW_CARD = "user_view_card";
public static final String USER_ENTER_SESSION_FROM_CARD = "user_enter_session_from_card";
/**
* 卡券转赠事件.
*/
public static final String USER_GIFTING_CARD = "user_gifting_card";
/**
* 库存报警.
*/
public static final String CARD_SKU_REMIND = "card_sku_remind";
/**
* 会员卡内容更新事件.
*/
public static final String UPDATE_MEMBER_CARD = "update_member_card";
/**
* 券点流水详情事件.
*/
public static final String CARD_PAY_ORDER = "card_pay_order";
/**
* 用户购买礼品卡付款成功事件.
*/
public static final String GIFTCARD_PAY_DONE = "giftcard_pay_done";
/**
* 用户购买后赠送事件.
*/
public static final String GIFTCARD_SEND_TO_FRIEND = "giftcard_send_to_friend";
/**
* 用户领取礼品卡成功事件.
*/
public static final String GIFTCARD_USER_ACCEPT = "giftcard_user_accept";
}
/**
* 客服相关事件.
*/
public static class CustomerService {
/**
* 客服接入会话.
*/
public static final String KF_CREATE_SESSION = "kf_create_session";
/**
* 客服关闭会话.
*/
public static final String KF_CLOSE_SESSION = "kf_close_session";
/**
* 客服转接会话.
*/
public static final String KF_SWITCH_SESSION = "kf_switch_session";
}
/**
* 微信认证事件.
*/
public static class Qualification {
/**
* 资质认证成功.
*/
public static final String QUALIFICATION_VERIFY_SUCCESS = "qualification_verify_success";
/**
* 资质认证失败.
*/
public static final String QUALIFICATION_VERIFY_FAIL = "qualification_verify_fail";
/**
* 名称认证成功.
*/
public static final String NAMING_VERIFY_SUCCESS = "naming_verify_success";
/**
* 名称认证失败.
*/
public static final String NAMING_VERIFY_FAIL = "naming_verify_fail";
/**
* 年审通知.
*/
public static final String ANNUAL_RENEW = "annual_renew";
/**
* 认证过期失效通知.
*/
public static final String VERIFY_EXPIRED = "verify_expired";
}
/**
* 电子发票.
*/
public static class Invoice {
/**
* 用户授权事件.
*/
public static final String USER_AUTHORIZE_INVOICE = "user_authorize_invoice";
/**
* 统一开票接口-异步通知开票结果.
*/
public static final String CLOUD_INVOICE_INVOICERESULT_EVENT = "cloud_invoice_invoiceresult_event";
}
/**
* 对话助手相关事件
*/
public static class Guide {
/**
* 顾问邀请结果通知事件.
*/
public static final String GUIDE_INVITE_RESULT_EVENT = "guide_invite_result_event";
}
}

View File

@ -0,0 +1,5 @@
package com.ossez.wechat.common.constant;
public class WeChatApiParameter {
public static final String ACCESS_TOKEN_GRANT_TYPE_CLIENT_CREDENTIAL = "client_credential";
}

View File

@ -0,0 +1,556 @@
package com.ossez.wechat.common.constant;
import com.ossez.wechat.common.enums.WeChatErrorCode;
import java.util.*;
/**
* The constant of WeChat
*
* @author YuCheng Hu
*/
public class WeChatConstant {
public static final String ENDPOINT_WECHAT = "https://api.weixin.qq.com";
public static final String ENDPOINT_MP = "https://mp.weixin.qq.com";
public static final String ENDPOINT_OPEN = "https://open.weixin.qq.com";
/**
* access_token 相关错误代码
* <pre>
* 发生以下情况时尝试刷新access_token
* 40001 获取access_token时AppSecret错误或者access_token无效
* 42001 access_token超时
* 40014 不合法的access_token请开发者认真比对access_token的有效性如是否过期或查看是否正在为恰当的公众号调用接口
* </pre>
*/
public static final EnumSet<WeChatErrorCode> ACCESS_TOKEN_ERROR_CODES_SET = EnumSet.of(WeChatErrorCode.CODE_40001, WeChatErrorCode.CODE_40014, WeChatErrorCode.CODE_42001);
@Deprecated
public static final List<Integer> ACCESS_TOKEN_ERROR_CODES = Arrays.asList(WeChatErrorCode.CODE_40001.getCode(),
WeChatErrorCode.CODE_40014.getCode(), WeChatErrorCode.CODE_42001.getCode());
/**
* 微信推送过来的消息的类型和发送给微信xml格式消息的消息类型.
*/
public static class XmlMsgType {
public static final String TEXT = "text";
public static final String IMAGE = "image";
public static final String VOICE = "voice";
public static final String SHORTVIDEO = "shortvideo";
public static final String VIDEO = "video";
public static final String NEWS = "news";
public static final String MUSIC = "music";
public static final String LOCATION = "location";
public static final String LINK = "link";
public static final String EVENT = "event";
public static final String DEVICE_TEXT = "device_text";
public static final String DEVICE_EVENT = "device_event";
public static final String DEVICE_STATUS = "device_status";
public static final String HARDWARE = "hardware";
public static final String TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service";
public static final String UPDATE_TASKCARD = "update_taskcard";
public static final String UPDATE_BUTTON = "update_button";
}
/**
* 主动发送消息(即客服消息)的消息类型.
*/
public static class MsgType {
/**
* 消息类型:
* text(文本)
* image(图片)
* voice(语音)
* video(视频)
* music(音乐)
* news(图文消息 - 点击跳转到外链)
* mpnews(图文消息 - 点击跳转到图文消息页面)
* wxcard(卡券)
* miniprogrampage(小程序)
* markdown(目前仅支持markdown语法的子集微工作台原企业号不支持展示markdown消息)
* file(发送文件 - CP专用)
* textcard(文本卡片消息 - CP专用)
* wxcard(卡券消息)
*/
public static final String TEXT = "text";
public static final String IMAGE = "image";
public static final String VOICE = "voice";
public static final String VIDEO = "video";
public static final String MUSIC = "music";
public static final String NEWS = "news";
public static final String MPNEWS = "mpnews";
public static final String MARKDOWN = "markdown";
public static final String FILE = "file";
public static final String TEXTCARD = "textcard";
public static final String WXCARD = "wxcard";
/**
* 转发到客服的消息.
*/
public static final String TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service";
/**
* 小程序卡片(要求小程序与公众号已关联).
*/
public static final String MINIPROGRAMPAGE = "miniprogrampage";
/**
* 任务卡片消息.
*/
public static final String TASKCARD = "taskcard";
/**
* 菜单消息.
*/
public static final String MSGMENU = "msgmenu";
/**
* 小程序通知消息.
*/
public static final String MINIPROGRAM_NOTICE = "miniprogram_notice";
/**
* 模板卡片消息.
*/
public static final String TEMPLATE_CARD = "template_card";
/**
* 发送图文消息点击跳转到图文消息页面使用通过 发布 系列接口得到的 article_id(草稿箱功能上线后不再支持客服接口中带 media_id mpnews 类型的图文消息)
*/
public static final String MP_NEWS_ARTICLE = "mpnewsarticle";
}
/**
* 发送学校通知类型
* https://developer.work.weixin.qq.com/document/path/92321
*/
public static class SchoolContactMsgType {
/**
* 文本消息.
*/
public static final String TEXT = "text";
/**
* 图片消息.
*/
public static final String IMAGE = "image";
/**
* 语音消息.
*/
public static final String VOICE = "voice";
/**
* 视频消息.
*/
public static final String VIDEO = "video";
/**
* 文件消息
*/
public static final String FILE = "file";
/**
* 图文消息
*/
public static final String NEWS = "news";
/**
* 图文消息mpnews
*/
public static final String MPNEWS = "mpnews";
/**
* 小程序消息
*/
public static final String MINIPROGRAM = "miniprogram";
}
/**
* 企业微信模板卡片消息的卡片类型
*/
public static class TemplateCardType {
/**
* 文本通知型卡片
*/
public static final String TEXT_NOTICE = "text_notice";
/**
* 图文展示型卡片
*/
public static final String NEWS_NOTICE = "news_notice";
/**
* 按钮交互型卡片
*/
public static final String BUTTON_INTERACTION = "button_interaction";
/**
* 投票选择型卡片
*/
public static final String VOTE_INTERACTION = "vote_interaction";
/**
* 多项选择型卡片
*/
public static final String MULTIPLE_INTERACTION = "multiple_interaction";
}
/**
* 表示是否是保密消息0表示否1表示是默认0.
*/
public static class KefuMsgSafe {
public static final String NO = "0";
public static final String YES = "1";
}
/**
* 群发消息的消息类型.
*/
public static class MassMsgType {
public static final String MPNEWS = "mpnews";
public static final String TEXT = "text";
public static final String VOICE = "voice";
public static final String IMAGE = "image";
public static final String IMAGES = "images";
public static final String MPVIDEO = "mpvideo";
}
/**
* 群发消息后微信端推送给服务器的反馈消息.
*/
public static class MassMsgStatus {
public static final String SEND_SUCCESS = "send success";
public static final String SEND_FAIL = "send fail";
public static final String ERR_10001 = "err(10001)";
public static final String ERR_20001 = "err(20001)";
public static final String ERR_20004 = "err(20004)";
public static final String ERR_20002 = "err(20002)";
public static final String ERR_20006 = "err(20006)";
public static final String ERR_20008 = "err(20008)";
public static final String ERR_20013 = "err(20013)";
public static final String ERR_22000 = "err(22000)";
public static final String ERR_21000 = "err(21000)";
public static final String ERR_30001 = "err(30001)";
public static final String ERR_30002 = "err(30002)";
public static final String ERR_30003 = "err(30003)";
public static final String ERR_40001 = "err(40001)";
public static final String ERR_40002 = "err(40002)";
/**
* 群发反馈消息代码所对应的文字描述.
*/
public static final Map<String, String> STATUS_DESC = new HashMap<>();
static {
STATUS_DESC.put(SEND_SUCCESS, "发送成功");
STATUS_DESC.put(SEND_FAIL, "发送失败");
STATUS_DESC.put(ERR_10001, "涉嫌广告");
STATUS_DESC.put(ERR_20001, "涉嫌政治");
STATUS_DESC.put(ERR_20004, "涉嫌社会");
STATUS_DESC.put(ERR_20002, "涉嫌色情");
STATUS_DESC.put(ERR_20006, "涉嫌违法犯罪");
STATUS_DESC.put(ERR_20008, "涉嫌欺诈");
STATUS_DESC.put(ERR_20013, "涉嫌版权");
STATUS_DESC.put(ERR_22000, "涉嫌互推_互相宣传");
STATUS_DESC.put(ERR_21000, "涉嫌其他");
STATUS_DESC.put(ERR_30001, "原创校验出现系统错误且用户选择了被判为转载就不群发");
STATUS_DESC.put(ERR_30002, "原创校验被判定为不能群发");
STATUS_DESC.put(ERR_30003, "原创校验被判定为转载文且用户选择了被判为转载就不群发");
STATUS_DESC.put(ERR_40001, "管理员拒绝");
STATUS_DESC.put(ERR_40002, "管理员30分钟内无响应超时");
}
}
/**
* 微信端推送过来的事件类型.
*/
public static class EventType {
public static final String SUBSCRIBE = "subscribe";
public static final String UNSUBSCRIBE = "unsubscribe";
public static final String SCAN = "SCAN";
public static final String LOCATION = "LOCATION";
public static final String CLICK = "CLICK";
public static final String VIEW = "VIEW";
public static final String MASS_SEND_JOB_FINISH = "MASSSENDJOBFINISH";
/**
* 扫码推事件的事件推送
*/
public static final String SCANCODE_PUSH = "scancode_push";
/**
* 扫码推事件且弹出消息接收中提示框的事件推送.
*/
public static final String SCANCODE_WAITMSG = "scancode_waitmsg";
/**
* 弹出系统拍照发图的事件推送.
*/
public static final String PIC_SYSPHOTO = "pic_sysphoto";
/**
* 弹出拍照或者相册发图的事件推送.
*/
public static final String PIC_PHOTO_OR_ALBUM = "pic_photo_or_album";
/**
* 弹出微信相册发图器的事件推送.
*/
public static final String PIC_WEIXIN = "pic_weixin";
/**
* 弹出地理位置选择器的事件推送.
*/
public static final String LOCATION_SELECT = "location_select";
/**
* 授权用户资料变更事件
* 1 当部分用户的资料存在风险时平台会对用户资料进行清理并通过消息推送服务器通知最近30天授权过的公众号开发者我们建议开发者留意响应该事件及时主动更新或清理用户的头像及昵称降低风险
* 2 当用户撤回授权信息时平台会通过消息推送服务器通知给公众号开发者请开发者注意及时删除用户信息
*/
public static final String USER_INFO_MODIFIED = "user_info_modified";
/**
* 用户撤回授权事件
*/
public static final String USER_AUTHORIZATION_REVOKE = "user_authorization_revoke";
/**
* 群发模板回调事件
*/
public static final String TEMPLATE_SEND_JOB_FINISH = "TEMPLATESENDJOBFINISH";
/**
* 微信小店 订单付款通知.
*/
public static final String MERCHANT_ORDER = "merchant_order";
/**
* 卡券事件卡券通过审核
*/
public static final String CARD_PASS_CHECK = "card_pass_check";
/**
* 卡券事件卡券未通过审核
*/
public static final String CARD_NOT_PASS_CHECK = "card_not_pass_check";
/**
* 卡券事件用户领取卡券
*/
public static final String CARD_USER_GET_CARD = "user_get_card";
/**
* 卡券事件用户转赠卡券
*/
public static final String CARD_USER_GIFTING_CARD = "user_gifting_card";
/**
* 异步安全校验事件
*/
public static final String WXA_MEDIA_CHECK = "wxa_media_check";
/**
* 卡券事件用户核销卡券
*/
public static final String CARD_USER_CONSUME_CARD = "user_consume_card";
/**
* 卡券事件用户通过卡券的微信买单完成时推送
*/
public static final String CARD_USER_PAY_FROM_PAY_CELL = "user_pay_from_pay_cell";
/**
* 卡券事件用户提交会员卡开卡信息
*/
public static final String CARD_SUBMIT_MEMBERCARD_USER_INFO = "submit_membercard_user_info";
/**
* 卡券事件用户打开查看卡券
*/
public static final String CARD_USER_VIEW_CARD = "user_view_card";
/**
* 卡券事件用户删除卡券
*/
public static final String CARD_USER_DEL_CARD = "user_del_card";
/**
* 卡券事件用户在卡券里点击查看公众号进入会话时需要用户已经关注公众号
*/
public static final String CARD_USER_ENTER_SESSION_FROM_CARD = "user_enter_session_from_card";
/**
* 卡券事件当用户的会员卡积分余额发生变动时
*/
public static final String CARD_UPDATE_MEMBER_CARD = "update_member_card";
/**
* 卡券事件当某个card_id的初始库存数大于200且当前库存小于等于100时用户尝试领券会触发发送事件给商户事件每隔12h发送一次
*/
public static final String CARD_SKU_REMIND = "card_sku_remind";
/**
* 卡券事件当商户朋友的券券点发生变动时
*/
public static final String CARD_PAY_ORDER = "card_pay_order";
/**
* 小程序审核事件审核通过
*/
public static final String WEAPP_AUDIT_SUCCESS = "weapp_audit_success";
/**
* 小程序审核事件审核不通过
*/
public static final String WEAPP_AUDIT_FAIL = "weapp_audit_fail";
/**
* 小程序自定义交易组件支付通知
*/
public static final String OPEN_PRODUCT_ORDER_PAY = "open_product_order_pay";
/**
* 点击菜单跳转小程序的事件推送
*/
public static final String VIEW_MINIPROGRAM = "view_miniprogram";
/**
* 订阅通知事件用户操作订阅通知弹窗
*/
public static final String SUBSCRIBE_MSG_POPUP_EVENT = "subscribe_msg_popup_event";
/**
* 订阅通知事件用户管理订阅通知
*/
public static final String SUBSCRIBE_MSG_CHANGE_EVENT = "subscribe_msg_change_event";
/**
* 订阅通知事件发送订阅通知回调
*/
public static final String SUBSCRIBE_MSG_SENT_EVENT = "subscribe_msg_sent_event";
}
/**
* 上传多媒体临时素材文件的类型.
*/
public static class MediaFileType {
public static final String IMAGE = "image";
public static final String VOICE = "voice";
public static final String VIDEO = "video";
public static final String THUMB = "thumb";
public static final String FILE = "file";
}
/**
* 自定义菜单的按钮类型.
*/
public static class MenuButtonType {
/**
* 点击推事件.
*/
public static final String CLICK = "click";
/**
* 跳转URL.
*/
public static final String VIEW = "view";
/**
* 跳转到小程序.
*/
public static final String MINIPROGRAM = "miniprogram";
/**
* 扫码推事件.
*/
public static final String SCANCODE_PUSH = "scancode_push";
/**
* 扫码推事件且弹出消息接收中提示框.
*/
public static final String SCANCODE_WAITMSG = "scancode_waitmsg";
/**
* 弹出系统拍照发图.
*/
public static final String PIC_SYSPHOTO = "pic_sysphoto";
/**
* 弹出拍照或者相册发图.
*/
public static final String PIC_PHOTO_OR_ALBUM = "pic_photo_or_album";
/**
* 弹出微信相册发图器.
*/
public static final String PIC_WEIXIN = "pic_weixin";
/**
* 弹出地理位置选择器.
*/
public static final String LOCATION_SELECT = "location_select";
/**
* 下发消息除文本消息.
*/
public static final String MEDIA_ID = "media_id";
/**
* 跳转图文消息URL.
*/
public static final String VIEW_LIMITED = "view_limited";
}
/**
* oauth2网页授权的scope.
*/
public static class OAuth2Scope {
/**
* 不弹出授权页面直接跳转只能获取用户openid.
*/
public static final String SNSAPI_BASE = "snsapi_base";
/**
* 弹出授权页面可通过openid拿到昵称性别所在地并且即使在未关注的情况下只要用户授权也能获取其信息.
*/
public static final String SNSAPI_USERINFO = "snsapi_userinfo";
/**
* 手动授权,可获取成员的详细信息,包含手机邮箱只适用于企业微信或企业号.
*/
public static final String SNSAPI_PRIVATEINFO = "snsapi_privateinfo";
}
/**
* 网页应用登录授权作用域.
*/
public static class QrConnectScope {
public static final String SNSAPI_LOGIN = "snsapi_login";
}
/**
* 永久素材类型.
*/
public static class MaterialType {
public static final String NEWS = "news";
public static final String VOICE = "voice";
public static final String IMAGE = "image";
public static final String VIDEO = "video";
}
/**
* 网络检测入参.
*/
public static class NetCheckArgs {
public static final String ACTIONDNS = "dns";
public static final String ACTIONPING = "ping";
public static final String ACTIONALL = "all";
public static final String OPERATORUNICOM = "UNICOM";
public static final String OPERATORCHINANET = "CHINANET";
public static final String OPERATORCAP = "CAP";
public static final String OPERATORDEFAULT = "DEFAULT";
}
/**
* appId 类型
*/
public static class AppIdType {
/**
* 公众号appId类型
*/
public static final String MP_TYPE = "mp";
/**
* 小程序appId类型
*/
public static final String MINI_TYPE = "mini";
}
}

View File

@ -0,0 +1,20 @@
package com.ossez.wechat.common.enums;
/**
* The language for WeChat API can support
*
* @author YuCheng Hu
*/
public enum Language {
ZH_CN("zh_CN"), EN_US("en_US");
private String code;
Language(String code) {
this.code = code;
}
public String getCode() {
return code;
}
}

View File

@ -0,0 +1,35 @@
package com.ossez.wechat.common.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
* <pre>
* ticket类型枚举
* Created by Binary Wang on 2018/11/18.
* </pre>
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
@Getter
@RequiredArgsConstructor
public enum TicketType {
/**
* jsapi
*/
JSAPI("jsapi"),
/**
* sdk
*/
SDK("2"),
/**
* 微信卡券
*/
WX_CARD("wx_card");
/**
* type代码
*/
private final String code;
}

View File

@ -0,0 +1,207 @@
package com.ossez.wechat.common.enums;
import com.google.common.collect.Maps;
import java.util.Map;
/**
* WeChat Error Code
* <pre>
* 微信公众平台全局返回码.
* 参考文档<a href="https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Global_Return_Code.html">公众平台全局返回码</a>
* </pre>
*
* @author YuCheng Hu
*/
public enum WeChatErrorCode {
CODE_1(-1, "系统繁忙,此时请开发者稍候再试"),
CODE_0(0, "请求成功"),
CODE_40001(40001, "获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口"),
CODE_40002(40002, "不合法的凭证类型"),
CODE_40003(40003, "不合法的 OpenID ,请开发者确认 OpenID (该用户)是否已关注公众号,或是否是其他公众号的 OpenID"),
CODE_40004(40004, "不合法的媒体文件类型"),
CODE_40005(40005, "不合法的文件类型"),
CODE_40006(40006, "不合法的文件大小"),
CODE_40007(40007, "不合法的媒体文件 id"),
CODE_40008(40008, "不合法的消息类型"),
CODE_40009(40009, "不合法的图片文件大小"),
CODE_40010(40010, "不合法的语音文件大小"),
CODE_40011(40011, "不合法的视频文件大小"),
CODE_40012(40012, "不合法的缩略图文件大小"),
CODE_40013(40013, "不合法的 AppID ,请开发者检查 AppID 的正确性,避免异常字符,注意大小写"),
CODE_40014(40014, "不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口"),
CODE_40015(40015, "不合法的菜单类型"),
CODE_40016(40016, "不合法的按钮个数"),
CODE_40017(40017, "不合法的按钮类型"),
CODE_40018(40018, "不合法的按钮名字长度"),
CODE_40019(40019, "不合法的按钮 KEY 长度"),
CODE_40020(40020, "不合法的按钮 URL 长度"),
CODE_40021(40021, "不合法的菜单版本号"),
CODE_40022(40022, "不合法的子菜单级数"),
CODE_40023(40023, "不合法的子菜单按钮个数"),
CODE_40024(40024, "不合法的子菜单按钮类型"),
CODE_40025(40025, "不合法的子菜单按钮名字长度"),
CODE_40026(40026, "不合法的子菜单按钮 KEY 长度"),
CODE_40027(40027, "不合法的子菜单按钮 URL 长度"),
CODE_40028(40028, "不合法的自定义菜单使用用户"),
CODE_40029(40029, "不合法的 oauth_code"),
CODE_40030(40030, "不合法的 refresh_token"),
CODE_40031(40031, "不合法的 openid 列表"),
CODE_40032(40032, "不合法的 openid 列表长度"),
CODE_40033(40033, "不合法的请求字符,不能包含\\uxxxx 格式的字符"),
CODE_40035(40035, "不合法的参数"),
CODE_40038(40038, "不合法的请求格式"),
CODE_40039(40039, "不合法的 URL 长度"),
CODE_40050(40050, "不合法的分组 id"),
CODE_40051(40051, "分组名字不合法"),
CODE_40060(40060, "删除单篇图文时,指定的 article_idx 不合法"),
CODE_40117(40117, "分组名字不合法"),
CODE_40118(40118, "media_id 大小不合法"),
CODE_40119(40119, "button 类型错误"),
CODE_40120(40120, "button 类型错误"),
CODE_40121(40121, "不合法的 media_id 类型"),
CODE_40132(40132, "微信号不合法"),
CODE_40137(40137, "不支持的图片格式"),
CODE_40155(40155, "请勿添加其他公众号的主页链接"),
CODE_40163(40163, "oauth_code已使用"),
CODE_41001(41001, "缺少 access_token 参数"),
CODE_41002(41002, "缺少 appid 参数"),
CODE_41003(41003, "缺少 refresh_token 参数"),
CODE_41004(41004, "缺少 secret 参数"),
CODE_41005(41005, "缺少多媒体文件数据"),
CODE_41006(41006, "缺少 media_id 参数"),
CODE_41007(41007, "缺少子菜单数据"),
CODE_41008(41008, "缺少 oauth code"),
CODE_41009(41009, "缺少 openid"),
CODE_42001(42001, "access_token 超时,请检查 access_token 的有效期,请参考基础支持 - 获取 access_token 中,对 access_token 的详细机制说明"),
CODE_42002(42002, "refresh_token 超时"),
CODE_42003(42003, "oauth_code 超时"),
CODE_42007(42007, "用户修改微信密码, accesstoken 和 refreshtoken 失效,需要重新授权"),
CODE_43001(43001, "需要 GET 请求"),
CODE_43002(43002, "需要 POST 请求"),
CODE_43003(43003, "需要 HTTPS 请求"),
CODE_43004(43004, "需要接收者关注"),
CODE_43005(43005, "需要好友关系"),
CODE_43019(43019, "需要将接收者从黑名单中移除"),
CODE_44001(44001, "多媒体文件为空"),
CODE_44002(44002, "POST 的数据包为空"),
CODE_44003(44003, "图文消息内容为空"),
CODE_44004(44004, "文本消息内容为空"),
CODE_45001(45001, "多媒体文件大小超过限制"),
CODE_45002(45002, "消息内容超过限制"),
CODE_45003(45003, "标题字段超过限制"),
CODE_45004(45004, "描述字段超过限制"),
CODE_45005(45005, "链接字段超过限制"),
CODE_45006(45006, "图片链接字段超过限制"),
CODE_45007(45007, "语音播放时间超过限制"),
CODE_45008(45008, "图文消息超过限制"),
CODE_45009(45009, "接口调用超过限制"),
CODE_45010(45010, "创建菜单个数超过限制"),
CODE_45011(45011, "API 调用太频繁,请稍候再试"),
CODE_45015(45015, "回复时间超过限制"),
CODE_45016(45016, "系统分组,不允许修改"),
CODE_45017(45017, "分组名字过长"),
CODE_45018(45018, "分组数量超过上限"),
CODE_45047(45047, "客服接口下行条数超过上限"),
CODE_45159(45159, "非法的tag_id"),
CODE_45065(45065, "相同 clientmsgid 已存在群发记录,返回数据中带有已存在的群发任务的 msgid"),
CODE_45066(45066, "相同 clientmsgid 重试速度过快请间隔1分钟重试"),
CODE_45067(45067, "clientmsgid 长度超过限制"),
CODE_46001(46001, "不存在媒体数据"),
CODE_46002(46002, "不存在的菜单版本"),
CODE_46003(46003, "不存在的菜单数据"),
CODE_46004(46004, "不存在的用户"),
CODE_47001(47001, "解析 JSON/XML 内容错误"),
CODE_48001(48001, "api 功能未授权,请确认公众号已获得该接口,可以在公众平台官网 - 开发者中心页中查看接口权限"),
CODE_48002(48002, "粉丝拒收消息(粉丝在公众号选项中,关闭了 “ 接收消息 ” "),
CODE_48004(48004, "api 接口被封禁,请登录 mp.weixin.qq.com 查看详情"),
CODE_48005(48005, "api 禁止删除被自动回复和自定义菜单引用的素材"),
CODE_48006(48006, "api 禁止清零调用次数,因为清零次数达到上限"),
CODE_48008(48008, "没有该类型消息的发送权限"),
CODE_50001(50001, "用户未授权该 api"),
CODE_50002(50002, "用户受限,可能是违规后接口被封禁"),
CODE_50005(50005, "用户未关注公众号"),
CODE_61451(61451, "参数错误 (invalid parameter)"),
CODE_61452(61452, "无效客服账号 (invalid kf_account)"),
CODE_61453(61453, "客服帐号已存在 (kf_account exsited)"),
CODE_61454(61454, "客服帐号名长度超过限制 ( 仅允许 10 个英文字符,不包括 @ 及 @ 后的公众号的微信号 )(invalid kf_acount length)"),
CODE_61455(61455, "客服帐号名包含非法字符 ( 仅允许英文 + 数字 )(illegal character in kf_account)"),
CODE_61456(61456, "客服帐号个数超过限制 (10 个客服账号 )(kf_account count exceeded)"),
CODE_61457(61457, "无效头像文件类型 (invalid file type)"),
CODE_61450(61450, "系统错误 (system error)"),
CODE_61500(61500, "日期格式错误"),
CODE_65301(65301, "不存在此 menuid 对应的个性化菜单"),
CODE_65302(65302, "没有相应的用户"),
CODE_65303(65303, "没有默认菜单,不能创建个性化菜单"),
CODE_65304(65304, "MatchRule 信息为空"),
CODE_65305(65305, "个性化菜单数量受限"),
CODE_65306(65306, "不支持个性化菜单的帐号"),
CODE_65307(65307, "个性化菜单信息为空"),
CODE_65308(65308, "包含没有响应类型的 button"),
CODE_65309(65309, "个性化菜单开关处于关闭状态"),
CODE_65310(65310, "填写了省份或城市信息,国家信息不能为空"),
CODE_65311(65311, "填写了城市信息,省份信息不能为空"),
CODE_65312(65312, "不合法的国家信息"),
CODE_65313(65313, "不合法的省份信息"),
CODE_65314(65314, "不合法的城市信息"),
CODE_65316(65316, "该公众号的菜单设置了过多的域名外跳(最多跳转到 3 个域名的链接)"),
CODE_65317(65317, "不合法的 URL"),
CODE_9001001(9001001, "POST 数据参数不合法"),
CODE_9001002(9001002, "远端服务不可用"),
CODE_9001003(9001003, "Ticket 不合法"),
CODE_9001004(9001004, "获取摇周边用户信息失败"),
CODE_9001005(9001005, "获取商户信息失败"),
CODE_9001006(9001006, "获取 OpenID 失败"),
CODE_9001007(9001007, "上传文件缺失"),
CODE_9001008(9001008, "上传素材的文件类型不合法"),
CODE_9001009(9001009, "上传素材的文件尺寸不合法"),
CODE_9001010(9001010, "上传失败"),
CODE_9001020(9001020, "帐号不合法"),
CODE_9001021(9001021, "已有设备激活率低于 50% ,不能新增设备"),
CODE_9001022(9001022, "设备申请数不合法,必须为大于 0 的数字"),
CODE_9001023(9001023, "已存在审核中的设备 ID 申请"),
CODE_9001024(9001024, "一次查询设备 ID 数量不能超过 50"),
CODE_9001025(9001025, "设备 ID 不合法"),
CODE_9001026(9001026, "页面 ID 不合法"),
CODE_9001027(9001027, "页面参数不合法"),
CODE_9001028(9001028, "一次删除页面 ID 数量不能超过 10"),
CODE_9001029(9001029, "页面已应用在设备中,请先解除应用关系再删除"),
CODE_9001030(9001030, "一次查询页面 ID 数量不能超过 50"),
CODE_9001032(9001032, "保存设备与页面的绑定关系参数错误"),
CODE_9001033(9001033, "门店 ID 不合法"),
CODE_9001034(9001034, "设备备注信息过长"),
CODE_9001035(9001035, "设备申请参数不合法"),
CODE_9001036(9001036, "查询起始值 begin 不合法"),
CODE_45083(45083, "设置的 speed 参数不在0到4的范围内"),
CODE_45084(45084, "没有设置 speed 参数");
private final int code;
private final String msg;
WeChatErrorCode(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public String getMsg() {
return msg;
}
static final Map<Integer, String> valueMap = Maps.newHashMap();
static {
for (WeChatErrorCode value : WeChatErrorCode.values()) {
valueMap.put(value.code, value.msg);
}
}
/**
* 通过错误代码查找其中文含义..
*/
public static String findMsgByCode(int code) {
return valueMap.getOrDefault(code, null);
}
}

View File

@ -0,0 +1,12 @@
package com.ossez.wechat.common.enums;
/**
* WeChat's Storage Category
*
* We provide implement for MEM(RAM) and REDIS
*
* @author YuCheng Hu
*/
public enum WeChatStorageCategory {
MEM, REDIS
}

View File

@ -0,0 +1,25 @@
package com.ossez.wechat.common.enums;
/**
* 微信卡券
*
* @author YuCheng
*/
public enum WxCardType {
MEMBER_CARD("MEMBER_CARD"),
GROUPON("GROUPON"),
CASH("CASH"),
DISCOUNT("DISCOUNT"),
GIFT("GIFT"),
GENERAL_COUPON("GENERAL_COUPON");
private String code;
WxCardType(String code) {
this.code = code;
}
public String getCode() {
return code;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
package com.ossez.wechat.common.enums;
/**
* <pre>
* 微信类型枚举.
* Created by BinaryWang on 2018/5/14.
* </pre>
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
*/
public enum WxType {
/**
* 企业微信.
*/
CP,
/**
* 微信公众号.
*/
MP,
/**
* 微信小程序.
*/
MiniApp,
/**
* 微信开放平台.
*/
Open,
/**
* 微信支付.
*/
Pay;
}

View File

@ -0,0 +1,26 @@
package com.ossez.wechat.common.exception;
/**
* @author Daniel Qian
*/
public class DataStructureException extends WxErrorException {
private static final long serialVersionUID = -6357149550353160810L;
private final WxError error;
private static final int DEFAULT_ERROR_CODE = -99;
public DataStructureException(String message) {
this(WxError.builder().errorCode(DEFAULT_ERROR_CODE).errorMsg(message).build());
}
public DataStructureException(WxError error) {
super(error.toString());
this.error = error;
}
public WxError getError() {
return this.error;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,111 @@
package com.ossez.wechat.common.exception;
import com.ossez.wechat.common.enums.WeChatErrorCode;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.ossez.wechat.common.enums.WxType;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
/**
* 微信错误码.
* 请阅读
* 公众平台<a href="https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Global_Return_Code.html">全局返回码说明</a>
* 企业微信<a href="https://work.weixin.qq.com/api/doc#10649">全局错误码</a>
*
* @author Daniel Qian & Binary Wang
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class WxError implements Serializable {
private static final long serialVersionUID = -2696724276555657960L;
/**
* 微信错误代码.
*/
private int errorCode;
/**
* 微信错误信息.
* 如果可以翻译为中文就为中文
*/
private String errorMsg;
/**
* 微信接口返回的错误原始信息英文.
*/
private String errorMsgEn;
private String json;
public WxError(int errorCode, String errorMsg) {
this.errorCode = errorCode;
this.errorMsg = errorMsg;
}
public static WxError fromJson(String json) {
return fromJson(json, null);
}
public static WxError fromJson(String json, WxType type) {
final WxError wxError = WxGsonBuilder.create().fromJson(json, WxError.class);
if (wxError.getErrorCode() == 0 || type == null) {
return wxError;
}
if (StringUtils.isNotEmpty(wxError.getErrorMsg())) {
wxError.setErrorMsgEn(wxError.getErrorMsg());
}
switch (type) {
case MP: {
final String msg = WeChatErrorCode.findMsgByCode(wxError.getErrorCode());
if (msg != null) {
wxError.setErrorMsg(msg);
}
break;
}
case CP: {
final String msg = WxCpErrorMsgEnum.findMsgByCode(wxError.getErrorCode());
if (msg != null) {
wxError.setErrorMsg(msg);
}
break;
}
case MiniApp: {
final String msg = WxMaErrorMsgEnum.findMsgByCode(wxError.getErrorCode());
if (msg != null) {
wxError.setErrorMsg(msg);
}
break;
}
case Open: {
final String msg = WxOpenErrorMsgEnum.findMsgByCode(wxError.getErrorCode());
if (msg != null) {
wxError.setErrorMsg(msg);
}
break;
}
default:
return wxError;
}
return wxError;
}
@Override
public String toString() {
if (this.json == null) {
return "错误代码:" + this.errorCode + ", 错误信息:" + this.errorMsg;
}
return "错误代码:" + this.errorCode + ", 错误信息:" + this.errorMsg + ",微信原始报文:" + this.json;
}
}

View File

@ -0,0 +1,37 @@
package com.ossez.wechat.common.exception;
import static com.ossez.wechat.common.exception.WxError.*;
/**
* @author Daniel Qian
*/
public class WxErrorException extends Exception {
private static final long serialVersionUID = -6357149550353160810L;
private final WxError error;
private static final int DEFAULT_ERROR_CODE = -99;
public WxErrorException(String message) {
this(WxError.builder().errorCode(DEFAULT_ERROR_CODE).errorMsg(message).build());
}
public WxErrorException(WxError error) {
super(error.toString());
this.error = error;
}
public WxErrorException(WxError error, Throwable cause) {
super(error.toString(), cause);
this.error = error;
}
public WxErrorException(Throwable cause) {
super(cause.getMessage(), cause);
this.error = WxError.builder().errorCode(DEFAULT_ERROR_CODE).errorMsg(cause.getMessage()).build();
}
public WxError getError() {
return this.error;
}
}

View File

@ -0,0 +1,684 @@
package com.ossez.wechat.common.exception;
import com.google.common.collect.Maps;
import lombok.Getter;
import java.util.Map;
/**
* 微信小程序错误码
*
* @author <a href="https://github.com/biggates">biggates</a>
*/
@Getter
public enum WxMaErrorMsgEnum {
/**
* <pre>
* 获取 access_token AppSecret 错误
* 或者 access_token 无效请开发者认真比对 AppSecret 的正确性或查看是否正在为恰当的小程序调用接口
* 对应操作<code>sendCustomerMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/sendCustomerMessage.html
* </pre>
*/
CODE_40001(40001, "access_token 无效或 AppSecret 错误"),
/**
* <pre>
* 不合法的凭证类型
* 对应操作<code>sendCustomerMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/sendCustomerMessage.html
* </pre>
*/
CODE_40002(40002, "不合法的凭证类型"),
/**
* <pre>
* touser不是正确的openid.
* 对应操作<code>sendCustomerMessage</code>, <code>sendUniformMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/sendCustomerMessage.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/uniform-message/sendUniformMessage.html
* </pre>
*/
CODE_40003(40003, "openid 不正确"),
/**
* <pre>
* 无效媒体文件类型
* 对应操作<code>uploadTempMedia</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/uploadTempMedia.html
* </pre>
*/
CODE_40004(40004, "无效媒体文件类型"),
/**
* <pre>
* 无效媒体文件 ID.
* 对应操作<code>getTempMedia</code>
* 对应地址
* GET https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/getTempMedia.html
* </pre>
*/
CODE_40007(40007, "无效媒体文件 ID"),
/**
* <pre>
* appid不正确或者不符合绑定关系要求.
* 对应操作<code>sendUniformMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/uniform-message/sendUniformMessage.html
* </pre>
*/
CODE_40013(40013, "appid不正确或者不符合绑定关系要求"),
/**
* <pre>
* template_id 不正确.
* 对应操作<code>sendUniformMessage</code>, <code>sendTemplateMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/uniform-message/sendUniformMessage.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/template-message/sendTemplateMessage.html
* </pre>
*/
CODE_40037(40037, "template_id 不正确"),
/**
* <pre>
* form_id不正确或者过期.
* 对应操作<code>sendUniformMessage</code>, <code>sendTemplateMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/uniform-message/sendUniformMessage.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/template-message/sendTemplateMessage.html
* </pre>
*/
CODE_41028(41028, "form_id 不正确,或者过期"),
/**
* <pre>
* code template_id 不正确.
* 对应操作<code>code2Session</code>, <code>sendUniformMessage</code>, <code>sendTemplateMessage</code>
* 对应地址
* GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/code2Session.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/uniform-message/sendUniformMessage.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/template-message/sendTemplateMessage.html
* </pre>
*/
CODE_41029(41029, "请求的参数不正确"),
/**
* <pre>
* form_id 已被使用或者所传page页面不存在或者小程序没有发布
* 对应操作<code>sendUniformMessage</coce>, <code>getWXACodeUnlimit</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/uniform-message/sendUniformMessage.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/getWXACodeUnlimit.html
* </pre>
*/
CODE_41030(41030, "请求的参数不正确"),
/**
* <pre>
* 调用分钟频率受限.
* 对应操作<code>getWXACodeUnlimit</code>, <code>sendUniformMessage</code>, <code>sendTemplateMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/uniform-message/sendUniformMessage.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/getWXACodeUnlimit.html
* </pre>
*/
CODE_45009(45009, "调用分钟频率受限"),
/**
* <pre>
* 频率限制每个用户每分钟100次.
* 对应操作<code>code2Session</code>
* 对应地址
* GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/code2Session.html
* </pre>
*/
CODE_45011(45011, "频率限制每个用户每分钟100次"),
/**
* <pre>
* 回复时间超过限制.
* 对应操作<code>sendCustomerMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/sendCustomerMessage.html
* </pre>
*/
CODE_45015(45015, "回复时间超过限制"),
/**
* <pre>
* 接口调用超过限额 或生成码个数总和到达最大个数限制.
* 对应操作<code>createWXAQRCode</code>, <code>sendTemplateMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/getWXACode.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/template-message/sendTemplateMessage.html
* </pre>
*/
CODE_45029(45029, "接口调用超过限额"),
/**
* <pre>
* 客服接口下行条数超过上限.
* 对应操作<code>sendCustomerMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/sendCustomerMessage.html
* </pre>
*/
CODE_45047(45047, "客服接口下行条数超过上限"),
/**
* <pre>
* command字段取值不对
* 对应操作<code>customerTyping</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/typing?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/customerTyping.html
* </pre>
*/
CODE_45072(45072, "command字段取值不对"),
/**
* <pre>
* 下发输入状态需要之前30秒内跟用户有过消息交互.
* 对应操作<code>customerTyping</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/typing?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/customerTyping.html
*/
CODE_45080(45080, "下发输入状态需要之前30秒内跟用户有过消息交互"),
/**
* <pre>
* 已经在输入状态不可重复下发.
* 对应操作<code>customerTyping</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/typing?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/customerTyping.html
* </pre>
*/
CODE_45081(45081, "已经在输入状态,不可重复下发"),
/**
* <pre>
* API 功能未授权请确认小程序已获得该接口.
* 对应操作<code>sendCustomerMessage</code>
* 对应地址
* POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/customer-message/sendCustomerMessage.html
* </pre>
*/
CODE_48001(48001, "API 功能未授权"),
/**
* <pre>
* 内容含有违法违规内容.
* 对应操作<code>imgSecCheck</code>, <code>msgSecCheck</code>
* 对应地址
* POST https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESS_TOKEN
* POST https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN
* 参考文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/sec-check/imgSecCheck.html
* https://developers.weixin.qq.com/miniprogram/dev/api/open-api/sec-check/msgSecCheck.html
* </pre>
*/
CODE_87014(87014, "内容含有违法违规内容"),
/**
* 系统繁忙此时请开发者稍候再试.
*/
CODE_MINUS_1(-1, "系统繁忙,此时请开发者稍候再试"),
/**
* code 无效.
*/
CODE_40029(40029, "code 无效"),
/**
* access_token 过期.
*/
CODE_42001(42001, "access_token 过期"),
/**
* post 数据为空.
*/
CODE_44002(44002, "post 数据为空"),
/**
* post 数据中参数缺失.
*/
CODE_47001(47001, "post 数据中参数缺失"),
/**
* 参数 activity_id 错误.
*/
CODE_47501(47501, "参数 activity_id 错误"),
/**
* 参数 target_state 错误.
*/
CODE_47502(47502, "参数 target_state 错误"),
/**
* 参数 version_type 错误.
*/
CODE_47503(47503, "参数 version_type 错误"),
/**
* activity_id 过期.
*/
CODE_47504(47504, "activity_id 过期"),
/**
* 没有绑定开放平台帐号.
*/
CODE_89002(89002, "没有绑定开放平台帐号"),
/**
* 订单无效.
*/
CODE_89300(89300, "订单无效"),
/**
* 代小程序实现业务的错误码部分和小程序业务一致
* https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Mini_Programs/Intro.html
*/
CODE_85060(85060, "无效的taskid"),
CODE_85027(85027, "身份证绑定管理员名额达到上限"),
CODE_85061(85061, "手机号绑定管理员名额达到上限"),
CODE_85026(85026, "微信号绑定管理员名额达到上限"),
CODE_85063(85063, "身份证黑名单"),
CODE_85062(85062, "手机号黑名单"),
CODE_85016(85016, "域名数量超过限制"),
CODE_85017(85017, "没有新增域名,请确认小程序已经添加了域名或该域名是否没有在第三方平台添加"),
CODE_85018(85018, "域名没有在第三方平台设置"),
CODE_89019(89019, "业务域名无更改,无需重复设置"),
CODE_89020(89020, "尚未设置小程序业务域名,请先在第三方平台中设置小程序业务域名后在调用本接口"),
CODE_89021(89021, "请求保存的域名不是第三方平台中已设置的小程序业务域名或子域名"),
CODE_89029(89029, "业务域名数量超过限制"),
CODE_89231(89231, "个人小程序不支持调用 setwebviewdomain 接口"),
CODE_91001(91001, "不是公众号快速创建的小程序"),
CODE_91002(91002, "小程序发布后不可改名"),
CODE_91003(91003, "改名状态不合法"),
CODE_91004(91004, "昵称不合法"),
CODE_91005(91005, "昵称 15 天主体保护"),
CODE_91006(91006, "昵称命中微信号"),
CODE_91007(91007, "昵称已被占用"),
CODE_91008(91008, "昵称命中 7 天侵权保护期"),
CODE_91009(91009, "需要提交材料"),
CODE_91010(91010, "其他错误"),
CODE_91011(91011, "查不到昵称修改审核单信息"),
CODE_91012(91012, "其他错误"),
CODE_91013(91013, "占用名字过多"),
CODE_91014(91014, "+号规则 同一类型关联名主体不一致"),
CODE_91015(91015, "原始名不同类型主体不一致"),
CODE_91016(91016, "名称占用者 ≥2"),
CODE_91017(91017, "+号规则 不同类型关联名主体不一致"),
CODE_40097(40097, "参数错误"),
CODE_41006(41006, "media_id 不能为空"),
CODE_46001(46001, "media_id 不存在"),
CODE_40009(40009, "图片尺寸太大"),
CODE_53202(53202, "本月头像修改次数已用完"),
CODE_53200(53200, "本月功能介绍修改次数已用完"),
CODE_53201(53201, "功能介绍内容命中黑名单关键字"),
CODE_85083(85083, "搜索标记位被封禁,无法修改"),
CODE_85084(85084, "非法的 status 值,只能填 0 或者 1"),
CODE_85013(85013, "无效的自定义配置"),
CODE_85014(85014, "无效的模版编号"),
CODE_85043(85043, "模版错误"),
CODE_85044(85044, "代码包超过大小限制"),
CODE_85045(85045, "ext_json 有不存在的路径"),
CODE_85046(85046, "tabBar 中缺少 path"),
CODE_85047(85047, "pages 字段为空"),
CODE_85048(85048, "ext_json 解析失败"),
CODE_80082(80082, "没有权限使用该插件"),
CODE_80067(80067, "找不到使用的插件"),
CODE_80066(80066, "非法的插件版本"),
CODE_86000(86000, "不是由第三方代小程序进行调用"),
CODE_86001(86001, "不存在第三方的已经提交的代码"),
CODE_85006(85006, "标签格式错误"),
CODE_85007(85007, "页面路径错误"),
CODE_85008(85008, "类目填写错误"),
CODE_85009(85009, "已经有正在审核的版本"),
CODE_85010(85010, "item_list 有项目为空"),
CODE_85011(85011, "标题填写错误"),
CODE_85023(85023, "审核列表填写的项目数不在 1-5 以内"),
CODE_85077(85077, "小程序类目信息失效(类目中含有官方下架的类目,请重新选择类目)"),
CODE_86002(86002, "小程序还未设置昵称、头像、简介。请先设置完后再重新提交"),
CODE_85085(85085, "近 7 天提交审核的小程序数量过多,请耐心等待审核完毕后再次提交"),
CODE_85086(85086, "提交代码审核之前需提前上传代码"),
CODE_85087(85087, "小程序已使用 api navigateToMiniProgram请声明跳转 appid 列表后再次提交"),
CODE_85012(85012, "无效的审核 id"),
CODE_87013(87013, "撤回次数达到上限每天5次每个月 10 次)"),
CODE_85019(85019, "没有审核版本"),
CODE_85020(85020, "审核状态未满足发布"),
CODE_87011(87011, "现网已经在灰度发布,不能进行版本回退"),
CODE_87012(87012, "该版本不能回退可能的原因1:无上一个线上版用于回退 2:此版本为已回退版本,不能回退 3:此版本为回退功能上线之前的版本,不能回退"),
CODE_85079(85079, "小程序没有线上版本,不能进行灰度"),
CODE_85080(85080, "小程序提交的审核未审核通过"),
CODE_85081(85081, "无效的发布比例"),
CODE_85082(85082, "当前的发布比例需要比之前设置的高"),
CODE_85021(85021, "状态不可变"),
CODE_85022(85022, "action 非法"),
CODE_89401(89401, "系统不稳定,请稍后再试,如多次失败请通过社区反馈"),
CODE_89402(89402, "该审核单不在待审核队列,请检查是否已提交审核或已审完"),
CODE_89403(89403, "本单属于平台不支持加急种类,请等待正常审核流程"),
CODE_89404(89404, "本单已加速成功,请勿重复提交"),
CODE_89405(89405, "本月加急额度不足,请提升提审质量以获取更多额度"),
CODE_85064(85064, "找不到模版/草稿"),
CODE_85065(85065, "模版库已满"),
/**
* 小程序订阅消息错误码
* https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html
*/
CODE_43101(43101, "用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系"),
CODE_47003(47003, "模板参数不准确可能为空或者不满足规则errmsg会提示具体是哪个字段出错"),
/**
* 小程序绑定体验者
*/
CODE_85001(85001, "微信号不存在或微信号设置为不可搜索"),
CODE_85002(85002, "小程序绑定的体验者数量达到上限"),
CODE_85003(85003, "微信号绑定的小程序体验者达到上限"),
CODE_85004(85004, "微信号已经绑定"),
/**
* 53010
* 名称格式不合法
*/
CODE_53010(53010, "名称格式不合法"),
/**
* 53011
* 名称检测命中频率限制
*/
CODE_53011(53011, "名称检测命中频率限制"),
/**
* 53012
* 禁止使用该名称
*/
CODE_53012(53012, "禁止使用该名称"),
/**
* 53013
* 公众号名称与已有公众号名称重复;小程序该名称与已有小程序名称重复
*/
CODE_53013(53013, "公众号:名称与已有公众号名称重复;小程序:该名称与已有小程序名称重复"),
/**
* 53014
* 公众号公众号已有{名称 A+}需与该帐号相同主体才可申请{名称 A};小程序小程序已有{名称 A+}需与该帐号相同主体才可申请{名称 A}
*/
CODE_53014(53014, "公众号:公众号已有{名称 A+}时,需与该帐号相同主体才可申请{名称 A};小程序:小程序已有{名称 A+}时,需与该帐号相同主体才可申请{名称 A}"),
/**
* 53015
* 公众号该名称与已有小程序名称重复需与该小程序帐号相同主体才可申请;小程序该名称与已有公众号名称重复需与该公众号帐号相同主体才可申请
*/
CODE_53015(53015, "公众号:该名称与已有小程序名称重复,需与该小程序帐号相同主体才可申请;小程序:该名称与已有公众号名称重复,需与该公众号帐号相同主体才可申请"),
/**
* 53016
* 公众号该名称与已有多个小程序名称重复暂不支持申请;小程序该名称与已有多个公众号名称重复暂不支持申请
*/
CODE_53016(53016, "公众号:该名称与已有多个小程序名称重复,暂不支持申请;小程序:该名称与已有多个公众号名称重复,暂不支持申请"),
/**
* 53017
* 公众号小程序已有{名称 A+}需与该帐号相同主体才可申请{名称 A};小程序公众号已有{名称 A+}需与该帐号相同主体才可申请{名称 A}
*/
CODE_53017(53017, "公众号:小程序已有{名称 A+}时,需与该帐号相同主体才可申请{名称 A};小程序:公众号已有{名称 A+}时,需与该帐号相同主体才可申请{名称 A}"),
/**
* 53018
* 名称命中微信号
*/
CODE_53018(53018, "名称命中微信号"),
/**
* 53019
* 名称在保护期内
*/
CODE_53019(53019, "名称在保护期内"),
/**
* 61070
* 法人姓名与微信号不一致 name, wechat name not in accordance
*/
CODE_61070(61070, "法人姓名与微信号不一致"),
/**
* 85015
* 该账号不是小程序账号
*/
CODE_85015(85015, "该账号不是小程序账号"),
/**
* 85066
* 链接错误
*/
CODE_85066(85066, "链接错误"),
/**
* 85068
* 测试链接不是子链接
*/
CODE_85068(85068, "测试链接不是子链接"),
/**
* 85069
* 校验文件失败
*/
CODE_85069(85069, "校验文件失败"),
/**
* 85070
* 个人类型小程序无法设置二维码规则
*/
CODE_85070(85070, "个人类型小程序无法设置二维码规则"),
/**
* 85071
* 已添加该链接请勿重复添加
*/
CODE_85071(85071, "已添加该链接,请勿重复添加"),
/**
* 85072
* 该链接已被占用
*/
CODE_85072(85072, "该链接已被占用"),
/**
* 85073
* 二维码规则已满
*/
CODE_85073(85073, "二维码规则已满"),
/**
* 85074
* 小程序未发布, 小程序必须先发布代码才可以发布二维码跳转规则
*/
CODE_85074(85074, "小程序未发布, 小程序必须先发布代码才可以发布二维码跳转规则"),
/**
* 85075
* 个人类型小程序无法设置二维码规则
*/
CODE_85075(85075, "个人类型小程序无法设置二维码规则"),
/**
* 86004
* 无效微信号 invalid wechat
*/
CODE_86004(86004, "无效微信号"),
/**
* 89247
* 内部错误 inner error
*/
CODE_89247(89247, "内部错误"),
/**
* 89248
* 企业代码类型无效请选择正确类型填写 invalid code_type type
*/
CODE_89248(89248, "企业代码类型无效,请选择正确类型填写"),
/**
* 89249
* 该主体已有任务执行中距上次任务 24h 后再试 task running
*/
CODE_89249(89249, "该主体已有任务执行中,距上次任务 24h 后再试"),
/**
* 89250
* 未找到该任务 task not found
*/
CODE_89250(89250, "未找到该任务"),
/**
* 89251
* 待法人人脸核身校验 legal person checking
*/
CODE_89251(89251, "待法人人脸核身校验"),
/**
* 89252
* 法人&企业信息一致性校验中 front checking
*/
CODE_89252(89252, "法人&企业信息一致性校验中"),
/**
* 89253
* 缺少参数 lack of some params
*/
CODE_89253(89253, "缺少参数s"),
/**
* 89254
* 第三方权限集不全补全权限集全网发布后生效 lack of some component rights
*/
CODE_89254(89254, "第三方权限集不全,补全权限集全网发布后生效"),
/**
* 89255
* code参数无效请检查code长度以及内容是否正确 code参数无效请检查code长度以及内容是否正确_
* 注意code_type的值不同需要传的code长度不一样 注意code_type的值不同需要传的code长度不一样 enterprise code_invalid invalid
*/
CODE_89255(89255, "code参数无效请检查code长度以及内容是否正确_注意code_type的值不同需要传的code长度不一样 注意code_type的值不同需要传的code长度不一样"),
// CODE_504002(-504002, "云函数未找到 Function not found"),
;
private final int code;
private final String msg;
WxMaErrorMsgEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
static final Map<Integer, String> valueMap = Maps.newHashMap();
static {
for (WxMaErrorMsgEnum value : WxMaErrorMsgEnum.values()) {
valueMap.put(value.code, value.msg);
}
}
/**
* 通过错误代码查找其中文含义.
*/
public static String findMsgByCode(int code) {
return valueMap.getOrDefault(code, null);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
package com.ossez.wechat.common.exception;
/**
* WxJava专用的runtime exception.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2020-09-26
*/
public class WxRuntimeException extends RuntimeException {
private static final long serialVersionUID = 4881698471192264412L;
public WxRuntimeException(Throwable e) {
super(e);
}
public WxRuntimeException(String msg) {
super(msg);
}
public WxRuntimeException(String msg, Throwable e) {
super(msg, e);
}
}

View File

@ -0,0 +1,44 @@
package com.ossez.wechat.common.model;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
/**
* WeChatAccessToken Response Object
*
* @author YuCheng Hu
*/
public class WeChatAccessToken {
@JsonProperty("access_token")
private String accessToken;
@JsonProperty("expires_in")
private int expiresIn = -1;
public static WeChatAccessToken fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WeChatAccessToken.class);
}
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
public int getExpiresIn() {
return expiresIn;
}
public void setExpiresIn(int expiresIn) {
this.expiresIn = expiresIn;
}
}

View File

@ -0,0 +1,27 @@
package com.ossez.wechat.common.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import java.util.List;
/**
* WeChatAccessToken Response Object
*
* @author YuCheng Hu
*/
public class WeChatApiDomainIp {
@JsonProperty("ip_list")
private List<String> ipList;
public List<String> getIpList() {
return ipList;
}
public void setIpList(List<String> ipList) {
this.ipList = ipList;
}
}

View File

@ -0,0 +1,16 @@
package com.ossez.wechat.common.model;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@Accessors(chain = true)
public class WeChatHost implements Serializable {
private static final long serialVersionUID = -7648920647310280817L;
private String apiHost;
private String openHost;
private String mpHost;
}

View File

@ -0,0 +1,107 @@
package com.ossez.wechat.common.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
*
* @author Daniel Qian
*/
public class WeChatOAuth2AccessToken implements Serializable {
private static final long serialVersionUID = 5755678830089329526L;
@JsonProperty("access_token")
private String accessToken;
@JsonProperty("expires_in")
private int expiresIn = -1;
@JsonProperty("refresh_token")
private String refreshToken;
@JsonProperty("openid")
private String openId;
@JsonProperty("scope")
private String scope;
@JsonProperty("is_snapshotuser")
private Integer snapshotUser;
/**
* https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&announce_id=11513156443eZYea&version=&lang=zh_CN.
* 本接口在scope参数为snsapi_base时不再提供unionID字段
*/
@SerializedName("unionid")
private String unionId;
public static WeChatOAuth2AccessToken fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WeChatOAuth2AccessToken.class);
}
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
public int getExpiresIn() {
return expiresIn;
}
public void setExpiresIn(int expiresIn) {
this.expiresIn = expiresIn;
}
public String getRefreshToken() {
return refreshToken;
}
public void setRefreshToken(String refreshToken) {
this.refreshToken = refreshToken;
}
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
public Integer getSnapshotUser() {
return snapshotUser;
}
public void setSnapshotUser(Integer snapshotUser) {
this.snapshotUser = snapshotUser;
}
public String getUnionId() {
return unionId;
}
public void setUnionId(String unionId) {
this.unionId = unionId;
}
}

View File

@ -0,0 +1,34 @@
package com.ossez.wechat.common.model;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* WeChatStatus Response Object
*
* @author YuCheng Hu
*/
public class WeChatStatus {
@JsonProperty("errcode")
private int errCode = 0;
@JsonProperty("errmsg")
private String errMsg;
public int getErrCode() {
return errCode;
}
public void setErrCode(int errCode) {
this.errCode = errCode;
}
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
}

View File

@ -0,0 +1,129 @@
package com.ossez.wechat.common.model.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
import java.io.Serializable;
/**
* oauth2用户个人信息.
* <pre>
* {
* "openid":"OPENID",
* "nickname":"NICKNAME",
* "sex":1,
* "province":"PROVINCE",
* "city":"CITY",
* "country":"COUNTRY",
* "headimgurl": "https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
* "privilege":[
* "PRIVILEGE1",
* "PRIVILEGE2"
* ],
* "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
*
* }
* </pre>
*
* @author YuCheng
*/
@Data
public class WeChatOAuth2UserInfo implements Serializable {
private static final long serialVersionUID = 3181943506448954725L;
@JsonProperty("openid")
private String openid;
@JsonProperty("nickname")
private String nickname;
@JsonProperty("sex")
private Integer sex;
@JsonProperty("city")
private String city;
@JsonProperty("province")
private String province;
@JsonProperty("country")
private String country;
@JsonProperty("headimgurl")
private String headImgUrl;
@JsonProperty("unionid")
private String unionId;
@JsonProperty("privilege")
private String[] privileges;
public String getOpenid() {
return openid;
}
public void setOpenid(String openid) {
this.openid = openid;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getHeadImgUrl() {
return headImgUrl;
}
public void setHeadImgUrl(String headImgUrl) {
this.headImgUrl = headImgUrl;
}
public String getUnionId() {
return unionId;
}
public void setUnionId(String unionId) {
this.unionId = unionId;
}
public String[] getPrivileges() {
return privileges;
}
public void setPrivileges(String[] privileges) {
this.privileges = privileges;
}
}

View File

@ -0,0 +1,31 @@
package com.ossez.wechat.common.model.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* WeChatAccessToken Response Object
*
* @author YuCheng Hu
*/
public class WeChatResponseStatus {
@JsonProperty("errcode")
private Integer errorCode;
@JsonProperty("errmsg")
private String errorMsg;
public Integer getErrorCode() {
return errorCode;
}
public void setErrorCode(Integer errorCode) {
this.errorCode = errorCode;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
}

View File

@ -0,0 +1,104 @@
package com.ossez.wechat.common.model.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.experimental.Accessors;
@Accessors(chain = true)
public class WeChatUser {
@JsonProperty(value = "openid", required = true)
private String openId;
@JsonProperty(required = true)
private String nickname;
private Integer sex;
private String language;
private String city;
private String province;
private String country;
@JsonProperty(value = "headimgurl")
private String headImgURL;
@JsonProperty(value = "unionid", required = true)
private String unionId;
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getHeadImgURL() {
return headImgURL;
}
public void setHeadImgURL(String headImgURL) {
this.headImgURL = headImgURL;
}
public String getUnionId() {
return unionId;
}
public void setUnionId(String unionId) {
this.unionId = unionId;
}
}

View File

@ -0,0 +1,43 @@
package com.ossez.wechat.common.model.entity.builder;
import com.ossez.wechat.common.model.entity.menu.MenuButton;
import com.ossez.wechat.common.model.req.MenuRequest;
import java.util.List;
public class MenuButtonBuilder {
private List<MenuButton> subButtonList;
private String type;
private String name;
private String key;
private String url;
public MenuButtonBuilder setSubButtonList(List<MenuButton> subButtonList) {
this.subButtonList = subButtonList;
return this;
}
public MenuButtonBuilder setType(String type) {
this.type = type;
return this;
}
public MenuButtonBuilder setName(String name) {
this.name = name;
return this;
}
public MenuButtonBuilder setKey(String key) {
this.key = key;
return this;
}
public MenuButtonBuilder setUrl(String url) {
this.url = url;
return this;
}
public MenuButton createMenuButton() {
return new MenuButton(subButtonList, type, name, key, url);
}
}

View File

@ -0,0 +1,40 @@
package com.ossez.wechat.common.model.entity.menu;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.model.req.MenuRequest;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
/**
* menu button.
*
* @author Daniel Qian
*/
@Data
public class MenuButton implements Serializable {
private static final long serialVersionUID = -1070939403109776555L;
public MenuButton(List<MenuButton> subButtonList, String type, String name, String key, String url) {
this.subButtonList = subButtonList;
this.type = type;
this.name = name;
this.key = key;
this.url = url;
}
@JsonProperty(value = "sub_button")
private List<MenuButton> subButtonList;
@JsonProperty("type")
private String type;
@JsonProperty("name")
private String name;
@JsonProperty("key")
private String key;
@JsonProperty("url")
private String url;
}

View File

@ -1,7 +1,4 @@
package me.chanjar.weixin.common.bean.menu;
import me.chanjar.weixin.common.util.ToStringUtils;
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
package com.ossez.wechat.common.model.entity.menu;
import java.io.InputStream;
import java.io.InputStreamReader;
@ -10,22 +7,28 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
/**
* 菜单公众号和企业号共用的
* 菜单公众号和企业号共用的.
*
* @author Daniel Qian
*/
@Data
public class WxMenu implements Serializable {
private static final long serialVersionUID = -7083914585539687746L;
private List<WxMenuButton> buttons = new ArrayList<>();
private List<MenuButton> buttons = new ArrayList<>();
private WxMenuRule matchRule;
/**
* 要用 http://mp.weixin.qq.com/wiki/16/ff9b7b85220e1396ffa16794a9d95adc.html 格式来反序列化
* 相比 http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html 的格式外层多套了一个menu
*
* @param json
* @return
*/
public static WxMenu fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxMenu.class);
@ -36,23 +39,8 @@ public class WxMenu implements Serializable {
* 相比 http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html 的格式外层多套了一个menu
*/
public static WxMenu fromJson(InputStream is) {
return WxGsonBuilder.create().fromJson(new InputStreamReader(is, StandardCharsets.UTF_8), WxMenu.class);
}
public List<WxMenuButton> getButtons() {
return this.buttons;
}
public void setButtons(List<WxMenuButton> buttons) {
this.buttons = buttons;
}
public WxMenuRule getMatchRule() {
return this.matchRule;
}
public void setMatchRule(WxMenuRule matchRule) {
this.matchRule = matchRule;
return WxGsonBuilder.create()
.fromJson(new InputStreamReader(is, StandardCharsets.UTF_8), WxMenu.class);
}
public String toJson() {
@ -61,7 +49,7 @@ public class WxMenu implements Serializable {
@Override
public String toString() {
return ToStringUtils.toSimpleString(this);
return this.toJson();
}
}

View File

@ -0,0 +1,35 @@
package com.ossez.wechat.common.model.entity.menu;
import java.io.Serializable;
import com.google.gson.annotations.SerializedName;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import lombok.Data;
/**
* menu rule.
*
* @author Daniel Qian
*/
@Data
public class WxMenuRule implements Serializable {
private static final long serialVersionUID = -4587181819499286670L;
/**
* 变态的微信接口反序列化时这里反人类的使用和序列化时不一样的名字.
*/
@SerializedName(value = "tag_id", alternate = "group_id")
private String tagId;
private String sex;
private String country;
private String province;
private String city;
@SerializedName("client_platform_type")
private String clientPlatformType;
private String language;
@Override
public String toString() {
return WxGsonBuilder.create().toJson(this);
}
}

View File

@ -0,0 +1,128 @@
package com.ossez.wechat.common.model.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* CustomMessage
*
* @author YuCheng
*/
public class CustomMessage implements Serializable {
private static final long serialVersionUID = -9196732086954365246L;
@JsonProperty("touser")
private String toUser;
@JsonProperty("msgtype")
private String msgType;
@JsonProperty("text")
private KfText text;
@JsonProperty("image")
private KfImage image;
@JsonProperty("link")
private KfLink link;
@JsonProperty("miniprogrampage")
private KfMaPage maPage;
@Data
@AllArgsConstructor
public static class KfText implements Serializable {
private static final long serialVersionUID = 151122958720941270L;
private String content;
}
@Data
@AllArgsConstructor
public static class KfImage implements Serializable {
private static final long serialVersionUID = -5409342945117300782L;
@SerializedName("media_id")
private String mediaId;
}
@Data
@Builder
public static class KfLink implements Serializable {
private static final long serialVersionUID = -6728776817556127413L;
private String title;
private String description;
private String url;
@SerializedName("thumb_url")
private String thumbUrl;
}
@Data
@Builder
public static class KfMaPage implements Serializable {
private static final long serialVersionUID = -5633492281871634466L;
private String title;
@SerializedName("pagepath")
private String pagePath;
@SerializedName("thumb_media_id")
private String thumbMediaId;
}
public String getToUser() {
return toUser;
}
public void setToUser(String toUser) {
this.toUser = toUser;
}
public String getMsgType() {
return msgType;
}
public void setMsgType(String msgType) {
this.msgType = msgType;
}
public KfText getText() {
return text;
}
public void setText(KfText text) {
this.text = text;
}
public KfImage getImage() {
return image;
}
public void setImage(KfImage image) {
this.image = image;
}
public KfLink getLink() {
return link;
}
public void setLink(KfLink link) {
this.link = link;
}
public KfMaPage getMaPage() {
return maPage;
}
public void setMaPage(KfMaPage maPage) {
this.maPage = maPage;
}
}

View File

@ -0,0 +1,40 @@
package com.ossez.wechat.common.model.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* CustomMessage
*
* @author YuCheng
*/
public class DataCubeRequest implements Serializable {
private static final long serialVersionUID = -9196732086954365246L;
@JsonProperty(value = "begin_date", required = true)
private String beginDate;
@JsonProperty(value = "end_date", required = true)
private String endDate;
public String getBeginDate() {
return beginDate;
}
public void setBeginDate(String beginDate) {
this.beginDate = beginDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
}

View File

@ -0,0 +1,28 @@
package com.ossez.wechat.common.model.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ossez.wechat.common.model.entity.menu.MenuButton;
import com.ossez.wechat.common.model.res.DataCubeArticle;
import java.io.Serializable;
import java.util.List;
/**
* CustomMessage
*
* @author YuCheng
*/
public class MenuRequest implements Serializable {
private static final long serialVersionUID = -9196732086954365246L;
@JsonProperty(value = "button", required = true)
private List<MenuButton> buttonList;
public List<MenuButton> getButtonList() {
return buttonList;
}
public void setButtonList(List<MenuButton> buttonList) {
this.buttonList = buttonList;
}
}

View File

@ -0,0 +1,33 @@
package com.ossez.wechat.common.model.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ossez.wechat.common.util.json.WxGsonBuilder;
import org.apache.commons.lang3.StringUtils;
/**
* WeChatAccessToken Response Object
*
* @author YuCheng Hu
*/
public class NetworkCheck {
@JsonProperty("action")
private String action = "all";
@JsonProperty("check_operator")
private String checkOperator = StringUtils.upperCase("DEFAULT");
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getCheckOperator() {
return checkOperator;
}
public void setCheckOperator(String checkOperator) {
this.checkOperator = checkOperator;
}
}

View File

@ -0,0 +1,22 @@
package com.ossez.wechat.common.model.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.StringUtils;
/**
* WeChatAccessToken Response Object
*
* @author YuCheng Hu
*/
public class QueryQuota {
@JsonProperty("cgi_path")
private String cgiPath = "/cgi-bin/message/custom/send";
public String getCgiPath() {
return cgiPath;
}
public void setCgiPath(String cgiPath) {
this.cgiPath = cgiPath;
}
}

View File

@ -0,0 +1,130 @@
package com.ossez.wechat.common.model.res;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
/**
* UserSummaryResponse Object
*
* @author YuCheng Hu
*/
public class DataCubeArticle {
@JsonProperty("list")
private List<ArticleData> articleDataList;
public static class ArticleData {
@JsonProperty("ref_date")
private String refDate;
@JsonProperty("msgid")
private String msgId;
@JsonProperty("title")
private String title;
@JsonProperty("int_page_read_user")
private Long intPageReadUser;
@JsonProperty("ori_page_read_user")
private Long oriPageReadUser;
@JsonProperty("ori_page_read_count")
private Long oriPageReadCount;
@JsonProperty("share_user")
private Long shareUser;
@JsonProperty("shareCount")
private Long shareCount;
@JsonProperty("add_to_fav_user")
private Long addToFavUser;
@JsonProperty("add_to_fav_count")
private Long addToFavCount;
public String getRefDate() {
return refDate;
}
public void setRefDate(String refDate) {
this.refDate = refDate;
}
public String getMsgId() {
return msgId;
}
public void setMsgId(String msgId) {
this.msgId = msgId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Long getIntPageReadUser() {
return intPageReadUser;
}
public void setIntPageReadUser(Long intPageReadUser) {
this.intPageReadUser = intPageReadUser;
}
public Long getOriPageReadUser() {
return oriPageReadUser;
}
public void setOriPageReadUser(Long oriPageReadUser) {
this.oriPageReadUser = oriPageReadUser;
}
public Long getOriPageReadCount() {
return oriPageReadCount;
}
public void setOriPageReadCount(Long oriPageReadCount) {
this.oriPageReadCount = oriPageReadCount;
}
public Long getShareUser() {
return shareUser;
}
public void setShareUser(Long shareUser) {
this.shareUser = shareUser;
}
public Long getShareCount() {
return shareCount;
}
public void setShareCount(Long shareCount) {
this.shareCount = shareCount;
}
public Long getAddToFavUser() {
return addToFavUser;
}
public void setAddToFavUser(Long addToFavUser) {
this.addToFavUser = addToFavUser;
}
public Long getAddToFavCount() {
return addToFavCount;
}
public void setAddToFavCount(Long addToFavCount) {
this.addToFavCount = addToFavCount;
}
}
public List<ArticleData> getArticleDataList() {
return articleDataList;
}
public void setArticleDataList(List<ArticleData> articleDataList) {
this.articleDataList = articleDataList;
}
}

View File

@ -0,0 +1,78 @@
package com.ossez.wechat.common.model.res;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
/**
* UserSummaryResponse Object
*
* @author YuCheng Hu
*/
public class DataCubeUser {
@JsonProperty("list")
private List<UserData> userDataList;
public static class UserData {
@JsonProperty("ref_date")
private String refDate;
@JsonProperty("user_source")
private Long userSource;
@JsonProperty("new_user")
private Long newUser;
@JsonProperty("cancel_user")
private Long cancelUser;
@JsonProperty("cumulate_user")
private Long cumulateUser;
public String getRefDate() {
return refDate;
}
public void setRefDate(String refDate) {
this.refDate = refDate;
}
public Long getUserSource() {
return userSource;
}
public void setUserSource(Long userSource) {
this.userSource = userSource;
}
public Long getNewUser() {
return newUser;
}
public void setNewUser(Long newUser) {
this.newUser = newUser;
}
public Long getCancelUser() {
return cancelUser;
}
public void setCancelUser(Long cancelUser) {
this.cancelUser = cancelUser;
}
public Long getCumulateUser() {
return cumulateUser;
}
public void setCumulateUser(Long cumulateUser) {
this.cumulateUser = cumulateUser;
}
}
public List<UserData> getUserDataList() {
return userDataList;
}
public void setUserDataList(List<UserData> userDataList) {
this.userDataList = userDataList;
}
}

View File

@ -0,0 +1,35 @@
package com.ossez.wechat.common.model.res;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ossez.wechat.common.api.WxMessageInMemoryDuplicateCheckerSingleton;
import org.apache.commons.lang3.StringUtils;
/**
* WeChatAccessToken Response Object
*
* @author YuCheng Hu
*/
public class NetworkCheckResponse {
@JsonProperty("dns")
private String dns;
@JsonProperty("ping")
private Ping ping;
private static class dns {
@JsonProperty("ip")
private String ip;
@JsonProperty("real_operator")
private String realOperator;
}
private static class Ping {
@JsonProperty("ip")
private String ip;
@JsonProperty("from_operator")
private String fromOperator;
@JsonProperty("package_loss")
private String packageLoss;
@JsonProperty("time")
private String time;
}
}

View File

@ -0,0 +1,66 @@
package com.ossez.wechat.common.model.res;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* WeChatAccessToken Response Object
*
* @author YuCheng Hu
*/
public class QueryQuotaResponse {
@JsonProperty("errcode")
private Integer errorCode;
@JsonProperty("errmsg")
private String errorMsg;
@JsonProperty("quota")
private Quota quota;
private static class Quota {
@JsonProperty("daily_limit")
private String dailyLimit;
@JsonProperty("used")
private String used;
@JsonProperty("remain")
private String remain;
public String getDailyLimit() {
return dailyLimit;
}
public void setDailyLimit(String dailyLimit) {
this.dailyLimit = dailyLimit;
}
public String getUsed() {
return used;
}
public void setUsed(String used) {
this.used = used;
}
public String getRemain() {
return remain;
}
public void setRemain(String remain) {
this.remain = remain;
}
}
public Integer getErrorCode() {
return errorCode;
}
public void setErrorCode(Integer errorCode) {
this.errorCode = errorCode;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
}

View File

@ -0,0 +1,37 @@
package com.ossez.wechat.common.redis;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
/**
* 微信redis操作基本类
* <p>
* 非内置实现redis相关操作, 请实现该类
*/
public abstract class BaseWxRedisOps implements WxRedisOps {
@Override
public String getValue(String key) {
throw new UnsupportedOperationException();
}
@Override
public void setValue(String key, String value, int expire, TimeUnit timeUnit) {
throw new UnsupportedOperationException();
}
@Override
public Long getExpire(String key) {
throw new UnsupportedOperationException();
}
@Override
public void expire(String key, int expire, TimeUnit timeUnit) {
throw new UnsupportedOperationException();
}
@Override
public Lock getLock(String key) {
throw new UnsupportedOperationException();
}
}

View File

@ -0,0 +1,44 @@
package com.ossez.wechat.common.redis;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import com.ossez.wechat.common.util.locks.RedisTemplateSimpleDistributedLock;
import org.springframework.data.redis.core.StringRedisTemplate;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
@RequiredArgsConstructor
public class RedisTemplateWxRedisOps implements WxRedisOps {
private final StringRedisTemplate redisTemplate;
@Override
public String getValue(String key) {
return redisTemplate.opsForValue().get(key);
}
@Override
public void setValue(String key, String value, int expire, TimeUnit timeUnit) {
if (expire <= 0) {
redisTemplate.opsForValue().set(key, value);
} else {
redisTemplate.opsForValue().set(key, value, expire, timeUnit);
}
}
@Override
public Long getExpire(String key) {
return redisTemplate.getExpire(key);
}
@Override
public void expire(String key, int expire, TimeUnit timeUnit) {
redisTemplate.expire(key, expire, timeUnit);
}
@Override
public Lock getLock(@NonNull String key) {
return new RedisTemplateSimpleDistributedLock(redisTemplate, key, 60 * 1000);
}
}

View File

@ -0,0 +1,47 @@
package com.ossez.wechat.common.redis;
import lombok.RequiredArgsConstructor;
import org.redisson.api.RedissonClient;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
@RequiredArgsConstructor
public class RedissonWxRedisOps implements WxRedisOps {
private final RedissonClient redissonClient;
@Override
public String getValue(String key) {
Object value = redissonClient.getBucket(key).get();
return value == null ? null : value.toString();
}
@Override
public void setValue(String key, String value, int expire, TimeUnit timeUnit) {
if (expire <= 0) {
redissonClient.getBucket(key).set(value);
} else {
redissonClient.getBucket(key).set(value, expire, timeUnit);
}
}
@Override
public Long getExpire(String key) {
long expire = redissonClient.getBucket(key).remainTimeToLive();
if (expire > 0) {
expire = expire / 1000;
}
return expire;
}
@Override
public void expire(String key, int expire, TimeUnit timeUnit) {
redissonClient.getBucket(key).expire(expire, timeUnit);
}
@Override
public Lock getLock(String key) {
return redissonClient.getLock(key);
}
}

View File

@ -0,0 +1,28 @@
package com.ossez.wechat.common.redis;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
/**
* 微信Redis相关操作
* <p>
* 该接口不承诺稳定, 外部实现请继承{@link BaseWxRedisOps}
*
* @author Mario Luo
* @see BaseWxRedisOps 实现需要继承该类
* @see JedisWxRedisOps jedis实现
* @see RedissonWxRedisOps redisson实现
* @see RedisTemplateWxRedisOps redisTemplate实现
*/
public interface WxRedisOps {
String getValue(String key);
void setValue(String key, String value, int expire, TimeUnit timeUnit);
Long getExpire(String key);
void expire(String key, int expire, TimeUnit timeUnit);
Lock getLock(String key);
}

View File

@ -0,0 +1,57 @@
package com.ossez.wechat.common.requestexecuter.ocr;
import com.ossez.wechat.common.enums.WxType;
import com.ossez.wechat.common.exception.WxError;
import com.ossez.wechat.common.exception.WxErrorException;
import com.ossez.wechat.common.util.http.RequestHttp;
import com.ossez.wechat.common.util.http.apache.Utf8ResponseHandler;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import java.io.File;
import java.io.IOException;
/**
* .
*
* @author : zhayueran
* created on 2019/6/27 14:06
*/
public class OcrDiscernApacheHttpRequestExecutor extends OcrDiscernRequestExecutor<CloseableHttpClient, HttpHost> {
public OcrDiscernApacheHttpRequestExecutor(RequestHttp requestHttp) {
super(requestHttp);
}
@Override
public String execute(String uri, File file, WxType wxType) throws WxErrorException, IOException {
HttpPost httpPost = new HttpPost(uri);
if (requestHttp.getRequestHttpProxy() != null) {
RequestConfig config = RequestConfig.custom().setProxy(requestHttp.getRequestHttpProxy()).build();
httpPost.setConfig(config);
}
if (file != null) {
HttpEntity entity = MultipartEntityBuilder
.create()
.addBinaryBody("file", file)
.setMode(HttpMultipartMode.RFC6532)
.build();
httpPost.setEntity(entity);
}
try (CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost)) {
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
WxError error = WxError.fromJson(responseContent, wxType);
if (error.getErrorCode() != 0) {
throw new WxErrorException(error);
}
return responseContent;
} finally {
httpPost.releaseConnection();
}
}
}

View File

@ -0,0 +1,38 @@
package com.ossez.wechat.common.requestexecuter.ocr;
import com.ossez.wechat.common.enums.WxType;
import com.ossez.wechat.common.exception.WxErrorException;
import com.ossez.wechat.common.util.http.RequestExecutor;
import com.ossez.wechat.common.util.http.RequestHttp;
import com.ossez.wechat.common.util.http.ResponseHandler;
import java.io.File;
import java.io.IOException;
/**
* .
*
* @author zhayueran
* created on 2019/6/27 15:06
*/
public abstract class OcrDiscernRequestExecutor<H, P> implements RequestExecutor<String, File> {
protected RequestHttp<H, P> requestHttp;
public OcrDiscernRequestExecutor(RequestHttp requestHttp) {
this.requestHttp = requestHttp;
}
@Override
public void execute(String uri, File data, ResponseHandler<String> handler, WxType wxType) throws WxErrorException, IOException {
handler.handle(this.execute(uri, data, wxType));
}
public static RequestExecutor<String, File> create(RequestHttp requestHttp) {
switch (requestHttp.getRequestType()) {
case APACHE_HTTP:
return new OcrDiscernApacheHttpRequestExecutor(requestHttp);
default:
return null;
}
}
}

View File

@ -0,0 +1,121 @@
package com.ossez.wechat.common.service;
import com.ossez.wechat.common.exception.WxErrorException;
import com.ossez.wechat.common.bean.imgproc.WxImgProcAiCropResult;
import com.ossez.wechat.common.bean.imgproc.WxImgProcQrCodeResult;
import com.ossez.wechat.common.bean.imgproc.WxImgProcSuperResolutionResult;
import java.io.File;
/**
* 多项图像处理能力相关的API.
* https://developers.weixin.qq.com/doc/offiaccount/Intelligent_Interface/Img_Proc.html
*
* @author Theo Nie
*/
public interface WxImgProcService {
/**
* 二维码/条码识别接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* 3.支持条码二维码DataMatrix和PDF417的识别
* 4.二维码DataMatrix会返回位置坐标条码和PDF417暂不返回位置坐标
*
* @param imgUrl 图片url地址
* @return WxMpImgProcQrCodeResult
* @throws WxErrorException .
*/
WxImgProcQrCodeResult qrCode(String imgUrl) throws WxErrorException;
/**
* 二维码/条码识别接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* 3.支持条码二维码DataMatrix和PDF417的识别
* 4.二维码DataMatrix会返回位置坐标条码和PDF417暂不返回位置坐标
*
* @param imgFile 图片文件对象
* @return WxMpImgProcQrCodeResult
* @throws WxErrorException .
*/
WxImgProcQrCodeResult qrCode(File imgFile) throws WxErrorException;
/**
* 图片高清化接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* 3.目前支持将图片超分辨率高清化2倍即生成图片分辨率为原图2倍大小
* 返回的media_id有效期为3天期间可以通过获取临时素材接口获取图片二进制
*
* @param imgUrl 图片url地址
* @return WxMpImgProcSuperResolutionResult
* @throws WxErrorException .
*/
WxImgProcSuperResolutionResult superResolution(String imgUrl) throws WxErrorException;
/**
* 图片高清化接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* 3.目前支持将图片超分辨率高清化2倍即生成图片分辨率为原图2倍大小
* 返回的media_id有效期为3天期间可以通过获取临时素材接口获取图片二进制
*
* @param imgFile 图片文件对象
* @return WxMpImgProcSuperResolutionResult
* @throws WxErrorException .
*/
WxImgProcSuperResolutionResult superResolution(File imgFile) throws WxErrorException;
/**
* 图片智能裁剪接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* 3.该接口默认使用最佳宽高比
* @param imgUrl 图片url地址
* @return WxMpImgProcAiCropResult
* @throws WxErrorException .
*/
WxImgProcAiCropResult aiCrop(String imgUrl) throws WxErrorException;
/**
* 图片智能裁剪接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* @param imgUrl 图片url地址
* @param ratios 宽高比最多支持5个请以英文逗号分隔
* @return WxMpImgProcAiCropResult
* @throws WxErrorException .
*/
WxImgProcAiCropResult aiCrop(String imgUrl, String ratios) throws WxErrorException;
/**
* 图片智能裁剪接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* 3.该接口默认使用最佳宽高比
* @param imgFile 图片文件对象
* @return WxMpImgProcAiCropResult
* @throws WxErrorException .
*/
WxImgProcAiCropResult aiCrop(File imgFile) throws WxErrorException;
/**
* 图片智能裁剪接口
* 说明
* 1.图片支持使用img参数实时上传也支持使用img_url参数传送图片地址由微信后台下载图片进行识别
* 2.文件大小限制小于2M
* @param imgFile 图片文件对象
* @param ratios 宽高比最多支持5个请以英文逗号分隔
* @return WxMpImgProcAiCropResult
* @throws WxErrorException .
*/
WxImgProcAiCropResult aiCrop(File imgFile, String ratios) throws WxErrorException;
}

View File

@ -0,0 +1,83 @@
package com.ossez.wechat.common.service;
import com.ossez.wechat.common.model.entity.WeChatOAuth2UserInfo;
import com.ossez.wechat.common.model.WeChatOAuth2AccessToken;
import com.ossez.wechat.common.exception.WxErrorException;
/**
* oauth2 相关接口.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2020-08-08
*/
public interface WxOAuth2Service {
/**
* <pre>
* 构造oauth2授权的url连接.
* 详情请见: <a href="https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html">网页授权</a>
* </pre>
*
* @param redirectUri 用户授权完成后的重定向链接无需urlencode, 方法内会进行encode
* @param scope scope,静默:snsapi_base, 带信息授权:snsapi_userinfo
* @param state state
* @return url
*/
String buildAuthorizationUrl(String redirectUri, String scope, String state);
/**
* <pre>
* 用code换取oauth2的access token.
* 详情请见: <a href="https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html">网页授权获取用户基本信息</a>
* </pre>
*
* @param code code
* @return token对象
* @throws WxErrorException .
*/
WeChatOAuth2AccessToken getAccessToken(String code) throws WxErrorException;
/**
* 用code换取oauth2的access token.
*
* @param appId the appid
* @param appSecret the secret
* @param code code
* @return token对象
* @throws WxErrorException .
*/
WeChatOAuth2AccessToken getAccessToken(String appId, String appSecret, String code) throws WxErrorException;
/**
* <pre>
* 刷新oauth2的access token.
* </pre>
*
* @param refreshToken 刷新token
* @return 新的token对象
* @throws WxErrorException .
*/
WeChatOAuth2AccessToken refreshAccessToken(String refreshToken) throws WxErrorException;
/**
* <pre>
* 用oauth2获取用户信息, 当前面引导授权时的scope是snsapi_userinfo的时候才可以.
* </pre>
*
* @param oAuth2AccessToken token对象
* @param lang zh_CN, zh_TW, en
* @return 用户对象
* @throws WxErrorException .
*/
WeChatOAuth2UserInfo getUserInfo(WeChatOAuth2AccessToken oAuth2AccessToken, String lang) throws WxErrorException;
/**
* <pre>
* 验证oauth2的access token是否有效.
* </pre>
*
* @param oAuth2AccessToken token对象
* @return 是否有效
*/
boolean validateAccessToken(WeChatOAuth2AccessToken oAuth2AccessToken);
}

View File

@ -0,0 +1,16 @@
package com.ossez.wechat.common.service;
import lombok.AllArgsConstructor;
import lombok.experimental.Delegate;
/**
* 微信 oauth2服务 装饰器
*
* @author <a href="https://www.sacoc.cn">广州跨界</a>
*/
@AllArgsConstructor
public class WxOAuth2ServiceDecorator implements WxOAuth2Service {
@Delegate
private final WxOAuth2Service wxOAuth2Service;
}

View File

@ -0,0 +1,131 @@
package com.ossez.wechat.common.service;
import com.ossez.wechat.common.exception.WxErrorException;
import com.ossez.wechat.common.bean.ocr.WxOcrBankCardResult;
import com.ossez.wechat.common.bean.ocr.WxOcrBizLicenseResult;
import com.ossez.wechat.common.bean.ocr.WxOcrCommResult;
import com.ossez.wechat.common.bean.ocr.WxOcrDrivingLicenseResult;
import com.ossez.wechat.common.bean.ocr.WxOcrDrivingResult;
import com.ossez.wechat.common.bean.ocr.WxOcrIdCardResult;
import java.io.File;
/**
* 基于小程序或 H5 的身份证银行卡行驶证 OCR 识别.
* https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21516712284rHWMX
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2019-06-22
*/
public interface WxOcrService {
/**
* 身份证OCR识别接口.
*
* @param imgUrl 图片url地址
* @return WxMpOcrIdCardResult
* @throws WxErrorException .
*/
WxOcrIdCardResult idCard(String imgUrl) throws WxErrorException;
/**
* 身份证OCR识别接口.
*
* @param imgFile 图片文件对象
* @return WxMpOcrIdCardResult
* @throws WxErrorException .
*/
WxOcrIdCardResult idCard(File imgFile) throws WxErrorException;
/**
* 银行卡OCR识别接口
* 文件大小限制小于2M
* @param imgUrl 图片url地址
* @return WxMpOcrBankCardResult
* @throws WxErrorException .
*/
WxOcrBankCardResult bankCard(String imgUrl) throws WxErrorException;
/**
* 银行卡OCR识别接口
* 文件大小限制小于2M
* @param imgFile 图片文件对象
* @return WxMpOcrBankCardResult
* @throws WxErrorException .
*/
WxOcrBankCardResult bankCard(File imgFile) throws WxErrorException;
/**
* 行驶证OCR识别接口
* 文件大小限制小于2M
* @param imgUrl 图片url地址
* @return WxMpOcrDrivingResult
* @throws WxErrorException .
*/
WxOcrDrivingResult driving(String imgUrl) throws WxErrorException;
/**
* 行驶证OCR识别接口
* 文件大小限制小于2M
* @param imgFile 图片文件对象
* @return WxMpOcrDrivingResult
* @throws WxErrorException .
*/
WxOcrDrivingResult driving(File imgFile) throws WxErrorException;
/**
* 驾驶证OCR识别接口
* 文件大小限制小于2M
* @param imgUrl 图片url地址
* @return WxMpOcrDrivingLicenseResult
* @throws WxErrorException .
*/
WxOcrDrivingLicenseResult drivingLicense(String imgUrl) throws WxErrorException;
/**
* 驾驶证OCR识别接口
* 文件大小限制小于2M
* @param imgFile 图片文件对象
* @return WxMpOcrDrivingLicenseResult
* @throws WxErrorException .
*/
WxOcrDrivingLicenseResult drivingLicense(File imgFile) throws WxErrorException;
/**
* 营业执照OCR识别接口
* 文件大小限制小于2M
* @param imgUrl 图片url地址
* @return WxMpOcrBizLicenseResult
* @throws WxErrorException .
*/
WxOcrBizLicenseResult bizLicense(String imgUrl) throws WxErrorException;
/**
* 营业执照OCR识别接口
* 文件大小限制小于2M
* @param imgFile 图片文件对象
* @return WxMpOcrBizLicenseResult
* @throws WxErrorException .
*/
WxOcrBizLicenseResult bizLicense(File imgFile) throws WxErrorException;
/**
* 通用印刷体OCR识别接口
* 文件大小限制小于2M
* 适用于屏幕截图印刷体照片等场景
* @param imgUrl 图片url地址
* @return WxMpOcrCommResult
* @throws WxErrorException .
*/
WxOcrCommResult comm(String imgUrl) throws WxErrorException;
/**
* 通用印刷体OCR识别接口
* 文件大小限制小于2M
* 适用于屏幕截图印刷体照片等场景
* @param imgFile 图片文件对象
* @return WxMpOcrCommResult
* @throws WxErrorException .
*/
WxOcrCommResult comm(File imgFile) throws WxErrorException;
}

View File

@ -0,0 +1,63 @@
package com.ossez.wechat.common.service;
import com.google.gson.JsonObject;
import com.ossez.wechat.common.bean.ToJson;
import com.ossez.wechat.common.exception.WxErrorException;
/**
* 微信服务接口.
*
* @author <a href="https://github.com/binarywang">Binary Wang</a>
* created on 2020-04-25
*/
public interface WxService {
/**
* 当本Service没有实现某个API的时候可以用这个针对所有微信API中的GET请求.
*
* @param queryParam 参数
* @param url 请求接口地址
* @return 接口响应字符串
* @throws WxErrorException 异常
*/
String get(String url, String queryParam) throws WxErrorException;
/**
* 当本Service没有实现某个API的时候可以用这个针对所有微信API中的POST请求.
*
* @param postData 请求参数json值
* @param url 请求接口地址
* @return 接口响应字符串
* @throws WxErrorException 异常
*/
String post(String url, String postData) throws WxErrorException;
/**
* 当本Service没有实现某个API的时候可以用这个针对所有微信API中的POST请求.
*
* @param url 请求接口地址
* @param obj 请求对象
* @return 接口响应字符串
* @throws WxErrorException 异常
*/
String post(String url, Object obj) throws WxErrorException;
/**
* 当本Service没有实现某个API的时候可以用这个针对所有微信API中的POST请求.
*
* @param url 请求接口地址
* @param jsonObject 请求对象
* @return 接口响应字符串
* @throws WxErrorException 异常
*/
String post(String url, JsonObject jsonObject) throws WxErrorException;
/**
* 当本Service没有实现某个API的时候可以用这个针对所有微信API中的POST请求.
*
* @param url 请求接口地址
* @param obj 请求对象实现了ToJson接口
* @return 接口响应字符串
* @throws WxErrorException 异常
*/
String post(String url, ToJson obj) throws WxErrorException;
}

View File

@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@ -15,7 +15,7 @@
* limitations under the License.
*/
package me.chanjar.weixin.common.session;
package com.ossez.wechat.common.session;
/**
* Manifest constants for the <code>org.apache.catalina.session</code>
@ -23,9 +23,6 @@ package me.chanjar.weixin.common.session;
*
* @author Craig R. McClanahan
*/
public class Constants {
public static final String Package = "me.chanjar.weixin.common.session";
public static final String PACKAGE = "me.chanjar.weixin.common.session";
}

Some files were not shown because too many files have changed in this diff Show More