Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

關於更新會員卡的接口,有傳參錯誤的問題 | 缺少相關接口 #1638

Closed
Josh-Zhen opened this issue Jun 22, 2020 · 14 comments
Closed

Comments

@Josh-Zhen
Copy link

@Josh-Zhen Josh-Zhen commented Jun 22, 2020

模块版本情况

  • WxJava 模块名: me.chanjar.weixin.mp.api
  • WxJava 版本号: 3.8.0

详细描述

在me.chanjar.weixin.mp.api包下的 WxMpMemberCardService接口的updateCardInfo接口,MemberCardUpdateRequest傳的參數,member_card這個值應該傳添加會員卡時的MemberCard,而不是WxMpMemberCardUpdateMessage。

WxMpMemberCardUpdateMessage 這個對象是用於更新用戶會員卡的消費或積分變動時使用的,
而官方更新會員卡模板的接口是
官方文檔: 在標簽8.2更新會員卡
地址: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Membership_Cards/Manage_Member_Card.html

修改方法是,修改傳參對象
在MemberCardUpdateRequest下的
@SerializedName("member_card")
private MemberCardUpdate memberCardUpdate;
改成:
@SerializedName("member_card")
private MemberCard memberCard;

@Josh-Zhen
Copy link
Author

@Josh-Zhen Josh-Zhen commented Jun 22, 2020

3.8.3B雖然修復了少量問題,但是依舊缺少字段。如:AdvancedInfo 這個實體等

@binarywang
Copy link
Member

@binarywang binarywang commented Jun 24, 2020

由于会员卡类型众多,目前无法完全覆盖,建议将你看到的所有缺少并希望支持的字段明确出来,方便实现,或者如果方便,建议直接提交PR

@binarywang
Copy link
Member

@binarywang binarywang commented Jul 18, 2020

模块版本情况

  • WxJava 模块名: me.chanjar.weixin.mp.api
  • WxJava 版本号: 3.8.0

详细描述

在me.chanjar.weixin.mp.api包下的 WxMpMemberCardService接口的updateCardInfo接口,MemberCardUpdateRequest傳的參數,member_card這個值應該傳添加會員卡時的MemberCard,而不是WxMpMemberCardUpdateMessage。

WxMpMemberCardUpdateMessage 這個對象是用於更新用戶會員卡的消費或積分變動時使用的,
而官方更新會員卡模板的接口是
官方文檔: 在標簽8.2更新會員卡
地址: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Membership_Cards/Manage_Member_Card.html

修改方法是,修改傳參對象
在MemberCardUpdateRequest下的
@SerializedName("member_card")
private MemberCardUpdate memberCardUpdate;
改成:
@SerializedName("member_card")
private MemberCard memberCard;

看了你的描述,感觉有点晕,为什么会扯到WxMpMemberCardUpdateMessage类去了,你下面的建议修改代码跟它也没关系啊

@binarywang
Copy link
Member

@binarywang binarywang commented Jul 18, 2020

@yuanqixun 有空也可以看看

@Josh-Zhen
Copy link
Author

@Josh-Zhen Josh-Zhen commented Jul 22, 2020

如果是服务商创建会员卡的话,实现类同样也是少字段的
在“base_info”下还会有下面
"sub_merchant_info": {"merchant_id": "子商户id"},

用于区分这个模板属于哪个子商户的

@binarywang
Copy link
Member

@binarywang binarywang commented Jul 26, 2020

如果是服务商创建会员卡的话,实现类同样也是少字段的
在“base_info”下还会有下面
"sub_merchant_info": {"merchant_id": "子商户id"},

用于区分这个模板属于哪个子商户的

貌似没有回答我的问题呢?

@Josh-Zhen
Copy link
Author

@Josh-Zhen Josh-Zhen commented Aug 10, 2020

因为你的代码就是使用了MemberCardUpdateRequest这个实体作为更新的,但是这个更新的实体是缺少参数。其实我更建议提供json拼接格式的接口,类似支付宝的sdk的那种方式,开发者自己拼接需要的参数,这样不会被实体所限制住,也是因为这个原因我最后没有选择这个框架,而是用了jfinal-weixin,相对来说虽然开发步骤是一致的,但是使用json方式的拼接会让字段的可拓展性更加强

@Josh-Zhen
Copy link
Author

@Josh-Zhen Josh-Zhen commented Aug 10, 2020

这个是jfinal-weixin所使用的方式(我只有给一个String类型的json字符串即可)
image
这个是支付宝的方式
image

@binarywang
Copy link
Member

@binarywang binarywang commented Aug 11, 2020

我们这个sdk也是支持直接传json字符串的,你直接使用post或get方法即可

@binarywang
Copy link
Member

@binarywang binarywang commented Aug 11, 2020

我们这个sdk也是支持直接传json字符串的,你直接使用post或get方法即可

但是不推荐这种方式,自己拼接很费事,sdk就是为了方便开发,减少不必要的代码

@Josh-Zhen
Copy link
Author

@Josh-Zhen Josh-Zhen commented Aug 11, 2020

我們這個sdk也是支持直接傳json字符串的,你直接使用post或get方法即可

但是不推薦這種方式,自己分解很費事,sdk就是為了方便開發,減少多餘的代碼

其实有好有坏啦,只是大家需求不同。不过还是感谢开源么好的一个项目。希望后续能升级1.8的jdk跟支持微信的v3的一些接口

@Josh-Zhen Josh-Zhen closed this Aug 11, 2020
@binarywang
Copy link
Member

@binarywang binarywang commented Aug 11, 2020

我們這個sdk也是支持直接傳json字符串的,你直接使用post或get方法即可

但是不推薦這種方式,自己分解很費事,sdk就是為了方便開發,減少多餘的代碼

其实有好有坏啦,只是大家需求不同。不过还是感谢开源么好的一个项目。希望后续能升级1.8的jdk跟支持微信的v3的一些接口

不管什么需求,目前都是支持的

@Josh-Zhen
Copy link
Author

@Josh-Zhen Josh-Zhen commented Aug 11, 2020

我們這個sdk也是支持直接傳json字符串的,你直接使用post或get方法即可

但是不推薦這種方式,自己分解很費事,sdk就是為了方便開發,減少多餘的代碼

其实有好有坏啦,只是大家需求不同。不过还是感谢开源么好的一个项目。希望后续能升级1.8的jdk跟支持微信的v3的一些接口

不管什么需求,目前都是支持的

v3的卡券好像没有支持

@binarywang
Copy link
Member

@binarywang binarywang commented Aug 11, 2020

有点跑题了感觉,不过你可以单独提issue,我说的支持,是你上面所说的自定义json参数

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.