4.26

上午修改第三个接口

接口写完是这样的,

      

 

 

默认值也随之类型不同而变化。

。。。。。。。输入的年月只有下面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.以后一定要直接从上面拉代码,不要本地下载压缩包!!!,提交的时候太麻烦了。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值