package com.ylx.massage.domain; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; import org.dom4j.tree.DefaultText; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import java.util.List; /** * 技师信息实体类 *
* 该类用于映射技师表(t_js),存储技师的基本信息、资质证书、服务状态、位置信息等。 * 支持技师的注册、审核、上岗、接单等业务流程。 *
* * @author ylx * @version 1.0 * @since 2024-01-01 */ @Getter @Setter @Accessors(chain = true) @TableName(value = "t_js", autoResultMap = true) @ApiModel(value = "TJs", description = "技师信息实体") public class TJs implements Serializable { private static final long serialVersionUID = 1L; /** * 主键ID */ @TableId("id") @ApiModelProperty("主键ID") private String id; /** * 微信OpenID * 用于关联微信用户身份 */ @TableField("c_open_id") @ApiModelProperty("微信OpenID") private String cOpenId; /** * 所在城市 */ @TableField("city") @ApiModelProperty("所在城市") private String city; /** * 技师等级 * 表示技师的专业级别 */ @TableField("js_grade") @ApiModelProperty("技师等级") private Integer jsGrade; /** * 技师视频介绍 * 存储视频文件的URL地址 */ @ApiModelProperty("技师视频介绍") private String cVideo; /** * 可预约项目编号列表 * 以JSON数组格式存储,表示技师可提供的服务项目编号集合 */ @TableField(value = "c_bh_list") @ApiModelProperty("可预约项目编号列表") private String cBhList; /** * 生活照图片列表 * 以JSONArray格式存储,包含技师的生活照片URL */ @TableField(value = "c_img_list", typeHandler = FastjsonTypeHandler.class) @ApiModelProperty("生活照图片列表") private JSONArray cImgList; /** * 身份证图片列表 * 以JSONArray格式存储,包含身份证正反面照片 */ @TableField(value = "c_sfz_img", typeHandler = FastjsonTypeHandler.class) @ApiModelProperty("身份证图片列表") private JSONArray cSfzImg; /** * 性别 * 0-女,1-男 */ @TableField("n_sex") @ApiModelProperty("性别 0-女 1-男") private Integer nSex; /** * 昵称 * 显示给用户看的昵称 */ @TableField("c_nick_name") @ApiModelProperty("昵称") private String cNickName; /** * 头像URL * 技师头像图片地址 */ @TableField("c_portrait") @ApiModelProperty("头像URL") private String cPortrait; /** * 真实姓名 * 技师身份证真实姓名 */ @TableField("c_name") @ApiModelProperty("真实姓名") private String cName; /** * 联系电话 * 技师手机号码 */ @TableField("c_phone") @ApiModelProperty("联系电话") private String cPhone; /** * 居住地址 * 技师常住地址 */ @TableField("c_address") @ApiModelProperty("居住地址") private String cAddress; /** * 健康证图片URL * 用于证明技师身体健康状况 */ @TableField("health_certificate") @ApiModelProperty("健康证图片URL") private String healthCertificate; /** * 营业执照图片URL * 个体工商户营业执照 */ @TableField("business_license") @ApiModelProperty("营业执照图片URL") private String businessLicense; /** * 按摩师资格证图片URL * 专业技能认证证书 */ @TableField("certification") @ApiModelProperty("按摩师资格证图片URL") private String certification; /** * 无犯罪记录证明图片URL * 用于背景调查 */ @TableField("no_crime") @ApiModelProperty("无犯罪记录证明图片URL") private String noCrime; /** * 部门ID * 关联的部门/机构标识 */ @TableField("dept_id") @ApiModelProperty("部门ID") private String deptId; /** * 白天免车费公里数 * 白天时段(如6:00-18:00)免收车费的距离上限 */ @TableField("daytime_mileage") @ApiModelProperty("白天免车费公里数") private BigDecimal daytimeMileage; /** * 夜间免车费公里数 * 夜间时段(如18:00-6:00)免收车费的距离上限 */ @TableField("nigth_mileage") @ApiModelProperty("夜间免车费公里数") private BigDecimal nigthMileage; /** * 个人简介 * 技师自我介绍文字描述 */ @TableField("c_jianjie") @ApiModelProperty("个人简介") private String cJianjie; /** * 评分 * 用户对技师的评分,通常为1-5分 */ @TableField("n_star") @ApiModelProperty("评分") private Integer nStar; /** * 佣金比例 * 技师从订单金额中获取的佣金百分比 */ @TableField("n_bili") @ApiModelProperty("佣金比例") private Integer nBili; /** * 经度 * 技师当前位置的经度坐标 */ @TableField("longitude") @ApiModelProperty("经度") private BigDecimal longitude; /** * 纬度 * 技师当前位置的纬度坐标 */ @TableField("latitude") @ApiModelProperty("纬度") private BigDecimal latitude; /** * 已服务数量 * 技师累计完成的订单总数 */ @TableField("n_num") @ApiModelProperty("已服务订单数量") private Integer nNum; /** * 服务状态 * 0-可服务(空闲可接单) * 1-服务中(正在服务无法接单) * 2-不可服务(临时无法接单) */ @TableField("n_status") @ApiModelProperty("服务状态 0-可服务 1-服务中 2-不可服务") private Integer nStatus; /** * 上岗状态 * -1-未上岗(未通过审核或已下岗) * 0-已上岗(可接单状态) * 1-已申请上岗(待审核) */ @TableField("n_status2") @ApiModelProperty("上岗状态 -1-未上岗 0-已上岗 1-已申请") private Integer nStatus2; /** * 审核状态 * 0-待审核(初始状态) * 1-已通过(审核通过) * 2-驳回(审核不通过) * 3-拉黑(被封禁) */ @TableField("n_tong") @ApiModelProperty("审核状态 0-待审核 1-已通过 2-驳回 3-拉黑") private Integer nTong; /** * 注册时间 * 技师首次注册的时间 */ @TableField("c_time") @ApiModelProperty("注册时间") private Date cTime; /** * 是否带头像框标识 * 0-否,1-是(用于特殊标识或VIP展示) */ @TableField("n_b1") @ApiModelProperty("是否带头像框 0-否 1-是") private Integer nB1; /** * 是否新技师标识 * 0-否,1-是(用于新人推荐) */ @TableField("n_b2") @ApiModelProperty("是否新技师 0-否 1-是") private Integer nB2; /** * 是否有热度标识 * 0-否,1-是(用于热门技师推荐) */ @TableField("n_b3") @ApiModelProperty("是否有热度 0-否 1-是") private Integer nB3; /** * 创建时间 * 记录创建的时间戳 */ @TableField("dt_create_time") @ApiModelProperty("创建时间") private LocalDateTime dtCreateTime; /** * 地址名称 * 位置名称(如某某小区、某某大厦) */ @TableField("name") @ApiModelProperty("地址名称") private String name; /** * 详细地址 * 完整的街道地址信息 */ @TableField("address") @ApiModelProperty("详细地址") private String address; /** * 退回原因 * 审核被驳回时填写的原因说明 */ @TableField("reason_refusal") @ApiModelProperty("审核驳回原因") private String reasonRefusal; /** * 逻辑删除标识 * 0-未删除,1-已删除 */ @ApiModelProperty("逻辑删除标识 0-未删除 1-已删除") @TableLogic private Integer isDelete; /** * 收藏数量 * 当前技师被用户收藏的总次数(非持久化字段) */ @TableField(exist = false) @ApiModelProperty("收藏数量") private Integer number; /** * 点赞数量 * 用户对技师的点赞数 */ @ApiModelProperty("点赞数量") private Integer nZan; /** * 当前用户是否收藏 * 用于前端显示收藏状态(非持久化字段) */ @TableField(exist = false) @ApiModelProperty("当前用户是否收藏") private Boolean isCollection; /** * 技师距离 * 当前用户与技师之间的距离,单位:公里(非持久化字段) */ @TableField(exist = false) @ApiModelProperty("技师距离(公里)") private BigDecimal distance = BigDecimal.valueOf(10000L); /** * 页面类型 * 1-技师页,2-审核页(用于区分不同展示场景) */ @TableField(exist = false) @ApiModelProperty("页面类型 1-技师 2-审核") private Integer pageType; /** * 技师服务项目列表 * 关联查询的服务项目信息(非持久化字段) */ @TableField(exist = false) @ApiModelProperty("技师服务项目列表") private List