# 交互消息类

## ApiResult

```java
public class ApiResult<T> {
    @ApiModelProperty("响应码")
    private int code;

    @ApiModelProperty("响应消息")
    private String message;

    @ApiModelProperty("是否成功")
    private boolean success;
    
    @ApiModelProperty("响应数据")
    private T data;
}
```

## LatestRiskUpdatesVO

```java
public class LatestRiskUpdatesVO {
   @Data
    public static class ItemVO {
        //统计总数
        private long total;
        //增加数
        private long dailyIncrement;
    }

    @Data
    public static class HotspotVO {
        //最热事件id
        private String HotspotID;
        //最热事件类型
        private String HotspotType;
        //最热事件日期
        private String HotspotDate;
        //最热事件标题
        private String HotspotTitle;
    }
}

```

## LatestRisksVO

```java
public class LatestRisksVO {
    //风险信号列表
    private List<RiskVO> riskVOS;
    //风险关联事件列表
    private List<HotspotVO> hotspotVOS;
    //所有风险数
    private Long RiskCount;

    @Data
    @NoArgsConstructor
    public static class HotspotVO {
        @ApiModelProperty("id")
        private String HotspotID;

        @ApiModelProperty("标题")
        private String HotspotTitle;

        @ApiModelProperty("描述")
        private String HotspotDesc;

        @ApiModelProperty("时间")
        private Date HotspotDate;

        @ApiModelProperty("图片")
        private String HotspotPicture;

        @ApiModelProperty("发布机构名称")
        private String HotspotOrgName;

        @ApiModelProperty("类型")
        private String HotspotType;

        @ApiModelProperty("领域列表")
        private List<BaseInfo> DomainList;
        }
    }

    @Data
    public static class RiskVO {
        @ApiModelProperty("风险信号id")
        private Long signalId;

        @ApiModelProperty("风险信号标题")
        private String signalTitle;

        @ApiModelProperty("风险信号时间")
        private Date signalTime;

        @ApiModelProperty("风险信号等级")
        private String signalLevel;

    }
}
```

## AllDomainCountVO

```
public class AllDomainCountVO {
    @ApiModelProperty(value = "统计名称")
    private String countName;
    @ApiModelProperty(value = "统计数量")
    private Long countNum;
}
```

## DomainContainmentRankingVO

```
public class DomainContainmentRankingVO {
    @ApiModelProperty(value = "机构名称")
    private String orgName;

    @ApiModelProperty(value = "机构图片")
    private String orgPicture;

    @ApiModelProperty(value = "机构打压次数")
    private Long orgCount;
}
```

## DomainContainmentTrendVO

```
public class DomainContainmentTrendVO {
    @ApiModelProperty(value = "年度/月份")
    private String YearOrMonth;
    @ApiModelProperty(value = "领域列表")
    private List<DomainVO> DomainList;

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DomainVO {
        @ApiModelProperty(value = "统计名称")
        private String DomainName;
        @ApiModelProperty(value = "统计数量")
        private Long DomainNum;
    }
}
```

## DomainContainmentTimelineVO

```
public class DomainContainmentTimelineVO {

    @ApiModelProperty(value = "打压名称")
    private String EventName;

    @ApiModelProperty(value = "打压描述")
    private String EventDesc;

    @ApiModelProperty(value = "打压时间")
    private Date EventDate;

    @ApiModelProperty(value = "打压类别")
    private String EventType;

    @ApiModelProperty(value = "打压发起机构")
    private String EventOrgName;

    @ApiModelProperty(value = "打压事件id")
    private String EventId;

    @ApiModelProperty(value = "领域列表")
    private List<DomainContainmentTimelineVO.DomainVO> EventDomainList;

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DomainVO {
        @ApiModelProperty(value = "领域id")
        private String DomainId;
        @ApiModelProperty(value = "领域名称")
        private String DomainName;
    }
}
```

## TechnologyGameAnalysisVO

```
public class TechnologyGameAnalysisVO {

        @ApiModelProperty(value = "事件id")
        private String eventId;
        @ApiModelProperty(value = "事件名称")
        private String eventName;
        @ApiModelProperty(value = "事件摘要")
        private String eventDesc;
        @ApiModelProperty(value = "事件发布机构")
        private String eventOrg;
        @ApiModelProperty(value = "事件时间")
        private Date eventDate;
        @ApiModelProperty(value = "事件策略")
        private String eventStrategy;
        @ApiModelProperty(value = "事件类型")
        private String eventType;
        @ApiModelProperty(value = "事件国旗图片")
        private String eventCountryImg;

}
```



# 中美博弈概览

## **最新风险动态统计**

请求地址：/rivalryIndexV2/LatestRiskUpdates

请求类型：GET

输入参数：

​	参数：无输入

```java
@ApiParam(value = "日期", defaultValue = "本周")
@RequestParam(value = "currentDate") String currentDate
```

