@ -5,10 +5,13 @@ import java.text.SimpleDateFormat;
import java.util.* ;
import java.util.* ;
import javax.servlet.http.HttpServletResponse ;
import javax.servlet.http.HttpServletResponse ;
import com.ruoyi.common.core.redis.RedisCache ;
import com.ruoyi.common.utils.StringUtils ;
import com.ruoyi.stocksystem.domain.* ;
import com.ruoyi.stocksystem.domain.* ;
import com.ruoyi.stocksystem.domain.service.IStocksInTrendService ;
import com.ruoyi.stocksystem.domain.service.IStocksInTrendService ;
import com.ruoyi.stocksystem.domain.service.IStocksService ;
import com.ruoyi.stocksystem.domain.service.IStocksService ;
import com.ruoyi.stocksystem.domain.service.ITradeDatesService ;
import com.ruoyi.stocksystem.domain.service.ITradeDatesService ;
import com.ruoyi.stocksystem.service.IStockIndexService ;
import org.springframework.security.access.prepost.PreAuthorize ;
import org.springframework.security.access.prepost.PreAuthorize ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.web.bind.annotation.GetMapping ;
import org.springframework.web.bind.annotation.GetMapping ;
@ -27,6 +30,8 @@ import com.ruoyi.stocksystem.domain.service.ITrendsService;
import com.ruoyi.common.utils.poi.ExcelUtil ;
import com.ruoyi.common.utils.poi.ExcelUtil ;
import com.ruoyi.common.core.page.TableDataInfo ;
import com.ruoyi.common.core.page.TableDataInfo ;
import static com.ruoyi.common.constant.Constants.* ;
/ * *
/ * *
* 动 量 结 果 Controller
* 动 量 结 果 Controller
*
*
@ -49,6 +54,11 @@ public class TrendsController extends BaseController
@Autowired
@Autowired
private IStocksService stocksService ;
private IStocksService stocksService ;
@Autowired
private IStockIndexService stockIndexService ;
@Autowired
private RedisCache redisCache ;
/ * *
/ * *
* 查 询 动 量 结 果 列 表
* 查 询 动 量 结 果 列 表
* /
* /
@ -56,8 +66,17 @@ public class TrendsController extends BaseController
@GetMapping ( "/list" )
@GetMapping ( "/list" )
public TableDataInfo list ( Trends trends )
public TableDataInfo list ( Trends trends )
{
{
// List<Trends> list = redisCache.getCacheList(STOCK_TRENDS + trends.getTradeDay().toString() + "_" + trends.getType());
// System.out.println("redisKey: " + STOCK_TRENDS + trends.getTradeDay().toString() + "_" + trends.getType());
// if(list.isEmpty()) {
// System.out.println("redisKey is Empty.");
// startPage();
//// System.out.println("trendList tradeDay : " + trends.getTradeDay().toString());
//// List<Trends> list = trendsService.selectTrendsList(trends);
// list = trendsService.selectTrendsList(trends);
// redisCache.setCacheList(STOCK_TRENDS + trends.getTradeDay().toString() + "_" + trends.getType(), list);
// }
startPage ( ) ;
startPage ( ) ;
// System.out.println("trendList tradeDay : " + trends.getTradeDay().toString());
List < Trends > list = trendsService . selectTrendsList ( trends ) ;
List < Trends > list = trendsService . selectTrendsList ( trends ) ;
return getDataTable ( list ) ;
return getDataTable ( list ) ;
}
}
@ -77,6 +96,8 @@ public class TrendsController extends BaseController
@GetMapping ( "/querytrendstockslist" )
@GetMapping ( "/querytrendstockslist" )
public TableDataInfo querytrendstockslist ( Trends trends )
public TableDataInfo querytrendstockslist ( Trends trends )
{
{
List < StocksInTrend > result = redisCache . getCacheList ( getHomeTrendsStocks ( trends ) ) ;
if ( result . isEmpty ( ) ) {
// startPage();
// startPage();
System . out . println ( "querytrendstockslist type : " + trends . getType ( ) ) ;
System . out . println ( "querytrendstockslist type : " + trends . getType ( ) ) ;
System . out . println ( "querytrendstockslist tradeDay : " + trends . getTradeDay ( ) . toString ( ) ) ;
System . out . println ( "querytrendstockslist tradeDay : " + trends . getTradeDay ( ) . toString ( ) ) ;
@ -112,8 +133,7 @@ public class TrendsController extends BaseController
stocksInTrend . setTradeDay ( trends . getTradeDay ( ) ) ;
stocksInTrend . setTradeDay ( trends . getTradeDay ( ) ) ;
List < StocksInTrend > stocksInTrendList1 = stocksInTrendService . selectStocksInTrendList ( stocksInTrend ) ;
List < StocksInTrend > stocksInTrendList1 = stocksInTrendService . selectStocksInTrendList ( stocksInTrend ) ;
int trendCount = 0 ;
int trendCount = 0 ;
for ( Trends trends1 : list )
for ( Trends trends1 : list ) {
{
if ( trendCount > = 20 )
if ( trendCount > = 20 )
break ;
break ;
int trendStockLimit = 5 ;
int trendStockLimit = 5 ;
@ -122,12 +142,10 @@ public class TrendsController extends BaseController
else
else
trendStockLimit = 3 ;
trendStockLimit = 3 ;
trendCount + + ;
trendCount + + ;
for ( StocksInTrend stocksInTrend1 : stocksInTrendList1 )
for ( StocksInTrend stocksInTrend1 : stocksInTrendList1 ) {
{
if ( trendStockLimit < = 0 )
if ( trendStockLimit < = 0 )
break ;
break ;
if ( trends1 . getBlemind2 ( ) . equals ( stocksInTrend1 . getBlemind2 ( ) ) )
if ( trends1 . getBlemind2 ( ) . equals ( stocksInTrend1 . getBlemind2 ( ) ) ) {
{
stocksInTrendList . add ( stocksInTrend1 ) ;
stocksInTrendList . add ( stocksInTrend1 ) ;
trendStockLimit - - ;
trendStockLimit - - ;
}
}
@ -139,13 +157,10 @@ public class TrendsController extends BaseController
List < Stocks > stocksList = stocksService . selectStocksForHigh ( stocks ) ;
List < Stocks > stocksList = stocksService . selectStocksForHigh ( stocks ) ;
stocks . setStradeDay ( tradeDay10 ) ;
stocks . setStradeDay ( tradeDay10 ) ;
List < Stocks > stocksList10 = stocksService . selectStocksForHigh ( stocks ) ;
List < Stocks > stocksList10 = stocksService . selectStocksForHigh ( stocks ) ;
List < StocksInTrend > result = new ArrayList < StocksInTrend > ( ) ;
// List<StocksInTrend> result = new ArrayList<StocksInTrend>();
for ( StocksInTrend stocksInTrend1 : stocksInTrendList )
for ( StocksInTrend stocksInTrend1 : stocksInTrendList ) {
{
for ( Stocks stocks1 : stocksList ) {
for ( Stocks stocks1 : stocksList )
if ( stocks1 . getCode ( ) . equals ( stocksInTrend1 . getCode ( ) ) ) {
{
if ( stocks1 . getCode ( ) . equals ( stocksInTrend1 . getCode ( ) ) )
{
//计算
//计算
BigDecimal current = stocksInTrend1 . getClose ( ) ;
BigDecimal current = stocksInTrend1 . getClose ( ) ;
BigDecimal high = stocks1 . getClose ( ) ;
BigDecimal high = stocks1 . getClose ( ) ;
@ -158,10 +173,8 @@ public class TrendsController extends BaseController
}
}
}
}
for ( Stocks stocks2 : stocksList10 )
for ( Stocks stocks2 : stocksList10 ) {
{
if ( stocks2 . getCode ( ) . equals ( stocksInTrend1 . getCode ( ) ) ) {
if ( stocks2 . getCode ( ) . equals ( stocksInTrend1 . getCode ( ) ) )
{
//计算
//计算
BigDecimal current = stocksInTrend1 . getClose ( ) ;
BigDecimal current = stocksInTrend1 . getClose ( ) ;
BigDecimal high = stocks2 . getClose ( ) ;
BigDecimal high = stocks2 . getClose ( ) ;
@ -174,6 +187,10 @@ public class TrendsController extends BaseController
}
}
result . add ( stocksInTrend1 ) ;
result . add ( stocksInTrend1 ) ;
}
}
if ( ! result . isEmpty ( ) ) {
redisCache . setCacheList ( getHomeTrendsStocks ( trends ) , result ) ;
redisCache . expire ( getHomeTrendsStocks ( trends ) , EXPIRED_TIME ) ;
}
// //遍历获取板块内个股
// //遍历获取板块内个股
// int trendsCount = 0;
// int trendsCount = 0;
@ -232,6 +249,7 @@ public class TrendsController extends BaseController
// stocksInTrendList.add(sit);
// stocksInTrendList.add(sit);
// }
// }
// }
// }
}
System . out . println ( "querytrendstockslist count : " + result . size ( ) ) ;
System . out . println ( "querytrendstockslist count : " + result . size ( ) ) ;
return getDataTable ( result ) ;
return getDataTable ( result ) ;
}
}
@ -242,11 +260,19 @@ public class TrendsController extends BaseController
@GetMapping ( "/listSection" )
@GetMapping ( "/listSection" )
public TableDataInfo listSection ( Trends trends )
public TableDataInfo listSection ( Trends trends )
{
{
// startPage();
//查询可交易日期
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
// String dateString = formatter.format(currentTime);
// startPage();
List < TrendForVue > resultDataList ;
//如果存在搜索条件时, 不走redis, 也不缓存
if ( ! StringUtils . isEmpty ( trends . getBlemind2 ( ) ) )
resultDataList = new ArrayList < > ( ) ;
else
resultDataList = redisCache . getCacheList ( getTrendsRedisKey ( trends ) ) ;
System . out . println ( "redisKey: " + getTrendsRedisKey ( trends ) ) ;
//查询可交易日期
// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
if ( resultDataList . isEmpty ( ) ) {
TradeDates tradeDates = new TradeDates ( ) ;
TradeDates tradeDates = new TradeDates ( ) ;
tradeDates . setDate ( trends . getTradeDay ( ) ) ;
tradeDates . setDate ( trends . getTradeDay ( ) ) ;
tradeDates . setLimitCount ( 10l ) ;
tradeDates . setLimitCount ( 10l ) ;
@ -255,11 +281,10 @@ public class TrendsController extends BaseController
trends . setTradeDay ( tradeDatesList . get ( 0 ) . getDate ( ) ) ;
trends . setTradeDay ( tradeDatesList . get ( 0 ) . getDate ( ) ) ;
List < Trends > currentTradeDayTrendslist = trendsService . selectTrendsList ( trends ) ;
List < Trends > currentTradeDayTrendslist = trendsService . selectTrendsList ( trends ) ;
List < TrendForVue > resultDataList = new ArrayList < TrendForVue > ( ) ;
// List<TrendForVue> resultDataList = new ArrayList<TrendForVue>();
TrendForVue tfv = new TrendForVue ( ) ;
TrendForVue tfv = new TrendForVue ( ) ;
List < String > blemind2List = new ArrayList < String > ( ) ;
List < String > blemind2List = new ArrayList < String > ( ) ;
for ( Trends ct : currentTradeDayTrendslist )
for ( Trends ct : currentTradeDayTrendslist ) {
{
blemind2List . add ( ct . getBlemind2 ( ) ) ;
blemind2List . add ( ct . getBlemind2 ( ) ) ;
}
}
tfv . setDataList ( currentTradeDayTrendslist ) ;
tfv . setDataList ( currentTradeDayTrendslist ) ;
@ -269,41 +294,44 @@ public class TrendsController extends BaseController
resultDataList . add ( tfv ) ;
resultDataList . add ( tfv ) ;
//初始化列表
//初始化列表
for ( TradeDates day : tradeDatesList )
for ( TradeDates day : tradeDatesList ) {
{
List < String > sortDataList = new ArrayList < String > ( ) ;
List < String > sortDataList = new ArrayList < String > ( ) ;
TrendForVue tf = new TrendForVue ( ) ;
TrendForVue tf = new TrendForVue ( ) ;
tf . setTitle ( formatter . format ( day . getDate ( ) ) ) ;
tf . setTitle ( formatter . format ( day . getDate ( ) ) ) ;
tf . setIsBlemind2 ( false ) ; ;
tf . setIsBlemind2 ( false ) ;
;
tf . setSortDataList ( sortDataList ) ;
tf . setSortDataList ( sortDataList ) ;
resultDataList . add ( tf ) ;
resultDataList . add ( tf ) ;
}
}
for ( Trends trend : currentTradeDayTrendslist )
for ( Trends trend : currentTradeDayTrendslist ) {
{
Trends t = new Trends ( ) ;
Trends t = new Trends ( ) ;
t . setType ( trends . getType ( ) ) ;
t . setType ( trends . getType ( ) ) ;
t . setBlemind2 ( trend . getBlemind2 ( ) ) ;
t . setBlemind2 ( trend . getBlemind2 ( ) ) ;
t . setTradeDay ( trends . getTradeDay ( ) ) ;
t . setTradeDay ( trends . getTradeDay ( ) ) ;
List < Trends > list = trendsService . selectTrendList ( t ) ;
List < Trends > list = trendsService . selectTrendList ( t ) ;
for ( int i = 1 ; i < resultDataList . size ( ) ; i + + )
for ( int i = 1 ; i < resultDataList . size ( ) ; i + + ) {
{
boolean isHasSort = false ;
boolean isHasSort = false ;
for ( Trends ttrend : list )
for ( Trends ttrend : list ) {
{
if ( formatter . format ( ttrend . getTradeDay ( ) ) . equals ( resultDataList . get ( i ) . getTitle ( ) ) ) {
if ( formatter . format ( ttrend . getTradeDay ( ) ) . equals ( resultDataList . get ( i ) . getTitle ( ) ) )
{
resultDataList . get ( i ) . getSortDataList ( ) . add ( ttrend . getSort ( ) . toString ( ) ) ;
resultDataList . get ( i ) . getSortDataList ( ) . add ( ttrend . getSort ( ) . toString ( ) ) ;
isHasSort = true ;
isHasSort = true ;
break ;
break ;
}
}
}
}
if ( ! isHasSort )
if ( ! isHasSort ) {
{
resultDataList . get ( i ) . getSortDataList ( ) . add ( "-1" ) ;
resultDataList . get ( i ) . getSortDataList ( ) . add ( "-1" ) ;
}
}
}
}
}
}
if ( StringUtils . isEmpty ( trends . getBlemind2 ( ) ) ) {
if ( ! resultDataList . isEmpty ( ) ) {
redisCache . setCacheList ( getTrendsRedisKey ( trends ) , resultDataList ) ;
redisCache . expire ( getTrendsRedisKey ( trends ) , EXPIRED_TIME ) ; //单位秒
}
}
System . out . println ( "redisKey: list is empty." ) ;
}
return getDataTable ( resultDataList ) ;
return getDataTable ( resultDataList ) ;
// //当天的数据在第一列,后面都是以这个为顺序
// //当天的数据在第一列,后面都是以这个为顺序
@ -327,9 +355,399 @@ public class TrendsController extends BaseController
/ * *
/ * *
* 查 询 行 情 数 据 列 表 含 基 础 数 据
* 查 询 行 情 数 据 列 表 含 基 础 数 据
* /
* /
@GetMapping ( "/listTradeVolume" )
public TableDataInfo listTradeVolume ( StockIndex stockIndex )
{
//查询可交易日期
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
TradeDates tradeDates = new TradeDates ( ) ;
tradeDates . setDate ( stockIndex . getTradeDay ( ) ) ;
tradeDates . setLimitCount ( 10l ) ;
List < TradeDates > tradeDatesList = tradeDatesService . selectTradeDatesListB ( tradeDates ) ;
stockIndex . setTradeDay ( tradeDatesList . get ( 0 ) . getDate ( ) ) ;
List < StockIndex > currentTradeDayStockIndexlist = stockIndexService . selectStockIndexTradeVolumeList ( stockIndex ) ;
List < TrendForVue > resultDataList = new ArrayList < TrendForVue > ( ) ;
TrendForVue tfv = new TrendForVue ( ) ;
List < String > blemind2List = new ArrayList < String > ( ) ;
for ( StockIndex ct : currentTradeDayStockIndexlist )
{
blemind2List . add ( ct . getName ( ) ) ;
}
// tfv.setDataList(currentTradeDayTrendslist);
tfv . setTitle ( "2级行业" ) ;
tfv . setIsBlemind2 ( true ) ;
tfv . setSortDataList ( blemind2List ) ;
tfv . setRawDataList ( blemind2List ) ;
resultDataList . add ( tfv ) ;
//初始化列表
StockIndex stockIndex1 = new StockIndex ( ) ;
for ( TradeDates day : tradeDatesList )
{
stockIndex1 . setTradeDay ( day . getDate ( ) ) ;
List < StockIndex > trradeDayStockIndexlist = stockIndexService . selectStockIndexTradeVolumeList ( stockIndex1 ) ;
List < String > sortDataList = new ArrayList < String > ( ) ;
List < String > amoutsDataList = new ArrayList < String > ( ) ;
TrendForVue tf = new TrendForVue ( ) ;
tf . setTitle ( formatter . format ( day . getDate ( ) ) ) ;
tf . setIsBlemind2 ( false ) ;
for ( StockIndex stockIndexTmp : currentTradeDayStockIndexlist )
{
boolean isHasSort = false ;
int currentSort = 1 ;
for ( StockIndex stockIndex2 : trradeDayStockIndexlist )
{
if ( stockIndex2 . getCode ( ) . equals ( stockIndexTmp . getCode ( ) ) )
{
// sortDataList.add(stockIndex2.Amountliqmv().toString());
sortDataList . add ( String . valueOf ( currentSort ) ) ; //传输的是排名
amoutsDataList . add ( stockIndex2 . getAmountliqmv ( ) . setScale ( 2 , BigDecimal . ROUND_UP ) . toString ( ) ) ;
currentSort + + ;
isHasSort = true ;
break ;
}
else
{
currentSort + + ;
}
}
if ( ! isHasSort )
{
sortDataList . add ( "-1" ) ;
amoutsDataList . add ( "-1" ) ;
}
}
tf . setSortDataList ( sortDataList ) ;
tf . setRawDataList ( amoutsDataList ) ;
resultDataList . add ( tf ) ;
}
return getDataTable ( resultDataList ) ;
}
/ * *
* 查 询 行 情 数 据 列 表 含 基 础 数 据
* /
@GetMapping ( "/listStockIndexLimitUp" )
public TableDataInfo listStockIndexLimitUp ( StockIndex stockIndex )
{
//查询可交易日期
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
TradeDates tradeDates = new TradeDates ( ) ;
tradeDates . setDate ( stockIndex . getTradeDay ( ) ) ;
tradeDates . setLimitCount ( 10l ) ;
List < TradeDates > tradeDatesList = tradeDatesService . selectTradeDatesListB ( tradeDates ) ;
stockIndex . setTradeDay ( tradeDatesList . get ( 0 ) . getDate ( ) ) ;
stockIndex . setOrderParam ( "limitupnum" ) ;
List < StockIndex > currentTradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex ) ;
List < TrendForVue > resultDataList = new ArrayList < TrendForVue > ( ) ;
TrendForVue tfv = new TrendForVue ( ) ;
List < String > blemind2List = new ArrayList < String > ( ) ;
for ( StockIndex ct : currentTradeDayStockIndexlist )
{
blemind2List . add ( ct . getName ( ) ) ;
}
// tfv.setDataList(currentTradeDayTrendslist);
tfv . setTitle ( "2级行业" ) ;
tfv . setIsBlemind2 ( true ) ;
tfv . setSortDataList ( blemind2List ) ;
resultDataList . add ( tfv ) ;
//初始化列表
StockIndex stockIndex1 = new StockIndex ( ) ;
for ( TradeDates day : tradeDatesList )
{
stockIndex1 . setTradeDay ( day . getDate ( ) ) ;
stockIndex1 . setOrderParam ( "limitupnum" ) ;
List < StockIndex > trradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex1 ) ;
List < String > sortDataList = new ArrayList < String > ( ) ;
TrendForVue tf = new TrendForVue ( ) ;
tf . setTitle ( formatter . format ( day . getDate ( ) ) ) ;
tf . setIsBlemind2 ( false ) ;
for ( StockIndex stockIndexTmp : currentTradeDayStockIndexlist )
{
boolean isHasSort = false ;
for ( StockIndex stockIndex2 : trradeDayStockIndexlist )
{
if ( stockIndex2 . getCode ( ) . equals ( stockIndexTmp . getCode ( ) ) )
{
sortDataList . add ( stockIndex2 . getLimitupnum ( ) . setScale ( 0 , BigDecimal . ROUND_UP ) . toString ( ) ) ;
isHasSort = true ;
break ;
}
}
if ( ! isHasSort )
{
sortDataList . add ( "-1" ) ;
}
}
tf . setSortDataList ( sortDataList ) ;
resultDataList . add ( tf ) ;
}
return getDataTable ( resultDataList ) ;
}
/ * *
* 查 询 行 情 数 据 列 表 含 基 础 数 据
* /
@GetMapping ( "/listStockIndexLimitDown" )
public TableDataInfo listStockIndexLimitDown ( StockIndex stockIndex )
{
//查询可交易日期
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
TradeDates tradeDates = new TradeDates ( ) ;
tradeDates . setDate ( stockIndex . getTradeDay ( ) ) ;
tradeDates . setLimitCount ( 10l ) ;
List < TradeDates > tradeDatesList = tradeDatesService . selectTradeDatesListB ( tradeDates ) ;
stockIndex . setTradeDay ( tradeDatesList . get ( 0 ) . getDate ( ) ) ;
stockIndex . setOrderParam ( "limitdownnum" ) ;
List < StockIndex > currentTradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex ) ;
List < TrendForVue > resultDataList = new ArrayList < TrendForVue > ( ) ;
TrendForVue tfv = new TrendForVue ( ) ;
List < String > blemind2List = new ArrayList < String > ( ) ;
for ( StockIndex ct : currentTradeDayStockIndexlist )
{
blemind2List . add ( ct . getName ( ) ) ;
}
// tfv.setDataList(currentTradeDayTrendslist);
tfv . setTitle ( "2级行业" ) ;
tfv . setIsBlemind2 ( true ) ;
tfv . setSortDataList ( blemind2List ) ;
resultDataList . add ( tfv ) ;
//初始化列表
StockIndex stockIndex1 = new StockIndex ( ) ;
for ( TradeDates day : tradeDatesList )
{
stockIndex1 . setTradeDay ( day . getDate ( ) ) ;
stockIndex1 . setOrderParam ( "limitdownnum" ) ;
List < StockIndex > trradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex1 ) ;
List < String > sortDataList = new ArrayList < String > ( ) ;
TrendForVue tf = new TrendForVue ( ) ;
tf . setTitle ( formatter . format ( day . getDate ( ) ) ) ;
tf . setIsBlemind2 ( false ) ;
for ( StockIndex stockIndexTmp : currentTradeDayStockIndexlist )
{
boolean isHasSort = false ;
for ( StockIndex stockIndex2 : trradeDayStockIndexlist )
{
if ( stockIndex2 . getCode ( ) . equals ( stockIndexTmp . getCode ( ) ) )
{
sortDataList . add ( stockIndex2 . getLimitdownnum ( ) . toString ( ) ) ;
isHasSort = true ;
break ;
}
}
if ( ! isHasSort )
{
sortDataList . add ( "-1" ) ;
}
}
tf . setSortDataList ( sortDataList ) ;
resultDataList . add ( tf ) ;
}
return getDataTable ( resultDataList ) ;
}
/ * *
* 查 询 行 情 数 据 列 表 含 基 础 数 据
* /
@GetMapping ( "/listStockIndexHighRocord" )
public TableDataInfo listStockIndexHighRocord ( StockIndex stockIndex )
{
//查询可交易日期
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
TradeDates tradeDates = new TradeDates ( ) ;
tradeDates . setDate ( stockIndex . getTradeDay ( ) ) ;
tradeDates . setLimitCount ( 10l ) ;
List < TradeDates > tradeDatesList = tradeDatesService . selectTradeDatesListB ( tradeDates ) ;
stockIndex . setTradeDay ( tradeDatesList . get ( 0 ) . getDate ( ) ) ;
stockIndex . setOrderParam ( "rcnthigh" ) ;
List < StockIndex > currentTradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex ) ;
List < TrendForVue > resultDataList = new ArrayList < TrendForVue > ( ) ;
TrendForVue tfv = new TrendForVue ( ) ;
List < String > blemind2List = new ArrayList < String > ( ) ;
for ( StockIndex ct : currentTradeDayStockIndexlist )
{
blemind2List . add ( ct . getName ( ) ) ;
}
// tfv.setDataList(currentTradeDayTrendslist);
tfv . setTitle ( "2级行业" ) ;
tfv . setIsBlemind2 ( true ) ;
tfv . setSortDataList ( blemind2List ) ;
resultDataList . add ( tfv ) ;
//初始化列表
StockIndex stockIndex1 = new StockIndex ( ) ;
for ( TradeDates day : tradeDatesList )
{
stockIndex1 . setTradeDay ( day . getDate ( ) ) ;
stockIndex1 . setOrderParam ( "rcnthigh" ) ;
List < StockIndex > trradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex1 ) ;
List < String > sortDataList = new ArrayList < String > ( ) ;
TrendForVue tf = new TrendForVue ( ) ;
tf . setTitle ( formatter . format ( day . getDate ( ) ) ) ;
tf . setIsBlemind2 ( false ) ;
for ( StockIndex stockIndexTmp : currentTradeDayStockIndexlist )
{
boolean isHasSort = false ;
for ( StockIndex stockIndex2 : trradeDayStockIndexlist )
{
if ( stockIndex2 . getCode ( ) . equals ( stockIndexTmp . getCode ( ) ) )
{
sortDataList . add ( stockIndex2 . getRcnthigh ( ) . equals ( "是" ) ? "1" : "-1" ) ;
isHasSort = true ;
break ;
}
}
if ( ! isHasSort )
{
sortDataList . add ( "-1" ) ;
}
}
tf . setSortDataList ( sortDataList ) ;
resultDataList . add ( tf ) ;
}
return getDataTable ( resultDataList ) ;
}
/ * *
* 查 询 行 情 数 据 列 表 含 基 础 数 据
* /
@GetMapping ( "/listStockIndexLowRocord" )
public TableDataInfo listStockIndexLowRocord ( StockIndex stockIndex )
{
//查询可交易日期
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
TradeDates tradeDates = new TradeDates ( ) ;
tradeDates . setDate ( stockIndex . getTradeDay ( ) ) ;
tradeDates . setLimitCount ( 10l ) ;
List < TradeDates > tradeDatesList = tradeDatesService . selectTradeDatesListB ( tradeDates ) ;
stockIndex . setTradeDay ( tradeDatesList . get ( 0 ) . getDate ( ) ) ;
stockIndex . setOrderParam ( "rcntlow" ) ;
List < StockIndex > currentTradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex ) ;
List < TrendForVue > resultDataList = new ArrayList < TrendForVue > ( ) ;
TrendForVue tfv = new TrendForVue ( ) ;
List < String > blemind2List = new ArrayList < String > ( ) ;
for ( StockIndex ct : currentTradeDayStockIndexlist )
{
blemind2List . add ( ct . getName ( ) ) ;
}
// tfv.setDataList(currentTradeDayTrendslist);
tfv . setTitle ( "2级行业" ) ;
tfv . setIsBlemind2 ( true ) ;
tfv . setSortDataList ( blemind2List ) ;
resultDataList . add ( tfv ) ;
//初始化列表
StockIndex stockIndex1 = new StockIndex ( ) ;
for ( TradeDates day : tradeDatesList )
{
stockIndex1 . setTradeDay ( day . getDate ( ) ) ;
stockIndex1 . setOrderParam ( "rcntlow" ) ;
List < StockIndex > trradeDayStockIndexlist = stockIndexService . selectStockIndexRecordsList ( stockIndex1 ) ;
List < String > sortDataList = new ArrayList < String > ( ) ;
TrendForVue tf = new TrendForVue ( ) ;
tf . setTitle ( formatter . format ( day . getDate ( ) ) ) ;
tf . setIsBlemind2 ( false ) ;
for ( StockIndex stockIndexTmp : currentTradeDayStockIndexlist )
{
boolean isHasSort = false ;
for ( StockIndex stockIndex2 : trradeDayStockIndexlist )
{
if ( stockIndex2 . getCode ( ) . equals ( stockIndexTmp . getCode ( ) ) )
{
sortDataList . add ( stockIndex2 . getRcntlow ( ) . equals ( "是" ) ? "1" : "-1" ) ;
isHasSort = true ;
break ;
}
}
if ( ! isHasSort )
{
sortDataList . add ( "-1" ) ;
}
}
tf . setSortDataList ( sortDataList ) ;
resultDataList . add ( tf ) ;
}
return getDataTable ( resultDataList ) ;
}
// /**
// * 查询行情数据列表含基础数据 2022-08-13原实现
// */
// @GetMapping("/listSectionByBlemind")
// public TableDataInfo listSectionByBlemind(Trends trends)
// {
// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
//
// TradeDates tradeDates = new TradeDates();
// tradeDates.setDate(trends.getTradeDay());
// tradeDates.setLimitCount(90l);
// List<TradeDates> tradeDatesList = tradeDatesService.selectTradeDatesListB(tradeDates);
//
// List<TrendForVue> resultDataList = new ArrayList<TrendForVue>();
// TrendForVue tfv = new TrendForVue();
// List<String> xAxisDataList = new ArrayList<String>();
// List<String> seriesDataList = new ArrayList<String>();
// for(TradeDates tradeDates1 : tradeDatesList)
// {
// xAxisDataList.add(formatter.format(tradeDates1.getDate()));
// Trends t = new Trends();
// t.setType(trends.getType());
// t.setBlemind2(trends.getBlemind2());
// t.setTradeDay(tradeDates1.getDate());
// t.setLimitCount(1l);
// List<Trends> list = trendsService.selectTrendList(t);
// if(list.size() <= 0)
// {
// seriesDataList.add("100");
// }
// else {
// for (Trends ttrend : list) {
// if (formatter.format(ttrend.getTradeDay()).equals(formatter.format(tradeDates1.getDate()))) {
// seriesDataList.add(ttrend.getSort().toString());
// } else {
// seriesDataList.add("100");
// }
// }
// }
//
// }
// tfv.setTitle("交易日期");
// tfv.setSortDataList(xAxisDataList);
// resultDataList.add(tfv);
//
// TrendForVue tfvSeries = new TrendForVue();
// tfvSeries.setTitle("Series");
// tfvSeries.setSortDataList(seriesDataList);
// resultDataList.add(tfvSeries);
// return getDataTable(resultDataList);
// }
/ * *
* 查 询 板 块 动 量 值
* /
@GetMapping ( "/listSectionByBlemind" )
@GetMapping ( "/listSectionByBlemind" )
public TableDataInfo listSectionByBlemind ( Trends trends )
public TableDataInfo listSectionByBlemind ( Trends trends )
{
{
String redisKey = getSectionByBlemindRedisKey ( trends ) ;
List < TrendForVue > resultDataList = redisCache . getCacheList ( redisKey ) ;
if ( resultDataList . isEmpty ( ) ) {
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
TradeDates tradeDates = new TradeDates ( ) ;
TradeDates tradeDates = new TradeDates ( ) ;
@ -337,34 +755,42 @@ public class TrendsController extends BaseController
tradeDates . setLimitCount ( 90l ) ;
tradeDates . setLimitCount ( 90l ) ;
List < TradeDates > tradeDatesList = tradeDatesService . selectTradeDatesListB ( tradeDates ) ;
List < TradeDates > tradeDatesList = tradeDatesService . selectTradeDatesListB ( tradeDates ) ;
List < TrendForVue > resultDataList = new ArrayList < TrendForVue > ( ) ;
TrendForVue tfv = new TrendForVue ( ) ;
List < String > xAxisDataList = new ArrayList < String > ( ) ;
List < String > seriesDataList = new ArrayList < String > ( ) ;
for ( TradeDates tradeDates1 : tradeDatesList )
{
xAxisDataList . add ( formatter . format ( tradeDates1 . getDate ( ) ) ) ;
Trends t = new Trends ( ) ;
Trends t = new Trends ( ) ;
t . setType ( trends . getType ( ) ) ;
t . setType ( trends . getType ( ) ) ;
t . setBlemind2 ( trends . getBlemind2 ( ) ) ;
t . setBlemind2 ( trends . getBlemind2 ( ) ) ;
t . setTradeDay ( tradeDates1 . getDate ( ) ) ;
t . setTradeDay ( trends . getTradeDay ( ) ) ;
t . setLimitCount ( 1l ) ;
t . setLimitCount ( 90l ) ;
List < Trends > list = trendsService . selectTrendList ( t ) ;
List < Trends > tradeDatesTrendsList = trendsService . selectTrendList ( t ) ;
if ( list . size ( ) < = 0 )
{
// List<TrendForVue> resultDataList = new ArrayList<TrendForVue>();
TrendForVue tfv = new TrendForVue ( ) ;
List < String > xAxisDataList = new ArrayList < String > ( ) ;
List < String > seriesDataList = new ArrayList < String > ( ) ;
List < String > rawDataList = new ArrayList < String > ( ) ;
int trendsCount = tradeDatesTrendsList . size ( ) ;
int tradeDatesCount = tradeDatesList . size ( ) ;
for ( int i = 0 ; i < tradeDatesCount ; i + + ) {
xAxisDataList . add ( formatter . format ( tradeDatesList . get ( i ) . getDate ( ) ) ) ;
if ( i < trendsCount ) {
boolean isFound = false ;
for ( Trends ttrend : tradeDatesTrendsList ) {
if ( formatter . format ( ttrend . getTradeDay ( ) ) . equals ( formatter . format ( tradeDatesList . get ( i ) . getDate ( ) ) ) ) {
seriesDataList . add ( ttrend . getSort ( ) . toString ( ) ) ;
rawDataList . add ( ttrend . getTrendValue ( ) . toString ( ) ) ;
isFound = true ;
break ;
}
}
if ( ! isFound ) {
seriesDataList . add ( "100" ) ;
seriesDataList . add ( "100" ) ;
rawDataList . add ( "0" ) ;
}
}
else {
for ( Trends ttrend : list ) {
if ( formatter . format ( ttrend . getTradeDay ( ) ) . equals ( formatter . format ( tradeDates1 . getDate ( ) ) ) ) {
seriesDataList . add ( ttrend . getSort ( ) . toString ( ) ) ;
} else {
} else {
seriesDataList . add ( "100" ) ;
seriesDataList . add ( "100" ) ;
}
rawDataList . add ( "0" ) ;
}
}
}
}
}
tfv . setTitle ( "交易日期" ) ;
tfv . setTitle ( "交易日期" ) ;
tfv . setSortDataList ( xAxisDataList ) ;
tfv . setSortDataList ( xAxisDataList ) ;
resultDataList . add ( tfv ) ;
resultDataList . add ( tfv ) ;
@ -372,7 +798,14 @@ public class TrendsController extends BaseController
TrendForVue tfvSeries = new TrendForVue ( ) ;
TrendForVue tfvSeries = new TrendForVue ( ) ;
tfvSeries . setTitle ( "Series" ) ;
tfvSeries . setTitle ( "Series" ) ;
tfvSeries . setSortDataList ( seriesDataList ) ;
tfvSeries . setSortDataList ( seriesDataList ) ;
tfvSeries . setRawDataList ( rawDataList ) ;
resultDataList . add ( tfvSeries ) ;
resultDataList . add ( tfvSeries ) ;
if ( ! resultDataList . isEmpty ( ) ) {
redisCache . setCacheList ( redisKey , resultDataList ) ;
redisCache . expire ( redisKey , EXPIRED_TIME ) ;
}
}
return getDataTable ( resultDataList ) ;
return getDataTable ( resultDataList ) ;
}
}
@ -431,4 +864,22 @@ public class TrendsController extends BaseController
{
{
return toAjax ( trendsService . deleteTrendsByIds ( ids ) ) ;
return toAjax ( trendsService . deleteTrendsByIds ( ids ) ) ;
}
}
private String getTrendsRedisKey ( Trends trends )
{
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
return TRENDS + formatter . format ( trends . getTradeDay ( ) ) + "_" + trends . getType ( ) ;
}
private String getHomeTrendsStocks ( Trends trends )
{
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
return HOME_TRENDS_STOCKS + formatter . format ( trends . getTradeDay ( ) ) + "_" + trends . getType ( ) ;
}
private String getSectionByBlemindRedisKey ( Trends trends )
{
SimpleDateFormat formatter = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
return TRENDS_SECTION_BLEMIND + formatter . format ( trends . getTradeDay ( ) ) + "_" + trends . getBlemind2 ( ) + "_" + trends . getType ( ) ;
}
}
}