From b85542765637358cb1473629d0ea767ac076aec3 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 23 九月 2025 13:36:26 +0800
Subject: [PATCH] 图片压缩
---
ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java | 81 ++++++++++++++++++++++++++--------------
1 files changed, 53 insertions(+), 28 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java b/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
index 12f0be7..9cd10d1 100644
--- a/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
@@ -4,15 +4,16 @@
import com.google.common.base.CaseFormat;
import com.ycl.platform.base.CheckIndex;
import com.ycl.platform.domain.entity.*;
-import com.ycl.platform.mapper.CheckScoreMapper;
-import com.ycl.platform.mapper.CheckTemplateMapper;
-import com.ycl.platform.mapper.CheckTemplateRuleMapper;
+import com.ycl.platform.domain.vo.YwPointVO;
+import com.ycl.platform.mapper.*;
import com.ycl.platform.service.*;
import constant.CheckConstants;
+import enumeration.general.PublishType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
import java.lang.reflect.Field;
import java.math.BigDecimal;
@@ -33,19 +34,23 @@
@Autowired
private CheckScoreMapper scoreMapper;
@Autowired
- private ICheckIndexVideoService videoService;
+ private ICheckScoreService checkScoreService;
@Autowired
- private ICheckIndexFaceService faceService;
+ private CheckIndexVideoMapper videoMapper;
@Autowired
- private ICheckIndexCarService carService;
-
- //TODO锛氱粺涓�浠诲姟鏃堕棿
+ private CheckIndexFaceMapper faceMapper;
+ @Autowired
+ private CheckIndexCarMapper carMapper;
+ @Autowired
+ private YwPointMapper pointMapper;
+ //鍏畨閮ㄥ彧鏈夎棰戣�冩牳
public void executeTemplate(Integer templateId) {
CheckTemplate checkTemplate = templateMapper.selectCheckTemplateById(templateId);
if (checkTemplate != null) {
- log.info("鎵ц鑰冩牳妯℃澘---------->{}", checkTemplate.getTemplateName());
Short examineCategory = checkTemplate.getExamineCategory();
Short examineTag = checkTemplate.getExamineTag();
+ //鐢ㄤ簬琛ュ厖鏁伴噺
+ List<YwPointVO> pointVOS= pointMapper.selectToCount(examineCategory, examineTag);
//鏌ユ潈閲�
CheckTemplateRule checkTemplateRule = new CheckTemplateRule();
checkTemplateRule.setCheckTemplateId(templateId);
@@ -53,7 +58,6 @@
//鏌ヤ粖澶╃殑index鎸囨爣
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String day = dateFormat.format(new Date());
-
//鍒涘缓score闆嗗悎鏂逛究鏈�鍚庢壒閲忓瓨鍌�
List<CheckScore> scoreList = new ArrayList<>();
//鏍规嵁鑰冩牳绫诲埆鍜岃�冩牳鏍囩锛屾煡涓嶅悓index琛紙鍖哄垎鐪佸巺鍖哄幙锛�
@@ -62,49 +66,63 @@
checkIndexVideo.setExamineTag(examineTag);
checkIndexVideo.setDay(day);
checkIndexVideo.setDeptIds(JSONArray.parseArray(checkTemplate.getDeptId(), Integer.class));
- //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�瑙嗛鏁版嵁
- List<CheckIndexVideo> checkIndexVideos = videoService.selectCheckIndexVideoList(checkIndexVideo);
+ //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�鎴栧叕瀹夐儴瑙嗛鏁版嵁
+ List<CheckIndexVideo> checkIndexVideos = videoMapper.getCheckIndexVideoList(checkIndexVideo);
for (CheckIndexVideo indexVideo : checkIndexVideos) {
- addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexVideo, CheckConstants.Rule_Category_Video);
+ addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexVideo, CheckConstants.Rule_Category_Video,pointVOS);
}
} else if (CheckConstants.Rule_Category_Car.equals(examineCategory)) {
CheckIndexCar checkIndexCar = new CheckIndexCar();
checkIndexCar.setDay(day);
checkIndexCar.setExamineTag(examineTag);
checkIndexCar.setDeptIds(JSONArray.parseArray(checkTemplate.getDeptId(), Integer.class));
- //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�杞﹁締鏁版嵁
- List<CheckIndexCar> checkIndexCars = carService.selectCheckIndexCarList(checkIndexCar);
+ //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�鎴栧叕瀹夐儴杞﹁締鏁版嵁
+ List<CheckIndexCar> checkIndexCars = carMapper.getCheckIndexCarList(checkIndexCar);
for (CheckIndexCar indexCar : checkIndexCars) {
- addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexCar, CheckConstants.Rule_Category_Car);
+ addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexCar, CheckConstants.Rule_Category_Car,pointVOS);
}
} else if (CheckConstants.Rule_Category_Face.equals(examineCategory)) {
CheckIndexFace checkIndexFace = new CheckIndexFace();
checkIndexFace.setDay(day);
checkIndexFace.setExamineTag(examineTag);
checkIndexFace.setDeptIds(JSONArray.parseArray(checkTemplate.getDeptId(), Integer.class));
- //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�浜鸿劯鏁版嵁
- List<CheckIndexFace> checkIndexFaces = faceService.selectCheckIndexFaceList(checkIndexFace);
+ //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�鎴栧叕瀹夐儴浜鸿劯鏁版嵁
+ List<CheckIndexFace> checkIndexFaces = faceMapper.getCheckIndexFaceList(checkIndexFace);
for (CheckIndexFace indexFace : checkIndexFaces) {
- addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexFace, CheckConstants.Rule_Category_Face);
+ addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexFace, CheckConstants.Rule_Category_Face,pointVOS);
}
}
+ //鏌ュ嚭浠婂ぉ鐢熸垚score
+ List<CheckScore> todays = scoreMapper.selectToday(day);
+ //閬嶅巻scoreList闆嗗悎锛屽鏋滀粖澶╃敓鎴愯繃琛ュ厖id
+ for (CheckScore result : scoreList) {
+ for (CheckScore today : todays) {
+ //鏍规嵁鑰冩牳鏍囩銆佽�冩牳绉嶇被銆侀儴闂╥d鏌ヨ鏄惁瀛樺湪浠婃棩鏁版嵁
+ if(result.getExamineTag().equals(today.getExamineTag()) && result.getExamineCategory().equals(today.getExamineCategory()) && result.getDeptId().equals(today.getDeptId())){
+ //琛ュ厖id锛屽悗缁牴鎹甶d saveOrUpdate
+ result.setId(today.getId());
+ result.setPublish(today.getPublish());
+ }
+ }
+ }
//鍌ㄥ瓨鍒嗘暟
- scoreMapper.saveBatch(scoreList);
- //TODO锛氭牴鎹姤璀﹀垎鏁伴槇鍊硷紝娣诲姞鎶ヨ淇℃伅
-
+ if (!CollectionUtils.isEmpty(scoreList)) {
+ checkScoreService.saveOrUpdateBatch(scoreList);
+ }
}
}
- private <T extends CheckIndex> void addToList(Integer templateId, CheckTemplate checkTemplate, Short examineTag, List<CheckTemplateRule> templateRuleList, List<CheckScore> scoreList, T indexObject, Short checkCategory) {
+ private <T extends CheckIndex> void addToList(Integer templateId, CheckTemplate checkTemplate, Short examineTag, List<CheckTemplateRule> templateRuleList, List<CheckScore> scoreList, T indexObject, Short checkCategory, List<YwPointVO> pointVOS) {
CheckScore checkScore = new CheckScore();
+ checkScore.setIndexId(indexObject.getId());
BigDecimal scoreFinal = BigDecimal.ZERO;
for (CheckTemplateRule templateRule : templateRuleList) {
//璁$畻鍒嗘暟
scoreFinal = getScoreFinal(indexObject, scoreFinal, templateRule);
}
//琛ュ厖checkScore
- fillCheckScore(templateId, checkTemplate, examineTag, indexObject, checkScore, scoreFinal, checkCategory);
+ fillCheckScore(templateId, checkTemplate, examineTag, indexObject, checkScore, scoreFinal, checkCategory,pointVOS);
scoreList.add(checkScore);
}
@@ -122,21 +140,23 @@
BigDecimal score = index.multiply(templateRule.getWeight());
scoreFinal = scoreFinal.add(score);
} catch (Exception e) {
- log.info("鍙嶅皠寮傚父", e);
+ log.error("鍙嶅皠寮傚父", e.getMessage());
}
return scoreFinal;
}
//璁剧疆checkScore瀵硅薄
- private void fillCheckScore(Integer templateId, CheckTemplate checkTemplate, Short examineTag, CheckIndex checkIndex, CheckScore checkScore, BigDecimal scoreFinal, Short checkCategory) {
+ private void fillCheckScore(Integer templateId, CheckTemplate checkTemplate, Short examineTag, CheckIndex checkIndex, CheckScore checkScore, BigDecimal scoreFinal, Short checkCategory, List<YwPointVO> pointVOS) {
//鏍规嵁璋冩暣绯绘暟璋冩暣鏈�缁堝垎鏁板ぇ灏�
String adjustWay = checkTemplate.getAdjustWay();
BigDecimal adjustCoefficient = checkTemplate.getAdjustCoefficient();
if (CheckConstants.Multiply.equals(adjustWay)) {
- scoreFinal = adjustCoefficient.multiply(scoreFinal).multiply(new BigDecimal(100));
+// scoreFinal = adjustCoefficient.multiply(scoreFinal).multiply(new BigDecimal(100));
+ scoreFinal = adjustCoefficient.multiply(scoreFinal);
} else if (CheckConstants.Divided.equals(adjustWay)) {
//鍥涜垗浜斿叆淇濈暀灏忔暟鍚庡洓浣�
- scoreFinal = scoreFinal.divide(adjustCoefficient, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
+// scoreFinal = scoreFinal.divide(adjustCoefficient, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
+ scoreFinal = scoreFinal.divide(adjustCoefficient, 4, RoundingMode.HALF_UP);
}
checkScore.setCreateTime(new Date());
checkScore.setExamineTag(Integer.parseInt(examineTag + ""));
@@ -144,5 +164,10 @@
checkScore.setDeptId(checkIndex.getDeptId());
checkScore.setTemplateId(templateId);
checkScore.setScore(scoreFinal);
+ checkScore.setPublish(PublishType.PUBLISHED.getCode());
+ if(!CollectionUtils.isEmpty(pointVOS)) {
+ long count = pointVOS.stream().filter(ywPointVO -> checkIndex.getDeptId().equals(ywPointVO.getDeptId())).count();
+ checkScore.setDeviceCount((int) count);
+ }
}
}
--
Gitblit v1.8.0