时间戳服务

This commit is contained in:
zhangqinbin
2021-04-02 09:28:23 +08:00
parent c6d4c62b37
commit 80a86a3344
2 changed files with 61 additions and 9 deletions

View File

@ -123,16 +123,16 @@ public class TimeServiceConstant {
String timestamp = this.signTimeStamp(data); String timestamp = this.signTimeStamp(data);
TSAVerifyResult verifyResult = this.verifyTimeStamp(timestamp); TSAVerifyResult verifyResult = this.verifyTimeStamp(timestamp);
Date date = verifyResult.getSignedTime(); Date date = verifyResult.getSignedTime();
return verifyResult.getSignedTime(); return date;
}catch (Exception e){ }catch (Exception e){
log.error("获取时间戳异常", e); log.error("获取时间戳异常", e);
} }
return null; return null;
} }
/** /**
* 直接获取获取时间戳 时间1 * 获取年月日时分秒分割存储对象
* @param data 待申请时间戳的原文 * @param data 待申请时间戳的原文
* @return date时间 * @return SystemTime
*/ */
public SystemTime getServiceSystemTime(String data){ public SystemTime getServiceSystemTime(String data){
try{ try{
@ -140,7 +140,7 @@ public class TimeServiceConstant {
TSAVerifyResult verifyResult = this.verifyTimeStamp(timestamp); TSAVerifyResult verifyResult = this.verifyTimeStamp(timestamp);
Date date = verifyResult.getSignedTime(); Date date = verifyResult.getSignedTime();
SystemTime systemTime = new SystemTime() SystemTime systemTime = new SystemTime()
.setYear(date.getYear()) .setYear(date.getYear()+1900)
.setMonth(date.getMonth()+1) .setMonth(date.getMonth()+1)
.setDate(date.getDate()) .setDate(date.getDate())
.setHour(date.getHours()) .setHour(date.getHours())
@ -155,7 +155,11 @@ public class TimeServiceConstant {
public static void main(String arge[]){ public static void main(String arge[]){
Date date = new Date(); Date date = new Date();
System.out.println("-----------"+date.getYear()); System.out.println("-----------"+(date.getYear()+1900));
System.out.println("-----------"+date.getMonth()); System.out.println("-----------"+(date.getMonth()+1));
System.out.println("-----------"+date.getDate());
System.out.println("-----------"+date.getHours());
System.out.println("-----------"+date.getMinutes());
System.out.println("-----------"+date.getSeconds());
} }
} }

View File

@ -3,11 +3,18 @@ package com.chinaunicom.mall.ebtp.extend.timeService.controller;
import cn.com.jit.tsa.client.TSAVerifyResult; import cn.com.jit.tsa.client.TSAVerifyResult;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.extend.timeService.TimeServiceConstant; import com.chinaunicom.mall.ebtp.extend.timeService.TimeServiceConstant;
import com.chinaunicom.mall.ebtp.extend.timeService.tsa.SystemTime;
import com.chinaunicom.mall.ebtp.extend.timeService.tsa.TtsAgent; import com.chinaunicom.mall.ebtp.extend.timeService.tsa.TtsAgent;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
@RestController @RestController
@Api(tags = "") @Api(tags = "")
@ -20,7 +27,7 @@ public class TimeServiceController {
* @return 时间戳加密原文 * @return 时间戳加密原文
*/ */
@GetMapping(value = "/signTimeStamp") @GetMapping(value = "/signTimeStamp")
public BaseResponse<String> signTimeStamp(@ApiParam(value = "待申请时间戳的原文", required = false) @RequestParam(name = "data") String data) { public BaseResponse<String> signTimeStamp(@ApiParam(value = "待申请时间戳的原文", required = false) @RequestParam(name = "data",required = false) String data) {
TimeServiceConstant constant = new TimeServiceConstant(); TimeServiceConstant constant = new TimeServiceConstant();
return BaseResponse.success(constant.signTimeStamp(data)); return BaseResponse.success(constant.signTimeStamp(data));
} }
@ -42,7 +49,7 @@ public class TimeServiceController {
* @return 时间戳对象 * @return 时间戳对象
*/ */
@PostMapping(value = "/getServiceTimeObj") @PostMapping(value = "/getServiceTimeObj")
public BaseResponse<TtsAgent.TtsParseResult> getServiceTimeObj(@ApiParam(value = "待申请时间戳的原文", required = false) @RequestParam(name = "data") String data) { public BaseResponse<TtsAgent.TtsParseResult> getServiceTimeObj(@ApiParam(value = "待申请时间戳的原文", required = false) @RequestParam(name = "data",required = false) String data) {
TimeServiceConstant constant = new TimeServiceConstant(); TimeServiceConstant constant = new TimeServiceConstant();
return BaseResponse.success(constant.getServiceTimeObj(data)); return BaseResponse.success(constant.getServiceTimeObj(data));
} }
@ -52,8 +59,49 @@ public class TimeServiceController {
* @return 时间戳对象 * @return 时间戳对象
*/ */
@GetMapping(value = "/getServiceTime") @GetMapping(value = "/getServiceTime")
public BaseResponse<String> getServiceTime(@ApiParam(value = "待申请时间戳的原文", required = false) @RequestParam(name = "data") String data) { public BaseResponse<String> getServiceTime(@ApiParam(value = "待申请时间戳的原文", required = false) @RequestParam(name = "data",required = false) String data) {
TimeServiceConstant constant = new TimeServiceConstant(); TimeServiceConstant constant = new TimeServiceConstant();
return BaseResponse.success(constant.getServiceTime(data)); return BaseResponse.success(constant.getServiceTime(data));
} }
/**
* 获取年月日时分秒分割存储对象
* @param data 待申请时间戳的原文
* @return SystemTime
*/
@GetMapping(value = "/getServiceSystemTime")
public BaseResponse<SystemTime> getServiceSystemTime(@ApiParam(value = "待申请时间戳的原文", required = false) @RequestParam(name = "data",required = false) String data) {
TimeServiceConstant constant = new TimeServiceConstant();
return BaseResponse.success(constant.getServiceSystemTime(data));
}
/**
* 获取开标剩余时间倒数
* @return
*/
@ApiOperation("获取开标剩余时间倒数")
@GetMapping("/getDescOpenRoomTime")
@PreAuthorize("hasAnyAuthority('ebtp-agency-project-manager','ebtp-purchase','ebtp-supplier')")
public BaseResponse<SystemTime> getDescOpenRoomTime(@RequestParam(name = "openTime",required = true) String openTime){
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeServiceConstant constant = new TimeServiceConstant();
Date now = constant.getServiceDate("getDescOpenRoomTime");;//当前时间
Date date = df.parse(openTime);//过去
long l = date.getTime()-now.getTime();
long day = l / (24 * 60 * 60 * 1000);
long hour = (l / (60 * 60 * 1000) - day * 24);
long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
SystemTime systemTime = new SystemTime()
.setDate((int) day)
.setHour((int) hour)
.setMinute((int)min)
.setSecond((int)s);
return BaseResponse.success(systemTime);
} catch (ParseException e) {
e.printStackTrace();
}
return BaseResponse.success(new SystemTime());
}
} }