Просмотр исходного кода

feat: 封装报告记录,redis

shc 3 лет назад
Родитель
Сommit
660ed841ce

+ 23 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -29,6 +29,7 @@ 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.google.common.collect.ImmutableMap;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
@@ -52,6 +53,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.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.AsyncResult;
 import org.springframework.stereotype.Service;
@@ -63,6 +65,7 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 import static com.qunzhixinxi.hnqz.admin.enums.ReportEnum.REPORT_STATUS_END;
@@ -92,6 +95,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	private final WmDaDrugEntDrugtableService wmDaDrugEntDrugtableService;
 	private final WmReportMapper wmReportMapper;
 	private final SysDictItemService sysDictItemService;
+	private final RedisTemplate<String, Object> redisTemplate;
 
 	@Override
 	public List<WmScorePackage> listWmScorePackageAndTask(WmScorePackage wmScorePackage) {
@@ -2227,6 +2231,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		wmScorePackage.setPayScore(payScoreAndYsh.get("payScore"));
 		wmScorePackage.setYsh(payScoreAndYsh.get("ysh"));
 
+		// 封装报告状态
 		getReportOpt(wmScorePackage);
 		return wmScorePackage;
 	}
@@ -2239,11 +2244,25 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	 */
 	private void getReportOpt(WmScorePackage wmScorePackage) {
 
-		log.warn("======================" + wmScorePackage.getId());
 		WmReportOpt opt = new WmReportOpt();
-		opt.setStatus(WmReportOpt.WmReportOptStatus.GENERATED);
-		opt.setTtl(LocalDateTime.now().plusDays(10));
-		opt.setLatestUrl("https://pre.yaoyi.net/admin/sys-file/wmkj/兼职学术信息沟通专员业绩报告(2249)-20211116191527.doc");
+
+		// 获取生成记录
+		String key = String.format(CacheConstants.EXPORT_ZB_REPORT_CACHE, wmScorePackage.getId());
+		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);
+		}
+
 
 		wmScorePackage.setReportOpt(opt);