package admin.modules.chatgpt.domain; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModelProperty; import lombok.*; import lombok.experimental.Accessors; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.sql.Timestamp; /** * @author wk * @date 2023-11-28 */ @Data @Builder @Accessors(chain = true) @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = false) @TableName("chatgpt_role_session") public class ChatgptRoleSession implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "唯一标识,自动递增") @TableId(type= IdType.AUTO) private Integer id; @ApiModelProperty(value = "名称") @NotBlank private String name; @ApiModelProperty(value = "角色描述id") @NotNull private Integer roleDescId; @ApiModelProperty(value = "用户id") @NotNull private Integer userId; @ApiModelProperty(value = "创建时间") @TableField(fill= FieldFill.INSERT) private Timestamp createTime; @ApiModelProperty(value = "更新时间") @TableField(fill= FieldFill.INSERT_UPDATE) private Timestamp updateTime; public void copyFrom(ChatgptRoleSession source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } }