完成会员查看个人信息,会员编辑个人基础信息功能(补充遗漏的未管理文件)

This commit is contained in:
2026-05-04 13:15:52 +08:00
parent 8f020d577f
commit ab2474b359
8 changed files with 1652 additions and 0 deletions
@@ -0,0 +1,297 @@
package cn.novalon.gym.manage.db.entity;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 顾客体测记录表
*
* @author 黎文涛
* @date 2026-05-04
*/
@Table("gym_body_measurement")
public class GymBodyMeasurementEntity extends BaseEntity {
/**
* 会员ID
*/
@Column("member_id")
private Long memberId;
/**
* 测量日期
*/
@Column("measure_date")
private LocalDate measureDate;
/**
* 身高(cm
*/
@Column("height")
private BigDecimal height;
/**
* 体重(kg
*/
@Column("weight")
private BigDecimal weight;
/**
* BMI指数
*/
@Column("bmi")
private BigDecimal bmi;
/**
* 体脂率(%
*/
@Column("body_fat_percentage")
private BigDecimal bodyFatPercentage;
/**
* 肌肉量(kg
*/
@Column("muscle_mass")
private BigDecimal muscleMass;
/**
* 水分量(kg
*/
@Column("body_water")
private BigDecimal bodyWater;
/**
* 骨量(kg
*/
@Column("bone_mass")
private BigDecimal boneMass;
/**
* 内脏脂肪等级
*/
@Column("visceral_fat_level")
private Integer visceralFatLevel;
/**
* 基础代谢(kcal
*/
@Column("basal_metabolism")
private BigDecimal basalMetabolism;
/**
* 腰围(cm
*/
@Column("waist_circumference")
private BigDecimal waistCircumference;
/**
* 臀围(cm
*/
@Column("hip_circumference")
private BigDecimal hipCircumference;
/**
* 胸围(cm
*/
@Column("chest_circumference")
private BigDecimal chestCircumference;
/**
* 臂围(cm
*/
@Column("arm_circumference")
private BigDecimal armCircumference;
/**
* 大腿围(cm
*/
@Column("thigh_circumference")
private BigDecimal thighCircumference;
/**
* 收缩压(mmHg
*/
@Column("systolic_blood_pressure")
private Integer systolicBloodPressure;
/**
* 舒张压(mmHg
*/
@Column("diastolic_blood_pressure")
private Integer diastolicBloodPressure;
/**
* 心率(次/分)
*/
@Column("heart_rate")
private Integer heartRate;
/**
* 备注
*/
@Column("remark")
private String remark;
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public LocalDate getMeasureDate() {
return measureDate;
}
public void setMeasureDate(LocalDate measureDate) {
this.measureDate = measureDate;
}
public BigDecimal getHeight() {
return height;
}
public void setHeight(BigDecimal height) {
this.height = height;
}
public BigDecimal getWeight() {
return weight;
}
public void setWeight(BigDecimal weight) {
this.weight = weight;
}
public BigDecimal getBmi() {
return bmi;
}
public void setBmi(BigDecimal bmi) {
this.bmi = bmi;
}
public BigDecimal getBodyFatPercentage() {
return bodyFatPercentage;
}
public void setBodyFatPercentage(BigDecimal bodyFatPercentage) {
this.bodyFatPercentage = bodyFatPercentage;
}
public BigDecimal getMuscleMass() {
return muscleMass;
}
public void setMuscleMass(BigDecimal muscleMass) {
this.muscleMass = muscleMass;
}
public BigDecimal getBodyWater() {
return bodyWater;
}
public void setBodyWater(BigDecimal bodyWater) {
this.bodyWater = bodyWater;
}
public BigDecimal getBoneMass() {
return boneMass;
}
public void setBoneMass(BigDecimal boneMass) {
this.boneMass = boneMass;
}
public Integer getVisceralFatLevel() {
return visceralFatLevel;
}
public void setVisceralFatLevel(Integer visceralFatLevel) {
this.visceralFatLevel = visceralFatLevel;
}
public BigDecimal getBasalMetabolism() {
return basalMetabolism;
}
public void setBasalMetabolism(BigDecimal basalMetabolism) {
this.basalMetabolism = basalMetabolism;
}
public BigDecimal getWaistCircumference() {
return waistCircumference;
}
public void setWaistCircumference(BigDecimal waistCircumference) {
this.waistCircumference = waistCircumference;
}
public BigDecimal getHipCircumference() {
return hipCircumference;
}
public void setHipCircumference(BigDecimal hipCircumference) {
this.hipCircumference = hipCircumference;
}
public BigDecimal getChestCircumference() {
return chestCircumference;
}
public void setChestCircumference(BigDecimal chestCircumference) {
this.chestCircumference = chestCircumference;
}
public BigDecimal getArmCircumference() {
return armCircumference;
}
public void setArmCircumference(BigDecimal armCircumference) {
this.armCircumference = armCircumference;
}
public BigDecimal getThighCircumference() {
return thighCircumference;
}
public void setThighCircumference(BigDecimal thighCircumference) {
this.thighCircumference = thighCircumference;
}
public Integer getSystolicBloodPressure() {
return systolicBloodPressure;
}
public void setSystolicBloodPressure(Integer systolicBloodPressure) {
this.systolicBloodPressure = systolicBloodPressure;
}
public Integer getDiastolicBloodPressure() {
return diastolicBloodPressure;
}
public void setDiastolicBloodPressure(Integer diastolicBloodPressure) {
this.diastolicBloodPressure = diastolicBloodPressure;
}
public Integer getHeartRate() {
return heartRate;
}
public void setHeartRate(Integer heartRate) {
this.heartRate = heartRate;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
@@ -0,0 +1,100 @@
package cn.novalon.gym.manage.db.entity;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
import java.time.LocalDateTime;
/**
* 顾客签到记录表
*
* @author 黎文涛
* @date 2026-05-04
*/
@Table("gym_check_in")
public class GymCheckInEntity extends BaseEntity {
/**
* 会员ID
*/
@Column("member_id")
private Long memberId;
/**
* 签到时间
*/
@Column("check_in_time")
private LocalDateTime checkInTime;
/**
* 签退时间
*/
@Column("check_out_time")
private LocalDateTime checkOutTime;
/**
* 签到类型(1刷卡 2扫码 3指纹 4人脸)
*/
@Column("check_in_type")
private String checkInType;
/**
* 刷卡卡号
*/
@Column("card_id")
private String cardId;
/**
* 签到设备信息
*/
@Column("device_info")
private String deviceInfo;
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public LocalDateTime getCheckInTime() {
return checkInTime;
}
public void setCheckInTime(LocalDateTime checkInTime) {
this.checkInTime = checkInTime;
}
public LocalDateTime getCheckOutTime() {
return checkOutTime;
}
public void setCheckOutTime(LocalDateTime checkOutTime) {
this.checkOutTime = checkOutTime;
}
public String getCheckInType() {
return checkInType;
}
public void setCheckInType(String checkInType) {
this.checkInType = checkInType;
}
public String getCardId() {
return cardId;
}
public void setCardId(String cardId) {
this.cardId = cardId;
}
public String getDeviceInfo() {
return deviceInfo;
}
public void setDeviceInfo(String deviceInfo) {
this.deviceInfo = deviceInfo;
}
}
@@ -0,0 +1,409 @@
package cn.novalon.gym.manage.db.entity;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 健身房顾客用户表
*
* @author 黎文涛
* @date 2026-05-04
*/
@Table("gym_member")
public class GymMemberEntity extends BaseEntity {
/**
* 会员编号(唯一)
*/
@Column("member_no")
private String memberNo;
/**
* 用户名(登录用)
*/
@Column("username")
private String username;
/**
* 真实姓名
*/
@Column("real_name")
private String realName;
/**
* 性别(0男 1女 2未知)
*/
@Column("gender")
private String gender;
/**
* 出生日期
*/
@Column("birthday")
private LocalDate birthday;
/**
* 手机号码
*/
@Column("phone")
private String phone;
/**
* 邮箱
*/
@Column("email")
private String email;
/**
* 身份证号
*/
@Column("id_card")
private String idCard;
/**
* 省份
*/
@Column("province")
private String province;
/**
* 城市
*/
@Column("city")
private String city;
/**
* 区县
*/
@Column("district")
private String district;
/**
* 详细地址
*/
@Column("address")
private String address;
/**
* 身高(cm
*/
@Column("height")
private BigDecimal height;
/**
* 体重(kg
*/
@Column("weight")
private BigDecimal weight;
/**
* BMI指数
*/
@Column("bmi")
private BigDecimal bmi;
/**
* 注册日期
*/
@Column("registration_date")
private LocalDate registrationDate;
/**
* 会员卡类型ID
*/
@Column("card_type_id")
private Long cardTypeId;
/**
* 会员卡开始日期
*/
@Column("card_start_date")
private LocalDate cardStartDate;
/**
* 会员卡结束日期
*/
@Column("card_end_date")
private LocalDate cardEndDate;
/**
* 会员卡状态(0正常 1即将到期 2已过期 3冻结)
*/
@Column("card_status")
private String cardStatus;
/**
* 剩余次数(次卡使用)
*/
@Column("remaining_times")
private Integer remainingTimes;
/**
* 私教ID
*/
@Column("coach_id")
private Long coachId;
/**
* 紧急联系人
*/
@Column("emergency_contact")
private String emergencyContact;
/**
* 紧急联系电话
*/
@Column("emergency_phone")
private String emergencyPhone;
/**
* 备注信息
*/
@Column("remark")
private String remark;
/**
* 用户状态(0正常 1停用 2黑名单)
*/
@Column("status")
private Integer status;
/**
* 客户来源(如地推、转介绍、线上广告等)
*/
@Column("source")
private String source;
/**
* 头像URL
*/
@Column("avatar_url")
private String avatarUrl;
public String getMemberNo() {
return memberNo;
}
public void setMemberNo(String memberNo) {
this.memberNo = memberNo;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public LocalDate getBirthday() {
return birthday;
}
public void setBirthday(LocalDate birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public BigDecimal getHeight() {
return height;
}
public void setHeight(BigDecimal height) {
this.height = height;
}
public BigDecimal getWeight() {
return weight;
}
public void setWeight(BigDecimal weight) {
this.weight = weight;
}
public BigDecimal getBmi() {
return bmi;
}
public void setBmi(BigDecimal bmi) {
this.bmi = bmi;
}
public LocalDate getRegistrationDate() {
return registrationDate;
}
public void setRegistrationDate(LocalDate registrationDate) {
this.registrationDate = registrationDate;
}
public Long getCardTypeId() {
return cardTypeId;
}
public void setCardTypeId(Long cardTypeId) {
this.cardTypeId = cardTypeId;
}
public LocalDate getCardStartDate() {
return cardStartDate;
}
public void setCardStartDate(LocalDate cardStartDate) {
this.cardStartDate = cardStartDate;
}
public LocalDate getCardEndDate() {
return cardEndDate;
}
public void setCardEndDate(LocalDate cardEndDate) {
this.cardEndDate = cardEndDate;
}
public String getCardStatus() {
return cardStatus;
}
public void setCardStatus(String cardStatus) {
this.cardStatus = cardStatus;
}
public Integer getRemainingTimes() {
return remainingTimes;
}
public void setRemainingTimes(Integer remainingTimes) {
this.remainingTimes = remainingTimes;
}
public Long getCoachId() {
return coachId;
}
public void setCoachId(Long coachId) {
this.coachId = coachId;
}
public String getEmergencyContact() {
return emergencyContact;
}
public void setEmergencyContact(String emergencyContact) {
this.emergencyContact = emergencyContact;
}
public String getEmergencyPhone() {
return emergencyPhone;
}
public void setEmergencyPhone(String emergencyPhone) {
this.emergencyPhone = emergencyPhone;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getAvatarUrl() {
return avatarUrl;
}
public void setAvatarUrl(String avatarUrl) {
this.avatarUrl = avatarUrl;
}
}
@@ -0,0 +1,116 @@
package cn.novalon.gym.manage.db.entity;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 会员卡类型表
*
* @author 黎文涛
* @date 2026-05-04
*/
@Table("gym_membership_card_type")
public class GymMembershipCardTypeEntity extends BaseEntity {
/**
* 卡类型名称(如年卡、季卡、次卡)
*/
@Column("card_type_name")
private String cardTypeName;
/**
* 卡类型编码
*/
@Column("card_type_code")
private String cardTypeCode;
/**
* 有效天数
*/
@Column("duration_days")
private Integer durationDays;
/**
* 价格
*/
@Column("price")
private BigDecimal price;
/**
* 描述
*/
@Column("description")
private String description;
/**
* 排序
*/
@Column("sort")
private Integer sort;
/**
* 状态(0正常 1停用)
*/
@Column("status")
private Integer status;
public String getCardTypeName() {
return cardTypeName;
}
public void setCardTypeName(String cardTypeName) {
this.cardTypeName = cardTypeName;
}
public String getCardTypeCode() {
return cardTypeCode;
}
public void setCardTypeCode(String cardTypeCode) {
this.cardTypeCode = cardTypeCode;
}
public Integer getDurationDays() {
return durationDays;
}
public void setDurationDays(Integer durationDays) {
this.durationDays = durationDays;
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}