Skip to content

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

@SoleRay

Description

@SoleRay
  • 获取微信公众号用户信息的时候,把微信公众号用户的信息封装成了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字段不兼容而需要重新改表或者改实体类

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions