1
0

feat: 增加日线的均线显示

This commit is contained in:
2025-10-15 23:14:50 +08:00
parent 452d1c681d
commit 47f8b30a02
5 changed files with 123 additions and 30 deletions

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.lanyuanxiaoyao.leopard.core.entity.Daily;
import com.lanyuanxiaoyao.leopard.core.entity.Stock;
import com.lanyuanxiaoyao.leopard.core.helper.NumberHelper;
import com.lanyuanxiaoyao.leopard.core.helper.TaHelper;
import com.lanyuanxiaoyao.leopard.core.service.StockService;
import com.lanyuanxiaoyao.leopard.server.entity.StockDetailVo;
import com.lanyuanxiaoyao.service.template.controller.GlobalResponse;
@@ -123,15 +124,20 @@ public class StockController extends SimpleControllerSupport<Stock, Void, StockD
@GetMapping("daily/{id}")
public GlobalResponse<Map<String, Object>> dailyCharts(@PathVariable("id") Long id) {
var data = stockService.findDailyRecent(id, 100);
var data = stockService.findDailyRecent(id, 100 + 60);
log.info("Size: {}", data.size());
var xList = new ArrayList<String>();
var yList = new ArrayList<List<Double>>();
for (var daily : data) {
for (var daily : data.subList(60, data.size() - 1)) {
xList.add(daily.getTradeDate().toString());
yList.add(List.of(daily.getHfqOpen(), daily.getHfqClose(), daily.getHfqLow(), daily.getHfqHigh()));
}
return GlobalResponse.responseMapData(Map.of(
"xList", xList, "yList", yList
"xList", xList,
"yList", yList,
"sma10", TaHelper.sma(data, 10, Daily::getHfqClose).subList(60, data.size() - 1),
"sma30", TaHelper.sma(data, 30, Daily::getHfqClose).subList(60, data.size() - 1),
"sma60", TaHelper.sma(data, 60, Daily::getHfqClose).subList(60, data.size() - 1)
));
}