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

关于WxMpUser的sex字段的建议 #431

Closed
SoleRay opened this issue Jan 18, 2018 · 2 comments
Closed

关于WxMpUser的sex字段的建议 #431

SoleRay opened this issue Jan 18, 2018 · 2 comments

Comments

@SoleRay
Copy link

SoleRay commented Jan 18, 2018

  • 获取微信公众号用户信息的时候,把微信公众号用户的信息封装成了WxMpUser对象。但性别字段有点不妥。

  • 比如说:公众号接口返回的json中,字段sex=1,封装成WxMpUser对象以后,变成了sexId=1,sex=男

  • 作为开发的客户端用户,一般会把微信公众号用户的信息存到数据库,那建这个“公众号用户表”的时候一般会以公众号文档为准,sex字段为int

  • 当客户端开发者根据“公众号用户表”建实体类的时候,就会把实体类的sex字段设置成integer或者int,而且多半都是通过mybatis,Hibernate这些orm框架反射生成,来创建该实体类,假设这类就叫A

  • A这个类的字段基本和WxMpUser一致,除了sex字段和tagIds,tagIds无非是数组和List对象的区别,通过json依然能够兼容。但是sex字段在A类中是int,在中是String,而且实际的值也是不对应的。

  • 为了能把WxMpUser对象的值copy给A对象,就需要对类A做一些处理,WxMpUser对象的sexId是A对象sex字段实际需要的值,所以需要修改类A的setSex方法,来做匹配,或者干脆把“公众号用户表”的sex字段改成sex_id字段

  • 这样看起来似乎有点不大友好。如果WxMpUser类能够像下面这样封装,我认为或许会更好:
    sex =1,sexName=男,sexName是框架为了便利性而额外增加了,客户端开发者用与不用,由他们自己决定。但不会因为sex字段不兼容而需要重新改表或者改实体类

@binarywang
Copy link
Owner

binarywang commented Jan 27, 2018

建议很不错,下个重大版本准备如此修改:sex =1,sexDesc=男

@binarywang
Copy link
Owner

2.9.6.BETA版本已调整

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

No branches or pull requests

2 participants