时间: 2025年06月22日 15:15
状态: ✅ 已完成
类型: 功能改进
根据用户需求,改进Mex模块的价格趋势系统,实现以下功能:
添加10个新字段支持买入卖出价格统计:
-- 买入价格字段
ALTER TABLE kku_mex_daily_price_trends
ADD COLUMN buy_open_price decimal(15,5) DEFAULT NULL COMMENT '买入开盘价',
ADD COLUMN buy_close_price decimal(15,5) DEFAULT NULL COMMENT '买入收盘价',
ADD COLUMN buy_high_price decimal(15,5) DEFAULT NULL COMMENT '买入最高价',
ADD COLUMN buy_low_price decimal(15,5) DEFAULT NULL COMMENT '买入最低价',
ADD COLUMN buy_avg_price decimal(15,5) DEFAULT NULL COMMENT '买入平均价';
-- 卖出价格字段
ALTER TABLE kku_mex_daily_price_trends
ADD COLUMN sell_open_price decimal(15,5) DEFAULT NULL COMMENT '卖出开盘价',
ADD COLUMN sell_close_price decimal(15,5) DEFAULT NULL COMMENT '卖出收盘价',
ADD COLUMN sell_high_price decimal(15,5) DEFAULT NULL COMMENT '卖出最高价',
ADD COLUMN sell_low_price decimal(15,5) DEFAULT NULL COMMENT '卖出最低价',
ADD COLUMN sell_avg_price decimal(15,5) DEFAULT NULL COMMENT '卖出平均价';
MexDailyPriceTrend模型:
MexDailyPriceTrendDto:
MexDailyPriceTrendLogic核心改进:
// 无成交记录时的处理
if ($transactions->isEmpty()) {
return $this->generateTrendFromPreviousOrConfig($date, $itemId, $currencyType);
}
// 计算买入卖出价格统计
$buyPriceStats = $this->calculateBuyPriceStatistics($transactions);
$sellPriceStats = $this->calculateSellPriceStatistics($transactions);
新增方法:
generateTrendFromPreviousOrConfig(): 从前一日数据或价格配置生成趋势calculateBuyPriceStatistics(): 计算买入价格统计calculateSellPriceStatistics(): 计算卖出价格统计三级回退策略:
测试日期: 2025-06-23
结果: 成功生成趋势记录
- 使用前一日收盘价: 0.066
- 所有价格字段: 0.066
- 成交量: 0
- 价格变化: 0
测试日期: 2025-06-22
结果: 成功区分买卖价格
- 买入开盘价: 0.066
- 买入收盘价: 0.066
- 卖出价格: null(当日无卖出)
- 买入量: 100
- 卖出量: 0
测试商品ID: 999
结果: 未能生成趋势记录(符合预期)
- 没有历史数据
- 没有价格配置
- 正确返回null
kku_mex_daily_price_trends: 添加10个价格字段app/Module/Mex/Models/MexDailyPriceTrend.php: 更新字段定义app/Module/Mex/Dto/MexDailyPriceTrendDto.php: 添加新属性app/Module/Mex/Logic/MexDailyPriceTrendLogic.php: 核心逻辑改进AiWork/now.md: 更新当前工作状态AiWork/2025年06月/22日1515-Mex价格趋势买卖价格区分和无成交日期支持.md: 本文档总结: 成功实现了Mex价格趋势的买卖价格区分和无成交日期支持,解决了价格趋势断档问题,提供了更完整和连续的价格数据。