//实体类
/**
* 微信用户信息表
*
* @TableName wx_user
*/
@EqualsAndHashCode(callSuper = true)
@TableName(value = "wx_user")
@Data
public class WxUserEntity extends BaseEntity implements Serializable {
/**
* 用户唯一编号
*/
@TableField(value = "user_code")
private String userCode;
/**
* 用户小程序openid
*/
@TableField(value = "open_id")
private String openId;
/**
* 用户开放平台unionId
*/
@TableField(value = "union_id")
private String unionId;
/**
* 昵称
*/
@TableField(value = "nick_name")
private String nickName;
/**
* 头像
*/
@TableField(value = "avatar")
private String avatar;
/**
* 手机号
*/
@TableField(value = "phone")
private String phone;
/**
* 注册状态 10:初始化 11:未注册 20:已注册
*/
@TableField(value = "status")
private Integer status;
/**
* 用户类型,0:用户1:商家,2:代理
*/
@TableField(value = "user_type")
private Integer userType;
/**
* 是否禁用 0:否 1:是
*/
@TableField(value = "disable")
private Boolean disable;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
//dto
package com.saburo.server.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 微信登录参数
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WxQueryDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 登录code
*/
@NotNull(message = "登录code不能为null")
private String loginCode;
/**
* 手机号code
*/
private String phoneCode;
/**
* 加密数据
*/
private String encryptedData;
/**
* 加密向量
*/
private String iv;
/**
* 用户唯一标识
*/
private String openId;
}
//vo
package com.saburo.server.model.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Builder;
import lombok.Data;
/**
* 用户信息
*
*/
@Data
@Builder
public class UserInfoVo {
/**
* 用户唯一编号
*/
@TableField(value = "user_code")
private String userCode;
/**
* 用户小程序openid
*/
@TableField(value = "open_id")
private String openId;
/**
* 手机号
*/
@TableField(value = "phone")
private String phone;
/**
* 昵称
*/
@TableField(value = "nick_name")
private String nickName;
}
package com.saburo.server.model.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 登录后返回的用户信息
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserLoginInfoVo implements Serializable {
/**
* 用户唯一标识
*/
private String openId;
/**
* 名称
*/
private String nickName;
/**
* 头像地址
*/
private String avatarUrl;
/**
* 手机号
*/
private String phoneNumber;
/**
* 用户token
*/
private String token;
/**
* 0:用户,1商家,2代理
*/
private Integer userType;
/**
* 是否注册
*/
private boolean isRegister;
private static final long serialVersionUID = 1L;
}
//controller层
package com.saburo.server.controller.app;
import cn.binarywang.wx.miniapp.util.WxMaConfigHolder;
import cn.