goupan
2024-04-03 5506e9a45e717ffcb67ec313b5a4e8206d9b3a39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
package cn.stylefeng.guns.modular.business.entity;
 
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.stylefeng.guns.modular.business.dto.request.CustomerUpdateRequest;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
 
/**
 * <p>
 * 用户咨询师课时信息
 * </p>
 *
 * @author guohongjin
 * @since 2024-02-29
 */
@Data
@TableName("t_counselling_user")
@ApiModel(value = "用户咨询师课时信息")
public class CounsellingUser {
    private static final long serialVersionUID = 1L;
 
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    @ChineseDescription("主键id")
    private Long id;
    /**
     * 咨询id
     */
    @TableField("counselling_info_id")
    @ApiModelProperty(value = "咨询id")
    @ChineseDescription("咨询id")
    private Long counsellingInfoId;
    /**
     * 用户id
     */
    @TableField("user_id")
    @ApiModelProperty(value = "用户id")
    @ChineseDescription("用户id")
    private Long userId;
    /**
     * 咨询顾问id
     */
    @TableField("consultant_user_id")
    @ApiModelProperty(value = "咨询顾问id")
    @ChineseDescription("咨询顾问id")
    private Long consultantUserId;
    /**
     * 陪护教练id
     */
    @TableField("companion_user_id")
    @ApiModelProperty(value = "陪护教练id")
    @ChineseDescription("陪护教练id")
    private Long companionUserId;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    @ChineseDescription("联系电话")
    private String phone;
    /**
     * 有效开始时间
     */
    @TableField("effective_begin_time")
    @ApiModelProperty(value = "有效开始时间")
    @ChineseDescription("有效开始时间")
    private Date effectiveBeginTime;
    /**
     * 有效结束时间
     */
    @TableField("effective_end_time")
    @ApiModelProperty(value = "有效结束时间")
    @ChineseDescription("有效结束时间")
    private Date effectiveEndTime;
    /**
     * 课时数
     */
    @TableField("class_hours")
    @ApiModelProperty(value = "课时数")
    @ChineseDescription("课时数")
    private Integer classHours;
    /**
     * 剩余课时数
     */
    @TableField("residue_class_hours")
    @ApiModelProperty(value = "剩余课时数")
    @ChineseDescription("剩余课时数")
    private Integer residueClassHours;
    /**
     * 个人信息
     */
    @TableField("user_info_json")
    @ApiModelProperty(value = "个人信息")
    @ChineseDescription("个人信息")
    private String userInfoJson;
    /**
     * 状态:0待支付,1已支付,2已完成,9取消,10退款
     */
    @TableField("status_flag")
    @ApiModelProperty(value = "状态:0待支付,1已支付,2已完成,9取消,10退款")
    @ChineseDescription("状态:0待支付,1已支付,2已完成,9取消,10退款")
    private Integer statusFlag;
    /**
     * 删除标记:1已删除,0未删除
     */
    @TableField("is_delete")
    @ApiModelProperty(value = "删除标记:1已删除,0未删除")
    @ChineseDescription("删除标记:1已删除,0未删除")
    private Integer isDelete;
    /**
     * 创建时间
     */
    @TableField("create_time")
    @ApiModelProperty(value = "创建时间")
    @ChineseDescription("创建时间")
    private Date createTime;
    /**
     * 创建人
     */
    @TableField("create_user")
    @ApiModelProperty(value = "创建人")
    @ChineseDescription("创建人")
    private Long createUser;
    /**
     * 更新人
     */
    @TableField("update_user")
    @ApiModelProperty(value = "更新人")
    @ChineseDescription("更新人")
    private Long updateUser;
    /**
     * 更新时间
     */
    @TableField("update_time")
    @ApiModelProperty(value = "更新时间")
    @ChineseDescription("更新时间")
    private Date updateTime;
    /**
     * 首次咨询预约日期
     */
    @TableField("first_appointment_date")
    @ApiModelProperty(value = "首次咨询预约日期")
    @ChineseDescription("首次咨询预约日期")
    private Date firstAppointmentDate;
    /**
     * 首次预约时间点 10:00-11:00
     */
    @TableField("first_appointment_times")
    @ApiModelProperty(value = "首次预约时间点 10:00-11:00")
    @ChineseDescription("首次预约时间点 10:00-11:00")
    private String firstAppointmentTimes;
    /**
     * 是否完成首次咨询 1-是,0-否
     */
    @TableField("is_first_appointment")
    @ApiModelProperty(value = "首次咨询预约状态 1-未预约首次咨询,2-已预约首次咨询,等待咨询,3-已完成首次预约咨询")
    @ChineseDescription("首次咨询预约状态 1-未预约首次咨询,2-已预约首次咨询,等待咨询,3-已完成首次预约咨询")
    private Integer isFirstAppointment;
 
    @TableField(exist = false)
    @ApiModelProperty("最近预约时间")
    private String lastTime;
 
    @TableField(exist = false)
    @ApiModelProperty("咨询师封面图url")
    private String coverImageUrl;
 
    @TableField(exist = false)
    @ApiModelProperty("上架状态 1-上架,2-下架")
    private Integer listingStatus;
 
    @TableField(exist = false)
    @ApiModelProperty("咨询师名称")
    private String counsellingName;
 
    @TableField(exist = false)
    @ApiModelProperty(value = "咨询师类型 1-首席咨询师,2-明星咨询师")
    @ChineseDescription("咨询师类型 1-首席咨询师,2-明星咨询师")
    private Integer counsellingType;
 
    @TableField(exist = false)
    @ApiModelProperty("现状用户信息")
    private CustomerUpdateRequest customerUpdateRequest;
 
    @ApiModelProperty("用户姓名")
    @TableField(exist = false)
    private String userName;
 
    @TableField("cancel_num")
    @ApiModelProperty("咨询预约取消次数")
    private Integer cancelNum;
 
 
    public CustomerUpdateRequest getCustomerUpdateRequest() {
        if (StrUtil.isNotBlank(this.getUserInfoJson())){
            return JSONUtil.toBean(this.getUserInfoJson(), CustomerUpdateRequest.class);
        }
        return customerUpdateRequest;
    }
 
}