概念 VO(View Object)
场景1
当前端展示页面展示的更多关于用户的消息,如用户的角色Role,而User实体类中的信息不全
现在我们有一张用户列表t_user,对应的实体类如下:
import io.swagger.annotations.ApiModelProperty;
public class User {
@ApiModelProperty(value = "用户id")
private String userId;
@ApiModelProperty(value = "用户名称")
private String accountname;
/**
* 状态参考 UserStatus
*/
@ApiModelProperty(value = "用户状态 1已认证,2 认证中,3未通过认证,7未提交认证")
private Integer status;
@ApiModelProperty(value = "头像地址")
private String headPicFileName;
@ApiModelProperty(value = "手机号")
private String telephone;
/**
* 用户级别 0到期 1游客 2临时用户 3认证用户 参考health com.dachen.health.commons.vo.User
*/
private Integer userLevel;
@ApiModelProperty(value = "医生信息")
private Doctor doctor;
}
我们通过创建一个类通过 UserVO extends User 的方式获取更多
public class CircleUserVO extends User{
@ApiModelProperty(value = "在该圈子的角色1:管理员 2:圈主(负责人)3:顾问 逗号拼接 多个角色 可同时为管理员,圈主,顾问")
private String role;
@ApiModelProperty(value = "0否 1是 永久免费")
private Integer permanentFree;
@ApiModelProperty(value = "1正常 2欠费")
private Integer arrearageStatus;
。。。。
}
场景二
当前端提交给后台的数据很有限或者很少时,如注册页面提供的信息一般在4个字段左右,而通常的User实体类会有大量的字段需要填充
public class CircleUserVO {
@ApiModelProperty(value = "手机号")
private String telephone;
@ApiModelProperty(value = "用户名称")
private String accountname;
@ApiModelProperty(value = "用户密码")
private String password;
}
1