package com.yifu.cloud.plus.v1.yifu.insurances.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;

/**
 * 商险信息变更表
 *
 * @author huych
 * @date 2025-12-11 15:35:05
 */
@Data
@TableName("t_insurances_change_log")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "商险信息变更表")
public class TInsurancesChangeLog extends BaseEntity {

	/**
	 * 主键
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@ExcelProperty("主键")
	@Schema(description = "主键")
	private String id;

	/**
	 * 商险信息ID
	 */
	@ExcelAttribute(name = "商险信息ID")
	@ExcelProperty("商险信息ID")
	@Schema(description = "商险信息ID")
	private String preId;

	/**
	 * 差异的信息(属性名称，逗号隔开)
	 */
	@ExcelAttribute(name = "差异的信息(属性名称，逗号隔开)")
	@ExcelProperty("差异的信息(属性名称，逗号隔开)")
	@Schema(description = "差异的信息(属性名称，逗号隔开)")
	private String differenceInfo;

	/**
	 * 原来的信息
	 */
	@ExcelAttribute(name = "原来的信息", isNotEmpty = true, errorInfo = "原来的信息不能为空")
	@NotBlank(message = "原来的信息不能为空")
	@ExcelProperty("原来的信息")
	@Schema(description = "原来的信息")
	private String oldInfo;

	/**
	 * 新的信息
	 */
	@ExcelAttribute(name = "新的信息", isNotEmpty = true, errorInfo = "新的信息不能为空")
	@NotBlank(message = "新的信息不能为空")
	@ExcelProperty("新的信息")
	@Schema(description = "新的信息")
	private String newInfo;

	/**
	 * 变更原因
	 */
	@ExcelAttribute(name = "变更原因")
	@ExcelProperty("变更原因")
	@Schema(description = "变更原因")
	private String reason;
}