​	请求头：携带token，内容为：

```
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkYXRhLWNlbnRlciIsImF1ZCI6IndlYiIsImlzcyI6ImRhdGEtY2VudGVyIiwiZXhwIjozODI1ODM1NTkxLCJpYXQiOjE2NzgzNTE5NTMsImp0aSI6IjI4YmY1NTZjMTc0MDQ3YjJiNTExNWM3NzVhYjhlNWRmIiwidXNlcm5hbWUiOiJzdXBlcl91c2VyIn0.zHyVzsleX2lEqjDBYRpwluu_wy2nZKGl0dw3IUGnKNw
```

输出结果：ApiResult<LatestRiskUpdatesVO>

```
  "data": {
    "bill": { -法案
      "total": 167258,
      "dailyIncrement": 91
    },
    "administrativeOrder": {-政令
      "total": 215763,
      "dailyIncrement": 27
    },
    "Entities": {-实体清单
      "total": 141,
      "dailyIncrement": 0
    },
    "CCL": {-ccl
      "total": 3,
      "dailyIncrement": 0
    },
    "SDN": {-sdn
      "total": 3,
      "dailyIncrement": 0
    },
    "militaryInvolvement": {-涉军企业
      "total": 0,
      "dailyIncrement": 0
    },
    "337Survey": {-337调查
      "total": 2881,
      "dailyIncrement": 1
    },
    "232Survey": {-232调查
      "total": 35,
      "dailyIncrement": 0
    },
    "301Survey": {-301调查
      "total": 5,
      "dailyIncrement": 0
    },
    "policiesRegulations": {-最热政策法规
      "hotspotID": "119_HR_7065",
      "hotspotDate": "2026-01-14",
      "hotspotType": "法案",
      "hotspotTitle": "塞尼卡民族执法效率法案 (Seneca Nation Law Enforcement Efficiency Act)"
    },
    "exportControl": {-最热出口管制
      "hotspotID": "138",
      "hotspotDate": "2025-10-08",
      "hotspotType": "实体清单",
      "hotspotTitle": "实体清单的增补与修订"
    },
    "investmentFinancingRestrictions": {-最热投融资限制
      "hotspotID": "147",
      "hotspotDate": "2025-06-30",
      "hotspotType": "SDN",
      "hotspotTitle": "《出口管理条例》修订：商业管制清单新增条目"
    },
    "marketAccess": {-最热市场准入
      "hotspotID": "111",
      "hotspotDate": "2026-01-01",
      "hotspotType": "337",
      "hotspotTitle": "外国制造的半导体器件及其下游产品和组件"
    }
  }
```

## **最新风险信号**

请求地址：/rivalryIndexV2/LatestRisks

请求类型：GET

输入参数：

​	参数：无输入

​	请求头：携带token

输出结果：ApiResult<LatestRisksVO>



## **全领域统计**

请求地址：/rivalryIndexV2/AllDomainCount

请求类型：GET

输入参数：

​	参数：无输入

​	请求头：携带token

输出结果：ApiResult<List<AllDomainCountVO>>

​	

## 领域打压遏制排行

请求地址：/rivalryIndexV2/DomainContainmentRanking

请求类型：GET

输入参数：

​	参数：

```java
@ApiParam(value = "对我打压机构", defaultValue = "对我打压机构")
@RequestParam(value = "ContainmentOrg") String ContainmentOrg,
@ApiParam(value = "领域", defaultValue = "")//传空值为查询全部领域
@RequestParam(value = "Domains",required = false) String Domain
```

请求头：携带token

输出结果：ApiResult<List<DomainContainmentRankingVO>>



## 美对华制裁措施数量趋势

请求地址：/rivalryIndexV2/DomainContainmentTrend

请求类型：GET

输入参数：

参数：required = false为非必传

```java
@ApiParam(value = "日期", defaultValue = "按月统计")
@RequestParam(value = "byYOrM") String byYOrM
```

请求头：携带token

输出结果：ApiResult<List<DomainContainmentTrendVO>>

## 领域打压遏制时间线

请求地址：/rivalryIndexV2/DomainContainmentTimeline

请求类型：GET

输入参数：

参数：required = false为非必传

```JAVA
//传空值为查询全部领域
@ApiParam(value = "领域", defaultValue = "1")
@RequestParam(value = "domain",required = false) String domain
```

请求头：携带token

输出结果： ApiResult<List<DomainContainmentTimelineVO>>



## 中美科技博弈分析

请求地址：/rivalryIndexV2/TechnologyGameAnalysis

请求类型：GET

输入参数：

参数：required = false为非必传

```java
//传空值为查询全部领域
@ApiParam(value = "领域", defaultValue = "1")
@RequestParam(value = "domain",required = false) String domain
```

输出结果：ApiResult<List<TechnologyGameAnalysisVO>>
