package jnpf.limsEntity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.Date;
/**
* 电子签名操作日志(lims_sign)。
* 每次电子签名校验通过后落一条;既是凭证,也是操作日志。
* 主键 f_id 即业务返回给前端的 biz_sign(直接做凭证使用)。
*/
@Data
@TableName("lims_sign")
public class LimsSignEntity {
@TableId(value = "f_id")
@JsonProperty("f_id")
@JsonAlias("id")
private String id;
@TableField(value = "f_tenant_id", fill = FieldFill.INSERT_UPDATE)
private String tenantId;
/** 业务主键(流水号 / 报告 id 等,可空:通用初始化等场景) */
@TableField("data_id")
private String dataId;
/**
* 任意结构 JSON:业务接口认领时按需写入。
* 典型用法:
*
* - 批量业务(jiance-task):{"targets":["id1","id2",...]}
* - 结构化操作日志:{"targets":[...],"comments":"...","extra":{...}}
*
* 单条业务(如 baogao reject)用 dataId 即可,本字段留空。
*/
@TableField("extra_json")
private String extraJson;
/** 操作类型({@link SignOpType} 的 code) */
@TableField("op_type")
private String opType;
/** 用户输入的账户名称(= session 用户 account) */
@TableField("account_name")
private String accountName;
/** 签名备注 / 说明原因 */
@TableField("note")
private String note;
/** 调用方附带的业务元数据字符串 */
@TableField("meta_data")
private String metaData;
@TableField("f_version")
private Integer version;
@TableField("f_delete_mark")
private Integer deleteMark;
@TableField("f_delete_time")
private Date deleteTime;
@TableField("f_delete_user_id")
private String deleteUserId;
@TableField(value = "f_creator_user_id", fill = FieldFill.INSERT)
private String creatorUserId;
@TableField(value = "f_creator_time", fill = FieldFill.INSERT)
private Date creatorTime;
@TableField(value = "f_last_modify_user_id", fill = FieldFill.UPDATE)
private String lastModifyUserId;
@TableField(value = "f_last_modify_time", fill = FieldFill.UPDATE)
private Date lastModifyTime;
}