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

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;
}
}
@@ -0,0 +1,235 @@
package cn.novalon.gym.manage.sys.core.domain;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 顾客体测记录领域对象
*
* @author 黎文涛
* @date 2026-05-04
*/
@Schema(description = "顾客体测记录实体")
public class GymBodyMeasurement extends BaseDomain {
@Schema(description = "会员ID", example = "1")
private Long memberId;
@Schema(description = "测量日期", example = "2024-01-15")
private LocalDate measureDate;
@Schema(description = "身高(cm", example = "175.00")
private BigDecimal height;
@Schema(description = "体重(kg", example = "70.00")
private BigDecimal weight;
@Schema(description = "BMI指数", example = "22.86")
private BigDecimal bmi;
@Schema(description = "体脂率(%", example = "18.50")
private BigDecimal bodyFatPercentage;
@Schema(description = "肌肉量(kg", example = "45.00")
private BigDecimal muscleMass;
@Schema(description = "水分量(kg", example = "42.00")
private BigDecimal bodyWater;
@Schema(description = "骨量(kg", example = "3.50")
private BigDecimal boneMass;
@Schema(description = "内脏脂肪等级", example = "3")
private Integer visceralFatLevel;
@Schema(description = "基础代谢(kcal", example = "1500.00")
private BigDecimal basalMetabolism;
@Schema(description = "腰围(cm", example = "80.00")
private BigDecimal waistCircumference;
@Schema(description = "臀围(cm", example = "90.00")
private BigDecimal hipCircumference;
@Schema(description = "胸围(cm", example = "95.00")
private BigDecimal chestCircumference;
@Schema(description = "臂围(cm", example = "35.00")
private BigDecimal armCircumference;
@Schema(description = "大腿围(cm", example = "55.00")
private BigDecimal thighCircumference;
@Schema(description = "收缩压(mmHg", example = "120")
private Integer systolicBloodPressure;
@Schema(description = "舒张压(mmHg", example = "80")
private Integer diastolicBloodPressure;
@Schema(description = "心率(次/分)", example = "72")
private Integer heartRate;
@Schema(description = "备注", example = "")
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,80 @@
package cn.novalon.gym.manage.sys.core.domain;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
/**
* 顾客签到记录领域对象
*
* @author 黎文涛
* @date 2026-05-04
*/
@Schema(description = "顾客签到记录实体")
public class GymCheckIn extends BaseDomain {
@Schema(description = "会员ID", example = "1")
private Long memberId;
@Schema(description = "签到时间", example = "2024-01-15 08:30:00")
private LocalDateTime checkInTime;
@Schema(description = "签退时间", example = "2024-01-15 10:30:00")
private LocalDateTime checkOutTime;
@Schema(description = "签到类型(1刷卡 2扫码 3指纹 4人脸)", example = "1")
private String checkInType;
@Schema(description = "刷卡卡号", example = "CARD0001")
private String cardId;
@Schema(description = "签到设备信息", example = "设备A-001")
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,324 @@
package cn.novalon.gym.manage.sys.core.domain;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 健身房顾客用户领域对象
*
* @author 黎文涛
* @date 2026-05-04
*/
@Schema(description = "健身房顾客用户实体")
public class GymMember extends BaseDomain {
@Schema(description = "会员编号(唯一)", example = "MEM0001")
private String memberNo;
@Schema(description = "用户名(登录用)", example = "zhangsan")
private String username;
@Schema(description = "真实姓名", example = "张三")
private String realName;
@Schema(description = "性别(0男 1女 2未知)", example = "0")
private Long gender;
@Schema(description = "出生日期", example = "1990-01-01")
private LocalDateTime birthday;
@Schema(description = "手机号码", example = "13800138000")
private String phone;
@Schema(description = "邮箱", example = "zhangsan@example.com")
private String email;
@Schema(description = "身份证号", example = "110101199001011234")
private String idCard;
@Schema(description = "省份", example = "广东省")
private String province;
@Schema(description = "城市", example = "深圳市")
private String city;
@Schema(description = "区县", example = "南山区")
private String district;
@Schema(description = "详细地址", example = "科技园路88号")
private String address;
@Schema(description = "身高(cm", example = "175.00")
private BigDecimal height;
@Schema(description = "体重(kg", example = "70.00")
private BigDecimal weight;
@Schema(description = "BMI指数", example = "22.86")
private BigDecimal bmi;
@Schema(description = "注册日期", example = "2024-01-15")
private LocalDate registrationDate;
@Schema(description = "会员卡类型ID", example = "1")
private Long cardTypeId;
@Schema(description = "会员卡开始日期", example = "2024-01-15")
private LocalDate cardStartDate;
@Schema(description = "会员卡结束日期", example = "2025-01-14")
private LocalDate cardEndDate;
@Schema(description = "会员卡状态(0正常 1即将到期 2已过期 3冻结)", example = "0")
private String cardStatus;
@Schema(description = "剩余次数(次卡使用)", example = "10")
private Integer remainingTimes;
@Schema(description = "私教ID", example = "1")
private Long coachId;
@Schema(description = "紧急联系人", example = "李四")
private String emergencyContact;
@Schema(description = "紧急联系电话", example = "13900139000")
private String emergencyPhone;
@Schema(description = "备注信息", example = "")
private String remark;
@Schema(description = "用户状态(0正常 1停用 2黑名单)", example = "0")
private Integer status;
@Schema(description = "客户来源(如地推、转介绍、线上广告等)", example = "地推")
private String source;
@Schema(description = "头像URL", example = "https://example.com/avatar.jpg")
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 Long getGender() {
return gender;
}
public void setGender(Long gender) {
this.gender = gender;
}
public LocalDateTime getBirthday() {
return birthday;
}
public void setBirthday(LocalDateTime 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,91 @@
package cn.novalon.gym.manage.sys.core.domain;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
/**
* 会员卡类型领域对象
*
* @author 黎文涛
* @date 2026-05-04
*/
@Schema(description = "会员卡类型实体")
public class GymMembershipCardType extends BaseDomain {
@Schema(description = "卡类型名称(如年卡、季卡、次卡)", example = "年卡")
private String cardTypeName;
@Schema(description = "卡类型编码", example = "YEAR_CARD")
private String cardTypeCode;
@Schema(description = "有效天数", example = "365")
private Integer durationDays;
@Schema(description = "价格", example = "1999.00")
private BigDecimal price;
@Schema(description = "描述", example = "全年不限次数")
private String description;
@Schema(description = "排序", example = "1")
private Integer sort;
@Schema(description = "状态(0正常 1停用)", example = "0")
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;
}
}