/**
 * @ProjectName: 智慧评标-主观分助手
 * @Package: com.zhpb.gdyd_zhpb_zgf.dto
 * @ClassName: ComparisonRequest
 * @Description: 对比分析请求DTO
 * @Author: 张志锋
 * @Date: 2025-11-04
 * @Version: 1.0
 * @Copyright: © 2025 智慧评标-主观分助手
 */
package com.zhpb.gdyd_zhpb_zgf.dto;

import io.swagger.v3.oas.annotations.media.Schema;

import java.util.List;

/**
 * 对比分析请求DTO
 */
@Schema(description = "对比分析请求")
public class ComparisonRequest {

    @Schema(description = "项目ID", example = "project-001", required = true)
    private String projectId;

    @Schema(description = "用户ID", example = "user-001", required = true)
    private String userId;

    @Schema(description = "供应商ID列表", required = true)
    private List<String> vendorIds;

    @Schema(description = "对比维度", required = true)
    private List<ComparisonDimension> dimensions;

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public List<String> getVendorIds() {
        return vendorIds;
    }

    public void setVendorIds(List<String> vendorIds) {
        this.vendorIds = vendorIds;
    }

    public List<ComparisonDimension> getDimensions() {
        return dimensions;
    }

    public void setDimensions(List<ComparisonDimension> dimensions) {
        this.dimensions = dimensions;
    }

    /**
     * 对比维度
     */
    public static class ComparisonDimension {
        @Schema(description = "维度类型", example = "price", allowableValues = {"price", "quality", "delivery", "service", "technology"})
        private String type;

        @Schema(description = "维度值", example = "价格")
        private String value;

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }
}
