上午修改第三个接口
接口写完是这样的,
默认值也随之类型不同而变化。
。。。。。。。输入的年月只有下面1month,3months,6months,1years,3years这五个字段。
改好了:不难
package com.simnectzbank.lbs.processlayer.stock.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class DateToStamp {
public static String date2Stamp(String s) throws ParseException {
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
if(s != null && !s.equals("")){
Date date =simpleDateFormat.parse(s);
long ts = date.getTime();
res = String.valueOf(ts);
return res;
}
return s;
}
public static Map<String,String> stamp2Date(String stamp) throws ParseException {
String sd0 ="";
String sd7 ="";
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(stamp != null && !stamp.equals("")){
sd0 = sdf.format(new Date(Long.parseLong(stamp)));
Date sd00 = sdf.parse(sd0);//转成data类型的
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sd00);
c1.add(Calendar.DATE, -8);//一周内的数据,12条
c2.setTime(sd00);
c2.add(Calendar.DATE, 1);//加一天
sd7 = sdf.format(c1.getTime());
sd0 = sdf.format(c2.getTime());
sd0 = date2Stamp(sd0);//转成时间戳 当前时间+1天
sd7 = date2Stamp(sd7);//转成时间戳 当前时间前7天
Map<String,String> map = new HashMap<String, String>();
map.put("sd0",sd0);
map.put("sd7",sd7);
return map;
}else{
Map<String,String> map = new HashMap<String, String>();
map.put("sd0",stamp);
map.put("sd7",stamp);
return map;
}
}
//输入时间戳,输出星期几
public static String getWeek(String stamp) throws ParseException {
String sd0 ="";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(stamp != null && !stamp.equals("")){
sd0 = sdf.format(new Date(Long.parseLong(stamp)));
Date sd00 = sdf.parse(sd0);//转成data类型的
SimpleDateFormat sdf2 = new SimpleDateFormat("EEEE");
String week = sdf2.format(sd00);
return week;
}else{
return null;
}
}
//接口三:获取当前时间的前 1day,1week,2weeks,1month,2months,3months,6months,9months,12months
// 从当前时间算
// public static Map<String,String> timeSpan(String span) throws ParseException {
// String s0 ="";
// String s1day ="";
// String s1week ="";
// String s2weeks ="";
// String s1month ="";
// String s2months ="";
// String s3months ="";
// String s6months ="";
// String s9months ="";
// String s12months ="";
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// if(span.equals("1week")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.DATE, -8);//一周内的数据,因为sql没写=
// c2.setTime(sd00);
// s1week = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s1week = date2Stamp(s1week);//转成时间戳 当前时间前7天
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s1week",s1week);
// return map;
// }else if(span.equals("1day")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.DATE, -2);
// c2.setTime(sd00);
// s1day = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s1day = date2Stamp(s1day);//转成时间戳 当前时间前1天
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s1day",s1day);
// return map;
// }else if(span.equals("2weeks")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.DATE, -15);
// c2.setTime(sd00);
// s2weeks = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s2weeks = date2Stamp(s2weeks);//转成时间戳 当前时间前14天
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s2weeks",s2weeks);
// return map;
// }else if(span.equals("1month")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.MONTH, -1);
// c1.add(Calendar.DATE, -1);//减一天
// c2.setTime(sd00);
// s1month = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s1month = date2Stamp(s1month);//转成时间戳
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s1month",s1month);
// return map;
// }else if(span.equals("2months")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.MONTH, -2);
// c1.add(Calendar.DATE, -1);//减一天
// c2.setTime(sd00);
// s2months = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s2months = date2Stamp(s2months);//转成时间戳
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s2months",s2months);
// return map;
// }else if(span.equals("3months")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.MONTH, -3);
// c1.add(Calendar.DATE, -1);//减一天
// c2.setTime(sd00);
// s3months = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s3months = date2Stamp(s3months);//转成时间戳
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s3months",s3months);
// return map;
// }else if(span.equals("6months")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.MONTH, -6);
// c1.add(Calendar.DATE, -1);//减一天
// c2.setTime(sd00);
// s6months = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s6months = date2Stamp(s6months);//转成时间戳
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s6months",s6months);
// return map;
// }else if(span.equals("9months")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.MONTH, -9);
// c1.add(Calendar.DATE, -1);//减一天
// c2.setTime(sd00);
// s9months = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s9months = date2Stamp(s9months);//转成时间戳
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s9months",s9months);
// return map;
// }else if(span.equals("12months")){
// Date sd00 = new Date();//当前时间
// Calendar c1 = Calendar.getInstance();
// Calendar c2 = Calendar.getInstance();
// c1.setTime(sd00);
// c1.add(Calendar.YEAR, -1);
// c1.add(Calendar.DATE, -1);//减一天
// c2.setTime(sd00);
// s12months = sdf.format(c1.getTime());
// s0 = sdf.format(c2.getTime());
//
// s0 = date2Stamp(s0);//转成时间戳
// s12months = date2Stamp(s12months);//转成时间戳
//
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",s0);
// map.put("s12months",s12months);
// return map;
// }else{//为空
// Map<String,String> map = new HashMap<String, String>();
// map.put("s0",span);
// map.put("sNull",span);
// return map;
// }
// }
//从数据库表里最新的日期算
public static Map<String,String> timeSpan(String span,String stamp) throws ParseException {
String s0 ="";
String s1month ="";
String s3months ="";
String s6months ="";
String s1year ="";
String s3years ="";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(span.equals("1month")){
s0 = sdf.format(new Date(Long.parseLong(stamp)));
Date sd00 = sdf.parse(s0);//转成data类型的
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sd00);
c1.add(Calendar.MONTH, -1);
c1.add(Calendar.DATE, -1);//减一天
c2.setTime(sd00);
c2.add(Calendar.DATE, 1);//加一天
s1month = sdf.format(c1.getTime());
s0 = sdf.format(c2.getTime());
s0 = date2Stamp(s0);//转成时间戳
s1month = date2Stamp(s1month);//转成时间戳
Map<String,String> map = new HashMap<String, String>();
map.put("s0",s0);
map.put("s1month",s1month);
return map;
}else if(span.equals("3months")){
s0 = sdf.format(new Date(Long.parseLong(stamp)));
Date sd00 = sdf.parse(s0);//转成data类型的
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sd00);
c1.add(Calendar.MONTH, -3);
c1.add(Calendar.DATE, -1);//减一天
c2.setTime(sd00);
c2.add(Calendar.DATE, 1);//加一天
s3months = sdf.format(c1.getTime());
s0 = sdf.format(c2.getTime());
s0 = date2Stamp(s0);//转成时间戳
s3months = date2Stamp(s3months);//转成时间戳
Map<String,String> map = new HashMap<String, String>();
map.put("s0",s0);
map.put("s3months",s3months);
return map;
}else if(span.equals("6months")){
s0 = sdf.format(new Date(Long.parseLong(stamp)));
Date sd00 = sdf.parse(s0);//转成data类型的
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sd00);
c1.add(Calendar.MONTH, -6);
c1.add(Calendar.DATE, -1);//减一天
c2.setTime(sd00);
c2.add(Calendar.DATE, 1);//加一天
s6months = sdf.format(c1.getTime());
s0 = sdf.format(c2.getTime());
s0 = date2Stamp(s0);//转成时间戳
s6months = date2Stamp(s6months);//转成时间戳
Map<String,String> map = new HashMap<String, String>();
map.put("s0",s0);
map.put("s6months",s6months);
return map;
}else if(span.equals("1year")){
s0 = sdf.format(new Date(Long.parseLong(stamp)));
Date sd00 = sdf.parse(s0);//转成data类型的
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sd00);
c1.add(Calendar.YEAR, -1);
c1.add(Calendar.DATE, -1);//减一天
c2.setTime(sd00);
c2.add(Calendar.DATE, 1);//加一天
s1year = sdf.format(c1.getTime());
s0 = sdf.format(c2.getTime());
s0 = date2Stamp(s0);//转成时间戳
s1year = date2Stamp(s1year);//转成时间戳
Map<String,String> map = new HashMap<String, String>();
map.put("s0",s0);
map.put("s1year",s1year);
return map;
} else if(span.equals("3years")){
s0 = sdf.format(new Date(Long.parseLong(stamp)));
Date sd00 = sdf.parse(s0);//转成data类型的
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(sd00);
c1.add(Calendar.YEAR, -3);
c1.add(Calendar.DATE, -1);//减一天
c2.setTime(sd00);
c2.add(Calendar.DATE, 1);//加一天
s3years = sdf.format(c1.getTime());
s0 = sdf.format(c2.getTime());
s0 = date2Stamp(s0);//转成时间戳
s3years = date2Stamp(s3years);//转成时间戳
Map<String,String> map = new HashMap<String, String>();
map.put("s0",s0);
map.put("s3years",s3years);
return map;
}else{//为空
Map<String,String> map = new HashMap<String, String>();
map.put("s0",span);
map.put("sNull",span);
return map;
}
}
public static void main(String[] args) throws ParseException {
// Map<String, String> map = stamp2Date("1618217382172");
// System.out.println( map.get("sd0"));
// System.out.println( map.get("sd7"));
// System.out.println(getWeek("1618217382172"));
Map<String, String> map = timeSpan("1year","1537286400000");
System.out.println(map.get("s1year"));
System.out.println(map.get("s0"));
}
}
process层中:以hsi为例:
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.DateToStamp;
import com.simnectzbank.lbs.processlayer.stock.util.IOperationLogUtil;
import com.simnectzbank.lbs.processlayer.stock.util.IRSendLogUtil;
import net.sf.jsqlparser.expression.StringValue;
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.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Component
public class StockDateByHSICommandImpl 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 = StockDateByHSICommandImpl.class.getName();
@Override
public void initialize(BusinessModel model, Map<String, Object> context) throws Exception {
// debug log
String method = "stockDateByHSI-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 = "stockDateByHSI-execute";
long threadId = Thread.currentThread().getId();
logUtil.sendDebug(new Date().getTime() + "|" + threadId + "|" + classname + "|" + method + SysConstant.SEND_DEBUG_METHOD_START);
ResultUtil result = null;
StockDateIndexModel stockDateIndexModel = (StockDateIndexModel) model.getTransctionModel();
GetStockDateIndexModel getStockDateIndexModel= new GetStockDateIndexModel();
getStockDateIndexModel.setType(stockDateIndexModel.getType());
//先查一遍数据库,目的是为了找到list里按照更新时间排序后的第一条数据中的时间戳
ResultUtil listResult = stockInfoService.findManyDateByHSI(getStockDateIndexModel);
List<StockDateIndexHistoryModel> timeList = JSON.parseArray((String) listResult.getData(), StockDateIndexHistoryModel.class);
BigDecimal stamp = timeList.get(0).getUpdateTime();
//获取当前时间的前 1month,3months,6months,1year,3year
Map<String, String> timeMap = DateToStamp.timeSpan(stockDateIndexModel.getSelectDate(),stamp.toString());
Map< String, String> checkMap = new HashMap<>();
checkMap.put("1month","1month");
checkMap.put("3months","3months");
checkMap.put("6months","6months");
checkMap.put("1year","1year");
checkMap.put("3years","3years");
if(!checkMap.containsKey(stockDateIndexModel.getSelectDate())){
throw new RecordNotFoundException(localeMessage.getMessage(ResultConstant.INPUT_ERROR), ExceptionConstant.INVALID_PARAMETER_ERROR);
}
if(stockDateIndexModel.getSelectDate().equals("1month")){
getStockDateIndexModel.setFromDate(timeMap.get("s1month"));
getStockDateIndexModel.setToDate(timeMap.get("s0"));
getStockDateIndexModel.setSelectDate(timeMap.get("s0"));//获取一下值,不参与逻辑
}else if(stockDateIndexModel.getSelectDate().equals("3months")){
getStockDateIndexModel.setFromDate(timeMap.get("s3months"));
getStockDateIndexModel.setToDate(timeMap.get("s0"));
getStockDateIndexModel.setSelectDate(timeMap.get("s0"));
}else if(stockDateIndexModel.getSelectDate().equals("6months")){
getStockDateIndexModel.setFromDate(timeMap.get("s6months"));
getStockDateIndexModel.setToDate(timeMap.get("s0"));
getStockDateIndexModel.setSelectDate(timeMap.get("s0"));
}else if(stockDateIndexModel.getSelectDate().equals("1year")){
getStockDateIndexModel.setFromDate(timeMap.get("s1year"));
getStockDateIndexModel.setToDate(timeMap.get("s0"));
getStockDateIndexModel.setSelectDate(timeMap.get("s0"));
}else if(stockDateIndexModel.getSelectDate().equals("3years")){
getStockDateIndexModel.setFromDate(timeMap.get("s3years"));
getStockDateIndexModel.setToDate(timeMap.get("s0"));
getStockDateIndexModel.setSelectDate(timeMap.get("s0"));
}else{
getStockDateIndexModel.setFromDate(timeMap.get("sNull"));
getStockDateIndexModel.setToDate(timeMap.get("s0"));
getStockDateIndexModel.setSelectDate(timeMap.get("s0"));
}
ResultUtil stockResult = stockInfoService.findManyDateByHSI(getStockDateIndexModel);
List<StockDateIndexHistoryModel> list = JSON.parseArray((String) stockResult.getData(), StockDateIndexHistoryModel.class);
if(list == null || list.size() == 0){
throw new RecordNotFoundException(localeMessage.getMessage(ResultConstant.RECORD_NOTFOUND), ExceptionConstant.ERROR_CODE404010);
}else{
result = ResponseUtil.success(SuccessConstant.SUCCESS_CODE200, list , 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 = "stockDateByHSI-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);
}
}
收工大吉
------------------------------------------------------------------------
4.26 下午弄了一下午 git
1.没必要在pom.xml文件中添加东西来防止打jar包报test的错,点击蓝色闪电即可忽略test
2.很大原因是我提交不了代码的原因是因为tmd权限没给我开
3.以后一定要直接从上面拉代码,不要本地下载压缩包!!!,提交的时候太麻烦了。