第二个接口算是写完了。。太坑了,主要难点在于,查数据库中没有的字段的值,要通过取的数据库中有的字段,然后写逻辑计算。而且还要与时间挂钩。
我的思路是,输入一个时间,然后把它分成一周的时间在sql里查取一周的数据(因为用到了周五的数据,所以查一周),然后对于不同种类的指数,进行逻辑计算。
呜呜呜~~~~
被== 和equals折磨了一天,才找到问题所在!!!血的教训
if(list.get(0).getType().equals("SSEC")){
list.get(0).setUpDown(new BigDecimal(888));
list.get(1).setUpDown(new BigDecimal(999));
}else if(list.get(0).getType().equals("CSI300")){
list.get(0).setUpDown(new BigDecimal(999));
list.get(1).setUpDown(new BigDecimal(888));
}
上面如果写成== 则赋值不了。原因是,我们这里要比较的是内容,而不是地址!!!
1、功能不同
"=="是判断两个变量或实例是不是指向同一个内存空间。
"equals"是判断两个变量或实例所指向的内存空间的值是不是相同。
2、定义不同
"equals"在JAVA中是一个方法。
"=="在JAVA中只是一个运算符合。
以StockByChinaCommandImpl为例,取出列表要这样写:从第97行开始。
package com.simnectzbank.lbs.processlayer.stock.service.command.impl;
import com.alibaba.fastjson.JSON;
import com.csi.sbs.common.business.constant.SuccessConstant;
import com.csi.sbs.common.business.model.HeaderModel;
import com.csi.sbs.common.business.util.ResponseUtil;
import com.csi.sbs.common.business.util.ResultUtil;
import com.simnectzbank.lbs.processlayer.stock.clientmodel.*;
import com.simnectzbank.lbs.processlayer.stock.component.LocaleMessage;
import com.simnectzbank.lbs.processlayer.stock.constant.ExceptionConstant;
import com.simnectzbank.lbs.processlayer.stock.constant.ResultConstant;
import com.simnectzbank.lbs.processlayer.stock.constant.SysConstant;
import com.simnectzbank.lbs.processlayer.stock.exception.RecordNotFoundException;
import com.simnectzbank.lbs.processlayer.stock.service.command.Command;
import com.simnectzbank.lbs.processlayer.stock.service.proxy.stockinfoservice.StockInfoService;
import com.simnectzbank.lbs.processlayer.stock.service.proxy.sysadminservice.SysTransactionLogService;
import com.simnectzbank.lbs.processlayer.stock.util.CalculationUtil;
import com.simnectzbank.lbs.processlayer.stock.util.DateToStamp;
import com.simnectzbank.lbs.processlayer.stock.util.IOperationLogUtil;
import com.simnectzbank.lbs.processlayer.stock.util.IRSendLogUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Component
public class StockByChinaCommandImpl extends Command {
@Resource
private LocaleMessage localeMessage;
@Resource
private IRSendLogUtil logUtil;
@Autowired
private SysTransactionLogService sysTransactionLogService;
@Resource
private StockInfoService stockInfoService;
@Resource
private IOperationLogUtil operationLogUtil;
private String classname = StockByChinaCommandImpl.class.getName();
@Override
public void initialize(BusinessModel model, Map<String, Object> context) throws Exception {
// debug log
String method = "stockByChina-initialize";
long threadId = Thread.currentThread().getId();
HeaderModel header = model.getHeaderModel();
logUtil.sendDebug(new Date().getTime() + "|" + threadId + "|" + SysConstant.SEND_DEBUG_HEADER + header.toString() + "|" + classname + "|" + method + SysConstant.SEND_DEBUG_METHOD_START);
// Operation Log
operationLogUtil.log(
localeMessage.getMessage(ResultConstant.GET_STOCK_LIST),
SysConstant.OPERATION_START,
localeMessage.getMessage(ResultConstant.GET_STOCK_LIST),
SysConstant.LOCAL_SERVICE_NAME,
(String) context.get(SysConstant.TRANSACTION_ID),
header);
logUtil.sendDebug(new Date().getTime() + "|" + threadId + "|" + SysConstant.SEND_DEBUG_HEADER + header.toString() + "|" + classname + "|" + method + SysConstant.SEND_ERROR_LOG_METHOD_END);
}
@Override
public ResultUtil execute(BusinessModel model) throws RecordNotFoundException, ParseException {
String method = "stockByChina-execute";
long threadId = Thread.currentThread().getId();
logUtil.sendDebug(new Date().getTime() + "|" + threadId + "|" + classname + "|" + method + SysConstant.SEND_DEBUG_METHOD_START);
ResultUtil result = null;
StockIndexModel stockIndexModel = (StockIndexModel) model.getTransctionModel();
GetStockIndexModel getStockIndexModel = new GetStockIndexModel();
//getStockIndexModel.setType(stockIndexModel.getType());
Map<String, String> selectMap = DateToStamp.stamp2Date(stockIndexModel.getSelectDate());
getStockIndexModel.setSelectDate(selectMap.get("sd0"));//获取一下值先,不参与逻辑
getStockIndexModel.setFromDate(selectMap.get("sd7"));//过去七天
getStockIndexModel.setToDate(selectMap.get("sd0"));
ResultUtil stockResult = stockInfoService.findManyByChina(getStockIndexModel);
List<StockIndexHistoryModel> list = JSON.parseArray((String) stockResult.getData(), StockIndexHistoryModel.class);
if(list == null || list.size() == 0){
throw new RecordNotFoundException(localeMessage.getMessage(ResultConstant.RECORD_NOTFOUND), ExceptionConstant.ERROR_CODE404010);
}else{
// 计算升跌
if(list.get(0).getType().equals("SSEC")){
list.get(0).setUpDown(CalculationUtil.calculateChinaUpDown(list).get("SSEC"));
list.get(1).setUpDown(CalculationUtil.calculateChinaUpDown(list).get("CSI300"));
}else if(list.get(0).getType().equals("CSI300")){
list.get(0).setUpDown(CalculationUtil.calculateChinaUpDown(list).get("CSI300"));
list.get(1).setUpDown(CalculationUtil.calculateChinaUpDown(list).get("SSEC"));
}
// 计算升跌率
if(list.get(0).getType().equals("SSEC")){
list.get(0).setUpDownPercentage(CalculationUtil.calculateChinaUpDownPercentage(list).get("SSEC"));
list.get(1).setUpDownPercentage(CalculationUtil.calculateChinaUpDownPercentage(list).get("CSI300"));
}else if(list.get(0).getType().equals("CSI300")){
list.get(0).setUpDownPercentage(CalculationUtil.calculateChinaUpDownPercentage(list).get("CSI300"));
list.get(1).setUpDownPercentage(CalculationUtil.calculateChinaUpDownPercentage(list).get("SSEC"));
}
//计算本周升跌
if(list.get(0).getType().equals("SSEC")){
list.get(0).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("SSEC"));
list.get(1).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("CSI300"));
}else if(list.get(0).getType().equals("CSI300")){
list.get(0).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("CSI300"));
list.get(1).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("SSEC"));
}
List<StockIndexHistoryModel> listTwo = new ArrayList<>();
for(int i=0;i<2;i++){
listTwo.add(list.get(i));
}
result = ResponseUtil.success(SuccessConstant.SUCCESS_CODE200, listTwo , localeMessage.getMessage(ResultConstant.SUCCESS_MSG));
}
logUtil.sendDebug(new Date().getTime() +"|" + threadId + "|" + classname + "|" + method + SysConstant.SEND_ERROR_LOG_METHOD_END );
return result;
}
@Override
public void finalize(BusinessModel model, Map<String, Object> context) throws Exception {
// debug log
String method = "stockByChina-finalize";
long threadId = Thread.currentThread().getId();
HeaderModel header = model.getHeaderModel();
logUtil.sendDebug(new Date().getTime() + "|" + threadId + "|" + SysConstant.SEND_DEBUG_HEADER + header.toString() + "|" + classname + "|" + method + SysConstant.SEND_DEBUG_METHOD_START);
boolean flag = (boolean) context.get(SysConstant.LOGICFLAG);
// Operation Log
operationLogUtil.log(
localeMessage.getMessage(ResultConstant.GET_STOCK_LIST),
flag? SysConstant.OPERATION_SUCCESS:SysConstant.OPERATION_ERROR,
localeMessage.getMessage(ResultConstant.GET_STOCK_LIST),
SysConstant.LOCAL_SERVICE_NAME,
(String) context.get(SysConstant.TRANSACTION_ID),
header);
logUtil.sendDebug(new Date().getTime() + "|" + threadId + "|" + SysConstant.SEND_DEBUG_HEADER + header.toString() + "|" + classname + "|" + method + SysConstant.SEND_ERROR_LOG_METHOD_END);
}
}
汇报完了,要修改的地方:(小意思)
1.swagger显示的时候要默认参数
2.算出来的每周升跌率要加%
package com.simnectzbank.lbs.processlayer.stock.util;
import com.simnectzbank.lbs.processlayer.stock.clientmodel.StockIndexHistoryModel;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
public class CalculationUtil {
@SuppressWarnings("unchecked")
public static Map<String, BigDecimal> calculateChinaUpDown(List<StockIndexHistoryModel> list){
//获取list对象的last字段组装成新list
List<BigDecimal> lastList1 = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList1 = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
//创建UpDown的Map
Map<String,BigDecimal> upDownMap = new HashMap<>();
boolean flag1= true;
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag1 && flag2){
if(typeList1.get(i).equals("SSEC")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList1.get(m).equals("SSEC")){
BigDecimal subtract = lastList1.get(i).subtract(lastList1.get(m));
upDownMap.put("SSEC",subtract);
if(upDownMap.get("SSEC")!=null){
flag2=false;
}
}
}
}
}else if(typeList1.get(i).equals("CSI300")){
for(int n =i+1;n<list.size();n++){
if(flag1){
if(typeList1.get(n).equals("CSI300")){
BigDecimal subtract = lastList1.get(i).subtract(lastList1.get(n));
upDownMap.put("CSI300",subtract);
if(upDownMap.get("CSI300")!=null){
flag1=false;
}
}
}
}
}
}
}
flag1 =true;
flag2 =true;
}
return upDownMap;
}
public static Map<String, BigDecimal> calculateHkUpDown(List<StockIndexHistoryModel> list){
//获取list对象的last字段组装成新list
List<BigDecimal> lastList1 = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList1 = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
//创建UpDown的Map
Map<String,BigDecimal> upDownMap = new HashMap<>();
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag2){
if(typeList1.get(i).equals("HSI")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList1.get(m).equals("HSI")){
BigDecimal subtract = lastList1.get(i).subtract(lastList1.get(m));
upDownMap.put("HSI",subtract);
if(upDownMap.get("HSI")!=null){
flag2=false;
}
}
}
}
}
}
}
}
return upDownMap;
}
public static Map<String, BigDecimal> calculateWorldUpDown(List<StockIndexHistoryModel> list){
//获取list对象的last字段组装成新list
List<BigDecimal> lastList1 = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList1 = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
//创建UpDown的Map
Map<String,BigDecimal> upDownMap = new HashMap<>();
boolean flag1= true;
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag1 && flag2){
if(typeList1.get(i).equals("IXIC")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList1.get(m).equals("IXIC")){
BigDecimal subtract = lastList1.get(i).subtract(lastList1.get(m));
upDownMap.put("IXIC",subtract);
if(upDownMap.get("IXIC")!=null){
flag2=false;
}
}
}
}
}else if(typeList1.get(i).equals("DJI")){
for(int n =i+1;n<list.size();n++){
if(flag1){
if(typeList1.get(n).equals("DJI")){
BigDecimal subtract = lastList1.get(i).subtract(lastList1.get(n));
upDownMap.put("DJI",subtract);
if(upDownMap.get("DJI")!=null){
flag1=false;
}
}
}
}
}
}
}
flag1 =true;
flag2 =true;
}
return upDownMap;
}
@SuppressWarnings("unchecked")
public static Map<String, String> calculateChinaUpDownPercentage(List<StockIndexHistoryModel> list){
//获取list对象的last字段组装成新list
List<BigDecimal> upDownList = list.stream().map(StockIndexHistoryModel::getUpDown).collect(Collectors.toList());
List<BigDecimal> lastList = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
//创建UpDown的Map
Map<String,String> upDownMap = new HashMap<>();
boolean flag1= true;
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag1 && flag2){
if(typeList.get(i).equals("SSEC")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList.get(m).equals("SSEC")){
BigDecimal divide = upDownList.get(i).divide(lastList.get(m),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("SSEC",divide+"%");
if(upDownMap.get("SSEC")!=null){
flag2=false;
}
}
}
}
}else if(typeList.get(i).equals("CSI300")){
for(int n =i+1;n<list.size();n++){
if(flag1){
if(typeList.get(n).equals("CSI300")){
BigDecimal divide = upDownList.get(i).divide(lastList.get(n),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("CSI300",divide+"%");
if(upDownMap.get("CSI300")!=null){
flag1=false;
}
}
}
}
}
}
}
flag1 =true;
flag2 =true;
}
return upDownMap;
}
public static Map<String, String> calculateHkUpDownPercentage(List<StockIndexHistoryModel> list){
//获取list对象的last字段组装成新list
List<BigDecimal> lastList = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
List<BigDecimal> upDownList = list.stream().map(StockIndexHistoryModel::getUpDown).collect(Collectors.toList());
//创建UpDown的Map
Map<String,String> upDownMap = new HashMap<>();
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag2){
if(typeList.get(i).equals("HSI")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList.get(m).equals("HSI")){
BigDecimal subtract = upDownList.get(i).divide(lastList.get(m),3,BigDecimal.ROUND_HALF_UP);
subtract = subtract.multiply(new BigDecimal(100));
upDownMap.put("HSI",subtract+"%");
if(upDownMap.get("HSI")!=null){
flag2=false;
}
}
}
}
}
}
}
}
return upDownMap;
}
@SuppressWarnings("unchecked")
public static Map<String, String> calculateWorldUpDownPercentage(List<StockIndexHistoryModel> list){
//获取list对象的last字段组装成新list
List<BigDecimal> upDownList = list.stream().map(StockIndexHistoryModel::getUpDown).collect(Collectors.toList());
List<BigDecimal> lastList = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
//创建UpDown的Map
Map<String,String> upDownMap = new HashMap<>();
boolean flag1= true;
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag1 && flag2){
if(typeList.get(i).equals("IXIC")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList.get(m).equals("IXIC")){
BigDecimal divide = upDownList.get(i).divide(lastList.get(m),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("IXIC",divide+"%");
if(upDownMap.get("IXIC")!=null){
flag2=false;
}
}
}
}
}else if(typeList.get(i).equals("DJI")){
for(int n =i+1;n<list.size();n++){
if(flag1){
if(typeList.get(n).equals("DJI")){
BigDecimal divide = upDownList.get(i).divide(lastList.get(n),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("DJI",divide+"%");
if(upDownMap.get("DJI")!=null){
flag1=false;
}
}
}
}
}
}
}
flag1 =true;
flag2 =true;
}
return upDownMap;
}
public static Map<String, String> calculateHkUpDownWeek(List<StockIndexHistoryModel> list) throws ParseException {
//获取list对象的last字段组装成新list
List<BigDecimal> lastList = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
List<BigDecimal> timeList = list.stream().map(StockIndexHistoryModel::getUpdateTime).collect(Collectors.toList());
//创建UpDown的Map
Map<String,String> upDownMap = new HashMap<>();
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag2){
if(typeList.get(i).equals("HSI")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList.get(m).equals("HSI")){
if(DateToStamp.getWeek(String.valueOf(timeList.get(m))).equals("星期五")){
BigDecimal subtract = lastList.get(i).subtract(lastList.get(m)).divide(lastList.get(m),3,BigDecimal.ROUND_HALF_UP);
subtract = subtract.multiply(new BigDecimal(100));
upDownMap.put("HSI",subtract+"%");
if(upDownMap.get("HSI")!=null){
flag2=false;
}
}
}
}
}
}
}
}
}
return upDownMap;
}
@SuppressWarnings("unchecked")
public static Map<String, String> calculateChinaUpDownWeek(List<StockIndexHistoryModel> list) throws ParseException {
//获取list对象的last字段组装成新list
List<BigDecimal> lastList = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
List<BigDecimal> timeList = list.stream().map(StockIndexHistoryModel::getUpdateTime).collect(Collectors.toList());
//创建UpDown的Map
Map<String,String> upDownMap = new HashMap<>();
boolean flag1= true;
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag1 && flag2){
if(typeList.get(i).equals("SSEC")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList.get(m).equals("SSEC")){
if(DateToStamp.getWeek(String.valueOf(timeList.get(m))).equals("星期五")){
BigDecimal divide = lastList.get(i).subtract(lastList.get(m)).divide(lastList.get(m),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("SSEC",divide+"%");
if(upDownMap.get("SSEC")!=null){
flag2=false;
}
}
}
}
}
}else if(typeList.get(i).equals("CSI300")){
for(int n =i+1;n<list.size();n++){
if(flag1){
if(typeList.get(n).equals("CSI300")){
if(DateToStamp.getWeek(String.valueOf(timeList.get(n))).equals("星期五")){
BigDecimal divide = lastList.get(i).subtract(lastList.get(n)).divide(lastList.get(n),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("CSI300",divide+"%");
if(upDownMap.get("CSI300")!=null){
flag1=false;
}
}
}
}
}
}
}
}
flag1 =true;
flag2 =true;
}
return upDownMap;
}
@SuppressWarnings("unchecked")
public static Map<String, String> calculateWorldUpDownWeek(List<StockIndexHistoryModel> list) throws ParseException {
//获取list对象的last字段组装成新list
List<BigDecimal> lastList = list.stream().map(StockIndexHistoryModel::getLast).collect(Collectors.toList());
List<String> typeList = list.stream().map(StockIndexHistoryModel::getType).collect(Collectors.toList());
List<BigDecimal> timeList = list.stream().map(StockIndexHistoryModel::getUpdateTime).collect(Collectors.toList());
//创建UpDown的Map
Map<String,String> upDownMap = new HashMap<>();
boolean flag1= true;
boolean flag2= true;
for(int i=0;i<2;i++){
for(int j=0;j<list.size();j++){
if(flag1 && flag2){
if(typeList.get(i).equals("IXIC")){
for(int m =i+1;m<list.size();m++){
if(flag2){
if(typeList.get(m).equals("IXIC")){
if(DateToStamp.getWeek(String.valueOf(timeList.get(m))).equals("星期五")){
BigDecimal divide = lastList.get(i).subtract(lastList.get(m)).divide(lastList.get(m),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("IXIC",divide+"%");
if(upDownMap.get("IXIC")!=null){
flag2=false;
}
}
}
}
}
}else if(typeList.get(i).equals("DJI")){
for(int n =i+1;n<list.size();n++){
if(flag1){
if(typeList.get(n).equals("DJI")){
if(DateToStamp.getWeek(String.valueOf(timeList.get(n))).equals("星期五")){
BigDecimal divide = lastList.get(i).subtract(lastList.get(n)).divide(lastList.get(n),3,BigDecimal.ROUND_HALF_UP);
divide = divide.multiply(new BigDecimal(100));
upDownMap.put("DJI",divide+"%");
if(upDownMap.get("DJI")!=null){
flag1=false;
}
}
}
}
}
}
}
}
flag1 =true;
flag2 =true;
}
return upDownMap;
}
public static void main(String[] args) throws ParseException {
List<StockIndexHistoryModel> list = new ArrayList<>();
StockIndexHistoryModel s1 = new StockIndexHistoryModel(1,new BigDecimal ("4947.75"),new BigDecimal ("3314.03"),new BigDecimal ("3349.05"),new BigDecimal ("3314.03"),"2018年1月2日",new BigDecimal ("1618217381883"),"CSI300",new BigDecimal (-43.42),null,null);
StockIndexHistoryModel s2 = new StockIndexHistoryModel(2,new BigDecimal ("3412.95"),new BigDecimal ("3347.74"),new BigDecimal ("3379.92"),new BigDecimal ("3345.29"),"2018年1月3日",new BigDecimal ("1617897600000"),"SSEC",new BigDecimal (-16.6),null,null);
StockIndexHistoryModel s3 = new StockIndexHistoryModel(3,new BigDecimal ("3450.68"),new BigDecimal ("3371"),new BigDecimal ("3392.83"),new BigDecimal ("3365.3"),"2018年1月4日",new BigDecimal ("1617811200000"),"SSEC",new BigDecimal (-1),null,null);
StockIndexHistoryModel s4 = new StockIndexHistoryModel(4,new BigDecimal ("5035.34"),new BigDecimal ("3386.46"),new BigDecimal ("3402.07"),new BigDecimal ("3380.24"),"2018年1月5日",new BigDecimal ("1617897600000"),"CSI300",new BigDecimal (-2),null,null);
StockIndexHistoryModel s5 = new StockIndexHistoryModel(5,new BigDecimal ("5035.34"),new BigDecimal ("3386.46"),new BigDecimal ("3482.55"),new BigDecimal ("3380.24"),"2018年1月5日",new BigDecimal ("1515081600000"),"SSEC",null,null,null);
StockIndexHistoryModel s6 = new StockIndexHistoryModel(6,new BigDecimal ("5035.34"),new BigDecimal ("3386.46"),new BigDecimal ("5112.21"),new BigDecimal ("3380.24"),"2018年1月5日",new BigDecimal ("1515081600000"),"CSI300",null,null,null);
StockIndexHistoryModel s7 = new StockIndexHistoryModel(7,new BigDecimal ("5035.34"),new BigDecimal ("3386.46"),new BigDecimal ("5112.21"),new BigDecimal ("3380.24"),"2018年1月5日",new BigDecimal ("1515081600000"),"SSEC",null,null,null);
StockIndexHistoryModel s8 = new StockIndexHistoryModel(8,new BigDecimal ("5035.34"),new BigDecimal ("3386.46"),new BigDecimal ("5112.21"),new BigDecimal ("3380.24"),"2018年1月5日",new BigDecimal ("1515081600000"),"CSI300",null,null,null);
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
list.add(s5);
list.add(s6);
list.add(s7);
list.add(s8);
// list.get(0).setUpDownWeek(CalculationUtil.calculateHkUpDownWeek(list).get("HSI"));
// System.out.println(list.get(0).getUpDownWeek());
//计算本周升跌
if(list.get(0).getType().equals("SSEC")){
list.get(0).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("SSEC"));
list.get(1).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("CSI300"));
}else if(list.get(0).getType().equals("CSI300")){
list.get(0).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("CSI300"));
list.get(1).setUpDownWeek(CalculationUtil.calculateChinaUpDownWeek(list).get("SSEC"));
}
List<StockIndexHistoryModel> listTwo = new ArrayList<>();
for(int i=0;i<2;i++){
listTwo.add(list.get(i));
}
for(int i =0;i<2;i++){
System.out.println(listTwo.get(i).getUpDownWeek());
}
}
}