Skip to content
This repository has been archived by the owner on Jan 19, 2023. It is now read-only.

finish user pojo #2

Merged
merged 1 commit into from
Oct 25, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,16 @@
<artifactId>java-jwt</artifactId>
<version>3.0.1</version>
</dependency>
<!-- druid连接池 -->
<!--引入druid数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>RELEASE</version>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
</dependency>
</dependencies>

Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/wizzstudio/substitute/enums/Gender.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.wizzstudio.substitute.enums;

public enum Gender {
//男
MALE,
//女
FAMALE,
//不限
NO_LIMITED
}
3 changes: 3 additions & 0 deletions src/main/java/com/wizzstudio/substitute/enums/Role.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.wizzstudio.substitute.enums;

public enum Role {
//普通用户
ROLE_USER,
//一级管理员
ROLE_ADMIN_1,
//二级管理员
ROLE_ADMIN_2
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import java.io.Serializable;
import java.util.Date;

//订单
@Entity
public class Indent implements Serializable {

Expand Down
181 changes: 27 additions & 154 deletions src/main/java/com/wizzstudio/substitute/pojo/entity/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,205 +3,78 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import com.wizzstudio.substitute.enums.Gender;
import com.wizzstudio.substitute.enums.Role;
import lombok.Data;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Entity(name = "user")
@Data
public class User implements Serializable {

//用户Id
//用户Id,由26位大小写字母+10位数组随机生成
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String id;

//用户微信openid
@Column
@NotNull
private String openid;

//用户名
@Column
//师傅Id
private Integer masterId;

//用户昵称,微信名
@NotNull
private String userName;

//用户真实姓名
private String trueName;

//电话号码
@Column(length = 11, unique = true)
@NotNull
private Integer phoneNumber;
private Long phone;

//用户头像url
@Column
@NotNull
private String avatar;

//学校
@Column
@NotNull
private String school;

//性别
//用户性别,男:”MALE”,女:”FAMALE”,未知:”NO_LIMITED”
@Enumerated(EnumType.STRING)
@NotNull
private Gender gender;

@Column
private Date createTime;

@Column
private Date updateTime;

/**
* 常用地址
*/
@Column
private Integer defaultAddressId;

/**
* 用户级别
* 用户级别: 普通用户:”ROLE_USER”,一级管理员:”ROLE_ADMIN_1” ,二级管理员:”ROLE_ADMIN_2”
*/
@Enumerated(EnumType.STRING)
@NotNull
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private Role role;

//师傅Id
@Column
private Integer masterId;

/**
* 余额
*/
@Column
private Integer balance;
@NotNull
private BigDecimal balance;

/**
* 累计收入
*/
@Column
private Integer income;


public User() {
}



public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public int getPhoneNumber() {
return phoneNumber;
}

public void setPhoneNumber(int phoneNumber) {
this.phoneNumber = phoneNumber;
}

public Role getRole() {
return role;
}

public void setRole(Role role) {
this.role = role;
}

public void setPhoneNumber(Integer phoneNumber) {
this.phoneNumber = phoneNumber;
}

public String getOpenid() {
return openid;
}

public void setOpenid(String openid) {
this.openid = openid;
}

public Integer getBalance() {
return balance;
}

public void setBalance(Integer balance) {
this.balance = balance;
}

public Integer getIncome() {
return income;
}

public void setIncome(Integer income) {
this.income = income;
}

public void setId(Integer id) {
this.id = id;
}

public String getAvatar() {
return avatar;
}

public void setAvatar(String avatar) {
this.avatar = avatar;
}

public String getSchool() {
return school;
}

public void setSchool(String school) {
this.school = school;
}

public Gender getGender() {
return gender;
}

public void setGender(Gender gender) {
this.gender = gender;
}

public Date getCreateTime() {
return createTime;
}
@NotNull
private BigDecimal allIncome;

@PrePersist
public void setCreateTime() {
this.createTime = createTime;
}
//师傅收入:当推荐人获得的收入
private BigDecimal masterIncome;

public Date getUpdateTime() {
return updateTime;
}
@Column(insertable = false,updatable = false)
private Date createTime;

@PreUpdate
public void setUpdateTime() {
this.updateTime = new Date();
}
@Column(updatable = false,insertable = false)
private Date updateTime;

public Integer getId() {
return id;
}

public Integer getMasterId() {
return masterId;
}

public void setMasterId(Integer masterId) {
this.masterId = masterId;
}

public Integer getDefaultAddressId() {
return defaultAddressId;
}

public void setDefaultAddressId(Integer defaultAddressId) {
this.defaultAddressId = defaultAddressId;
}
}
26 changes: 26 additions & 0 deletions src/main/java/com/wizzstudio/substitute/util/KeyUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.wizzstudio.substitute.util;

import java.util.Random;

/**
* 用于生成唯一主键
* Created By Cx On 2018/10/25 22:16
*/
public class KeyUtil {

/**
* 生成用户唯一主键
* synchronized关键字,防止多线程冲突
*/
public static synchronized String getUserUniqueKey() {
final char[] words = {'A','a','B','b','C','c','D','d','E','e','F','f','G','g','H','h','I','i','J','j','K','k','L','l','M','m','N','n','O','o','P','p','Q','q','R','r','S','s','T','t','U','u','V','v','W','w','X','x','Y','y','Z','z','0','1','2','3','4','5','6','7','8','9'};
int length = words.length;
Random random = new Random();
//生成一个四位的随机数
StringBuilder key = new StringBuilder();
for (int i = 0; i < 6; i++){
key.append(words[random.nextInt(words.length)]);
}
return key.toString();
}
}
46 changes: 38 additions & 8 deletions src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,42 @@
#服务器端口
server.port=8001
################ database
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
################ database start ################
##数据库配置
spring.datasource.url=jdbc:mysql://120.78.131.71:3333/substitute?characterEncoding=utf8&useSSL=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=kikyou
spring.datasource.password=kikyou
spring.datasource.username=substitute
spring.datasource.password=substitute
#显示并格式化JPA sql语句
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=create
################
################
################
#数据库连接池配置(需先在pom中引入druid数据库连接池)
#初始化连接池大小,最大连接数,最小连接数
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=300000
################ database end ############

################ redis start ################
#该ip是内网ip,在服务器上用外网ip无法访问
#spring.redis.host=172.16.56.135
#spring.redis.port = 6666
##没有密码可以不写该属性
#spring.redis.password = 暂时没填,最后测试
## 连接池最大连接数
#spring.redis.jedis.pool.max-active=5000
## 连接池最大空闲连接数
#spring.redis.jedis.pool.max-idle=30000
## 连接池最小空闲连接数
#spring.redis.jedis.pool.min-idle=50
## 连接超时时间
#spring.redis.timeout= 20s
## 连接池最大阻塞时间
#spring.redis.jedis.pool.max-wait=-1ms
################ redis end ###################