|
@ -3,6 +3,7 @@ package com.easy.admin.modules.huzhou.service.impl; |
|
|
import cn.afterturn.easypoi.excel.ExcelImportUtil; |
|
|
import cn.afterturn.easypoi.excel.ExcelImportUtil; |
|
|
import cn.afterturn.easypoi.excel.entity.ImportParams; |
|
|
import cn.afterturn.easypoi.excel.entity.ImportParams; |
|
|
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; |
|
|
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; |
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
@ -41,6 +42,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.context.annotation.Lazy; |
|
|
import org.springframework.context.annotation.Lazy; |
|
|
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
import org.springframework.web.multipart.MultipartFile; |
|
@ -54,10 +56,7 @@ import java.math.RoundingMode; |
|
|
import java.time.LocalDate; |
|
|
import java.time.LocalDate; |
|
|
import java.time.temporal.ChronoUnit; |
|
|
import java.time.temporal.ChronoUnit; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
import java.util.concurrent.ExecutionException; |
|
|
import java.util.concurrent.*; |
|
|
import java.util.concurrent.ExecutorService; |
|
|
|
|
|
import java.util.concurrent.Executors; |
|
|
|
|
|
import java.util.concurrent.Future; |
|
|
|
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
@Service |
|
|
@Service |
|
@ -121,6 +120,8 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM |
|
|
@Autowired |
|
|
@Autowired |
|
|
private HuzhouInformationMaterialMapper informationMaterialMapper; |
|
|
private HuzhouInformationMaterialMapper informationMaterialMapper; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private StringRedisTemplate stringRedisTemplate; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void submitProject(MultipartFile[] multipartFile, HuzhouProjectinfo info) throws IOException { |
|
|
public void submitProject(MultipartFile[] multipartFile, HuzhouProjectinfo info) throws IOException { |
|
@ -2701,6 +2702,17 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM |
|
|
public List<HuzhouProjectinfo> queryBoardInfo() { |
|
|
public List<HuzhouProjectinfo> queryBoardInfo() { |
|
|
// 记录开始时间
|
|
|
// 记录开始时间
|
|
|
long startTime = System.currentTimeMillis(); |
|
|
long startTime = System.currentTimeMillis(); |
|
|
|
|
|
String redisKey = "huzhou_board_info"; |
|
|
|
|
|
// 如果存在缓存数据,则直接返回缓存数据
|
|
|
|
|
|
String cacheData = stringRedisTemplate.opsForValue().get(redisKey); |
|
|
|
|
|
log.info("***查询晾晒看板,缓存键:{}", redisKey); |
|
|
|
|
|
if (StringUtils.isNotBlank(cacheData)){ |
|
|
|
|
|
List<HuzhouProjectinfo> projectInfoList = JSON.parseArray(cacheData, HuzhouProjectinfo.class); |
|
|
|
|
|
long endTime = System.currentTimeMillis(); |
|
|
|
|
|
log.info("查询出{}条数据,查询Redis缓存耗时:{}ms",projectInfoList.size(), endTime-startTime); |
|
|
|
|
|
return projectInfoList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 获取所有项目信息
|
|
|
// 获取所有项目信息
|
|
|
List<HuzhouProjectinfo> projectInfoList = this.list(); |
|
|
List<HuzhouProjectinfo> projectInfoList = this.list(); |
|
|
|
|
|
|
|
@ -2760,6 +2772,9 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM |
|
|
.thenComparing(p -> Optional.ofNullable(p.getCurrentStage()).orElse(""))) |
|
|
.thenComparing(p -> Optional.ofNullable(p.getCurrentStage()).orElse(""))) |
|
|
.collect(Collectors.toList()); |
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
stringRedisTemplate.opsForValue().set(redisKey, JSON.toJSONString(projectInfoList)); |
|
|
|
|
|
stringRedisTemplate.expire(redisKey, 30, TimeUnit.MINUTES); |
|
|
|
|
|
|
|
|
// 记录结束时间并计算耗时
|
|
|
// 记录结束时间并计算耗时
|
|
|
long endTime = System.currentTimeMillis(); |
|
|
long endTime = System.currentTimeMillis(); |
|
|
long duration = endTime - startTime; |
|
|
long duration = endTime - startTime; |
|
|