feat: 对接MeshSafe文件安全检测(上传/解包自动送检+轮询回写,不通过禁止分享传输,文件夹确认后仅分享通过内容,人工复核/重新检测,meshsafe.enabled总开关)

This commit is contained in:
2026-11-01 20:29:31 +08:00
parent c5a262b3dd
commit 4c7dd207d0
30 changed files with 2000 additions and 6 deletions

View File

@@ -2046,3 +2046,37 @@ COMMENT ON COLUMN x_upload_config.create_time IS '创建时间';
COMMENT ON COLUMN x_upload_config.update_by IS '修改人';
COMMENT ON COLUMN x_upload_config.update_time IS '修改时间';
COMMENT ON COLUMN x_upload_config.proxy_by IS '代理人';
CREATE TABLE x_file_security (
id BIGSERIAL PRIMARY KEY,
file_code VARCHAR(32) DEFAULT NULL,
task_id VARCHAR(64) DEFAULT NULL,
scan_status VARCHAR(2) DEFAULT NULL,
action VARCHAR(32) DEFAULT NULL,
reason VARCHAR(1024) DEFAULT NULL,
result_json TEXT DEFAULT NULL,
review_comment VARCHAR(512) DEFAULT NULL,
deleted BOOLEAN DEFAULT FALSE,
create_by BIGINT DEFAULT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_by BIGINT DEFAULT NULL,
update_time TIMESTAMP DEFAULT NULL,
proxy_by BIGINT DEFAULT NULL
);
CREATE INDEX idx_file_security_file_code ON x_file_security(file_code);
CREATE INDEX idx_file_security_scan_status ON x_file_security(scan_status);
COMMENT ON TABLE x_file_security IS '文件安全检测记录';
COMMENT ON COLUMN x_file_security.id IS '主键ID';
COMMENT ON COLUMN x_file_security.file_code IS '文件编码';
COMMENT ON COLUMN x_file_security.task_id IS 'MeshSafe检测任务ID';
COMMENT ON COLUMN x_file_security.scan_status IS '检测状态:1检测中/2通过/3不通过/4检测失败';
COMMENT ON COLUMN x_file_security.action IS 'MeshSafe处置动作:pass/manual_review/reject';
COMMENT ON COLUMN x_file_security.reason IS '检测结论说明';
COMMENT ON COLUMN x_file_security.result_json IS '检测完整结果JSON';
COMMENT ON COLUMN x_file_security.review_comment IS '人工复核说明(人工改判时有值)';
COMMENT ON COLUMN x_file_security.deleted IS '是否删除';
COMMENT ON COLUMN x_file_security.create_by IS '创建人';
COMMENT ON COLUMN x_file_security.create_time IS '创建时间';
COMMENT ON COLUMN x_file_security.update_by IS '修改人';
COMMENT ON COLUMN x_file_security.update_time IS '修改时间';
COMMENT ON COLUMN x_file_security.proxy_by IS '代理人';