Commit 18d6e520 by landerliang@163.com

最新稳定版,修复了扫描检测报告抛异常会停止的问题(四驱车没有测到,不过已经扫描的到,应该没问题了)

parent 5037ce52
...@@ -95,10 +95,11 @@ public class LogServiceImpl implements LogService { ...@@ -95,10 +95,11 @@ public class LogServiceImpl implements LogService {
assert log != null; assert log != null;
log.setRequestIp(ip); log.setRequestIp(ip);
log.setAddress(""); log.setAddress(ip);
log.setMethod(methodName); log.setMethod(methodName);
log.setUsername(username); log.setUsername(username);
log.setParams(getParameter(method, joinPoint.getArgs())); log.setParams("");
//log.setParams(getParameter(method, joinPoint.getArgs()));
log.setBrowser(browser); log.setBrowser(browser);
logRepository.save(log); logRepository.save(log);
} }
......
...@@ -84,21 +84,8 @@ public class QuartzJob extends BaseEntity implements Serializable { ...@@ -84,21 +84,8 @@ public class QuartzJob extends BaseEntity implements Serializable {
private String description; private String description;
@Column(name = "dept_id")
@ApiModelProperty("部门id") @ApiModelProperty("部门id")
private Long deptId; private Long deptId;
@ApiModelProperty("环保系统账号")
private String account;
@ApiModelProperty("环保系统密码")
private String password;
@ApiModelProperty("授权人签章名称")
private String snName1;
@ApiModelProperty("批准人签章名称")
private String snName2;
@ApiModelProperty("公章名称")
private String snName3;
} }
...@@ -64,4 +64,8 @@ public class QuartzLog implements Serializable { ...@@ -64,4 +64,8 @@ public class QuartzLog implements Serializable {
@CreationTimestamp @CreationTimestamp
@ApiModelProperty(value = "创建时间", hidden = true) @ApiModelProperty(value = "创建时间", hidden = true)
private Timestamp createTime; private Timestamp createTime;
@Column(name = "dept_id")
@ApiModelProperty("部门id")
private Long deptId;
} }
package me.zhengjie.modules.quartz.task; package me.zhengjie.modules.quartz.task;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.zhengjie.exception.BusinessException;
import me.zhengjie.modules.system.service.ReportService; import me.zhengjie.modules.system.service.ReportService;
import me.zhengjie.utils.AssertUtil; import me.zhengjie.utils.AssertUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -21,26 +23,31 @@ public class ReportTask { ...@@ -21,26 +23,31 @@ public class ReportTask {
private ReportService reportService; private ReportService reportService;
public void run(String param) { public void run(String param) {
log.info(">>> 开始自动爬取新的检测报告进行下载、签章、上传"); log.info(">>> ================================ 开始自动爬取新的检测报告进行下载、签章、上传 ====================================");
JSONObject jsonObject = JSON.parseObject(param); String replace = param.replace("\n", "");
JSONObject jsonObject = JSONObject.parseObject(replace);
log.info(">>> 环保账户: {}, 环保密码:{}, 授权人签名盘符:{}, 批准人签名盘符:{}, 公章签名盘符:{}", log.info(">>> 环保账户: {}, 环保密码:{}, 授权人签名盘符:{}, 批准人签名盘符:{}, 公章签名盘符:{}, 部门编号:{}",
jsonObject.getString("account"),jsonObject.getString("password"), jsonObject.getString("account"),jsonObject.getString("password"),
jsonObject.getString("snKey1"),jsonObject.getString("snKey2"),jsonObject.getString("snKey3")); jsonObject.getString("snKey1"),jsonObject.getString("snKey2"),jsonObject.getString("snKey3"),jsonObject.getInteger("deptId"));
AssertUtil.isNotNull(jsonObject.get("account"),"缺少环保系统账户,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("account"),"缺少环保系统账户,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("password"),"缺少环保系统密码,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("password"),"缺少环保系统密码,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snKey1"),"缺少授权人签名盘符,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("snKey1"),"缺少授权人签名盘符,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snKey2"),"缺少批准人签名盘符,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("snKey2"),"缺少批准人签名盘符,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snKey3"),"缺少公章签名盘符,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("snKey3"),"缺少公章签名盘符,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snKey4"),"缺少MA章签名盘符,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snName1"),"缺少授权人签章名称,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("snName1"),"缺少授权人签章名称,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snName2"),"缺少批准人签章名称,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("snName2"),"缺少批准人签章名称,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snName3"),"缺少公章签章名称,自动任务执行终止!"); AssertUtil.isNotNull(jsonObject.get("snName3"),"缺少公章签章名称,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("snName4"),"缺少MA章名称,自动任务执行终止!");
AssertUtil.isNotNull(jsonObject.get("deptId"),"缺少部门id,自动任务执行终止!");
reportService.autoDownloadAndSignAndUploadReport(jsonObject.getString("account"),jsonObject.getString("password"), reportService.autoDownloadAndSignAndUploadReport(jsonObject.getString("account"),jsonObject.getString("password"),
jsonObject.getString("snKey1"),jsonObject.getString("snKey2"),jsonObject.getString("snKey3"), jsonObject.getString("snKey1"),jsonObject.getString("snKey2"),jsonObject.getString("snKey3"),
jsonObject.getString("snName1"),jsonObject.getString("snName2"),jsonObject.getString("snName3")); jsonObject.getString("snName1"),jsonObject.getString("snName2"),jsonObject.getString("snName3")
log.info(">> 本次自动签章任务执行完毕!"); ,jsonObject.getString("snKey4"),jsonObject.getString("snName4"),jsonObject.getInteger("deptId"));
}
log.info(">> ========================================== 本次自动签章任务执行完毕 ==========================================");
}
} }
...@@ -61,6 +61,7 @@ public class ExecutionJob extends QuartzJobBean { ...@@ -61,6 +61,7 @@ public class ExecutionJob extends QuartzJobBean {
QuartzLog log = new QuartzLog(); QuartzLog log = new QuartzLog();
log.setJobName(quartzJob.getJobName()); log.setJobName(quartzJob.getJobName());
log.setBeanName(quartzJob.getBeanName()); log.setBeanName(quartzJob.getBeanName());
log.setDeptId(quartzJob.getDeptId());
log.setMethodName(quartzJob.getMethodName()); log.setMethodName(quartzJob.getMethodName());
log.setParams(quartzJob.getParams()); log.setParams(quartzJob.getParams());
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package me.zhengjie.modules.security.service; package me.zhengjie.modules.security.service;
import me.zhengjie.modules.security.service.dto.JwtUserDto;
import me.zhengjie.utils.StringUtils; import me.zhengjie.utils.StringUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
......
...@@ -103,26 +103,6 @@ public class User extends BaseEntity implements Serializable { ...@@ -103,26 +103,6 @@ public class User extends BaseEntity implements Serializable {
@ApiModelProperty(value = "最后修改密码的时间", hidden = true) @ApiModelProperty(value = "最后修改密码的时间", hidden = true)
private Date pwdResetTime; private Date pwdResetTime;
@Column(name = "site_id")
@ApiModelProperty(value = "站点ID", hidden = true)
private Integer siteId;
/*@Column(name = "sn_key")
@ApiModelProperty("签章服务key")
private String snKey;
@Column(name = "sn_password")
@ApiModelProperty("签章服务密码")
private String snPassword;
@Column(name = "sn_signature")
@ApiModelProperty("签章服务签名")
private String snSignature;*/
@Transient
@ApiModelProperty(value = "站点名称",hidden = false)
private String siteName;
@Override @Override
......
...@@ -58,20 +58,4 @@ public class SysUserVo { ...@@ -58,20 +58,4 @@ public class SysUserVo {
@ApiModelProperty(value = "最后修改密码的时间") @ApiModelProperty(value = "最后修改密码的时间")
private Date pwdResetTime; private Date pwdResetTime;
@ApiModelProperty(value = "站点ID", hidden = true)
private Integer siteId;
@ApiModelProperty(value = "签名服务器snkey")
private String snKey;
@ApiModelProperty(value = "签名服务器snPassword")
private String snPassword;
@TableField(exist = false)
@ApiModelProperty(value = "站点名称",hidden = false)
private String siteName;
@ApiModelProperty("签名章名称")
private String snSignature;
} }
...@@ -24,4 +24,7 @@ public class CarSignatureReqVo { ...@@ -24,4 +24,7 @@ public class CarSignatureReqVo {
@ApiModelProperty("公章签章") @ApiModelProperty("公章签章")
private SignatureVo signature3; private SignatureVo signature3;
@ApiModelProperty("MA章")
private SignatureVo signature4;
} }
...@@ -17,4 +17,7 @@ public class SignReportVo { ...@@ -17,4 +17,7 @@ public class SignReportVo {
@ApiModelProperty("公章名称") @ApiModelProperty("公章名称")
private String snName3; private String snName3;
@ApiModelProperty("MA章")
private String snName4;
} }
...@@ -144,6 +144,7 @@ public class ReportController { ...@@ -144,6 +144,7 @@ public class ReportController {
AssertUtil.isNotBlank(signReportVo.getSnName1(),"请选择授权人签名"); AssertUtil.isNotBlank(signReportVo.getSnName1(),"请选择授权人签名");
AssertUtil.isNotBlank(signReportVo.getSnName2(),"请选择批准人签名"); AssertUtil.isNotBlank(signReportVo.getSnName2(),"请选择批准人签名");
AssertUtil.isNotBlank(signReportVo.getSnName3(),"请选择公章"); AssertUtil.isNotBlank(signReportVo.getSnName3(),"请选择公章");
AssertUtil.isNotBlank(signReportVo.getSnName4(),"请选择MA章");
return ResultVo.success(reportService.signature(signReportVo)); return ResultVo.success(reportService.signature(signReportVo));
} }
......
...@@ -118,7 +118,7 @@ public class UserController { ...@@ -118,7 +118,7 @@ public class UserController {
public ResponseEntity<Object> update(@Validated(User.Update.class) @RequestBody User resources){ public ResponseEntity<Object> update(@Validated(User.Update.class) @RequestBody User resources){
checkLevel(resources); checkLevel(resources);
userService.update(resources); userService.update(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.CREATED);
} }
@Log("修改用户:个人中心") @Log("修改用户:个人中心")
......
...@@ -124,7 +124,7 @@ public class ReportService { ...@@ -124,7 +124,7 @@ public class ReportService {
* *
*/ */
public synchronized void autoDownloadAndSignAndUploadReport(String account,String password,String snKey1,String snKey2,String snKey3, public synchronized void autoDownloadAndSignAndUploadReport(String account,String password,String snKey1,String snKey2,String snKey3,
String snName1,String snName2,String snName3){ String snName1,String snName2,String snName3,String snKey4,String snName4,Integer deptId){
try { try {
...@@ -154,12 +154,14 @@ public class ReportService { ...@@ -154,12 +154,14 @@ public class ReportService {
//根据snKey查询签章信息 //根据snKey查询签章信息
SignatureVo signatureVo1 = signatureService.getBySnKeyAndSnName(snKey1,snName1); SignatureVo signatureVo1 = signatureService.getBySnKeyAndSnName(snKey1,snName1,deptId);
AssertUtil.isNotNull(signatureVo1,"找不到snKey为: " + snKey1 + "的签名章"); AssertUtil.isNotNull(signatureVo1,"找不到snKey为: " + snKey1 + "的签名章");
SignatureVo signatureVo2 = signatureService.getBySnKeyAndSnName(snKey2,snName2); SignatureVo signatureVo2 = signatureService.getBySnKeyAndSnName(snKey2,snName2,deptId);
AssertUtil.isNotNull(signatureVo2,"找不到snKey为: " + snKey2 + "的签名章"); AssertUtil.isNotNull(signatureVo2,"找不到snKey为: " + snKey2 + "的签名章");
SignatureVo signatureVo3 = signatureService.getBySnKeyAndSnName(snKey3,snName3); SignatureVo signatureVo3 = signatureService.getBySnKeyAndSnName(snKey3,snName3,deptId);
AssertUtil.isNotNull(signatureVo3,"找不到snKey为: " + snKey3 + "的公章"); AssertUtil.isNotNull(signatureVo3,"找不到snKey为: " + snKey3 + "的公章");
SignatureVo signatureVo4 = signatureService.getBySnKeyAndSnName(snKey4,snName4,deptId);
AssertUtil.isNotNull(signatureVo3,"找不到snKey为: " + snKey4 + "的公章");
//进行签章 //进行签章
CarSignatureReqVo carSignatureReqVo = new CarSignatureReqVo(); CarSignatureReqVo carSignatureReqVo = new CarSignatureReqVo();
...@@ -167,6 +169,7 @@ public class ReportService { ...@@ -167,6 +169,7 @@ public class ReportService {
carSignatureReqVo.setSignature1(signatureVo1); carSignatureReqVo.setSignature1(signatureVo1);
carSignatureReqVo.setSignature2(signatureVo2); carSignatureReqVo.setSignature2(signatureVo2);
carSignatureReqVo.setSignature3(signatureVo3); carSignatureReqVo.setSignature3(signatureVo3);
carSignatureReqVo.setSignature4(signatureVo4);
HttpEntity<CarSignatureReqVo> httpEntity = new HttpEntity<>(carSignatureReqVo); HttpEntity<CarSignatureReqVo> httpEntity = new HttpEntity<>(carSignatureReqVo);
ResponseEntity<ResultVo> responseEntity = this.restTemplate.exchange( ResponseEntity<ResultVo> responseEntity = this.restTemplate.exchange(
...@@ -206,7 +209,7 @@ public class ReportService { ...@@ -206,7 +209,7 @@ public class ReportService {
e.printStackTrace(); e.printStackTrace();
TaskErrorVo taskErrorVo = new TaskErrorVo(); TaskErrorVo taskErrorVo = new TaskErrorVo();
taskErrorVo.setCreateTime(DateUtil.date()); taskErrorVo.setCreateTime(DateUtil.date());
taskErrorVo.setErrMsg(e.getCause().getMessage()==null?e.getMessage():e.getCause().getMessage()); taskErrorVo.setErrMsg(e.getCause()!=null?e.getCause().getMessage():e.getMessage());
taskErrorMapper.insert(taskErrorVo); taskErrorMapper.insert(taskErrorVo);
} }
} }
...@@ -273,9 +276,11 @@ public class ReportService { ...@@ -273,9 +276,11 @@ public class ReportService {
SignatureVo signatureVo1 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName1()); SignatureVo signatureVo1 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName1());
SignatureVo signatureVo2 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName2()); SignatureVo signatureVo2 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName2());
SignatureVo signatureVo3 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName3()); SignatureVo signatureVo3 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName3());
SignatureVo signatureVo4 = signatureService.getByDeptId(topDept.getDeptId(), signReportVo.getSnName4());
AssertUtil.isNotNull(signatureVo1,"当前部门无'"+signReportVo.getSnName1()+"'的签名"); AssertUtil.isNotNull(signatureVo1,"当前部门无'"+signReportVo.getSnName1()+"'的签名");
AssertUtil.isNotNull(signatureVo2,"当前部门无'"+signReportVo.getSnName2()+"'的签名"); AssertUtil.isNotNull(signatureVo2,"当前部门无'"+signReportVo.getSnName2()+"'的签名");
AssertUtil.isNotNull(signatureVo3,"当前部门无'"+signReportVo.getSnName3()+"'的公章"); AssertUtil.isNotNull(signatureVo3,"当前部门无'"+signReportVo.getSnName3()+"'的公章");
AssertUtil.isNotNull(signatureVo4,"当前部门无'"+signReportVo.getSnName4()+"'的公章");
ReportPdfVo reportPdfVo = reportPdfMapper.selectById(signReportVo.getReportPdfId()); ReportPdfVo reportPdfVo = reportPdfMapper.selectById(signReportVo.getReportPdfId());
...@@ -289,6 +294,7 @@ public class ReportService { ...@@ -289,6 +294,7 @@ public class ReportService {
carSignatureReqVo.setSignature1(signatureVo1); carSignatureReqVo.setSignature1(signatureVo1);
carSignatureReqVo.setSignature2(signatureVo2); carSignatureReqVo.setSignature2(signatureVo2);
carSignatureReqVo.setSignature3(signatureVo3); carSignatureReqVo.setSignature3(signatureVo3);
carSignatureReqVo.setSignature4(signatureVo4);
//reportPdfVo = signatureUtil.electronicGM(reportPdfVo, sysUserVo); //reportPdfVo = signatureUtil.electronicGM(reportPdfVo, sysUserVo);
HttpEntity<CarSignatureReqVo> httpEntity = new HttpEntity<>(carSignatureReqVo); HttpEntity<CarSignatureReqVo> httpEntity = new HttpEntity<>(carSignatureReqVo);
ResponseEntity<ResultVo> responseEntity = this.restTemplate.exchange( ResponseEntity<ResultVo> responseEntity = this.restTemplate.exchange(
......
...@@ -44,8 +44,8 @@ public class SignatureService { ...@@ -44,8 +44,8 @@ public class SignatureService {
* @param snKey * @param snKey
* @return * @return
*/ */
public SignatureVo getBySnKeyAndSnName(String snKey,String snName){ public SignatureVo getBySnKeyAndSnName(String snKey,String snName,Integer deptId){
return signatureMapper.selectOne(new QueryWrapper<SignatureVo>().lambda().and(i -> i.eq(SignatureVo::getSnKey,snKey).eq(SignatureVo::getSnName,snName))); return signatureMapper.selectOne(new QueryWrapper<SignatureVo>().lambda().and(i -> i.eq(SignatureVo::getSnKey,snKey).eq(SignatureVo::getSnName,snName).eq(SignatureVo::getDeptId,deptId)));
} }
/** /**
......
...@@ -70,24 +70,24 @@ public class UserServiceImpl implements UserService { ...@@ -70,24 +70,24 @@ public class UserServiceImpl implements UserService {
@Override @Override
public Object queryAll(UserQueryCriteria criteria, Pageable pageable) { public Object queryAll(UserQueryCriteria criteria, Pageable pageable) {
Page<User> page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); Page<User> page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
page.getContent().forEach(user -> { /*page.getContent().forEach(user -> {
SiteVo siteVo = siteMapper.selectById(user.getSiteId()); SiteVo siteVo = siteMapper.selectById(user.getSiteId());
if(siteVo!=null){ if(siteVo!=null){
user.setSiteName(siteVo.getName()); user.setSiteName(siteVo.getName());
} }
}); });*/
return PageUtil.toPage(page.map(userMapper::toDto)); return PageUtil.toPage(page.map(userMapper::toDto));
} }
@Override @Override
public List<UserDto> queryAll(UserQueryCriteria criteria) { public List<UserDto> queryAll(UserQueryCriteria criteria) {
List<User> users = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)); List<User> users = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder));
users.forEach(user -> { /*users.forEach(user -> {
SiteVo siteVo = siteMapper.selectById(user.getSiteId()); SiteVo siteVo = siteMapper.selectById(user.getSiteId());
if(siteVo!=null){ if(siteVo!=null){
user.setSiteName(siteVo.getName()); user.setSiteName(siteVo.getName());
} }
}); });*/
return userMapper.toDto(users); return userMapper.toDto(users);
} }
......
...@@ -6,7 +6,7 @@ spring: ...@@ -6,7 +6,7 @@ spring:
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:car-reptiles}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:car-reptiles}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: ${DB_USER:root} username: ${DB_USER:root}
password: ${DB_PWD:root} password: ${DB_PWD:Xxt123456/}
# 初始连接数 # 初始连接数
initial-size: 5 initial-size: 5
# 最小连接数 # 最小连接数
......
...@@ -3,17 +3,35 @@ package me.zhengjie; ...@@ -3,17 +3,35 @@ package me.zhengjie;
import me.zhengjie.modules.security.service.UserDetailsServiceImpl; import me.zhengjie.modules.security.service.UserDetailsServiceImpl;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class LoginCacheTest { public class LoginCacheTest {
@Resource(name = "userDetailsService") @Resource(name = "userDetailsService")
private UserDetailsServiceImpl userDetailsService; private UserDetailsServiceImpl userDetailsService;
public synchronized void testSyncronized(Integer i){
System.out.println(i + "进入同步方法");
}
public void testSync(Integer i){
System.out.println(i + "开始异步执行同步方法。。。");
if(i ==2){
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
testSyncronized(i);
}
@Test @Test
public void testCache() { public void testCache() {
long start1 = System.currentTimeMillis(); long start1 = System.currentTimeMillis();
...@@ -31,4 +49,13 @@ public class LoginCacheTest { ...@@ -31,4 +49,13 @@ public class LoginCacheTest {
long end2 = System.currentTimeMillis(); long end2 = System.currentTimeMillis();
System.out.print("使用缓存:" + (end1 - start1) + "毫秒\n 不使用缓存:" + (end2 - start2) + "毫秒"); System.out.print("使用缓存:" + (end1 - start1) + "毫秒\n 不使用缓存:" + (end2 - start2) + "毫秒");
} }
@Test
public void testStramFilter(){
List<String> strings = Arrays.asList("1", "2", "0", "1", "2", "888", "2342", "2");
List<String> collect = strings.stream().filter(i -> ((Integer.valueOf(i) == 0) || (Integer.valueOf(i) == 2))).collect(Collectors.toList());
collect.forEach(s -> {
System.out.println(s);
});
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment