瀏覽代碼

feat: 封装报告记录,redis3

shc 3 年之前
父節點
當前提交
3f6dd05724

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmReport.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -146,4 +147,10 @@ public class WmReport extends Model<WmReport> {
 	 */
 	@TableField(exist = false)
 	private String scorePackageName;
+
+	/**
+	 * 报告状态
+	 */
+	@TableField(exist = false)
+	private WmReportOpt reportOpt;
 }

+ 35 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java

@@ -18,6 +18,7 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.map.MapUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -26,7 +27,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
 import com.qunzhixinxi.hnqz.admin.entity.WmReport;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
@@ -48,6 +51,7 @@ import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -55,6 +59,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -75,10 +80,39 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 	private final WmDaDistributionService wmDaDistributionService;
 	private final WmDaPharmacyService wmDaPharmacyService;
 	private final WmDaHospitalService wmDaHospitalService;
+	private final RedisTemplate<String,Object> redisTemplate;
 
 	@Override
 	public IPage<WmReport> getReportListPage(Page page, WmReport wmReport, String scoreId, String name){
-		return wmReportMapper.getReportListPage(page,wmReport,scoreId,name);
+		IPage<WmReport> reportListPage = wmReportMapper.getReportListPage(page, wmReport, scoreId, name);
+
+		List<WmReport> records = reportListPage.getRecords();
+
+		for (WmReport report : records){
+
+			WmReportOpt opt = new WmReportOpt();
+
+			// 获取生成记录
+			String key = String.format(CacheConstants.EXPORT_ZB_REPORT_CACHE, report.getScoreId());
+			String o = (String) redisTemplate.opsForValue().get(key);
+
+			if (StrUtil.isNotEmpty(o)) {
+
+				Long expire = redisTemplate.opsForValue().getOperations().getExpire(key, TimeUnit.SECONDS);
+				opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATED);
+				opt.setTtl(LocalDateTime.now().plusSeconds(expire));
+				o = "https://pre.yaoyi.net/admin/sys-file/wmkj/兼职学术信息沟通专员业绩报告(2249)-20211116191527.doc";
+				opt.setLatestUrl(o);
+
+
+			} else {
+				opt.setStatus(WmReportOpt.WmReportOptStatus.NOT_GENERATE);
+			}
+			report.setReportOpt(opt);
+
+		}
+
+		return reportListPage;
 	}