You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
livestock-trading-backend/magic-api-dashboard-interfa...

256 lines
11 KiB

大屏 Magic-API 接口速查
========================================
分组:/dashboard
前端代理:/api/dashboard/*
源文件:livestock-trading-backend/data/magic-api/api/大屏数据/*.ms
说明:均为只读;复杂逻辑见各 .ms 文件。修改 .ms 后需重启后端。
--------------------------------------------------------------------------------
1. 系统配置
--------------------------------------------------------------------------------
GET /dashboard/system-config
文件:系统配置.ms | 前端:Dashboard.vue、ChinaMap.vue、systemConfig.js
业务:大屏静态配置(标题图、地图枢纽红原、城市坐标、流向等级配色等)。
数据表:无(脚本内硬编码,可在 magic-api 或 .ms 中改)
--------------------------------------------------------------------------------
2. 实时交易统计
--------------------------------------------------------------------------------
GET /dashboard/real-time-stats
文件:实时交易统计.ms | 前端:RealTimeStats.vue
业务:按日/周/月读取政务统计指标(牦牛交易量、订单量、买卖商户数)。
参数:dimension(可选)day / week / month,不传返回全部
表:gov_count_item
字段:key(mnjyzl/jdjyzl/xsshsl/cgshsl), name, value, count_date
口径:day=最新 count_date;week=近7天;month=近30天;mnjyzl/jdjyzl 按日求和,xsshsl/cgshsl 取区间内最大值
--------------------------------------------------------------------------------
3. 交易所牦牛成交数据
--------------------------------------------------------------------------------
GET /dashboard/yak-trading-data
文件:交易所牦牛成交数据.ms | 前端:YakTradingData.vue
业务:近 6 个日/周/月时间桶的牦牛成交头数与订单数趋势(一条记录 = 一单)。
参数:period(可选)day / week / month,不传返回全部
表:gov_count_order_total
字段:id, yak_number, update_time
口径:SUM(yak_number) 为成交头数,COUNT(*) 为订单数;按 update_time 分桶
返回:labels, yakNumber, orderCount
--------------------------------------------------------------------------------
4. 综合销售统计
--------------------------------------------------------------------------------
GET /dashboard/comprehensive-sales-stats
文件:综合销售统计.ms | 前端:ComprehensiveSalesStats.vue
业务:三个饼图——本月销售、总体销售(按 origin_place Top5)、采购地区(按 buyer_place Top5)。
参数:type(可选)monthlySales / overallSalesDistribution / purchaseRegionDistribution
表:gov_count_order_total
字段:origin_place, buyer_place, yak_number, year, month
--------------------------------------------------------------------------------
5. 活牛/鲜肉价格趋势
--------------------------------------------------------------------------------
GET /dashboard/price-trend
文件:活牛鲜肉价格趋势.ms | 前端:YakPriceTrend.vue
业务:近 8 个月活牛、鲜肉采集均价(不做重量折算)。
表:gov_count_price
字段:year, month, price_key, value, unit
口径:
活牛 — price_key = hx(活畜),各区域 AVG(value)
鲜肉 — price_key IN (mnr, mnt, mnp)(牦牛肉/腿/排),各区域 AVG(value)
返回:labels, liveCattlePrice, beefPrice, liveUnit, beefUnit
--------------------------------------------------------------------------------
6. 交易中心实时服务信息
--------------------------------------------------------------------------------
GET /dashboard/exchange-service-info
文件:交易中心实时服务信息.ms | 前端:ExchangeMonitor.vue
业务:交易中心实时概览——供应/待售/已售头数、剩余车位、进场车辆、供应商数。
表:gov_count_real_info
条件:group_item = jygy,source_system = yzt
字段:key, name, value, tag, unit
key 映射:
mngyzl → totalSupply(牦牛供应总量)
dsmn → forSaleYaks(待售牦牛)
ysmn → soldYaks(已售牦牛)
sycw → remainingParking(剩余车位)
jccl → enteringVehicles(进场车辆)
gyssl → supplierCount(供应商数量)
返回:上述 value + Tag + Unit
--------------------------------------------------------------------------------
7. 牦牛销售类型统计
--------------------------------------------------------------------------------
GET /dashboard/yak-sales-type-stats
文件:牦牛销售类型统计.ms | 前端:YakSalesTypeStats.vue
业务:按 purpose 统计成交头数与占比(一条记录 = 一单)。
表:gov_count_order_total
字段:purpose, yak_number
口径:GROUP BY purpose,SUM(yak_number);空 purpose 归为「其他」
返回:name(屠宰/养殖/其他等), value, percent
--------------------------------------------------------------------------------
8. 采购商户来源分析
--------------------------------------------------------------------------------
GET /dashboard/buyer-source-analysis
文件:采购商户来源分析.ms | 前端:PurchaserAnalysis.vue
业务:按 buyer_place 统计采购商户数量 Top9(一条记录 = 一单)。
表:gov_count_order_total
字段:buyer_place, buyer_name, id
口径:GROUP BY buyer_place,COUNT(DISTINCT buyer_name);buyer_name 为空时按 id 计 1 户
返回:name, value, fullName, description
--------------------------------------------------------------------------------
9. 牦牛供应实时信息
--------------------------------------------------------------------------------
GET /dashboard/yak-supply-realtime-info
文件:牦牛供应实时信息.ms | 前端:SupplyDemandData.vue
业务:卖方进场登记列表(分页)及汇总(今日进场、总头数、交易中批次)。
参数:pageNo(默认 1)、pageSize(默认 5;勿用 page)
表及字段:
yak_trade_entry_record — id, name, vehicle_no, phone, party_id, quarantine_certificate_no, entered_at, entry_type
yak_trade_ear_tag_inventory — seller_entry_record_id, status, ear_tag_no
yak_trade_entry_record_ear_tag — entry_record_id
yak_sn_customer — id, region_name, address
条件:entry_type='SELLER'
--------------------------------------------------------------------------------
10. 牦牛供应详情
--------------------------------------------------------------------------------
GET /dashboard/yak-supply-detail
文件:牦牛供应详情.ms | 前端:SupplyDemandData.vue
业务:单条卖方进场详情(基本信息、耳标进度、关联成交订单、进场/检疫/称重图片 URL)。
参数:id(必填,yak_trade_entry_record.id)
表及字段:
yak_trade_entry_record — id, name, vehicle_no, phone, party_id, quarantine_certificate_no, entry_photo_id, entered_at, entry_type
yak_trade_ear_tag_inventory — seller_entry_record_id, ear_tag_no, status, locked_order_id
yak_trade_entry_record_ear_tag — entry_record_id, certificate_image_file_id
yak_trade_order / yak_trade_order_item — 订单与耳标明细
yak_trade_weighing_record — weight, photo_id
yak_trade_quarantine_certificate — certificate_no, image_file_id
yak_sn_customer — region_name, address(买卖方名称)
yak_car_record — 关联车辆
sys_oss — url(图片解析)
--------------------------------------------------------------------------------
11. 市场环境监控
--------------------------------------------------------------------------------
GET /dashboard/market-environment
文件:市场环境监控.ms | 前端:MarketEnvironmentMonitor.vue
业务:环境温湿度 + 气象八项实时指标。
表:gov_count_real_info
条件:group_item = env-monitor,source_system = yzt
字段:key, name, value, tag, unit
key 映射:
temperature 温度
humidity 湿度
aqi 空气质量
pressure 大气压强
uv 紫外线
rainfall 降雨量
wind_direction 风向(value=角度,tag=风向名)
wind_power 风力(value=级数)
返回:上述 value + Tag + Unit
--------------------------------------------------------------------------------
12. 市场实时监控
--------------------------------------------------------------------------------
GET /dashboard/market-realtime-monitor
文件:市场实时监控.ms | 前端:MarketRealtimeMonitor.vue
业务:萤石云视频监控设备列表,EZUIKit 播放 ezopen 地址。
表及字段:
iot_device_video — id, name, serial_number, channel_number, status, play_url, hd_play_url, preview_img_url, video_account_id, index, del_flag, is_show
iot_video_account — id, app_key, token
关联:v.video_account_id = a.id
条件:del_flag='0',is_show=true
返回:ezopenUrl, accessToken, preview 等
--------------------------------------------------------------------------------
13. 市场实时监控播放配置
--------------------------------------------------------------------------------
GET /dashboard/market-realtime-player-config
文件:市场实时监控播放配置.ms | 前端:MarketRealtimeMonitor.vue(ezvizPlayer.js)
业务:萤石云 EZUIKit 播放器参数(staticPath、template、scaleMode 等)。
数据表:无
--------------------------------------------------------------------------------
14. 地图迁徙数据
--------------------------------------------------------------------------------
GET /dashboard/map-trading-network
文件:地图迁徙数据.ms | 前端:ChinaMap.vue
业务:中央地图三种模式流向,头数 SUM(yak_number),一条记录一单。
表:gov_count_order_total
字段:origin_place, destination_place, yak_number
口径:
outflow 销售网络 — origin_place 含「红原」,按 destination_place 聚合,红原→全国
inflow 源地供应 — destination_place 含「红原」,按 origin_place 聚合,全国→红原
local 红原出栏 — destination_place 含「红原」且 origin_place 含「红原」,按 origin_place 乡镇聚合,县内乡镇→红原
关联:系统配置 mapHub.name 与脚本 hubName 需一致(默认「红原县」)
================================================================================
表 → 接口索引
================================================================================
gov_count_real_info 6, 11
gov_count_price 5
gov_count_order_total 3, 4, 7, 8, 14
gov_count_item 2
yak_sn_customer 4, 6, 9, 10
yak_trade_ear_tag_inventory 6, 9, 10
yak_trade_entry_record 6, 9, 10
yak_trade_entry_record_ear_tag 9, 10
yak_trade_order / _item 10
yak_trade_weighing_record 10
yak_trade_quarantine_certificate 10
yak_car_parking_zone 6
yak_car_record 6, 10
sys_oss 10
iot_video_account 12
iot_device_video 12
(无表) 1, 13